Files
wace_plm/WebContent/WEB-INF/view/transfer/facilitiesTransferFormPopUp.jsp
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- Add Docker Compose configurations for dev, prod, and standalone environments
- Add database initialization scripts (init-db.sh, init-db-docker.sh)
- Add enhanced start-docker-linux.sh with DB init support
- Add comprehensive database initialization guide
- Support for automatic dbexport.pgsql import on first run
- Include safety checks for production environment
2025-08-29 15:46:08 +09:00

360 lines
9.5 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;
var devMasterSaveFlag = false;
$(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();
}
});
$(".btnSearchEmployee").click(function(){
var url = "/common/searchEmployeePopup.do?callback=fn_setAcceptor";
window.open(url, "searchEmployee", "width=500, height=400");
});
});
</script>
<script>
//인수자 세팅
function fn_setAcceptor(userId, userName, deptName, deptCode){
//Swal.fire("userId : "+userId+"\nuserName : "+userName+"\ndeptCode : "+deptCode+"\ndeptName : "+deptName);
var acceptorName = "["+deptName+"] "+userName;
$("#acceptorName").val(acceptorName);
$("#acceptor").val(userId);
}
//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/getCarTypeList.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");
}
},
error: function(jqxhr, status, error){
}
});
}else{
$("#carObjId").children().remove();
$("#carObjId").append("<option value=''>선택</option>");
}
}
//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){
}
});
}
//개발 제품 목록 설정
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){
var devMasterCnt = data[i].DEV_MASTER_CNT;
//Swal.fire("devMasterCnt : "+devMasterCnt);
var bgColor = "";
if(devMasterCnt == 0){
devMasterSaveFlag = false;
bgColor = "bgColor='red' title='개발마스터 미등록 상태입니다.' style='cursor:help;'";
//Swal.fire("devMasterSaveFlag : "+devMasterSaveFlag+", bgcolor : "+bgColor);
}else devMasterSaveFlag = true;
append += "<tr "+bgColor+">";
append += "<td>"+data[i].RNUM+"</td>";
append += "<td>"+data[i].PROD_GROUP_NAME+"</td>";
append += "<td>"+data[i].PROD_NAME+"</td>";
append += "</tr>";
});
}else{
append += "<tr><td colspan='3' align='center'>개발중인 제품이 없습니다.</td></tr>";
}
$("#productList").append(append);
},
error: function(jqxhr, status, error){
}
});
}
//중복저장 체크(차종별)
function fn_duplicateCheck(){
$.ajax({
url:"/transfer/checkTransferFacilitiesDuplicateMaster.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
success:function(data){
if(data.CNT == 0){
if(confirm("저장후에는 수정이 불가능합니다.\n저장하시겠습니까?")){
fn_save();
}
}else{
Swal.fire(data.msg);
}
},
error: function(jqxhr, status, error){
}
});
}
//저장
function fn_save(){
$.ajax({
url:"/transfer/saveTransferFacilitiesMasterInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
beforeSend:function(){
_startLoading("저장중입니다.");
},
success:function(data){
if(data.result == "true" || data.result == true || data.result){
opener.fn_refresh();
Swal.fire(data.msg);
self.close();
//Swal.fire("save ok");
}
},
error: function(jqxhr, status, error){
}
});
}
//정합성체크
function fn_validate(){
var oemObjId = fnc_checkNull($("#oemObjId").val());
var carObjId = fnc_checkNull($("#carObjId").val());
var sop = fnc_checkNull($("#sop").val());
//Swal.fire("oemObjId : "+oemObjId+"carObjId : "+carObjId+", sop : "+sop+", productSize : "+productSize);
if(oemObjId == ""){
Swal.fire("고객사를 선택해 주시기 바랍니다.");
$("#oemObjId").focus();
return false;
}
if(carObjId == ""){
Swal.fire("차종을 선택해 주시기 바랍니다.");
$("#carObjId").focus();
return false;
}
if(sop == "설정되지않음."){
Swal.fire("양산일자가 지정되지 않았습니다.\n등록할 수 없습니다.");
return false;
}
if(productSize == 0){
Swal.fire("수주된 제품이 없습니다.\n등록할 수 없습니다.");
return false;
}
if(!devMasterSaveFlag){
Swal.fire("개발품목중 개발마스터가 등록되지 않은 제품이 있습니다.\n등록할 수 없습니다.");
return false;
}
return true;
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="objId" id="objId" value="${info.OBJID}" />
<input type="hidden" name="acceptor" id="acceptor" value="" />
<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="15%"/>
<col width="*"/>
</colgroup>
<tr>
<td class="input_title">
<label for="">고객사</label>
</td>
<td colspan="">
<select name="oemObjId" id="oemObjId" style="width:100%;">
<option value="">선택</option>
</select>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">차종</label>
</td>
<td colspan="">
<select name="carObjId" id="carObjId" style="width:100%;">
<option value="">선택</option>
</select>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">인수담당자</label>
</td>
<td colspan="">
<input type="text" name="acceptorName" id="acceptorName" style="width:94%;" class="btnSearchEmployee" readonly><span class="search_btn btnSearchEmployee"></span>
</td>
</tr>
<tr>
<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>
<div style="overflow-y:scroll;">
<table class="project_form_in_table" style="width:100% !important;">
<colgroup>
<col width="15%"/>
<col width="40%"/>
<col width="*"/>
</colgroup>
<thead>
<tr>
<td>No</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="15%"/>
<col width="40%"/>
<col width="*"/>
</colgroup>
<tbody id="productList">
<tr>
<td colspan="3" 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>