diff --git a/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp b/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp
index 2c97133..b662cb9 100644
--- a/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp
+++ b/WebContent/WEB-INF/view/quality/incomingInspectionProgressList.jsp
@@ -87,39 +87,57 @@ $(document).ready(function(){
fn_search();
});
-// 컬럼: 품의서 No, 발주서 No, 프로젝트번호, 품번, 품명, 공급업체, 입고결과, 요청일, 요청자, 검사자, 검사일, 검사결과
+// =====================================================
+// 컬럼 정의 (입고품목 상세 기준) - 신규
+// =====================================================
var columns = [
- {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'검사일', field:'INSPECTION_DATE'},
- {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'검사자', field:'INSPECTOR_NAME'},
- {headerHozAlign:'center', hozAlign:'center', minWidth:120, widthGrow:1, title:'품의서 No', field:'PROPOSAL_NO'
- // formatter:fnc_createGridAnchorTag,
- // cellClick:function(e, cell){
- // var objId = fnc_checkNull(cell.getData().PROPOSAL_OBJID);
- // if(objId != '') fn_openProposalPopUp(objId);
- // }
+ {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'검사일', field:'INSPECTION_DATE', frozen: true},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:70, widthGrow:1, title:'검사자', field:'INSPECTOR_NAME', frozen: true},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:105, widthGrow:1, title:'품의서 No', field:'PROPOSAL_NO', frozen: true},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:105, widthGrow:1, title:'발주서 No', field:'PURCHASE_ORDER_NO', frozen: true},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:120, widthGrow:1, title:'프로젝트번호', field:'PROJECT_NO', frozen: true},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'제품구분', field:'PRODUCT_NAME', frozen: true},
+ {headerHozAlign:'center', hozAlign:'left', minWidth:130, widthGrow:3, title:'품명(모델명)', field:'MODEL_NAME', frozen: true},
+ {headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:2, title:'부품품번', field:'PART_NO', frozen: true,
+ formatter: fnc_createGridAnchorTag,
+ cellClick: function(e, cell) {
+ // 품번 클릭 시 품목상세 팝업
+ if(e.target.tagName === 'A') {
+ fn_openPartDetailPopUp(cell.getData().PART_OBJID);
+ }
+ }
},
- {headerHozAlign:'center', hozAlign:'center', minWidth:120, widthGrow:1, title:'발주서 No', 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', minWidth:130, widthGrow:1, title:'프로젝트번호', field:'PROJECT_NO'},
- {headerHozAlign:'center', hozAlign:'center', minWidth:110, widthGrow:1, title:'제품구분', field:'PRODUCT_NAME'},
- {headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:2, title:'품번', field:'PART_NO'},
- {headerHozAlign:'center', hozAlign:'left', minWidth:130, widthGrow:3, title:'품명', field:'PART_NAME'},
+ {headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:3, title:'부품명', field:'PART_NAME', frozen: true},
{headerHozAlign:'center', hozAlign:'left', minWidth:130, widthGrow:2, title:'공급업체', field:'PARTNER_NAME'},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'입고일', field:'DELIVERY_DATE'},
+ {headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:1, title:'입고수량', field:'DELIVERY_QTY',
+ formatter:"money", formatterParams:{thousand:",", precision:false}
+ },
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, 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);
- fn_deliveryAcceptanceViewPopUp(objId,DELIVERY_STATUS);
- }
- },
- // {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'요청일', field:'REQUEST_DATE'},
- // {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'요청자', field:'REQUEST_USER_NAME'},
+ formatter: fnc_createGridAnchorTag,
+ cellClick: function(e, cell){
+ var objId = fnc_checkNull(cell.getData().PURCHASE_ORDER_MASTER_OBJID);
+ var deliveryStatus = fnc_checkNull(cell.getData().DELIVERY_STATUS);
+ fn_deliveryAcceptanceViewPopUp(objId, deliveryStatus);
+ }
+ },
+ {headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:1, title:'검사수량', field:'INSPECTION_QTY',
+ formatter:"money", formatterParams:{thousand:",", precision:false}
+ },
+ {headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:1, title:'불량수량', field:'DEFECT_QTY_SUM',
+ formatter: function(cell) {
+ var val = cell.getValue();
+ if(val === null || val === '' || val === undefined) return '0';
+ return parseInt(val).toLocaleString();
+ }
+ },
+ {headerHozAlign:'center', hozAlign:'right', minWidth:70, widthGrow:1, title:'불량율', field:'DEFECT_RATE',
+ formatter: function(cell) {
+ var val = cell.getValue();
+ if(val === null || val === '' || val === undefined) return '';
+ return val + '%';
+ }
+ },
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'검사현황', field:'INSPECTION_RESULT',
formatter: function(cell, formatterParams, onRendered){
var val = fnc_checkNull(cell.getValue());
@@ -128,21 +146,23 @@ var columns = [
if(val === '진행중') return '진행중';
return '미검사';
},
- cellClick:function(e, cell){
+ cellClick: function(e, cell){
var objId = fnc_checkNull(cell.getData().OBJID);
fn_inspectionPopUp(objId);
}
},
- {headerHozAlign : 'center', hozAlign : 'center', minWidth : 100, widthGrow : 1, title : '업체성적서', field : 'INSPECTION_FILE_CNT',
- formatter:fnc_subInfoValueFormatter,
- cellClick:function(e, cell){
- var objid = fnc_checkNull(cell.getData().OBJID);
- fn_FileRegist(objid,"INSPECTION_FILE","검사성적서");
- }
- }
+ {headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'검사성적서', field:'INSPECTION_FILE_CNT',
+ formatter: fnc_subInfoValueFormatter,
+ cellClick: function(e, cell){
+ var objId = fnc_checkNull(cell.getData().OBJID);
+ fn_FileRegist(objId, "INSPECTION_REPORT", "검사성적서");
+ }
+ }
];
-// 조회
+// =====================================================
+// 조회 (입고품목 상세 기준) - 신규
+// =====================================================
function fn_search(){
// 프로젝트번호 multi select 처리
var selectedProjectNos = $("#project_no").val();
@@ -153,23 +173,18 @@ function fn_search(){
value: selectedProjectNos
}).appendTo('#form1');
- // 수입검사 진행 리스트는 요청완료 건만 조회
- $('input[name="request_status_filter"]').remove();
- $('').attr({
- type: 'hidden',
- name: 'request_status_filter',
- value: '요청완료'
- }).appendTo('#form1');
-
- _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/quality/incomingInspectionGridList.do", columns, true);
+ // 신규 API 호출 (입고품목 상세 기준)
+ _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/quality/incomingInspectionProgressGridList.do", columns, true);
}
-// 수입검사 진행 팝업
+// =====================================================
+// 수입검사 진행 팝업 (INCOMING_INSPECTION_DETAIL.OBJID 전달) - 신규
+// =====================================================
function fn_inspectionPopUp(objId){
var selected = [];
if(objId){
- // 검사결과 클릭으로 호출된 경우
+ // 검사현황 클릭으로 호출된 경우
selected = [{OBJID: objId}];
} else {
// 버튼 클릭으로 호출된 경우
@@ -184,8 +199,9 @@ function fn_inspectionPopUp(objId){
}
}
- var popup_width = 1800;
- var popup_height = 700;
+ // 팝업 크기 조정 (불량상세만 표시하므로 너비 축소)
+ var popup_width = 1400;
+ var popup_height = 600;
var hiddenForm = document.hiddenForm;
var target = "incomingInspectionProgressPopUp";
var url = "/quality/incomingInspectionProgressPopUp.do";
@@ -193,11 +209,21 @@ function fn_inspectionPopUp(objId){
fn_centerPopup(popup_width, popup_height, "", target);
hiddenForm.action = url;
+ // INCOMING_INSPECTION_DETAIL.OBJID 전달
hiddenForm.OBJID.value = selected[0].OBJID;
hiddenForm.target = target;
hiddenForm.submit();
}
+// 품목상세 팝업
+function fn_openPartDetailPopUp(partObjId) {
+ if (!partObjId) return;
+ var popup_width = 1200;
+ var popup_height = 900;
+ var url = "/partMng/partMngDetailPopUp.do?OBJID=" + partObjId;
+ window.open(url, "partMngDetailPopUp", "width=" + popup_width + ",height=" + popup_height + ",scrollbars=yes,resizable=yes");
+}
+
// 품의서 팝업
function fn_openProposalPopUp(objId){
var popup_width = 1200;
@@ -232,21 +258,17 @@ function fn_excelDownload(){
// 첨부파일 팝업
function fn_FileRegist(objId, docType, docTypeName){
- var popup_width = 800;
- var popup_height = 300;
-
- var objId = objId;
- var docType = docType;
- var docTypeName = docTypeName;
- var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
- var url = "/projectConcept/FileRegistPopup.do"+params;
-
- fn_centerPopup(popup_width, popup_height, url);
+ var popup_width = 800;
+ var popup_height = 300;
+ var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
+ var url = "/projectConcept/FileRegistPopup.do"+params;
+ fn_centerPopup(popup_width, popup_height, url);
}
-function fn_deliveryAcceptanceViewPopUp(objId,DELIVERY_STATUS){
+// 입고결과 팝업 (발주서 기준)
+function fn_deliveryAcceptanceViewPopUp(objId, deliveryStatus){
var popup_width = 1560;
- var popup_height = 1050;
+ var popup_height = 1050;
var hiddenForm = document.hiddenForm;
var target = "deliveryAcceptancePopUp";
@@ -255,8 +277,8 @@ function fn_deliveryAcceptanceViewPopUp(objId,DELIVERY_STATUS){
hiddenForm.action = url;
hiddenForm.PURCHASE_ORDER_MASTER_OBJID.value = objId;
- hiddenForm.DELIVERY_STATUS.value = DELIVERY_STATUS;
- hiddenForm.actionType.value = 'view'; // 뷰 전용으로 설정
+ hiddenForm.DELIVERY_STATUS.value = deliveryStatus;
+ hiddenForm.actionType.value = 'view';
hiddenForm.target = target;
hiddenForm.submit();
}
diff --git a/WebContent/WEB-INF/view/quality/incomingInspectionProgressPopUp.jsp b/WebContent/WEB-INF/view/quality/incomingInspectionProgressPopUp.jsp
index c3032f7..50c2f81 100644
--- a/WebContent/WEB-INF/view/quality/incomingInspectionProgressPopUp.jsp
+++ b/WebContent/WEB-INF/view/quality/incomingInspectionProgressPopUp.jsp
@@ -18,48 +18,45 @@ String connector = person.getUserId();