diff --git a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp index 1be8465..64366ec 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp @@ -151,6 +151,28 @@ $(document).ready(function(){ document.form1.submit(); }); + // 수주취소 + $("#btnOrderCancel").click(function(){ + var selectedData = _tabulGrid.getSelectedData(); + if(selectedData.length < 1){ + Swal.fire("수주취소할 행을 선택해주십시오."); + return false; + } else if(selectedData.length > 1){ + Swal.fire("한번에 한개의 수주만 취소 가능합니다."); + return false; + } + + var contractObjId = fnc_checkNull(selectedData[0].OBJID); + var orderQty = parseInt(selectedData[0].ORDER_QUANTITY) || 0; + + if(orderQty === 0){ + Swal.fire("수주 수량이 없는 건은 취소할 수 없습니다."); + return false; + } + + fn_openOrderCancelPopup(contractObjId); + }); + fn_search(); }); @@ -203,6 +225,14 @@ var columns = [ return Number(value).toLocaleString(); } }, + // 8-1. 수주취소 + {headerHozAlign : 'center', hozAlign : 'right', minWidth : 60, widthGrow: 0.7, title : '수주취소', field : 'CANCEL_QTY_SUM', + formatter: function(cell) { + var value = cell.getValue(); + if(!value || value === '' || value === 0 || value === '0') return ''; + return "" + Number(value).toLocaleString() + ""; + } + }, // 9. 유/무상 {headerHozAlign : 'center', hozAlign : 'center', minWidth : 45, widthGrow: 0.5, title : '유/무상', field : 'PAID_TYPE' }, // 10. 수주상태 @@ -656,6 +686,131 @@ function fn_showSerialNoPopup(serialNoString){ }); } +// 수주취소 팝업 - 품목별 취소 수량 입력 +function fn_openOrderCancelPopup(contractObjId){ + $.ajax({ + url: "/contractMgmt/getContractItems.do", + type: "POST", + data: { contractObjId: contractObjId }, + dataType: "json", + success: function(data){ + if(data.result !== "success" || !data.items || data.items.length === 0){ + Swal.fire("수주 품목 정보가 없습니다."); + return; + } + + var items = data.items; + var html = '
| 품번 | '; + html += '품명 | '; + html += '수주수량 | '; + html += '취소수량 | '; + html += '
|---|---|---|---|
| ' + partNo + ' | '; + html += '' + partName + ' | '; + html += '' + (orderQtyNum > 0 ? Number(orderQtyNum).toLocaleString() : '-') + ' | '; + html += ''; + if(orderQtyNum > 0){ + html += ''; + } else { + html += '-'; + } + html += ' | '; + html += '
※ 전체 수량 취소는 불가하며, 부분 수량만 취소 가능합니다.
'; + html += '