478 lines
14 KiB
Plaintext
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"> 금형이관 정보등록</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> 기준정보</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> |