ERP-node/WebContent/WEB-INF/view/transfer/docTransferFormPopup.jsp

478 lines
14 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*" %>
<%@include file= "/init.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
<script>
var productSize = 0;
$(document).ready(function(){
$("#btnClose").click(function(){
self.close(0);
});
//고객사 setting
fn_setOEMList();
//고객사별 차종 목록 조회
$("#oemObjId").change(function(){
var oemObjId = $(this).val();
fn_setCarTypeList(oemObjId);
});
//고객사 변경시 sop 조회후 세팅
$("#carObjId").change(function(){
fn_setSOP($(this).val());
fn_setProductList($(this).val());
});
$("#btnSave").click(function(){
if(fn_validate()){
fn_duplicateCheck();
}
});
//문서 기준정보 목록을 가져온다.
fn_searchBaseInfo();
$("#allCheck").click(function(){
var allCheck = $("input:checkbox[name=allCheck]");
$("input:checkbox[name=baseInfoObjId]").prop("checked",allCheck.prop("checked"));
});
$("input[name=baseInfoObjId]").click(function(){
var check = $(this);
if(!check.prop("checked")){
var allCheck = $("input:checkbox[name=allCheck]").prop("checked",false);
}
});
//제품별 대표자 지정 팝업 호출
$(document).on("click",".productCharger",function(){
var productObjId = $(this).attr("data-PRODUCT_OBJID")
var targetObjId = $("#objId").val();
var param = "?targetObjId="+targetObjId;
param +="&productObjId="+productObjId;
window.open("/transfer/openDocTransferChargerDetailPopUp.do"+param,"docTransferChargerPopUp","width=1000,height=500");
});
});
</script>
<script>
//기준정보에 해당하는 문서이관 기준정보의 목록을 가져온다.
function fn_getDocTransferList(objId){
window.open("/transfer/searchBaseDocPopUp.do?targetObjId="+objId,"","width=900,height=700");
}
//sop 설정
function fn_setSOP(carObjId){
$.ajax({
url:"/common/getSOPDate.do",
type:"POST",
data:{"carObjId":carObjId},
dataType:"json",
success:function(data){
var sop = fnc_checkNull(data.SOP);
if(sop == "") sop = "설정되지않음.";
$("#sop").val(sop);
},
error: function(jqxhr, status, error){
}
});
}
//oem 목록 조회
function fn_setOEMList(){
$.ajax({
url:"/common/getOEMList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
success:function(data){
var appendCode = "";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].OEM_NAME+"("+data[i].OEM_CODE+")</option>";
});
$("#oemObjId").append(appendCode);
var dbVal = fnc_checkNull("${info.OEM_OBJID}");
if(dbVal != ""){
$("#oemObjId > option[value="+dbVal+"]").attr("selected", "true");
$("#oemObjId").trigger("change");
}
},
error: function(jqxhr, status, error){
}
});
}
//car 목록 조회
function fn_setCarTypeList(oemObjId){
if(fnc_checkNull(oemObjId) != ""){
$.ajax({
url:"/common/getProjectBaseCarTypeList.do",
type:"POST",
data:{"isJson":true, "search_oemObjId":oemObjId},
dataType:"json",
success:function(data){
var appendCode = "<option value=''>선택</option>";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].CAR_CODE+"("+data[i].CAR_NAME+")</option>";
});
$("#carObjId").children().remove();
$("#carObjId").append(appendCode);
var dbVal = "${info.CAR_OBJID}";
if(dbVal != ""){
$("#carObjId > option[value="+dbVal+"]").attr("selected", "true");
$("#carObjId").trigger("change");
}
},
error: function(jqxhr, status, error){
}
});
}else{
$("#carObjId").children().remove();
$("#carObjId").append("<option value=''>선택</option>");
}
}
//개발 제품 목록 설정
function fn_setProductList(carObjId){
$.ajax({
url:"/transfer/getProductList_byCarObjId.do",
type:"POST",
data:{"carObjId":carObjId},
dataType:"json",
success:function(data){
$("#productList").children().remove();
var append = "";
productSize = data.length;
if(data.length > 0){
$.each(data, function(i){
append += "<tr>";
append += " <input type='hidden' name='targetProductObjId' value='"+data[i].PROD_OBJID+"'>";
append += " <td>"+data[i].RNUM+"</td>";
append += " <td>"+data[i].PROD_GROUP_NAME+"</td>";
append += " <td>"+data[i].PROD_NAME+"</td>";
append += " <td><a href='#' class='search_btn productCharger' data-PRODUCT_OBJID='"+data[i].PROD_OBJID+"'></a></td>";
append += "</tr>";
});
}else{
append += "<tr><td colspan='4' align='center'>개발중인 제품이 없습니다.</td></tr>";
}
$("#productList").append(append);
},
error: function(jqxhr, status, error){
}
});
}
//중복저장 체크(차종별)
function fn_duplicateCheck(){
$.ajax({
url:"/transfer/checkTransferDocDuplicateMaster.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
success:function(data){
if(data.CNT == 0){
if(confirm("저장하시겠습니까?")){
fn_save();
}
}else{
Swal.fire("이미 등록된 정보 입니다.");
return false;
}
},
error: function(jqxhr, status, error){
}
});
}
//저장
function fn_save(){
var nonTargetBaseDocArray = new Array();
var nonTargetBaseDocObj = $("input:checkbox[name=baseInfoObjId]:not(:checked)");
if(nonTargetBaseDocObj.length > 0){
$.each(nonTargetBaseDocObj,function(i){
nonTargetBaseDocArray.push($(this).val());
});
}
$("#nonTargetBaseDocArr").val(nonTargetBaseDocArray);
$.ajax({
url:"/transfer/saveTransferDocMasterInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
if(data.result == "true" || data.result == true || data.result){
}
},
error: function(jqxhr, status, error){
}
});
}
//정합성체크
function fn_validate(){
var carObjId = fnc_checkNull($("#carObjId").val());
var sop = fnc_checkNull($("#sop").val());
if(carObjId == ""){
Swal.fire("차종을 선택해 주시기 바랍니다.");
$("#carObjId").focus();
return false;
}
if(sop == "설정되지않음."){
Swal.fire("양산일자가 지정되지 않았습니다.\n등록할 수 없습니다.");
return false;
}
if(productSize == 0){
Swal.fire("수주된 제품이 없습니다.\n등록할 수 없습니다.");
return false;
}
return true;
}
//조건에 해당하는 기준정보 문서 목록을 가져온다.
function fn_searchBaseInfo(){
var appenText = "";
var actionType = $("#actionType").val();
$("#baseInfoArea").empty();
$.ajax({
url:"/transfer/getTransferDocBaseList.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
if(data.length > 0){
for(var i=0;i<data.length;i++){
appenText+="<tr>";
var checkTxt = "";
if(actionType != "regist"){
if(data[i].REL_CNT != 0){
checkTxt = "checked";
}
}
appenText+=" <td><input type='checkbox' name='baseInfoObjId' value='"+data[i].OBJID+"' "+checkTxt+"></td>";
appenText+=" <td>"+fnc_checkNull(data[i].RNUM)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].DOC_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].DOC_TYPE_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].TRANSLATE_TYPE_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].HAND_OVER_DEPT_NAME)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].IS_PRODUCTION_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].IS_PRODUCT_MNG_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].IS_INTEGRITY_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].IS_COMPONENT_BUY_TITLE)+"</td>";
appenText+=" <td>"+fnc_checkNull(data[i].IS_PRODUCT_QUALITY_TITLE)+"</td>";
appenText+="</tr>";
}
}else{
appenText+="<tr>";
appenText+="<td colspan='11'>조회된 내용이 없습니다.</td>";
appenText+="</tr>";
}
},
error: function(jqxhr, status, error){
}
});
$("#baseInfoArea").append(appenText);
if(actionType == "regist"){
$("input:checkbox[name=baseInfoObjId]").attr("checked",true);
$("input:checkbox[name=allCheck]").attr("checked",true);
}
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="nonTargetBaseDocArr" id="nonTargetBaseDocArr"/>
<input type="hidden" name="objId" id="objId" value="${info.OBJID}" />
<input type="hidden" name="actionType" id="actionType" value="${param.actionType}" />
<section class="business_staff_popup_min_width">
<div class="plm_menu_name">
<h2>
<span>금형이관</span>
</h2>
</div>
<div id="businessPopupFormWrap">
<div class="form_popup_title">&nbsp;&nbsp;&nbsp;금형이관 정보등록</div>
<table class="pmsPopupForm">
<colgroup>
<col width="10%"/>
<col width="*"/>
<col width="10%"/>
<col width="*"/>
<col width="10%"/>
<col width="*"/>
</colgroup>
<tr>
<td class="input_title">
<label for="">고객사</label>
</td>
<td colspan="">
<select name="oemObjId" id="oemObjId" style="width:100%;">
<option>선택</option>
</select>
</td>
<td class="input_title">
<label for="">차종</label>
</td>
<td colspan="">
<select name="carObjId" id="carObjId" style="width:100%;">
<option>선택</option>
</select>
</td>
<td class="input_title">
<label for="">양산일자</label>
</td>
<td colspan="">
<input type="text" name="sop" id="sop" style="width:100%;" readonly>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">개발품목</label>
</td>
<td colspan="5">
<div style="overflow-y:scroll;">
<table class="project_form_in_table" style="width:100% !important;">
<colgroup>
<col width="5%"/>
<col width="20%"/>
<col width="*"/>
<col width="15%"/>
</colgroup>
<thead>
<tr>
<td>No</td>
<td>제품군</td>
<td>제품</td>
<td>대표자 지정</td>
</tr>
</thead>
</table>
</div>
<div class="in_table_scroll_wrap" style="width:100%;">
<table class="plm_table">
<colgroup>
<col width="5%"/>
<col width="20%"/>
<col width="*"/>
<col width="15%"/>
</colgroup>
<tbody id="productList">
<tr>
<td colspan="4" align="center">차종을 선택해 주시기 바랍니다.</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">문서<br>&nbsp;&nbsp;&nbsp;기준정보</label>
</td>
<td colspan="5">
<div style="overflow-y:scroll;">
<table class="project_form_in_table" style="width:100% !important;">
<colgroup>
<col width="2%"/>
<col width="5%"/>
<col width="30%"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
</colgroup>
<thead>
<tr>
<td rowspan="2"><input type="checkbox" name="allCheck" id="allCheck"></td>
<td rowspan="2">No</td>
<td rowspan="2">문서명</td>
<td rowspan="2">이관유형</td>
<td rowspan="2">문서유형</td>
<td rowspan="2">인계팀</td>
<td colspan="5">대상</td>
</tr>
<tr>
<td>생산팀</td>
<td>생산관리팀</td>
<td>보전팀</td>
<td>부품구매</td>
<td>양산품질</td>
</tr>
</thead>
</table>
</div>
<div class="in_table_scroll_wrap" style="width:100%;">
<table class="plm_table">
<colgroup>
<col width="2%"/>
<col width="5%"/>
<col width="30%"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
<col width="*"/>
</colgroup>
<tbody id="baseInfoArea">
<tr>
<td colspan="11" align="center">차종을 선택해 주시기 바랍니다.</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</table>
<div class="btn_wrap">
<div class="plm_btn_wrap_center">
<input type="button" value="저장" id="btnSave" class="plm_btns">
<input type="button" value="닫기" id="btnClose" class="plm_btns">
</div>
</div>
</div>
</section>
</form>
</body>
</html>