|
@@ -691,7 +691,8 @@ let stockCddObj = {
|
691
|
691
|
cancel: function() {
|
692
|
692
|
listObj.grid.search();
|
693
|
693
|
},
|
694
|
|
- uploadExcel: function() {
|
|
694
|
+ uploadExcel: function() {
|
|
695
|
+ stockCddObj.clearData();
|
695
|
696
|
// 파일선택
|
696
|
697
|
$('#ITP_FORM_STOCKMNG02010_DETAIL_EXCEL_UPLOAD_SELECT_FILE').click();
|
697
|
698
|
},
|
|
@@ -712,11 +713,8 @@ let stockCddObj = {
|
712
|
713
|
processArray.push(processData);
|
713
|
714
|
});
|
714
|
715
|
|
715
|
|
- // $.each(processArray, function(key, value) {
|
716
|
|
- // console.log(JSON.stringify(value));
|
717
|
|
- // });
|
718
|
|
-
|
719
|
716
|
// 엑셀 목록을 서버에서 조회한다.
|
|
717
|
+ const itemMap = new Map();
|
720
|
718
|
const formId = '#ITP_FORM_STOCKMNG02010_DETAIL';
|
721
|
719
|
let param = $(formId).serializeObject();
|
722
|
720
|
param.whsId = $('#ITP_FORM_STOCKMNG02010_DETAIL_WHS_ID').val();
|
|
@@ -725,8 +723,52 @@ let stockCddObj = {
|
725
|
723
|
//console.log(JSON.stringify(param));
|
726
|
724
|
var callbackFn = function(result) {
|
727
|
725
|
// TODO 엑셀 데이터를 현재고수량 참고하여 ROW를 추가한다.
|
728
|
|
- console.log('RESULT : ' + JSON.stringify(result));
|
729
|
|
- // addRowCallback 참고
|
|
726
|
+ // console.log('RESULT : ' + JSON.stringify(result));
|
|
727
|
+ $.each(result.gridRows, function(key, value) {
|
|
728
|
+ itemMap.set(value.itemId.toString(), value);
|
|
729
|
+ });
|
|
730
|
+
|
|
731
|
+ var brandId = $('#ITP_FORM_STOCKMNG02010_DETAIL_BRAND_ID').val();
|
|
732
|
+ var brandNm = $('#ITP_FORM_STOCKMNG02010_SEARCH_BRAND_NM').val();
|
|
733
|
+ var whsId = $('#ITP_FORM_STOCKMNG02010_DETAIL_WHS_ID').val();
|
|
734
|
+ var whsNm = $('#ITP_FORM_STOCKMNG02010_DETAIL_WHS_ID option:selected').text();
|
|
735
|
+ var location = $('#ITP_FORM_STOCKMNG02010_DETAIL_LOCATION').val();
|
|
736
|
+ var locationNm = $('#ITP_FORM_STOCKMNG02010_DETAIL_LOCATION option:selected').text();
|
|
737
|
+ var normalYn = 'Y';
|
|
738
|
+ var errorMsg = '';
|
|
739
|
+
|
|
740
|
+ $.each(processArray, function(key, value) {
|
|
741
|
+ // console.log(JSON.stringify(value));
|
|
742
|
+ // 품목번호 체크
|
|
743
|
+ var itemObject;
|
|
744
|
+ if (!itemMap.has(value.itemId)) {
|
|
745
|
+ normalYn = "N";
|
|
746
|
+ errorMsg = "품목번호 미존재";
|
|
747
|
+ } else {
|
|
748
|
+ itemObject = itemMap.get(value.itemId)
|
|
749
|
+ }
|
|
750
|
+
|
|
751
|
+ // 행추가
|
|
752
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
|
|
753
|
+ var rids = $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
|
|
754
|
+ var last_row_id = rids[rids.length - 1];
|
|
755
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
|
|
756
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'normalYn', normalYn); // 정상여부
|
|
757
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'errorMsg', errorMsg);
|
|
758
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'brandId', brandId);
|
|
759
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'brandNm', brandNm);
|
|
760
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'whsId', whsId);
|
|
761
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'whsNm', whsNm);
|
|
762
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'location', location);
|
|
763
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'locationNm', locationNm);
|
|
764
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'itemId', value.itemId);
|
|
765
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'itemNm', itemObject ? itemObject.itemNm : '');
|
|
766
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'unit', itemObject ? itemObject.unit : '');
|
|
767
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'stckQty', itemObject ? itemObject.stckQty : '');
|
|
768
|
+ $(STOCKMNG02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'cddQty', value.cddQty);
|
|
769
|
+ });
|
|
770
|
+ $(STOCKMNG02010_DETAIL_GRID_EMPTY).hide();
|
|
771
|
+
|
730
|
772
|
};
|
731
|
773
|
fn_ajax_call(STOCK_MNG_CDD_GRID_LIST, JSON.stringify(param), callbackFn, 'POST');
|
732
|
774
|
|
|
@@ -792,18 +834,26 @@ let stockCddObj = {
|
792
|
834
|
itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.grid.noData);
|
793
|
835
|
return;
|
794
|
836
|
}
|
795
|
|
- var dataCheck = true;
|
|
837
|
+ var cddQtyCheck = true;
|
|
838
|
+ var normalYnCheck = true;
|
796
|
839
|
$.each(rowData, function(key, value) {
|
797
|
840
|
if (value.cddQty == '' || isNaN(value.cddQty)) {
|
798
|
|
- dataCheck = false;
|
799
|
|
- }
|
|
841
|
+ cddQtyCheck = false;
|
|
842
|
+ }
|
|
843
|
+ if (value.normalYn == 'N') {
|
|
844
|
+ normalYnCheck = false;
|
|
845
|
+ }
|
800
|
846
|
gridInsertData.push(value);
|
801
|
847
|
});
|
802
|
848
|
// 데이터 체크
|
803
|
|
- if(!dataCheck) {
|
|
849
|
+ if(!cddQtyCheck) {
|
804
|
850
|
itp_fn_modal_alert_ajax('실사수량을 입력하세요.');
|
805
|
851
|
return;
|
806
|
|
- }
|
|
852
|
+ }
|
|
853
|
+ if(!normalYnCheck) {
|
|
854
|
+ itp_fn_modal_alert_ajax('정상여부 값이 N인 데이터가 있습니다.\n품목번호를 확인하세요.');
|
|
855
|
+ return;
|
|
856
|
+ }
|
807
|
857
|
let param = $(formId).serializeObject();
|
808
|
858
|
param.whsId = $('#ITP_FORM_STOCKMNG02010_DETAIL_WHS_ID').val();
|
809
|
859
|
param.location = $('#ITP_FORM_STOCKMNG02010_DETAIL_LOCATION').val();
|