From f08e32642b25c7dc55997dfab1f85ce9965ea6e8 Mon Sep 17 00:00:00 2001 From: chpark Date: Tue, 24 Feb 2026 18:20:51 +0900 Subject: [PATCH] =?UTF-8?q?r=EC=95=84=EB=A7=88=EB=9E=80=EC=8A=A4=20?= =?UTF-8?q?=EA=B2=B0=EC=9E=AC=20=EB=B3=80=EA=B2=BD=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=A5=B8=20=EC=BF=BC=EB=A6=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salesMng/purchaseRegProposalMngList.jsp | 23 +++++++++++-------- src/com/pms/mapper/salesMng.xml | 23 +++++++++++++++++-- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/WebContent/WEB-INF/view/salesMng/purchaseRegProposalMngList.jsp b/WebContent/WEB-INF/view/salesMng/purchaseRegProposalMngList.jsp index aad8533..ac97bd8 100644 --- a/WebContent/WEB-INF/view/salesMng/purchaseRegProposalMngList.jsp +++ b/WebContent/WEB-INF/view/salesMng/purchaseRegProposalMngList.jsp @@ -81,12 +81,14 @@ $(document).ready(function(){ Swal.fire("한번에 한개의 결재만 가능합니다."); return false; }else{ - - var targetStatus = fnc_checkNull(selectedData[0].STATUS_TITLE); + var amaranthStatus = fnc_checkNull(selectedData[0].AMARANTH_STATUS); var status = fnc_checkNull(selectedData[0].STATUS); - if(targetStatus == "결재완료" || targetStatus == "결재중" || status == "cancel"){ - Swal.fire("작성중/결재반려인 상태만 결재상신 가능합니다."); + if(amaranthStatus == "inProcess" || status == "inProcess"){ + Swal.fire("결재 진행중인 건은 상신할 수 없습니다."); + return false; + }else if(amaranthStatus == "complete" || status == "approvalComplete"){ + Swal.fire("결재 완료된 건은 상신할 수 없습니다."); return false; }else{ if(confirm("결재상신 하시겠습니까?")){ @@ -143,13 +145,14 @@ var columns = [ {headerHozAlign:'center', hozAlign:'center', title:"제품구분", field:"PRODUCT_NAME_TITLE", widthGrow:1.0}, {headerHozAlign:'center', hozAlign:'left', title:"품번", field:"PART_NO", widthGrow:1.5}, {headerHozAlign:'center', hozAlign:'left', title:"품명", field:"PART_NAME", widthGrow:1.8}, + {title:'AMARANTH_STATUS', field:'AMARANTH_STATUS', visible: false}, {headerHozAlign:'center', hozAlign:'center', title:"결재상태", field:"STATUS_TITLE", widthGrow:1.0, - formatter:fnc_createGridAnchorTag, - cellClick:function(e, cell){ - var statusTitle = fnc_checkNull(cell.getData().STATUS_TITLE); - if(statusTitle == "결재중" || statusTitle == "결재완료" || statusTitle == "반려"){ - fnc_approvalDetail(cell.getData().APPROVAL_OBJID, cell.getData().ROUTE_OBJID); - } + formatter:function(cell){ + var val = fnc_checkNull(cell.getValue()); + if(val == "결재 상신중") return "" + val + ""; + if(val == "결재완료") return "" + val + ""; + if(val == "반려") return "" + val + ""; + return val; } }, {headerHozAlign:'center', hozAlign:'center', title:"작성일", field:"REGDATE_TITLE", widthGrow:1.0}, diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index 917ec11..3f6d8c5 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -4689,16 +4689,22 @@ ORDER BY V.PATH2 WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ) AS PART_NAME, CASE + WHEN AMR.AMARANTH_STATUS = 'complete' THEN 'approvalComplete' + WHEN AMR.AMARANTH_STATUS = 'inProcess' THEN 'inProcess' + WHEN AMR.AMARANTH_STATUS = 'reject' THEN 'reject' WHEN A.ROUTE_STATUS = 'complete' THEN 'approvalComplete' WHEN A.ROUTE_STATUS = 'inProcess' THEN 'inProcess' WHEN A.ROUTE_STATUS = 'reject' THEN 'reject' ELSE SRM.STATUS END AS STATUS, CASE + WHEN AMR.AMARANTH_STATUS = 'complete' THEN '결재완료' + WHEN AMR.AMARANTH_STATUS = 'inProcess' THEN '결재 상신중' + WHEN AMR.AMARANTH_STATUS = 'reject' THEN '반려' WHEN A.APPR_STATUS IS NOT NULL THEN A.APPR_STATUS - WHEN SRM.STATUS = 'create' THEN '작성중' - ELSE '' + ELSE '등록중' END AS STATUS_TITLE, + COALESCE(AMR.AMARANTH_STATUS, '') AS AMARANTH_STATUS, SRM.WRITER, (SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = SRM.WRITER) AS WRITER_NAME, SRM.REGDATE, @@ -4707,6 +4713,16 @@ ORDER BY V.PATH2 A.ROUTE_OBJID FROM SALES_REQUEST_MASTER SRM + LEFT OUTER JOIN ( + SELECT AA.TARGET_OBJID, AA.STATUS AS AMARANTH_STATUS + FROM AMARANTH_APPROVAL AA + INNER JOIN ( + SELECT TARGET_OBJID, MAX(OBJID) AS MAX_OBJID + FROM AMARANTH_APPROVAL + WHERE TARGET_TYPE = 'PROPOSAL' + GROUP BY TARGET_OBJID + ) AA_MAX ON AA.OBJID = AA_MAX.MAX_OBJID + ) AMR ON SRM.OBJID::VARCHAR = AMR.TARGET_OBJID LEFT OUTER JOIN ( SELECT B.OBJID AS ROUTE_OBJID, @@ -4755,6 +4771,9 @@ ORDER BY V.PATH2 AND ( CASE + WHEN AMR.AMARANTH_STATUS = 'complete' THEN 'approvalComplete' + WHEN AMR.AMARANTH_STATUS = 'inProcess' THEN 'inProcess' + WHEN AMR.AMARANTH_STATUS = 'reject' THEN 'reject' WHEN A.ROUTE_STATUS = 'complete' THEN 'approvalComplete' WHEN A.ROUTE_STATUS = 'inProcess' THEN 'inProcess' WHEN A.ROUTE_STATUS = 'reject' THEN 'reject'