From 24036b9abd9583223cba468a03552808db7e701c Mon Sep 17 00:00:00 2001 From: syc0123 Date: Fri, 20 Mar 2026 14:58:12 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EA=B5=AC=EB=A7=A4=EA=B4=80=EB=A6=AC>?= =?UTF-8?q?=EC=9E=85=EA=B3=A0=EC=9D=BC=EB=B3=84=EC=9E=85=EA=B3=A0=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=EC=97=90=20=EB=A7=88?= =?UTF-8?q?=EA=B0=90=EC=A0=95=EB=B3=B4=EC=9E=85=EB=A0=A5=20=ED=95=AD?= =?UTF-8?q?=EB=AA=A9=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/classes/com/pms/mapper/purchaseOrder.xml | 2 ++ .../WEB-INF/view/purchaseOrder/purchaseCloseList.jsp | 10 +++++++++- src/com/pms/mapper/purchaseOrder.xml | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml index 76674cd..92fe09c 100644 --- a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml +++ b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml @@ -6625,10 +6625,12 @@ FROM( ,COALESCE(AP.tax_type, '') AS TAX_TYPE + ,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.tax_type) AS TAX_TYPE_NAME ,COALESCE(AP.tax_invoice_date, '') AS TAX_INVOICE_DATE ,COALESCE(AP.export_decl_no, '') AS EXPORT_DECL_NO ,COALESCE(AP.loading_date, '') AS LOADING_DATE ,COALESCE(AP.foreign_type, '') AS FOREIGN_TYPE + ,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.foreign_type) AS FOREIGN_TYPE_NAME ,COALESCE(AP.duty, 0) AS DUTY ,COALESCE(AP.exchange_rate, 0) AS EXCHANGE_RATE ,COALESCE(AP.import_vat, 0) AS IMPORT_VAT diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp index 9225a37..de1823b 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp @@ -320,7 +320,15 @@ var columns = [ {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:0.9, title:'확정입고수량', field:'CONFIRMED_QTY', formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false} }, - {headerHozAlign:'center', hozAlign:'left', minWidth:100, widthGrow:1.2, title:'계정과목', field:'SUB_LOCATION_NAME'}, + {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'계정과목', field:'SUB_LOCATION_NAME'}, + {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'국내/해외', field:'FOREIGN_TYPE_NAME'}, + {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'환율', field:'EXCHANGE_RATE'}, + {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'과세구분', field:'TAX_TYPE_NAME'}, + {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'세금계산서발행일', field:'TAX_INVOICE_DATE'}, + {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'수출신고필증신고번호', field:'EXPORT_DECL_NO'}, + {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'선적일자', field:'LOADING_DATE'}, + {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'관세', field:'DUTY'}, + {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'수입부가세', field:'IMPORT_VAT'}, {headerHozAlign:'center', hozAlign:'center', minWidth:85, widthGrow:0.6, title:'매입마감', field:'PURCHASE_CLOSE_DATE'} ]; diff --git a/src/com/pms/mapper/purchaseOrder.xml b/src/com/pms/mapper/purchaseOrder.xml index 76674cd..8e38345 100644 --- a/src/com/pms/mapper/purchaseOrder.xml +++ b/src/com/pms/mapper/purchaseOrder.xml @@ -6625,10 +6625,12 @@ FROM( ,COALESCE(AP.tax_type, '') AS TAX_TYPE + ,COALESCE((SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.tax_type), '') AS TAX_TYPE_NAME ,COALESCE(AP.tax_invoice_date, '') AS TAX_INVOICE_DATE ,COALESCE(AP.export_decl_no, '') AS EXPORT_DECL_NO ,COALESCE(AP.loading_date, '') AS LOADING_DATE ,COALESCE(AP.foreign_type, '') AS FOREIGN_TYPE + ,COALESCE((SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.foreign_type), '') AS FOREIGN_TYPE_NAME ,COALESCE(AP.duty, 0) AS DUTY ,COALESCE(AP.exchange_rate, 0) AS EXCHANGE_RATE ,COALESCE(AP.import_vat, 0) AS IMPORT_VAT -- 2.49.1 From 5542f00ea2c28340b7189669bf592c5ca9e60593 Mon Sep 17 00:00:00 2001 From: syc0123 Date: Fri, 20 Mar 2026 17:17:50 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EC=98=81=EC=97=85=EA=B4=80=EB=A6=AC>?= =?UTF-8?q?=EA=B2=AC=EC=A0=81=EA=B4=80=EB=A6=AC>=EA=B2=AC=EC=A0=81?= =?UTF-8?q?=EC=9E=91=EC=84=B1=20=ED=99=94=EB=A9=B4=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=88=98=EC=8B=A0=EC=9D=B8=20=EC=9E=85=EB=A0=A5=20=EB=B6=80?= =?UTF-8?q?=EB=B6=84=20=EC=84=A0=ED=83=9D=EC=9D=84=20=ED=85=8D=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=9E=85=EB=A0=A5=20=ED=98=95=ED=83=9C=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EC=98=81=EC=97=85=EA=B4=80=EB=A6=AC>?= =?UTF-8?q?=EC=A3=BC=EB=AC=B8=EC=84=9C=EA=B4=80=EB=A6=AC>=EC=88=98?= =?UTF-8?q?=EC=A3=BC=EB=93=B1=EB=A1=9D=20=ED=99=94=EB=A9=B4=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=88=98=EC=A3=BC=EB=8B=A8=EA=B0=80=20=EC=BB=AC?= =?UTF-8?q?=EB=9F=BC=20=ED=95=84=EC=88=98=20=ED=95=B4=EC=A0=9C=20=EC=98=81?= =?UTF-8?q?=EC=97=85=EA=B4=80=EB=A6=AC>=EA=B2=AC=EC=A0=81=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20&=20=EC=A3=BC=EB=AC=B8=EC=84=9C=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=98=A4=EB=A5=B8=EC=AA=BD=20?= =?UTF-8?q?=EB=A7=A8=20=EB=81=9D=EC=97=90=20=EC=9E=91=EC=84=B1=EC=9E=90=20?= =?UTF-8?q?=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/classes/com/pms/mapper/purchaseOrder.xml | 4 ++-- .../contractMgmt/estimateAndOrderRegistFormPopup.jsp | 12 +++--------- .../WEB-INF/view/contractMgmt/estimateList_new.jsp | 4 ++-- .../WEB-INF/view/contractMgmt/estimateTemplate1.jsp | 4 +--- .../WEB-INF/view/contractMgmt/orderMgmtList.jsp | 3 +++ .../view/contractMgmt/orderRegistFormPopup.jsp | 2 +- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml index 92fe09c..8e38345 100644 --- a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml +++ b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml @@ -6625,12 +6625,12 @@ FROM( ,COALESCE(AP.tax_type, '') AS TAX_TYPE - ,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.tax_type) AS TAX_TYPE_NAME + ,COALESCE((SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.tax_type), '') AS TAX_TYPE_NAME ,COALESCE(AP.tax_invoice_date, '') AS TAX_INVOICE_DATE ,COALESCE(AP.export_decl_no, '') AS EXPORT_DECL_NO ,COALESCE(AP.loading_date, '') AS LOADING_DATE ,COALESCE(AP.foreign_type, '') AS FOREIGN_TYPE - ,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.foreign_type) AS FOREIGN_TYPE_NAME + ,COALESCE((SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = AP.foreign_type), '') AS FOREIGN_TYPE_NAME ,COALESCE(AP.duty, 0) AS DUTY ,COALESCE(AP.exchange_rate, 0) AS EXCHANGE_RATE ,COALESCE(AP.import_vat, 0) AS IMPORT_VAT diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateAndOrderRegistFormPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateAndOrderRegistFormPopup.jsp index 674a789..61d3cbf 100644 --- a/WebContent/WEB-INF/view/contractMgmt/estimateAndOrderRegistFormPopup.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/estimateAndOrderRegistFormPopup.jsp @@ -218,12 +218,6 @@ $row.find(".item-order-quantity").focus(); return false; } - - if(orderUnitPrice == "" || orderUnitPrice == "0") { - alert((i+1) + "번째 품목의 수주단가를 입력해주세요."); - $row.find(".item-order-unit-price").focus(); - return false; - } } return true; @@ -344,7 +338,7 @@ // 수주단가 html += ''; - html += ''; + html += ''; html += ''; // 수주공급가액 (자동계산 + 수정가능) @@ -554,7 +548,7 @@ } html += ''; html += ''; - html += ''; + html += ''; html += ''; html += ''; html += ''; @@ -1482,7 +1476,7 @@ 고객요청사항 반납사유 수주수량 * - 수주단가 * + 수주단가 수주공급가액 수주부가세 수주총액 diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp index 2c55ab8..a7a0369 100644 --- a/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp @@ -471,7 +471,8 @@ var columns = [ }, // 17. 품번 {headerHozAlign : 'center', hozAlign : 'center', minWidth: 80, widthGrow: 1, title : '품번', field : 'PART_NO' }, - + // 18. 작성자 + {headerHozAlign : 'center', hozAlign : 'center', minWidth: 70, widthGrow: 0.8, title : '작성자', field : 'WRITER_NAME' }, /* 아래는 주석처리된 컬럼들 - 필요시 활성화 */ /* // 제품구분 @@ -486,7 +487,6 @@ var columns = [ // {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '설비대수', field : 'FACILITY_QTY' }, // {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '설비타입', field : 'FACILITY_TYPE' }, // {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비길이', field : 'FACILITY_DEPTH' }, - // {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '담당자', field : 'WRITER_NAME' }, // {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '등록일', field : 'REG_DATE' }, // {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '첨부파일', field : 'CU01_CNT', // formatter:fnc_subInfoValueFormatter, diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateTemplate1.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateTemplate1.jsp index afaf3e8..b5474d7 100644 --- a/WebContent/WEB-INF/view/contractMgmt/estimateTemplate1.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/estimateTemplate1.jsp @@ -1387,9 +1387,7 @@ function fn_save() { 수신인 - + diff --git a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp index 6496295..5ab2aa4 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp @@ -362,6 +362,9 @@ var columns = [ // 21. 품번 {headerHozAlign : 'center', hozAlign : 'center', minWidth : 70, widthGrow: 0.8, title : '품번', field : 'PART_NO' }, + // 22. 작성자 + {headerHozAlign : 'center', hozAlign : 'center', minWidth : 100, widthGrow: 1.2, title : '작성자', field : 'WRITER_NAME' }, + /* 주석처리된 컬럼 - 필요시 활성화 */ /* {headerHozAlign : 'center', hozAlign : 'center', minWidth : 55, widthGrow: 0.6, title : '제품구분', field : 'PRODUCT_NAME' }, diff --git a/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp index 3d8a802..1809215 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp @@ -518,7 +518,7 @@ 품명 S/N 수주수량 * - 수주단가 * + 수주단가 수주공급가액 수주부가세 수주총액 -- 2.49.1 From c4eeec14504d85ae8b3b6c2aadad7d1f30b150dc Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 20 Mar 2026 17:42:59 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EA=B5=AC=EB=A7=A4=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=9E=85=EA=B3=A0/=EB=A7=A4=EC=9E=85=EB=A7=88=EA=B0=90=20?= =?UTF-8?q?=EA=B8=88=EC=95=A1=20=EC=86=8C=EC=88=98=EC=A0=90=202=EC=9E=90?= =?UTF-8?q?=EB=A6=AC=20=ED=8F=AC=EB=A7=B7=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - deliveryMngAcceptanceList: 발주/입고/미입고 금액 및 합계 소수점 2자리 적용 - purchaseCloseList: 입고금액/환율/관세/수입부가세 그리드 포맷 적용 - purchaseCloseList: 마감정보입력 팝업 금액 입력/표시/저장 포맷 처리 Made-with: Cursor --- .../deliveryMngAcceptanceList.jsp | 68 +++++++++---------- .../view/purchaseOrder/purchaseCloseList.jsp | 64 ++++++++++------- 2 files changed, 75 insertions(+), 57 deletions(-) diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp index 5521539..ebcc627 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp @@ -133,37 +133,37 @@ var columns = [ else if(cn.includes('유로') || cn === 'EUR') s = '€'; else if(cn.includes('엔') || cn === 'JPY') s = '¥'; else if(cn.includes('위안') || cn === 'CNY') s = '¥'; - return s + Number(value).toLocaleString(); - } - }, - {headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '입고금액', field : 'TOTAL_DELIVERY_PRICE', - formatter: function(cell) { - var value = cell.getValue(); - if(!value || value === '' || value === '0') return ''; - var cn = cell.getRow().getData().CURRENCY_NAME || ''; - var s = ''; - if(cn.includes('원') || cn === 'KRW') s = '₩'; - else if(cn.includes('달러') || cn === 'USD') s = '$'; - else if(cn.includes('유로') || cn === 'EUR') s = '€'; - else if(cn.includes('엔') || cn === 'JPY') s = '¥'; - else if(cn.includes('위안') || cn === 'CNY') s = '¥'; - return s + Number(value).toLocaleString(); - } - }, - {headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '미입고금액', field : 'TOTAL_NOT_DELIVERY_PRICE', - formatter: function(cell) { - var value = cell.getValue(); - if(!value || value === '' || value === '0') return ''; - var cn = cell.getRow().getData().CURRENCY_NAME || ''; - var s = ''; - if(cn.includes('원') || cn === 'KRW') s = '₩'; - else if(cn.includes('달러') || cn === 'USD') s = '$'; - else if(cn.includes('유로') || cn === 'EUR') s = '€'; - else if(cn.includes('엔') || cn === 'JPY') s = '¥'; - else if(cn.includes('위안') || cn === 'CNY') s = '¥'; - return s + Number(value).toLocaleString(); - } - }, + return s + Number(value).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); + } + }, + {headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '입고금액', field : 'TOTAL_DELIVERY_PRICE', + formatter: function(cell) { + var value = cell.getValue(); + if(!value || value === '' || value === '0') return ''; + var cn = cell.getRow().getData().CURRENCY_NAME || ''; + var s = ''; + if(cn.includes('원') || cn === 'KRW') s = '₩'; + else if(cn.includes('달러') || cn === 'USD') s = '$'; + else if(cn.includes('유로') || cn === 'EUR') s = '€'; + else if(cn.includes('엔') || cn === 'JPY') s = '¥'; + else if(cn.includes('위안') || cn === 'CNY') s = '¥'; + return s + Number(value).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); + } + }, + {headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '미입고금액', field : 'TOTAL_NOT_DELIVERY_PRICE', + formatter: function(cell) { + var value = cell.getValue(); + if(!value || value === '' || value === '0') return ''; + var cn = cell.getRow().getData().CURRENCY_NAME || ''; + var s = ''; + if(cn.includes('원') || cn === 'KRW') s = '₩'; + else if(cn.includes('달러') || cn === 'USD') s = '$'; + else if(cn.includes('유로') || cn === 'EUR') s = '€'; + else if(cn.includes('엔') || cn === 'JPY') s = '¥'; + else if(cn.includes('위안') || cn === 'CNY') s = '¥'; + return s + Number(value).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); + } + }, {headerHozAlign : 'center', hozAlign : 'center', minWidth : 100, widthGrow : 1, title : '업체성적서', field : 'INSPECTION_FILE_CNT', formatter:fnc_subInfoValueFormatter, cellClick:function(e, cell){ @@ -269,9 +269,9 @@ function fn_calculateTotalAmount(){ } // 합계 표시 - $("#totalOrderAmount").text(Number(Math.round(totalOrderAmount)).toLocaleString()); - $("#deliveredAmount").text(Number(Math.round(totalDeliveredAmount)).toLocaleString()); - $("#notDeliveredAmount").text(Number(Math.round(totalNotDeliveredAmount)).toLocaleString()); + $("#totalOrderAmount").text(Number(totalOrderAmount).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})); + $("#deliveredAmount").text(Number(totalDeliveredAmount).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})); + $("#notDeliveredAmount").text(Number(totalNotDeliveredAmount).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})); } //수입검사등록 diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp index de1823b..2b661b1 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseCloseList.jsp @@ -172,27 +172,39 @@ $(document).ready(function(){ changeMonth: true, changeYear: true }); - // 기존 데이터 세팅 - if(taxType) $('#swal_taxType').val(taxType); - if(taxInvoiceDate) $('#swal_taxInvoiceDate').val(taxInvoiceDate); - if(exportDeclNo) $('#swal_exportDeclNo').val(exportDeclNo); - if(loadingDate) $('#swal_loadingDate').val(loadingDate); - if(foreignType) $('#swal_foreignType').val(foreignType); - if(duty) $('#swal_duty').val(duty); - if(importVat) $('#swal_importVat').val(importVat); - if(exchangeRate) $('#swal_exchangeRate').val(exchangeRate); + // 기존 데이터 세팅 + if(taxType) $('#swal_taxType').val(taxType); + if(taxInvoiceDate) $('#swal_taxInvoiceDate').val(taxInvoiceDate); + if(exportDeclNo) $('#swal_exportDeclNo').val(exportDeclNo); + if(loadingDate) $('#swal_loadingDate').val(loadingDate); + if(foreignType) $('#swal_foreignType').val(foreignType); + if(duty) $('#swal_duty').val(formatMoney(duty)); + if(importVat) $('#swal_importVat').val(formatMoney(importVat)); + if(exchangeRate) $('#swal_exchangeRate').val(formatMoney(exchangeRate)); + + // 금액 입력 필드 포맷 (keyup: 천단위 콤마, blur: 소수점 2자리) + $('#swal_exchangeRate, #swal_duty, #swal_importVat').on('keyup', function(){ + var val = this.value.replace(/[^0-9.]/g, ''); + var parts = val.split('.'); + if(parts.length > 2) val = parts[0] + '.' + parts.slice(1).join(''); + if(parts[0]) parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ','); + this.value = parts.join('.'); + }).on('blur', function(){ + var v = this.value.replace(/,/g, ''); + if(v && !isNaN(v)) this.value = formatMoney(v); + }); }, preConfirm: function() { - return { - taxType: $('#swal_taxType').val(), - taxInvoiceDate: $('#swal_taxInvoiceDate').val(), - exportDeclNo: $('#swal_exportDeclNo').val(), - loadingDate: $('#swal_loadingDate').val(), - foreignType: $('#swal_foreignType').val(), - duty: $('#swal_duty').val(), - importVat: $('#swal_importVat').val(), - exchangeRate: $('#swal_exchangeRate').val() - }; + return { + taxType: $('#swal_taxType').val(), + taxInvoiceDate: $('#swal_taxInvoiceDate').val(), + exportDeclNo: $('#swal_exportDeclNo').val(), + loadingDate: $('#swal_loadingDate').val(), + foreignType: $('#swal_foreignType').val(), + duty: removeComma($('#swal_duty').val()), + importVat: removeComma($('#swal_importVat').val()), + exchangeRate: removeComma($('#swal_exchangeRate').val()) + }; } }).then(function(result) { if (result.isConfirmed) { @@ -307,7 +319,7 @@ var columns = [ else if(cn.includes('유로') || cn === 'EUR') s = '€'; else if(cn.includes('엔') || cn === 'JPY') s = '¥'; else if(cn.includes('위안') || cn === 'CNY') s = '¥'; - return s + Number(value).toLocaleString(); + return s + Number(value).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); } }, // {headerHozAlign:'center', hozAlign:'right', minWidth:90, widthGrow:1, title:'미입고금액', field:'TOTAL_NOT_DELIVERY_PRICE', @@ -322,13 +334,19 @@ var columns = [ }, {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'계정과목', field:'SUB_LOCATION_NAME'}, {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'국내/해외', field:'FOREIGN_TYPE_NAME'}, - {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'환율', field:'EXCHANGE_RATE'}, + {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'환율', field:'EXCHANGE_RATE', + formatter: function(cell){ var v = cell.getValue(); if(!v || v === '') return ''; return formatMoney(v); } + }, {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'과세구분', field:'TAX_TYPE_NAME'}, {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'세금계산서발행일', field:'TAX_INVOICE_DATE'}, {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'수출신고필증신고번호', field:'EXPORT_DECL_NO'}, {headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1.2, title:'선적일자', field:'LOADING_DATE'}, - {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'관세', field:'DUTY'}, - {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'수입부가세', field:'IMPORT_VAT'}, + {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'관세', field:'DUTY', + formatter: function(cell){ var v = cell.getValue(); if(!v || v === '') return ''; return formatMoney(v); } + }, + {headerHozAlign:'center', hozAlign:'right', minWidth:100, widthGrow:1.2, title:'수입부가세', field:'IMPORT_VAT', + formatter: function(cell){ var v = cell.getValue(); if(!v || v === '') return ''; return formatMoney(v); } + }, {headerHozAlign:'center', hozAlign:'center', minWidth:85, widthGrow:0.6, title:'매입마감', field:'PURCHASE_CLOSE_DATE'} ]; -- 2.49.1 From ed261664ef503f94a0df19946901ec4f68808b45 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Fri, 20 Mar 2026 17:48:45 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=88=98=EC=A3=BC=EB=8B=A8=EA=B0=80=20?= =?UTF-8?q?=ED=95=84=EC=88=98=EC=BB=AC=EB=9F=BC=20=ED=95=B4=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp index 1809215..79535ce 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderRegistFormPopup.jsp @@ -265,7 +265,7 @@ html += ''; } // ORDER_UNIT_PRICE 수정 가능 - html += ''; + html += ''; // ORDER_SUPPLY_PRICE 자동 계산 html += ''; // ORDER_VAT 수정 가능 -- 2.49.1