394 lines
17 KiB
Plaintext
394 lines
17 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%-- <%@include file="/init_jqGrid.jsp"%> --%><%--Expression Language ::: ${fn:escapeXml(str1)} --%>
|
|
<%@include file= "/init.jsp" %>
|
|
<c:set var="now" value="<%=new java.util.Date() %>"/>
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
<%
|
|
// DB에서 메뉴명 조회 (공통 유틸 사용)
|
|
String menuObjId = request.getParameter("menuObjId");
|
|
String menuName = CommonUtils.getMenuName(menuObjId, "기본메뉴명");
|
|
%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
</head>
|
|
|
|
<style>
|
|
.select2-selection__choice {
|
|
font-size: 11px;
|
|
background-color: #fff !important;
|
|
border: none !important;
|
|
margin-right: 0px !important;
|
|
}
|
|
.select2-selection__choice__remove {
|
|
display: contents !important;
|
|
}
|
|
.select2-container .select2-selection--multiple {
|
|
min-height: 20px !important;
|
|
}
|
|
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
|
margin-top: 3.5px !important;
|
|
}
|
|
.select2-selection__rendered {
|
|
height: 18px !important;
|
|
}
|
|
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
|
overflow: auto !important;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
fnc_changePaginationAndTotalCountArea();
|
|
$('.select2').select2();
|
|
fnc_datepick();
|
|
|
|
$("input").keyup(function(e){
|
|
if(e.keyCode == 13){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
}
|
|
});
|
|
$("#delivery_status").val("${param.delivery_status}").trigger("change");
|
|
|
|
//조회
|
|
$("#btnSearch").click(function(){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
});
|
|
//수입검사등록
|
|
$("#btnAccept").click(function(){
|
|
fn_deliveryAcceptancePopUp();
|
|
});
|
|
//부적합등록
|
|
$("#btnInvaild").click(function(){
|
|
fn_deliveryInvaildPopUp();
|
|
});
|
|
$("#project_no").change(function(){
|
|
//fnc_productUPGNEWList(this.value,"","upg_no", "");
|
|
fn_UnitCodeList(this.value, "unit_code", "");
|
|
});
|
|
fn_search();
|
|
|
|
});
|
|
|
|
var columns = [
|
|
|
|
/* {headerHozAlign : 'center', hozAlign : 'center', width : '50', title : '년도', field : 'CM_YEAR' }, */
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME' },
|
|
//{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'CUSTOMER_PROJECT_NAME' },
|
|
//{headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '유닛명', field : 'UNIT_NAME' },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '130', title : '프로젝트번호', field : 'PROJECT_NO',
|
|
/* formatter:fnc_createGridAnchorTag,
|
|
cellClick:function(e, cell){
|
|
var objid = fnc_checkNull(cell.getData().CONTRACT_OBJID);
|
|
openProjectFormPopUp(objid);
|
|
} */
|
|
},
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '130', title : '발주번호', field : 'PURCHASE_ORDER_NO',
|
|
formatter:fnc_createGridAnchorTag,
|
|
cellClick:function(e, cell){
|
|
var objId = fnc_checkNull(cell.getData().OBJID);
|
|
fn_formPopUp(objId);
|
|
}
|
|
},
|
|
//{headerHozAlign : 'center', hozAlign : 'center', /*width : '73',*/ title : '동시', field : "MULTI_YN" },
|
|
{headerHozAlign : 'center', hozAlign : 'left', /* width : '180',*/ title : '발주서_제목', field : 'TITLE' },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '입고요청일', field : 'DELIVERY_DATE' },
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '170', title : '구매/제작업체명', field : 'PARTNER_NAME' },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '구매담당', field : 'SALES_MNG_USER_NAME' },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '발주일', field : 'REGDATE' },
|
|
{headerHozAlign : 'center', hozAlign : 'right', width : '100', title : '발주수량', field : 'TOTAL_PO_QTY',
|
|
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
|
|
},
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '입고일', field : 'CUR_DELIVERY_DATE' },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '입고자', field : 'CUR_RECEIVER_NAME' },
|
|
{headerHozAlign : 'center', hozAlign : 'right', width : '100', title : '입고수량', field : 'TOTAL_DELIVERY_QTY',
|
|
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
|
|
},
|
|
{headerHozAlign : 'center', hozAlign : 'right', width : '100', title : '미입고수량', field : 'NON_DELIVERY_QTY',
|
|
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
|
|
},
|
|
/* {headerHozAlign : 'center', hozAlign : 'right', width : '90', title : '부적합수량', field : 'TOTAL_DEFECT_QTY',
|
|
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
|
|
}, */
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '입고결과', field : 'DELIVERY_STATUS',
|
|
formatter:fnc_createGridAnchorTag,
|
|
cellClick:function(e, cell){
|
|
var objId = fnc_checkNull(cell.getData().OBJID);
|
|
var DELIVERY_STATUS = fnc_checkNull(cell.getData().DELIVERY_STATUS);
|
|
var purchaseOrderNo = fnc_checkNull(cell.getData().PURCHASE_ORDER_NO);
|
|
fn_deliveryAcceptanceViewPopUp(objId,DELIVERY_STATUS);
|
|
//fn_deliveryResultPopUp(objId,purchaseOrderNo);
|
|
}
|
|
}
|
|
|
|
];
|
|
|
|
//var grid;
|
|
function fn_search(){
|
|
var selectedValues = $("#project_no").val();
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
name: 'project_nos',
|
|
value: selectedValues
|
|
}).appendTo('#form1');
|
|
|
|
var selectedIdValues = $("#sales_mng_user_id").val();
|
|
$('input[name="sales_mng_user_ids"]').remove();
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
name: 'sales_mng_user_ids',
|
|
value: selectedIdValues
|
|
}).appendTo('#form1');
|
|
|
|
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/purchaseOrder/deliveryMngAcceptanceGridList.do", columns, true);
|
|
}
|
|
|
|
//수입검사등록
|
|
function fn_deliveryAcceptancePopUp(){
|
|
|
|
var selected = _tabulGrid.getSelectedData();
|
|
if(selected.length==0){
|
|
Swal.fire("선택된 데이터가 없습니다.");
|
|
return;
|
|
}else{
|
|
if(selected.length > 1){
|
|
Swal.fire("한건씩 등록 가능합니다.");
|
|
return;
|
|
}else{
|
|
var MULTI_MASTER_YN = fnc_checkNull(selected[0].MULTI_MASTER_YN);
|
|
var MULTI_YN = fnc_checkNull(selected[0].MULTI_YN);
|
|
|
|
if(MULTI_YN == 'Y' && MULTI_MASTER_YN == 'N'){
|
|
Swal.fire("동시발주건은 마스터건으로 수입검사해야 합니다.");
|
|
return false;
|
|
}else{
|
|
var popup_width = 1560;
|
|
var popup_height = 1050;
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
var target = "deliveryAcceptancePopUp";
|
|
var url = "/purchaseOrder/deliveryAcceptanceFormPopUp_new.do";
|
|
//var url = "/purchaseOrder/deliveryAcceptanceFormPopUp.do";
|
|
var checkArr = [];
|
|
var purchaseOrderNo = fnc_checkNull(selected[0].PURCHASE_ORDER_NO);
|
|
var deliveryStatus = fnc_checkNull(selected[0].DELIVERY_STATUS);
|
|
$.each(selected, function(i,o){ checkArr.push( fnc_checkNull(selected[0].OBJID)) });
|
|
|
|
fn_centerPopup(popup_width, popup_height, "", target);
|
|
|
|
hiddenForm.action = url;
|
|
hiddenForm.checkArr.value = checkArr.join(",");
|
|
hiddenForm.PURCHASE_ORDER_MASTER_OBJID.value = checkArr.join("");
|
|
hiddenForm.PURCHASE_ORDER_NO.value = purchaseOrderNo;
|
|
hiddenForm.DELIVERY_STATUS.value = deliveryStatus;
|
|
hiddenForm.actionType.value = 'regist';
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function fn_deliveryAcceptanceViewPopUp(objId,DELIVERY_STATUS){
|
|
var popup_width = 1560;
|
|
var popup_height = 1050;
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
var target = "deliveryAcceptancePopUp";
|
|
var url = "/purchaseOrder/deliveryAcceptanceFormPopUp_new.do";
|
|
fn_centerPopup(popup_width, popup_height, "", target);
|
|
|
|
hiddenForm.action = url;
|
|
hiddenForm.PURCHASE_ORDER_MASTER_OBJID.value = objId;
|
|
hiddenForm.DELIVERY_STATUS.value = DELIVERY_STATUS;
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
//부적합등록
|
|
function fn_deliveryInvaildPopUp(){
|
|
|
|
var selected = _tabulGrid.getSelectedData();
|
|
if(selected.length==0){
|
|
Swal.fire("선택된 데이터가 없습니다.");
|
|
return;
|
|
}else{
|
|
if(selected.length > 1){
|
|
Swal.fire("한건씩 등록 가능합니다.");
|
|
return;
|
|
}else{
|
|
var MULTI_MASTER_YN = fnc_checkNull(selected[0].MULTI_MASTER_YN);
|
|
|
|
if(MULTI_MASTER_YN == 'N'){
|
|
Swal.fire("동시발주건은 마스터건으로 부적합 등록해야 합니다.");
|
|
return false;
|
|
}else{
|
|
var popup_width = 1260;
|
|
var popup_height = 1050;
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
var target = "InvalidFormPopUp";
|
|
var url = "/purchaseOrder/deliveryInvalidFormPopUp.do";
|
|
//var url = "/purchaseOrder/deliveryAcceptanceFormPopUp.do";
|
|
var checkArr = [];
|
|
var purchaseOrderNo = fnc_checkNull(selected[0].PURCHASE_ORDER_NO);
|
|
$.each(selected, function(i,o){ checkArr.push( fnc_checkNull(selected[0].OBJID)) });
|
|
|
|
fn_centerPopup(popup_width, popup_height, "", target);
|
|
|
|
hiddenForm.action = url;
|
|
hiddenForm.checkArr.value = checkArr.join(",");
|
|
hiddenForm.PURCHASE_ORDER_MASTER_OBJID.value = checkArr.join("");
|
|
hiddenForm.PURCHASE_ORDER_NO.value = purchaseOrderNo;
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//입고결과등록
|
|
function fn_deliveryResultPopUp(objId,purchaseOrderNo){
|
|
var popup_width = 2000;
|
|
var popup_height = 550;
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
var target = "deliveryResultHistoryPopUp";
|
|
var url = "/purchaseOrder/deliveryResultHistoryFormPopUp.do?PURCHASE_ORDER_MASTER_OBJID="+objId+"&PURCHASE_ORDER_NO="+purchaseOrderNo;
|
|
|
|
fn_centerPopup(popup_width, popup_height, url, target);
|
|
}
|
|
|
|
//등록,수정,뷰
|
|
function fn_formPopUp(objId){
|
|
var popup_width = 1460;
|
|
var popup_height = 1050;
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
var target = "purchaseOrderFormPopup_new";
|
|
var url = "/purchaseOrder/purchaseOrderFormPopup_new.do";
|
|
fn_centerPopup(popup_width, popup_height, "", target);
|
|
|
|
hiddenForm.PURCHASE_ORDER_MASTER_OBJID.value = objId;
|
|
hiddenForm.action = url;
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="checkArr" id="checkArr">
|
|
<input type="hidden" name="PURCHASE_ORDER_MASTER_OBJID" id="PURCHASE_ORDER_MASTER_OBJID">
|
|
<input type="hidden" name="PURCHASE_ORDER_NO" id="PURCHASE_ORDER_NO">
|
|
<input type="hidden" name="DELIVERY_STATUS" id="DELIVERY_STATUS">
|
|
<input type="hidden" name="actionType" id="actionType">
|
|
</form>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<textarea style="width:0px; height:0px; visibility: hidden;" id="jsonLevel3_csmCategory">${code_map.jsonLevel3_csmCategory}</textarea><!-- 코드동적설정 -->
|
|
|
|
<div class="content-box" style="height: 99.3%;">
|
|
<div class="content-box-s">
|
|
<div class="plm_menu_name_gdnsi">
|
|
<h2>
|
|
<span><%=menuName%></span>
|
|
</h2>
|
|
<div class="btnArea">
|
|
<input type="button" class="plm_btns" value="조회" id="btnSearch">
|
|
<input type="button" class="plm_btns" value="입고결과등록" id="btnAccept">
|
|
<input type="button" class="plm_btns" value="부적합등록" id="btnInvaild">
|
|
</div>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tr>
|
|
<td><label for="Year">년도</label></td>
|
|
<td>
|
|
<select name="Year" id="Year" class="select2" autocomplete="off" style="width:170px;">
|
|
<option value="">선택</option>
|
|
<c:forEach begin="${sysYear-4}" end="${sysYear}" var="req_year">
|
|
<%-- <option value="${req_year}" ${(param.Year eq req_year) or (empty param.Year and req_year eq sysYear) ? 'selected':'' }>${req_year}</option> --%>
|
|
<option value="${req_year}"${param.Year eq req_year ? 'selected':'' }>${req_year}</option>
|
|
</c:forEach>
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="">고객사</label></td>
|
|
<td><select name="customer_cd" id="customer_cd" class="select2" autocomplete="off" style="width:170px;"><option value="">선택</option>${code_map.customer_cd}</select></td>
|
|
|
|
<%-- <td><label for="">고객사프로젝트명</label></td>
|
|
<td><input type="text" name="customer_project_name" id="customer_project_name" autocomplete="off" value="${param.customer_project_name}" style="width:170px;"/></td> --%>
|
|
|
|
<td><label for="project_no">프로젝트번호</label></td>
|
|
<td>
|
|
<select name="project_no" id="project_no" style="width:260px;" class="select2" autocomplete="off" multiple="multiple">
|
|
<option value="">선택</option>
|
|
${code_map.project_no}
|
|
</select>
|
|
</td>
|
|
|
|
<!-- <td><label for="unit_code">유닛명</label></td>
|
|
<td>
|
|
<select name="unit_code" id="unit_code" style="width:190px;" class="select2" autocomplete="off" type="select" reqTitle="유닛명">
|
|
</select>
|
|
</td> -->
|
|
|
|
<td><label for="">발주No.</label></td>
|
|
<td><input type="text" name="purchase_order_no" id="purchase_order_no" autocomplete="off" value="${param.purchase_order_no}" style="width:185px;"/></td>
|
|
|
|
<td><label for="">부품구분</label></td>
|
|
<td><select name="type" id="type" class="select2" autocomplete="off" style="width:130px;"><option value="">선택</option>${code_map.type}</select></td>
|
|
<td><label for="">규격</label></td>
|
|
<td><input type="text" name="SEARCH_PART_SPEC" id="SEARCH_PART_SPEC" autocomplete="off" value="${param.SEARCH_PART_SPEC }" style="width:120px;"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="">공급업체</label></td>
|
|
<td><select name="partner_objid" id="partner_objid" class="select2" autocomplete="off" style="width:170px;"><option value="">선택</option>${code_map.partner_objid}</select></td>
|
|
|
|
<td><label for="">구매담당자</label></td>
|
|
<td><select name="sales_mng_user_id" id="sales_mng_user_id" class="select2" autocomplete="off" style="width:170px;" multiple="multiple"><option value="">선택</option>${code_map.sales_mng_user_id}</select></td>
|
|
|
|
<td class=""><label>입고요청일</label></td>
|
|
<td>
|
|
<input type="text" name="delivery_start_date" id="delivery_start_date" style="width:90px;" autocomplete="off" value="${param.delivery_start_date}" class="date_icon">~
|
|
<input type="text" name="delivery_end_date" id="delivery_end_date" style="width:90px;" autocomplete="off" value="${param.delivery_end_date }" class="date_icon">
|
|
</td>
|
|
|
|
<td class=""><label>발주일</label></td>
|
|
<td>
|
|
<input type="text" name="reg_start_date" id="reg_start_date" style="width:87px;" autocomplete="off" value="${param.reg_start_date}" class="date_icon">~
|
|
<input type="text" name="reg_end_date" id="reg_end_date" style="width:87px;" autocomplete="off" value="${param.reg_end_date }" class="date_icon">
|
|
</td>
|
|
|
|
<td><label for="">입고결과</label></td>
|
|
<td>
|
|
<select name="delivery_status" id="delivery_status" class="select2" autocomplete="off" style="width:130px;">
|
|
<option value="">선택</option>
|
|
<option value="입고중">입고중</option>
|
|
<option value="입고완료">입고완료</option>
|
|
<option value="지연">지연</option>
|
|
</select>
|
|
</td>
|
|
<td><label for="">품명</label></td>
|
|
<td>
|
|
<input type="text" name="SEARCH_PART_NAME" id="SEARCH_PART_NAME" style="width:130px;" autocomplete="off" value="${param.SEARCH_PART_NAME}">
|
|
</td>
|
|
<td><label for="">품번</label></td>
|
|
<td><input type="text" name="SEARCH_PART_NO" id="SEARCH_PART_NO" autocomplete="off" value="${param.SEARCH_PART_NO }" style="width:120px;"/></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |