diff --git a/WebContent/WEB-INF/view/dashboard/dashboard2501.jsp b/WebContent/WEB-INF/view/dashboard/dashboard2501.jsp index 27497b6..a56ba91 100644 --- a/WebContent/WEB-INF/view/dashboard/dashboard2501.jsp +++ b/WebContent/WEB-INF/view/dashboard/dashboard2501.jsp @@ -154,7 +154,7 @@ $(document).ready(function() { ['Supply', 'CNT'], - ['${item.SUPPLY_NAME}',${item.TOTAL_SUPPLY_UNIT_CNT}], + ['${item.CLIENT_NM}',${item.TOTAL_SUPPLY_UNIT_CNT}], ]); @@ -2175,7 +2175,7 @@ function fn_projectFilter(statusNm, cnt){ -->
-
+
@@ -2487,7 +2487,7 @@ function fn_projectFilter(statusNm, cnt){ -->
-
+
@@ -2561,23 +2561,20 @@ function fn_projectFilter(statusNm, cnt){
-
+ - +
+
- <%-- - - --%> @@ -2586,16 +2583,13 @@ function fn_projectFilter(statusNm, cnt){ -
목표원가(원) 투입원가(원) 투입율(%)
-
+
-->
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();