From 5c72cda6e633522120b3e491b7e5e3869cecbd21 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 28 Nov 2025 13:43:05 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=ED=92=88=EC=9D=98=EC=84=9C=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=EA=B2=B0=EC=9E=AC,=20mbom=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EB=B2=84=EC=A0=84,=20=EC=9E=91=EC=84=B1=EC=9E=90?= =?UTF-8?q?=20=EB=93=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/view/approval/registApproval.jsp | 12 +++ .../view/productionplanning/mBomMgmtList.jsp | 67 ++++++++++++--- .../productionplanning/mBomPopupRight.jsp | 2 +- .../WEB-INF/view/salesMng/proposalMngList.jsp | 84 +++++++++---------- src/com/pms/mapper/productionplanning.xml | 36 +++++++- src/com/pms/mapper/salesMng.xml | 6 +- 6 files changed, 147 insertions(+), 60 deletions(-) diff --git a/WebContent/WEB-INF/view/approval/registApproval.jsp b/WebContent/WEB-INF/view/approval/registApproval.jsp index c988ac4..2132210 100644 --- a/WebContent/WEB-INF/view/approval/registApproval.jsp +++ b/WebContent/WEB-INF/view/approval/registApproval.jsp @@ -15,10 +15,22 @@ var helpViewArr = new Array(); var refArr = new Array(); var refViewArr = new Array(); +// URL 파라미터에서 값 가져오기 (한글 인코딩 처리) +function getUrlParameter(name) { + var urlParams = new URLSearchParams(window.location.search); + return urlParams.get(name) || ''; +} + $(function(){ var callbackFnc = "${param.callbackFnc}"; + // URL에서 approvalTitle 파라미터 가져와서 설정 (한글 인코딩 문제 해결) + var approvalTitleFromUrl = getUrlParameter('approvalTitle'); + if(approvalTitleFromUrl) { + $("#approvalTitle").val(approvalTitleFromUrl); + } + //창 닫기 $('#btn_close').click(function(){ self.close(); diff --git a/WebContent/WEB-INF/view/productionplanning/mBomMgmtList.jsp b/WebContent/WEB-INF/view/productionplanning/mBomMgmtList.jsp index 41d8a8d..ff4bdd9 100644 --- a/WebContent/WEB-INF/view/productionplanning/mBomMgmtList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/mBomMgmtList.jsp @@ -86,19 +86,20 @@ function _fnc_datepick(){ // 그리드 컬럼 정의 var columns = [ - {title:'OBJID', field:'OBJID', visible: false}, - {title:'CONTRACT_OBJID', field:'CONTRACT_OBJID', visible: false}, - {title:'BOM_REPORT_OBJID', field:'BOM_REPORT_OBJID', visible: false}, - {title:'MBOM_HEADER_OBJID', field:'MBOM_HEADER_OBJID', visible: false}, - {title:'PURCHASE_LIST_OBJID', field:'PURCHASE_LIST_OBJID', visible: false}, + {title:'OBJID', field:'OBJID', visible: false,frozen: true,}, + {title:'CONTRACT_OBJID', field:'CONTRACT_OBJID', visible: false,frozen: true,}, + {title:'BOM_REPORT_OBJID', field:'BOM_REPORT_OBJID', visible: false,frozen: true,}, + {title:'MBOM_HEADER_OBJID', field:'MBOM_HEADER_OBJID', visible: false,frozen: true,}, + {title:'PURCHASE_LIST_OBJID', field:'PURCHASE_LIST_OBJID', visible: false,frozen: true,}, // 1. 체크박스 { headerHozAlign: 'center', hozAlign: 'center', - width: 40, + width: 30, title: '', field: 'CHK', + frozen: true, formatter: function(cell, formatterParams, onRendered) { return ''; }, @@ -109,9 +110,16 @@ var columns = [ { headerHozAlign: 'center', hozAlign: 'left', - width: 130, + width: 120, title: '프로젝트번호', - field: 'PROJECT_NO' + field: 'PROJECT_NO', + frozen: true, + formatter: fnc_createGridAnchorTag, + cellClick: function(e, cell){ + var orderNo = cell.getData().PROJECT_NO; + // 프로젝트 번호 클릭 시: 결재 정보 조회 모드 (saleNo에 "detail" 전달) + fn_openSaleRegPopup(orderNo, "detail"); + } }, // 3. 주문유형 @@ -145,7 +153,7 @@ var columns = [ { headerHozAlign: 'center', hozAlign: 'center', - width: 90, + width: 80, title: '접수일', field: 'RECEIPT_DATE' }, @@ -181,7 +189,7 @@ var columns = [ { headerHozAlign: 'center', hozAlign: 'left', - // width: 150, + width: 150, title: '품명', field: 'PART_NAME' }, @@ -239,13 +247,40 @@ var columns = [ } }, + // 16. 작성자 (M-BOM 작성자) + { + headerHozAlign: 'center', + hozAlign: 'center', + width: 90, + title: '작성자', + field: 'MBOM_EDITOR' + }, + // 16. 최종저장일 (M-BOM 작성일) { headerHozAlign: 'center', hozAlign: 'center', - width: 100, - title: '최종저장일', + width: 90, + title: '저장일', field: 'MBOM_REGDATE' + }, + + // 17. 버전 (M-BOM 버전) + { + headerHozAlign: 'center', + hozAlign: 'center', + width: 70, + title: '버전', + field: 'MBOM_VERSION' + }, + + // 18. 구매리스트 생성일 + { + headerHozAlign: 'center', + hozAlign: 'center', + width: 130, + title: '구매리스트 생성일', + field: 'PURCHASE_LIST_DATE' } ]; @@ -399,6 +434,14 @@ function fn_openBomCopyPopupWindow(objId) { } } +function fn_openSaleRegPopup(orderNo, saleNo){ + var popup_width = 1000; + var popup_height = 550; + // 한글 프로젝트 번호 인코딩 처리 + var url = "/salesMgmt/salesRegForm.do?orderNo=" + encodeURIComponent(orderNo) + "&saleNo=" + (saleNo ? encodeURIComponent(saleNo) : ""); + fn_centerPopup(popup_width, popup_height, url); +} + // 할당 정보 확인 후 M-BOM 팝업 열기 function fn_checkAssignmentAndOpenMbom(projectObjId) { // 먼저 해당 프로젝트의 M-BOM이 실제로 존재하는지 확인 diff --git a/WebContent/WEB-INF/view/productionplanning/mBomPopupRight.jsp b/WebContent/WEB-INF/view/productionplanning/mBomPopupRight.jsp index 8f3c997..1bdb52e 100644 --- a/WebContent/WEB-INF/view/productionplanning/mBomPopupRight.jsp +++ b/WebContent/WEB-INF/view/productionplanning/mBomPopupRight.jsp @@ -100,7 +100,7 @@ var pageSize = 20; $(document).ready(function(){ initEbomTable(); - fn_searchEbom(); + //fn_searchEbom(); // 조회 버튼 클릭 이벤트 $("#btnSearch").click(function(){ diff --git a/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp b/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp index 0ec25b4..8100c1e 100644 --- a/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp +++ b/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp @@ -85,28 +85,31 @@ $(document).ready(function(){ // 결재상신 $("#btnApproval").click(function(){ - var selectedRowIds = _tabulGrid.getSelectedData(); - if(selectedRowIds.length < 1){ - Swal.fire("결재상신할 행을 선택해주십시오."); - return false; - } - - if(selectedRowIds.length > 1){ - Swal.fire("결재상신은 한 건씩만 가능합니다."); - return false; - } - - var objId = fnc_checkNull(selectedRowIds[0].OBJID); - var status = fnc_checkNull(selectedRowIds[0].STATUS); - - if(status != 'create' && status != 'reject'){ - Swal.fire("미결재 또는 반려 상태만 결재상신 가능합니다."); - return false; - } - - var title = encodeURIComponent("품의서 결재"); - window.open("/approval/registApproval.do?targetType=PROPOSAL&targetObjId="+objId+"&approvalTitle="+title+"&callbackFnc=fn_search","registApproval","width=700,height=700"); - }); + var selectedData = _tabulGrid.getSelectedData(); + if(selectedData.length<1){ + Swal.fire("결재상신할 행을 선택해주십시오."); + return false; + }else if(selectedData.length>1){ + Swal.fire("한번에 한개의 결재만 가능합니다."); + return false; + }else{ + + var targetStatus = fnc_checkNull(selectedData[0].STATUS_TITLE); + var status = fnc_checkNull(selectedData[0].STATUS); + + if(targetStatus == "결재완료" || targetStatus == "결재중" || status == "cancel"){ + Swal.fire("작성중/결재반려인 상태만 결재상신 가능합니다."); + return false; + }else{ + if(confirm("결재상신 하시겠습니까?")){ + var objId = fnc_checkNull(selectedData[0].OBJID); + //var title = encodeURIComponent(fnc_checkNull(selectedData[0].CONTRACT_NO)); + var title = encodeURIComponent("품의서 결재"); + window.open("/approval/registApproval.do?targetType=PROPOSAL&targetObjId="+objId+"&approvalTitle="+title,"registApproval","width=700,height=700"); + } + } + } + }); // 발주서생성 $("#btnCreatePO").click(function(){ @@ -126,17 +129,6 @@ $(document).ready(function(){ Swal.fire("발주서 생성 기능은 준비 중입니다."); }); - // 초기화 - $("#btnReset").click(function(){ - $("#form1")[0].reset(); - $('.select2').val('').trigger('change'); - }); - - // 엑셀 다운로드 - $("#btnExcel").click(function(){ - fn_excelExport($("#mainGrid"), "품의서관리"); - }); - fn_search(); _fnc_datepick(); }); @@ -158,14 +150,12 @@ var columns = [ {headerHozAlign:'center', hozAlign:'left', title:"품번", field:"PART_NO", widthGrow:1.5}, {headerHozAlign:'center', hozAlign:'left', title:"품명", field:"PART_NAME", widthGrow:1.8}, {headerHozAlign:'center', hozAlign:'center', title:"결재상태", field:"STATUS_TITLE", widthGrow:1.0, - formatter: function(cell){ - var value = cell.getValue(); - var color = ''; - if(value == '결재완료') color = '#28a745'; - else if(value == '결재중') color = '#007bff'; - else if(value == '반려') color = '#dc3545'; - else color = '#6c757d'; - return '' + fnc_checkNull(value) + ''; + 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); + } } }, {headerHozAlign:'center', hozAlign:'center', title:"작성일", field:"REGDATE_TITLE", widthGrow:1.0} @@ -182,6 +172,16 @@ function fn_openProposalFormPopUp(objId){ window.open(url, "proposalFormPopUp", "width=1200,height=700,scrollbars=yes,resizable=yes"); } +function _fnc_datepick(){ + var $dateinput = $("input.date_icon"); + for(var i=0; i<$dateinput.length; i++){ + $dateinput.eq(i).attr("size","10"); + $dateinput.eq(i).datepicker({ + changeMonth:true, + changeYear:true + }); + } +} @@ -198,8 +198,6 @@ function fn_openProposalFormPopUp(objId){ - <%-- - --%>
diff --git a/src/com/pms/mapper/productionplanning.xml b/src/com/pms/mapper/productionplanning.xml index 1de19ca..578b953 100644 --- a/src/com/pms/mapper/productionplanning.xml +++ b/src/com/pms/mapper/productionplanning.xml @@ -2963,6 +2963,18 @@ LIMIT 1 ) LIMIT 1) AS PURCHASE_LIST_OBJID, + -- 구매리스트 생성일 + (SELECT TO_CHAR(SRM.REGDATE, 'YYYY-MM-DD') + FROM SALES_REQUEST_MASTER SRM + WHERE SRM.MBOM_HEADER_OBJID = ( + SELECT MH.OBJID::VARCHAR + FROM MBOM_HEADER MH + WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR + AND MH.STATUS = 'Y' + ORDER BY MH.REGDATE DESC + LIMIT 1 + ) + LIMIT 1) AS PURCHASE_LIST_DATE, -- M-BOM 상태: 새 MBOM_HEADER 테이블에서 조회 COALESCE( (SELECT @@ -2993,7 +3005,29 @@ WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR AND MH.STATUS = 'Y' ORDER BY COALESCE(MH.EDIT_DATE, MH.REGDATE) DESC - LIMIT 1) AS MBOM_REGDATE + LIMIT 1) AS MBOM_REGDATE, + -- M-BOM 작성자: 새 MBOM_HEADER 테이블에서 조회 + (SELECT USER_NAME(COALESCE(MH.EDITER, MH.WRITER)) + FROM MBOM_HEADER MH + WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR + AND MH.STATUS = 'Y' + ORDER BY COALESCE(MH.EDITER, MH.WRITER) DESC + LIMIT 1) AS MBOM_EDITOR, + -- M-BOM 히스토리 카운트 (버전, 0이면 NULL) + NULLIF( + ( + SELECT COUNT(1)::INTEGER + FROM MBOM_HISTORY MHI + WHERE MHI.MBOM_HEADER_OBJID = ( + SELECT MH.OBJID::VARCHAR + FROM MBOM_HEADER MH + WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR + AND MH.STATUS = 'Y' + ORDER BY MH.REGDATE DESC + LIMIT 1 + ) + ), 0 + ) AS MBOM_VERSION FROM PROJECT_MGMT PM LEFT JOIN CONTRACT_MGMT CM ON PM.CONTRACT_OBJID = CM.OBJID diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index 1fc83e8..8814ff3 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -3615,9 +3615,9 @@ ORDER BY V.PATH2 SRM.STATUS, CASE WHEN A.APPR_STATUS IS NOT NULL THEN A.APPR_STATUS - WHEN SRM.STATUS = 'create' THEN '미결재' - WHEN SRM.STATUS = 'approvalComplete' THEN '결재완료' - WHEN SRM.STATUS = 'reject' THEN '반려' + WHEN SRM.STATUS = 'create' THEN '작성중' + -- WHEN SRM.STATUS = 'approvalComplete' THEN '결재완료' + -- WHEN SRM.STATUS = 'reject' THEN '반려' ELSE '' END AS STATUS_TITLE, SRM.WRITER, From 3b78871b7486fcbecbf5c4336824865d5149b909 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 28 Nov 2025 16:15:50 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=ED=92=88=EC=9D=98=EC=84=9C=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=5F=EB=B0=9C=EC=A3=BC=EC=84=9C=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchaseOrderFormPopup_new.jsp | 4 +- .../purchaseOrder/purchaseOrderList_new.jsp | 383 ++---- .../purchaseOrderList_new_back.jsp | 1073 +++++++++++++++++ .../WEB-INF/view/salesMng/proposalMngList.jsp | 39 +- src/com/pms/mapper/purchaseOrder.xml | 321 ++++- src/com/pms/mapper/salesMng.xml | 3 +- src/com/pms/service/PurchaseOrderService.java | 122 +- 7 files changed, 1615 insertions(+), 330 deletions(-) create mode 100644 WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new_back.jsp diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp index 919b890..5d012a3 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp @@ -543,8 +543,8 @@ $(document).ready(function(){ $("#SALES_MNG_USER_HP").val($(this).find("option:selected").attr("data-cell_phone")); }); - - $("#PO_CLIENT_ID").val('-1130201617'); //우성 default + + $("#PO_CLIENT_ID").val('-1130201617'); //RPS default $("#PO_CLIENT_ID").trigger("change"); diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp index af19ad0..d26a567 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp @@ -7,6 +7,11 @@ <%--Expression Language ::: ${fn:escapeXml(str1)} --%> +<% +// DB에서 메뉴명 조회 (공통 유틸 사용) +String menuObjId = request.getParameter("menuObjId"); +String menuName = CommonUtils.getMenuName(menuObjId, "기본메뉴명"); +%> @@ -16,29 +21,8 @@ - - - + +
+ + + +
+
+ + <%-- + + --%> + +
+
+
+

+ 발주관리_발주관리 +

+ +
+ + + + + + + + +
+ +
+ +
+ + + + + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ ~ + + + ~ + + + + + +
+ +
+
+ +
+
+ + <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> + <%-- +
+
+
+ + + + +
+
+ +
+
+ + +
+ +
${PAGE_HTML}
+
+ + + --%> + +
+
+
+ + \ No newline at end of file diff --git a/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp b/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp index 8100c1e..6a0c85f 100644 --- a/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp +++ b/WebContent/WEB-INF/view/salesMng/proposalMngList.jsp @@ -119,14 +119,45 @@ $(document).ready(function(){ return false; } - var status = fnc_checkNull(selectedRowIds[0].STATUS); - if(status != 'approvalComplete'){ + var statusTitle = fnc_checkNull(selectedRowIds[0].STATUS_TITLE); + if(statusTitle != '결재완료'){ Swal.fire("결재완료 상태만 발주서 생성이 가능합니다."); return false; } - // TODO: 발주서 생성 로직 구현 - Swal.fire("발주서 생성 기능은 준비 중입니다."); + Swal.fire({ + title: '발주서를 작성 하시겠습니까?', + text: '', + icon: 'warning', + + showCancelButton: true, // cancel버튼 보이기. 기본은 원래 없음 + confirmButtonColor: '#3085d6', // confrim 버튼 색깔 지정 + cancelButtonColor: '#d33', // cancel 버튼 색깔 지정 + confirmButtonText: '확인', // confirm 버튼 텍스트 지정 + cancelButtonText: '취소', // cancel 버튼 텍스트 지정 + reverseButtons: false, // 버튼 순서 거꾸로 + + }).then(result => { + // 만약 Promise리턴을 받으면, + if (result.isConfirmed) { // 만약 모달창에서 confirm 버튼을 눌렀다면 + $.ajax({ + url:"/purchaseOrder/purchaseOrder_salesRequest_Save.do" + ,type:"POST" + ,data: $("#form1").serialize() + "&jqGrid="+ encodeURIComponent(JSON.stringify(selectedRowIds)) + ,dataType:"json" + ,success:function(data){ + if(data =="SUCCESS"){ + alert("저장되었습니다."); + }; + /* if(typeof opener.fn_search =="function"){ opener.fn_search() }; */ + fn_search(); + //self.close(); + } + ,error: function(jqxhr, status, error){ + } + }); + } + }); }); fn_search(); diff --git a/src/com/pms/mapper/purchaseOrder.xml b/src/com/pms/mapper/purchaseOrder.xml index 499e730..f999a60 100644 --- a/src/com/pms/mapper/purchaseOrder.xml +++ b/src/com/pms/mapper/purchaseOrder.xml @@ -578,8 +578,8 @@ ( #{OBJID}, #{PO_CLIENT_ID}, - - (SELECT 'PO-'||TO_CHAR(NOW(),'YYMM')||'-'||(COALESCE(MAX(case when SPLIT_PART( PURCHASE_ORDER_NO, '-', 3) = '' or PURCHASE_ORDER_NO is null then '0' else SPLIT_PART( PURCHASE_ORDER_NO, '-', 3) end ::numeric ))::INTEGER+1)::TEXT FROM PURCHASE_ORDER_MASTER), + + (SELECT 'RPS'||TO_CHAR(NOW(),'YY')||'-'||TO_CHAR(NOW(),'MMDD')||'-'||LPAD((COALESCE(MAX(CASE WHEN PURCHASE_ORDER_NO LIKE 'RPS'||TO_CHAR(NOW(),'YY-MMDD')||'-%' THEN SPLIT_PART(PURCHASE_ORDER_NO, '-', 3) ELSE '0' END)::INTEGER, 0) + 1)::TEXT, 2, '0') FROM PURCHASE_ORDER_MASTER), #{CATEGORY_CD}, #{PRODUCT_GROUP}, #{PRODUCT}, @@ -757,8 +757,8 @@ ( #{OBJID}, #{PO_CLIENT_ID}, - (SELECT 'PO-'||TO_CHAR(NOW(),'YYMM')||'-'||(COALESCE(MAX(case when SPLIT_PART( PURCHASE_ORDER_NO, '-', 3) = '' or PURCHASE_ORDER_NO is null then '0' else SPLIT_PART( PURCHASE_ORDER_NO, '-', 3) end ::numeric ))::INTEGER+1)::TEXT FROM PURCHASE_ORDER_MASTER), - + (SELECT 'RPS'||TO_CHAR(NOW(),'YY')||'-'||TO_CHAR(NOW(),'MMDD')||'-'||LPAD((COALESCE(MAX(CASE WHEN PURCHASE_ORDER_NO LIKE 'RPS'||TO_CHAR(NOW(),'YY-MMDD')||'-%' THEN SPLIT_PART(PURCHASE_ORDER_NO, '-', 3) ELSE '0' END)::INTEGER, 0) + 1)::TEXT, 2, '0') FROM PURCHASE_ORDER_MASTER), + #{PARTNER_OBJID}, #{DELIVERY_REQUEST_DATE}, #{DELIVERY_PLACE}, @@ -839,6 +839,64 @@ GROUP BY PARTNER_OBJID + + + + + + + + + INSERT INTO PURCHASE_ORDER_MASTER ( @@ -887,7 +945,7 @@ ( #{OBJID}, #{PO_CLIENT_ID}, - (SELECT 'PO-'||TO_CHAR(NOW(),'YYMM')||'-'||LPAD((COALESCE(MAX(SUBSTR(PURCHASE_ORDER_NO,9,11)),'0')::INTEGER+1)::TEXT,3,'0') FROM PURCHASE_ORDER_MASTER), + (SELECT 'RPS'||TO_CHAR(NOW(),'YY')||'-'||TO_CHAR(NOW(),'MMDD')||'-'||LPAD((COALESCE(MAX(CASE WHEN PURCHASE_ORDER_NO LIKE 'RPS'||TO_CHAR(NOW(),'YY-MMDD')||'-%' THEN SPLIT_PART(PURCHASE_ORDER_NO, '-', 3) ELSE '0' END)::INTEGER, 0) + 1)::TEXT, 2, '0') FROM PURCHASE_ORDER_MASTER), #{CATEGORY_CD}, #{PRODUCT_GROUP}, #{PRODUCT}, @@ -2969,7 +3027,6 @@ SELECT - + +