품질관리_수입검사요청, 관리 수정
This commit is contained in:
@@ -105,7 +105,14 @@ var columns = [
|
||||
{headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:2, title:'품번', field:'PART_NO'},
|
||||
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:3, title:'품명', field:'PART_NAME'},
|
||||
{headerHozAlign:'center', hozAlign:'left', minWidth:130, widthGrow:2, title:'공급업체', field:'PARTNER_NAME'},
|
||||
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'입고결과', field:'DELIVERY_STATUS'},
|
||||
{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'},
|
||||
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'검사여부', field:'INSPECTION_YN'},
|
||||
@@ -184,6 +191,23 @@ function fn_excelDownload(){
|
||||
form.submit();
|
||||
form.action = "";
|
||||
}
|
||||
|
||||
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.actionType.value = 'view'; // 뷰 전용으로 설정
|
||||
hiddenForm.target = target;
|
||||
hiddenForm.submit();
|
||||
}
|
||||
</script>
|
||||
|
||||
<body>
|
||||
@@ -191,6 +215,7 @@ function fn_excelDownload(){
|
||||
<input type="hidden" name="OBJID" id="OBJID">
|
||||
<input type="hidden" name="PURCHASE_ORDER_NO" id="PURCHASE_ORDER_NO">
|
||||
<input type="hidden" name="PURCHASE_ORDER_MASTER_OBJID" id="PURCHASE_ORDER_MASTER_OBJID">
|
||||
<input type="hidden" name="DELIVERY_STATUS" id="DELIVERY_STATUS">
|
||||
<input type="hidden" name="actionType" id="actionType">
|
||||
</form>
|
||||
|
||||
|
||||
@@ -150,6 +150,14 @@ function fn_search(){
|
||||
value: selectedProjectNos
|
||||
}).appendTo('#form1');
|
||||
|
||||
// 수입검사 진행 리스트는 요청완료 건만 조회
|
||||
$('input[name="request_status_filter"]').remove();
|
||||
$('<input>').attr({
|
||||
type: 'hidden',
|
||||
name: 'request_status_filter',
|
||||
value: '요청완료'
|
||||
}).appendTo('#form1');
|
||||
|
||||
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/quality/incomingInspectionGridList.do", columns, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -626,40 +626,68 @@ function fn_openPartDetailPopUp(partObjId) {
|
||||
function fn_openImageFilePopUp(objId) {
|
||||
var popup_width = 650;
|
||||
var popup_height = 550;
|
||||
var url = "/common/ImageRegistPopup.do?targetObjId=" + objId + "&docType=INSPECTION_DEFECT_IMAGE&docTypeName=검사이미지&callbackFnc=fn_refreshRightGrid";
|
||||
var url = "/common/ImageRegistPopup.do?targetObjId=" + objId + "&docType=INSPECTION_DEFECT_IMAGE&docTypeName=검사이미지";
|
||||
var popup = window.open(url, "imageFilePopUp", "width=" + popup_width + ",height=" + popup_height + ",scrollbars=yes,resizable=yes");
|
||||
|
||||
// 팝업 닫힘 감지하여 우측 그리드 새로고침
|
||||
var checkPopup = setInterval(function() {
|
||||
if(popup.closed) {
|
||||
clearInterval(checkPopup);
|
||||
fn_refreshRightGrid();
|
||||
}
|
||||
}, 500);
|
||||
// 팝업 닫힘 감지하여 해당 행의 파일 카운트만 업데이트
|
||||
fn_watchPopupClose(popup, objId, 'IMAGE_FILE_CNT', 'INSPECTION_DEFECT_IMAGE');
|
||||
}
|
||||
|
||||
// 첨부파일 팝업
|
||||
function fn_openAttachFilePopUp(objId) {
|
||||
var popup_width = 800;
|
||||
var popup_height = 300;
|
||||
var params = "?targetObjId=" + objId + "&docType=INSPECTION_DEFECT_FILE&docTypeName=검사첨부&callbackFnc=fn_refreshRightGrid";
|
||||
var url = "/projectConcept/FileRegistPopup.do" + params;
|
||||
var params = "?targetObjId=" + objId + "&docType=INSPECTION_DEFECT_FILE&docTypeName=검사첨부";
|
||||
var url = "/common/FileRegistPopup.do" + params;
|
||||
var popup = window.open(url, "attachFilePopUp", "width=" + popup_width + ",height=" + popup_height + ",scrollbars=yes,resizable=yes");
|
||||
|
||||
// 팝업 닫힘 감지하여 우측 그리드 새로고침
|
||||
// 팝업 닫힘 감지하여 해당 행의 파일 카운트만 업데이트
|
||||
fn_watchPopupClose(popup, objId, 'ATTACH_FILE_CNT', 'INSPECTION_DEFECT_FILE');
|
||||
}
|
||||
|
||||
// 팝업 닫힘 감지 및 파일 카운트 업데이트
|
||||
function fn_watchPopupClose(popup, objId, fieldName, docType) {
|
||||
var checkPopup = setInterval(function() {
|
||||
if(popup.closed) {
|
||||
clearInterval(checkPopup);
|
||||
fn_refreshRightGrid();
|
||||
// 파일 카운트 조회 후 해당 행만 업데이트
|
||||
fn_updateRightGridFileCnt(objId, fieldName, docType);
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
|
||||
// 우측 그리드 새로고침 (파일 업로드 후 콜백)
|
||||
function fn_refreshRightGrid() {
|
||||
if(selectedDetailObjid) {
|
||||
fn_searchRightGrid(selectedDetailObjid);
|
||||
}
|
||||
// 우측 그리드 파일 카운트 업데이트
|
||||
function fn_updateRightGridFileCnt(objId, fieldName, docType) {
|
||||
$.ajax({
|
||||
url: "/common/getFileList.do",
|
||||
type: "POST",
|
||||
data: { targetObjId: objId, docType: docType },
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
var cnt = data ? data.length : 0;
|
||||
var rows = rightGrid.getRows();
|
||||
rows.forEach(function(row) {
|
||||
if(row.getData().OBJID === objId) {
|
||||
var updateData = {};
|
||||
updateData[fieldName] = cnt;
|
||||
row.update(updateData);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 공통 fnc_tabulCallbackFnc 오버라이드 (이 페이지에서는 rightGrid 사용)
|
||||
function fnc_tabulCallbackFnc(objId, docType, columnField, fileCnt) {
|
||||
var rows = rightGrid.getRows();
|
||||
rows.forEach(function(row) {
|
||||
if(row.getData().OBJID === objId) {
|
||||
var updateData = {};
|
||||
var targetField = (columnField && columnField !== '') ? columnField : 'FILE_CNT';
|
||||
updateData[targetField] = fileCnt;
|
||||
row.update(updateData);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// =====================================================
|
||||
|
||||
@@ -711,9 +711,9 @@
|
||||
,DEFECT.INSPECTOR_NAME_DISPLAY AS INSPECTOR_NAME
|
||||
/* 검사일: YYYY-MM-DD 외 N건 형태 */
|
||||
,DEFECT.INSPECTION_DATE_DISPLAY AS INSPECTION_DATE
|
||||
/* 검사결과: 하나라도 NG면 NG */
|
||||
/* 검사결과: 하나라도 NG면 NG, 검사 대상(스킵 제외) 모두 검사완료면 OK, 일부만 검사면 검사중 */
|
||||
,(CASE WHEN DEFECT.NG_COUNT > 0 THEN 'NG'
|
||||
WHEN DEFECT.DEFECT_TOTAL_COUNT > 0 AND DEFECT.DEFECT_TOTAL_COUNT = DEFECT.INSPECTED_COUNT THEN 'OK'
|
||||
WHEN DEFECT.INSPECTION_TARGET_COUNT > 0 AND DEFECT.INSPECTION_TARGET_COUNT = DEFECT.INSPECTED_COUNT THEN 'OK'
|
||||
WHEN DEFECT.INSPECTED_COUNT > 0 THEN '검사중'
|
||||
ELSE '' END) AS INSPECTION_RESULT
|
||||
|
||||
@@ -743,7 +743,7 @@
|
||||
FROM INCOMING_INSPECTION_DETAIL
|
||||
GROUP BY PURCHASE_ORDER_MASTER_OBJID
|
||||
) AS IID ON POM.OBJID::VARCHAR = IID.PURCHASE_ORDER_MASTER_OBJID
|
||||
/* 불량상세 테이블에서 검사일/검사자/검사결과 집계 */
|
||||
/* 불량상세 테이블에서 검사일/검사자/검사결과 집계 (스킵 항목 제외) */
|
||||
LEFT OUTER JOIN (
|
||||
SELECT IID2.PURCHASE_ORDER_MASTER_OBJID
|
||||
/* 검사자: 여러명이면 "XXX 외 N건" 형태로 표시 */
|
||||
@@ -762,7 +762,9 @@
|
||||
THEN TO_CHAR(MIN(IDF.INSPECTION_DATE), 'YYYY-MM-DD')
|
||||
ELSE ''
|
||||
END AS INSPECTION_DATE_DISPLAY
|
||||
,COUNT(*) AS DEFECT_TOTAL_COUNT
|
||||
/* 검사 대상 건수 (스킵 제외, 검사인 항목만) */
|
||||
,COUNT(CASE WHEN IID2.INSPECTION_YN = '검사' THEN 1 END) AS INSPECTION_TARGET_COUNT
|
||||
/* 검사결과 입력된 건수 */
|
||||
,COUNT(CASE WHEN IDF.INSPECTION_RESULT IS NOT NULL AND IDF.INSPECTION_RESULT != '' THEN 1 END) AS INSPECTED_COUNT
|
||||
,COUNT(CASE WHEN IDF.INSPECTION_RESULT = 'NG' THEN 1 END) AS NG_COUNT
|
||||
FROM INCOMING_INSPECTION_DETAIL IID2
|
||||
@@ -851,6 +853,11 @@
|
||||
WHEN IID.INSPECTED_COUNT > 0 THEN '검사중'
|
||||
ELSE '' END) = #{search_inspection_result}
|
||||
</if>
|
||||
<!-- 요청현황 필터 (수입검사 진행 리스트에서 요청완료 건만 조회) -->
|
||||
<if test="request_status_filter != null and request_status_filter == '요청완료'">
|
||||
AND REQ.DELIVERY_TOTAL_COUNT = REQ.SELECTED_COUNT
|
||||
AND REQ.SELECTED_COUNT > 0
|
||||
</if>
|
||||
ORDER BY POM.REGDATE DESC
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user