Files
wace_plm/WebContent/WEB-INF/view/devMng/moldDevRequestList.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

307 lines
13 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.*" %>
<%@include file= "/init.jsp" %>
<%
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
String connector = person.getUserId();
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
<c:set var="now" value="<%=new java.util.Date() %>"/>
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
<c:set var="connector" value="<%=connector %>" />
<script>
$(document).ready(function(){
$("#btnSearch").click(function(){
fn_search();
});
$("#btnRegist").click(function(){
fn_moldDevRequestPopUp('');
});
$("#btnSendReq").click(function(){
var checkedObj = $("input[name=moldDevRequestObjId]:checked");
var targetStatus = checkedObj.attr("data-STATUS");
if("결재완료" != targetStatus){
Swal.fire("결재완료된 의뢰에 한하여 업페발송 가능합니다.");
return false;
}else{
fn_sendMoldDevRequest(checkedObj.val());
}
});
$(".detailExternalInfo").click(function(){
var checkedObj = $(this);
document.hiddenForm.search_oemObjId.value=checkedObj.attr("data-OEM_OBJID");
document.hiddenForm.search_carObjId.value=checkedObj.attr("data-CAR_OBJID");
document.hiddenForm.search_productObjId.value=checkedObj.attr("data-PRODUCT_OBJID");
fn_externalWorkReviewPopUp("view");
});
$("#search_customer").change(function(){
$("#search_car_type").empty();
if("" != this.value){
fnc_getCarList("", this.value, "search_car_type","${param.search_car_type}");
}
});
$("#search_product_group").change(function(){
$("#search_product").empty();
if("" != this.value){
fnc_getCodeListAppend(this.value,"search_product","${param.search_product}");
}
});
$("#btnApproval").click(function(){
var checkedObj = $("input[name=moldDevRequestObjId]:checked");
var title = "";
var targetStatus = checkedObj.attr("data-STATUS");
var objId = checkedObj.val();
if(targetStatus == "작성중" || targetStatus == "반려"){
window.open("/approval/registApproval.do?targetType=MOLD_DEV_REQUEST&targetObjId="+objId+"&approvalTitle="+title+"&callbackFnc=fn_search","registApproval","width=700,height=700");
}else{
Swal.fire("이미 결재완료 또는 결재중 상태입니다.");
return false;
}
});
$(".btnApprovalDetail").click(function(){
var approvalObjId = $(this).attr("data-APPROVAL_OBJID");
var routeObjId = $(this).attr("data-ROUTE_OBJID");
var params = "?approvalObjId="+approvalObjId;
params += "&routeObjId="+routeObjId;
//Swal.fire("params : "+params);
window.open("/approval/approvalDetail.do"+params,"approvalDetailPopup","width=650 height=400 menubar=no status=no");
});
fnc_getOEMList("search_customer", "${param.search_customer}");
if("" != "${param.search_customer}"){
fnc_getCarList("", "${param.search_customer}", "search_car_type","${param.search_car_type}");
}
fnc_getCodeListAppend("<%=Constants.PRODUCT_GROUP_CODE%>","search_product_group","${param.search_product_group}");
if("" != "${param.search_product_group}"){
fnc_getCodeListAppend("${param.search_product_group}","search_product","${param.search_product}");
}
});
</script>
<script>
//업체발송처리
function fn_sendMoldDevRequest(targetObjId){
if("" != targetObjId){
if(confirm("업체발송하시겠습니까?")){
$.ajax({
url:"/devMng/sendMoldDevRequest.do",
type:"POST",
data:{"OBJID":targetObjId,"STATUS":"sendRequest"},
dataType:"json",
async:true,
success:function(data){
fileAreaDraw();
},
error: function(jqxhr, status, error){
}
});
}
}
}
function fn_search(){
document.form1.action = "/devMng/moldDevRequestList.do";
document.form1.submit();
}
function fn_externalWorkReviewPopUp(pageType){
var hiddenForm = document.hiddenForm;
var target = "externalWorkReviewPopUp";
var url = "/devMng/externalWorkReviewPopUp.do";
window.open("",target,"width=1700, height=800, menubars=no, scrollbars=yes, resizable=yes");
if("detail" == pageType || "view" == pageType){
url = "/devMng/externalWorkReviewDetailPopUp.do";
}
hiddenForm.action = url;
hiddenForm.target = target;
hiddenForm.submit();
}
function fn_moldDevRequestPopUp(objId){
var hiddenForm = document.hiddenForm;
var target = "moldDevRequest";
var url = "/devMng/moldDevRequestFormPopUp.do";
if("" != objId){
url = "/devMng/moldDevRequestDetailPopUp.do";
}
window.open("",target,"width=1160, height=800, menubars=no, scrollbars=yes, resizable=yes");
hiddenForm.OBJID.value = objId;
hiddenForm.action = url;
hiddenForm.target = target;
hiddenForm.submit();
}
</script>
</head>
<body class="backcolor">
<form name="hiddenForm"id="hiddenForm" action="" method="post">
<input type="hidden" name="OBJID" id="OBJID">
<input type="hidden" name="search_oemObjId" id="search_oemObjId">
<input type="hidden" name="search_carObjId" id="search_carObjId">
<input type="hidden" name="search_productObjId" id="search_productObjId">
<input type="hidden" name="popUpType" id="popUpType">
</form>
<form name="form1" id="form1" action="" method="post">
<div style="min-width:1680px;">
<div class="content-box">
<div class="content-box-s">
<div class="plm_menu_name">
<h2>
<span>개발관리_금형제작의뢰</span>
</h2>
</div>
<div id="plmSearchZon">
<table>
<tr>
<td><label for="">고객사</label></td>
<td>
<select name="search_customer" id="search_customer" style="width:200px;" autocomplete="off" class="select2"></select>
</td>
<td><label for="">차종</label></td>
<td>
<select name="search_car_type" id="search_car_type" style="width:200px;" autocomplete="off" class="select2"></select>
</td>
<td><label for="">제품군</label></td>
<td>
<select name="search_product_group" id="search_product_group" style="width:200px;" autocomplete="off" class="select2"></select>
</td>
<td><label for="">제품</label></td>
<td>
<select name="search_product" id="search_product" style="width:200px;" autocomplete="off" class="select2"></select>
</td>
</tr>
</table>
</div>
<div class="contents_page_basic_margin">
<div class="btn_wrap">
<div class="plm_btn_wrap">
<input type="button" value="금형제작의뢰" class="plm_btns" id="btnRegist">
<input type="button" value="업체발송" class="plm_btns" id="btnSendReq">
<input type="button" value="결제상신" class="plm_btns" id="btnApproval">
<input type="button" value="조회" class="plm_btns" id="btnSearch">
</div>
</div>
<div class="plm_table_wrap">
<table class="plm_table">
<colgroup>
<col width="2%">
<col width="6%"> <!-- Project No -->
<col width="3.2%"> <!-- 지역 -->
<col width="5%"> <!-- 프로젝트 구분 -->
<col width="4%"> <!-- 고객사 -->
<col width="5%"> <!-- 차종 -->
<col width="8%"> <!-- 제품군 -->
<col width="*"> <!-- 제품 -->
<col width="5.5%"> <!-- 양산일 -->
<col width="5.5%"> <!-- 총생산수량 -->
<col width="5.5%"> <!-- 연평균 -->
<col width="8.5%"> <!-- 공장 -->
<col width="7%"> <!-- 개발담당자 -->
<col width="4%"> <!-- 업체명 -->
<col width="5.5%"> <!-- 의뢰일 -->
<col width="5.5%"> <!-- 완료요청일 -->
<col width="4%"> <!-- 진행상태 -->
</colgroup>
<thead>
<tr class="plm_thead">
<td rowspan="2">선택</td>
<td rowspan="2">Project No</td>
<td rowspan="2">지역</td>
<td rowspan="2">프로젝트 구분</td>
<td rowspan="2">고객사</td>
<td rowspan="2">차종</td>
<td colspan="2">수주품목</td>
<td colspan="4">생산</td>
<td colspan="5">금형제작의뢰</td>
</tr>
<tr class="plm_sub_thead">
<td>제품군</td>
<td>제품</td>
<td>양산일</td>
<td>총생산수량</td>
<td>연평균</td>
<td>공장</td>
<td>개발담당자</td>
<td>업체명</td>
<td>의뢰일</td>
<td>완료요청일</td>
<td>진행상태</td>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty LIST}">
<c:forEach var="item" items="${LIST}" varStatus="status">
<tr style="background-color:${item.PROJECT_PARTITION_NUM % 2 == 1?'#E8FFFF':''};">
<td><input type="radio" name="moldDevRequestObjId" value="${item.MOLD_DEV_REQUEST_OBJID}" data-STATUS="${item.STATUS_TITLE}"></td>
<td title="${item.ESTIMATE_NO}">${item.PROJECT_PRODUCT_PARTITION_NUM eq 1?item.ESTIMATE_NO:''}</td> <!-- Project No -->
<td title="${item.FOREIGN_TYPE}">${item.PROJECT_PRODUCT_PARTITION_NUM eq 1?item.FOREIGN_TYPE:''}</td> <!-- 지역 -->
<td title="${item.PJT_TYPE}">${item.PROJECT_PRODUCT_PARTITION_NUM eq 1?item.PJT_TYPE:''}</td> <!-- 프로젝트 구분 -->
<td title="${item.OEM_NAME}">${item.PROJECT_PRODUCT_PARTITION_NUM eq 1?item.OEM_NAME:''}</td> <!-- 고객사 -->
<td title="${item.CAR_NAME}">${item.PROJECT_PRODUCT_PARTITION_NUM eq 1?item.CAR_CODE:''}</td> <!-- 차종 -->
<td title="${item.PRODUCT_GROUP_NAME}">${item.PRODUCT_GROUP_NAME}</td> <!-- 제품군 -->
<td title="${item.PROD_NAME}"><a href="#" class="detailExternalInfo" data-OEM_OBJID="${item.OEM_OBJID}" data-CAR_OBJID="${item.CAR_OBJID}" data-PRODUCT_OBJID="${item.PROD_CODE}">${item.PROD_NAME}</a></td><!-- 제품 -->
<td title="${item.MILESTONE_DATE}">${item.MILESTONE_DATE}</td> <!-- 양산일 -->
<td title="<fmt:formatNumber value="${item.TOTAL_PRODUCTION_CNT}"/>"><fmt:formatNumber value="${item.TOTAL_PRODUCTION_CNT}"/></td> <!-- 총생산수량 -->
<td title="<fmt:formatNumber value="${item.YEARLY_AVG_PRODUCTION_CNT}"/>"><fmt:formatNumber value="${item.YEARLY_AVG_PRODUCTION_CNT}"/></td> <!-- 연평균 -->
<td title="${item.OEM_FACTORY_NAME}">${item.OEM_FACTORY_NAME}</td> <!-- 공장 -->
<td title="${item.PM_INFO}">${item.PM_INFO}</td> <!-- 개발담당자 -->
<td title="${item.MOLD_DEV_PARTNER_NAME}"><a href="#" onclick="fn_moldDevRequestPopUp('${item.MOLD_DEV_REQUEST_OBJID}');">${item.MOLD_DEV_PARTNER_NAME}</a></td> <!-- 업체명 -->
<td title="${item.REGDATE_TITLE}">${item.REGDATE_TITLE}</td> <!-- 의뢰일 -->
<td title="${item.PRODUCTION_COMPLETION_DATE}">${item.PRODUCTION_COMPLETION_DATE}</td> <!-- 완료요청일 -->
<td title="${item.STATUS_TITLE}">
<c:choose>
<c:when test="${item.STATUS_TITLE ne '작성중'}">
<a href="#" class="btnApprovalDetail" data-APPROVAL_OBJID="${item.APPROVAL_OBJID}" data-ROUTE_OBJID="${item.ROUTE_OBJID}">${item.STATUS_TITLE}</a>
</c:when>
<c:otherwise>
${item.STATUS_TITLE}
</c:otherwise>
</c:choose>
</td><!-- 진행상태 -->
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="17" align="center">조회된 데이터가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>