ERP-node/WebContent/WEB-INF/view/productDevMng/moldHistoryFormPopUp.jsp

506 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" %>
<%--
//금형이력 등록방법
1. 고객사 선택 (기준정보)
2. 차종 선택 (기준정보)
3. 현단계 선택 (Milestone 기준정보)
4. 제품군 선택 (기준정보)
5. 제품 선택 (기준정보)
6. 선택된 제품 [추가]
6-1. 잘못 선택된 제품은 [삭제]를 통해 제거
7. 해당정보 저장.
//저장시 유의사항
1. 차종별 1개의 금형이력만 등록 가능함.
2. 같은 제품을 등록할 수 없음.
--%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
</head>
<script>
$(document).ready(function(){
$("#btnClose").click(function(){
opener.fn_refreshProductList($("#objId").val());
self.close(0);
});
fn_setOEMList();
fn_setProductGroupList();
$("#oemObjId").change(function(){
fn_setCarTypeList($(this).val());
fn_setMilestoneList($(this).val());
});
$("#prodGroupObjId").change(function(){
fn_setProductList();
});
$("#btnSave").click(function(){
fn_save();
});
$(document).on("click", ".btnDisconnectProduct", function(){
var objId = $(this).attr("data-OBJID");
fn_deleteProjectProduct(objId);
});
fn_refreshProductList();
});
</script>
<script>
//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 = fnc_checkNull("${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>");
}
}
//milestone 목록 조회
function fn_setMilestoneList(oemObjId){
var appendCode = "";
if(fnc_checkNull(oemObjId) != ""){
$.ajax({
url:"/common/getMilestoneList.do",
type:"POST",
data:{"search_oemObjId":oemObjId, "isJson":true},
dataType:"json",
async:false,
success:function(data){
appendCode += "<option value=''>선택</option>";
if(data != null && data.length > 0){
$.each(data, function(i){
appendCode += "<option value='"+data[i].MILESTONE_NAME+"'>"+data[i].MILESTONE_NAME+"</option>";
});
}
$("#currentStep").children().remove();
$("#currentStep").append(appendCode);
var dbVal = fnc_checkNull("${info.CURRENT_STEP}");
if(dbVal != ""){
$("#currentStep > option[value="+dbVal+"]").attr("selected", "true");
}
},
error: function(jqxhr, status, error){
Swal.fire("error");
}
});
}
}
//제품군 조회
function fn_setProductGroupList(){
$.ajax({
url:"/common/getProductGroupList.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].PRODUCT_GROUP_NAME+"</option>";
});
$("#prodGroupObjId").append(appendCode);
//$("#productGroupObjId").trigger("change");
},
error: function(jqxhr, status, error){
}
});
}
//제품 조회
function fn_setProductList(){
var productGroupObjId = $("#prodGroupObjId").val();
var appendCode = "";
$("#prodObjId").empty();
if(null != productGroupObjId && "" != productGroupObjId){
$.ajax({
url:"/common/getProductList.do",
type:"POST",
data:{"isJson":true, "search_productGroupObjId":productGroupObjId},
dataType:"json",
success:function(data){
appendCode += "<option value=''>선택("+data.length+"개)</option>";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].PRODUCT_NAME+"</option>";
});
$("#prodObjId").children().remove();
$("#prodObjId").append(appendCode);
},
error: function(jqxhr, status, error){
}
});
}else{
appendCode += "<option value=''>선택</option>";
$("#prodObjId").children().remove();
$("#prodObjId").append(appendCode);
}
}
//제품군, 제품 선택하여 금형이력에 제품목록을 추가한다.
function fn_addProjectProduct(){
var prodGroupObjId = $("#prodGroupObjId").val();
var prodObjId = $("#prodObjId").val();
var objId = $("#objId").val();
//Swal.fire("prodGroupObjId : "+prodGroupObjId+", prodObjId : "+prodObjId);
if(prodGroupObjId == "" || prodObjId == ""){
Swal.fire("선택된 제품이 없습니다.");
return;
}else{
$.ajax({
url:"/productDevMng/connectMoldHistoryRelProduct.do",
type:"POST",
data:{"targetObjId":objId, "prodGroupObjId":prodGroupObjId, "prodObjId":prodObjId},
dataType:"json",
async:false,
success:function(data){
//Swal.fire("result : "+data.result);
if(data.result == "false"){
Swal.fire(data.msg);
}
fn_refreshProductList();
},
error: function(jqxhr, status, error){
}
});
}
}
//추가된 급형이력 제품목록을 삭제한다.
function fn_deleteProjectProduct(objId){
if(confirm("해당 제품을 삭제하시겠습니까?\n제품별 입력한 정보가 있을시 전부 삭제되며, 복구되지 않습니다.")){
$.ajax({
url:"/productDevMng/disconnectMoldHistoryRelProduct.do",
type:"POST",
data:{"objId":objId},
dataType:"json",
async:false,
success:function(data){
//Swal.fire("result : "+data.result);
if(data.result == "false"){
Swal.fire(data.msg);
}
fn_refreshProductList();
},
error: function(jqxhr, status, error){
}
});
}
}
//제품목록 조회
function fn_refreshProductList(){
var targetObjId = fnc_checkNull($("#objId").val());
if(targetObjId != ""){
$.ajax({
url:"/productDevMng/getMoldHistoryRelProductList.do",
type:"POST",
data:{"targetObjId":targetObjId},
dataType:"json",
success:function(data){
var appendCode = "";
if(data.length > 0){
$.each(data, function(i){
appendCode += "<tr>";
appendCode += "<td>"+(i+1)+"</td>";
appendCode += "<td>"+data[i].PROD_GROUP_NAME+"</td>";
appendCode += "<td>"+data[i].PROD_NAME+"</td>";
appendCode += "<td><input type='button' value='삭제' class='blue_btn btnDisconnectProduct' data-OBJID='"+data[i].SUB_OBJID+"'></td>";
appendCode += "</tr>";
});
}else{
appendCode += "<tr>";
appendCode += "<td colspan='4' align='center'>등록된 제품이 없습니다.</td>";
appendCode += "</tr>";
}
$("#orderProduct").children().remove();
$("#orderProduct").append(appendCode);
},
error: function(jqxhr, status, error){
}
});
}
}
//저장
function fn_save(){
var actionType = "${param.actionType}";
if(fnc_valitate("form1")){
if(actionType == "regist"){
//같은 차종, 같은 단계로 등록되어있는 갑지가 있는지 확인.
if(!fn_checkDuplicateMoldHistoryInfo()){
Swal.fire("동일 내용의 금형이력정보가 이미 존재 합니다.");
return;
}
}
/*
//제품선택유무 확인
if(!fn_checkAddedProduct()){
Swal.fire("등록된 제품이 없습니다.");
return;
}
*/
if(confirm("저장하시겠습니까?")){
var url = "/productDevMng/saveMoldHistoryInfo.do";
$.ajax({
url:url,
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
success:function(data){
//Swal.fire("result : "+data.result);
Swal.fire(data.msg);
opener.fn_search();
self.close(0);
},
error: function(jqxhr, status, error){
}
});
}
}
}
//금형이력 저장 시 동일 정보의 중복여부를 확인한다. (true : 등록가능, false : 등록불가)
function fn_checkDuplicateMoldHistoryInfo(){
var resultFlag = false;
$.ajax({
url:"/productDevMng/checkDuplicateMoldHistoryInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
if(0 == Number(data.CNT)){
returnFlag = true;
}else{
returnFlag = false;
}
},
error: function(jqxhr, status, error){
}
});
return returnFlag;
}
//제품 유무를 확인하다. (true : ok, false : ng)
function fn_checkAddedProduct(){
var addedProductCnt = $("tr [name=addedOrderProduct]").size();
if(0 == addedProductCnt){
return false;
}else{
return true;
}
}
</script>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="objId" id="objId" value="${info.OBJID}">
<section class="business_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" style="margin: 10px 0 0 0;">
<colgroup>
<col width="13%"/>
<col width="*"/>
<col width="*"/>
<col width="20%"/>
<col width="*"/>
<col width="*"/>
</colgroup>
<tr>
<td class="input_title">
<label for="">고객사</label>
</td>
<td colspan="2">
<select name="oemObjId" id="oemObjId" required reqTitle="고객사" type="select">
<option value="">선택</option>
</select>
</td>
<td class="input_title">
<label for="">차종</label>
</td>
<td colspan="2">
<select name="carObjId" id="carObjId" required reqTitle="차종" type="select">
<option value="">선택</option>
</select>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">현단계</label>
</td>
<td colspan="2">
<select name="currentStep" id="currentStep" required reqTitle="현단계" type="select">
<option value="">선택</option>
</select>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">제품군</label>
</td>
<td colspan="2">
<select name="prodGroupObjId" id="prodGroupObjId" type="select">
<option value="">선택</option>
</select>
</td>
<td class="input_title">
<label for="">제품</label>
</td>
<td colspan="2">
<select name="prodObjId" id="prodObjId" style="width:70%;">
<option value="">선택</option>
</select>
<input type="button" value="추가" class="blue_btn" onclick="fn_addProjectProduct();">
</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%;">
<colgroup>
<col width="10%"/>
<col width="25%"/>
<col width="53%"/>
<col width="12%"/>
</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="10%"/>
<col width="25%"/>
<col width="53%"/>
<col width="12%"/>
</colgroup>
<tbody id="orderProduct">
<c:choose>
<c:when test="${empty projectConnectProductList}">
<tr id="orderProductDefaultRow" name="orderProductDefaultRow" >
<td colspan="4">선택된 제품이 없습니다.</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach var="item" items="${projectConnectProductList}" varStatus="status">
<tr id="${item.SUB_OBJID}" name="addedOrderProduct">
<td>${item.RNUM}</td>
<td>${item.PRODUCT_GROUP_NAME}</td>
<td>${item.PRODUCT_NAME}</td>
<td><input type="button" value="삭제" class="blue_btn" onclick="fn_deleteProjectProduct('${item.SUB_OBJID}');"></td>
<input type="hidden" name="addedOrderProductObjId" value="${item.SUB_OBJID}">
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</td>
</tr>
</table>
<div class="btn_wrap" style="clear:both;">
<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>