|
|
@@ -64,151 +64,124 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
|
|
|
|
|
|
// WMS 창고 출고처 지정
|
|
|
for(Delivery ordNoData : ordnoList) {
|
|
|
- ShopYn = "N";
|
|
|
- WmsYn = "N";
|
|
|
- //2. WMS 재고체크 후 주문의상품재고가 다 있을경우 WMS로 출고처지정
|
|
|
- // 주문상세번호 조회
|
|
|
- Collection<Delivery> ordDtlNoList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
- int ordDtlCnt = 0;
|
|
|
- for(Delivery ordDtlNoData : ordDtlNoList) {
|
|
|
-
|
|
|
- // 주문상세아이템 조회
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(ordDtlNoData);
|
|
|
- int chkCnt = 0;
|
|
|
- for(Delivery item : itemList) {
|
|
|
- // WMS 재고체크
|
|
|
- WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
- if(wmsStock !=null) {
|
|
|
- if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
- chkCnt = chkCnt+1;
|
|
|
+ try {
|
|
|
+ ShopYn = "N";
|
|
|
+ WmsYn = "N";
|
|
|
+ //2. WMS 재고체크 후 주문의상품재고가 다 있을경우 WMS로 출고처지정
|
|
|
+ // 주문상세번호 조회
|
|
|
+ Collection<Delivery> ordDtlNoList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+ int ordDtlCnt = 0;
|
|
|
+ for(Delivery ordDtlNoData : ordDtlNoList) {
|
|
|
+
|
|
|
+ // 주문상세아이템 조회
|
|
|
+ Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(ordDtlNoData);
|
|
|
+ int chkCnt = 0;
|
|
|
+ for(Delivery item : itemList) {
|
|
|
+ // WMS 재고체크
|
|
|
+ WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
+ if(wmsStock !=null) {
|
|
|
+ if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
+ chkCnt = chkCnt+1;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if(chkCnt == itemList.size()) {
|
|
|
- ordDtlCnt = ordDtlCnt+1;
|
|
|
- }
|
|
|
- }
|
|
|
- log.info("ordDtlCnt"+ordDtlCnt+" ordDtlNoList.size() "+ordDtlNoList.size());
|
|
|
- if(ordDtlCnt == ordDtlNoList.size()) {
|
|
|
- for(Delivery inOrdDtlNoData : ordDtlNoList) {
|
|
|
- inOrdDtlNoData.setDelvLocCd("DL001");
|
|
|
-
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- // log.info("WMS 창고 출고처 지정 DTL_NO"+ inOrdDtlNoData.getOrdDtlNo());
|
|
|
- inOrdDtlNoData.setDelvArGb("Y"); // 수락
|
|
|
- inOrdDtlNoData.setLocQty(inOrdDtlNoData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(inOrdDtlNoData);
|
|
|
-
|
|
|
- // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
- inOrdDtlNoData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
- inOrdDtlNoData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
- deliveryService.updateTbOrderDtlAssign(inOrdDtlNoData);
|
|
|
-
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(inOrdDtlNoData);
|
|
|
- // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
- for(Delivery data : itemList) {
|
|
|
- wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
+ if(chkCnt == itemList.size()) {
|
|
|
+ ordDtlCnt = ordDtlCnt+1;
|
|
|
}
|
|
|
}
|
|
|
- WmsYn = "N";
|
|
|
- } else {
|
|
|
- ShopYn = "Y";
|
|
|
- }
|
|
|
-
|
|
|
- // 3. WMS의 주문단위 상품재고가 없을경우 매장재고 체크 후 주문단위 상품이 모두있을경우 해당 매장으로 출고처 지정
|
|
|
- // WMS 창고 출고처 지정 못한 주문건이 존재 매장 출고처 지정
|
|
|
+ log.info("ordDtlCnt"+ordDtlCnt+" ordDtlNoList.size() "+ordDtlNoList.size());
|
|
|
+ if(ordDtlCnt == ordDtlNoList.size()) {
|
|
|
+ for(Delivery inOrdDtlNoData : ordDtlNoList) {
|
|
|
+ inOrdDtlNoData.setDelvLocCd("DL001");
|
|
|
|
|
|
- if("Y".equals(ShopYn)) {
|
|
|
-
|
|
|
- Collection<Delivery> shopOrdDtlNoList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
-
|
|
|
- // 출고처지정 임시 테이블 초기화
|
|
|
- deliveryService.deleteTbDeliveryLocTmp();
|
|
|
-
|
|
|
- for(Delivery shopOrdDtlNoData : shopOrdDtlNoList) {
|
|
|
-
|
|
|
- // 주문상세아이템 조회
|
|
|
- Collection<Delivery> shopItemList = deliveryService.getOrderDtlItemList(shopOrdDtlNoData);
|
|
|
-
|
|
|
- if("G056_S".equals(shopOrdDtlNoData.getGoodsType())) {
|
|
|
- deliveryService.getShopRealStockSetChk(shopItemList, shopOrdDtlNoData.getOrdDtlNo());
|
|
|
- } else {
|
|
|
- deliveryService.getShopRealStockChk(shopItemList);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // 출고처지정 임시테이블 조회
|
|
|
- int toTalOrdDtlCnt = shopOrdDtlNoList.size();
|
|
|
- Delivery temp = deliveryService.getDeliveryLocTmp(toTalOrdDtlCnt);
|
|
|
- if(temp != null) {
|
|
|
- if(toTalOrdDtlCnt == temp.getGoodsLocCnt()) {
|
|
|
- String[] ordDtlNoArr = temp.getOrdDtlNoList().split(",");
|
|
|
- for(int j=0; j<ordDtlNoArr.length; j++) {
|
|
|
-
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- Delivery saveData = new Delivery();
|
|
|
- saveData.setOrdNo(ordNoData.getOrdNo());
|
|
|
- saveData.setOrdDtlNo(Integer.parseInt(ordDtlNoArr[j]));
|
|
|
- saveData.setDelvLocCd(temp.getDelvLocCd());
|
|
|
- saveData.setLocQty(temp.getLocQty());
|
|
|
-
|
|
|
- saveData.setDelvArGb("P"); // 대기
|
|
|
- deliveryService.saveDeliveryAssign(saveData);
|
|
|
-
|
|
|
- // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
- saveData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
- saveData.setDelvAssignStat("P"); // 출고처지정상태
|
|
|
- deliveryService.updateTbOrderDtlAssign(saveData);
|
|
|
-
|
|
|
+ // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
+ // log.info("WMS 창고 출고처 지정 DTL_NO"+ inOrdDtlNoData.getOrdDtlNo());
|
|
|
+ inOrdDtlNoData.setDelvArGb("Y"); // 수락
|
|
|
+ inOrdDtlNoData.setLocQty(inOrdDtlNoData.getOrdQty());
|
|
|
+ deliveryService.saveDeliveryAssign(inOrdDtlNoData);
|
|
|
+
|
|
|
+ // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
+ inOrdDtlNoData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
+ inOrdDtlNoData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
+ deliveryService.updateTbOrderDtlAssign(inOrdDtlNoData);
|
|
|
+
|
|
|
+ Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(inOrdDtlNoData);
|
|
|
+ // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
+ for(Delivery data : itemList) {
|
|
|
+ wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
}
|
|
|
-
|
|
|
- } else {
|
|
|
- WmsYn = "Y";
|
|
|
- ShopYn = "N";
|
|
|
}
|
|
|
+ WmsYn = "N";
|
|
|
} else {
|
|
|
- WmsYn = "Y";
|
|
|
- ShopYn = "N";
|
|
|
+ ShopYn = "Y";
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
+
|
|
|
+ // 3. WMS의 주문단위 상품재고가 없을경우 매장재고 체크 후 주문단위 상품이 모두있을경우 해당 매장으로 출고처 지정
|
|
|
+ // WMS 창고 출고처 지정 못한 주문건이 존재 매장 출고처 지정
|
|
|
|
|
|
- // 4. 주문상품의 모든재고가 (WMS, 매장) 모두 없을경우 WMS로 출고처지정 (부분배송) 이때 교환은 교환출고예외 테이블에 등록(tb_exchange_delv_fail)
|
|
|
- if("Y".equals(WmsYn)) {
|
|
|
- if("E".equals(ordNoData.getOrdExchGb())) {
|
|
|
- Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
- for(Delivery chgData : ordDtlNoWmsList) {
|
|
|
- // 주문상세아이템 조회
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(chgData);
|
|
|
- int chkCnt = 0;
|
|
|
- for(Delivery item : itemList) {
|
|
|
- // WMS 재고체크
|
|
|
- WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
- if(wmsStock !=null) {
|
|
|
- if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
- chkCnt = chkCnt+1;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ if("Y".equals(ShopYn)) {
|
|
|
+
|
|
|
+ Collection<Delivery> shopOrdDtlNoList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+
|
|
|
+ // 출고처지정 임시 테이블 초기화
|
|
|
+ deliveryService.deleteTbDeliveryLocTmp();
|
|
|
+
|
|
|
+ for(Delivery shopOrdDtlNoData : shopOrdDtlNoList) {
|
|
|
|
|
|
- //chgData.setRegNo(regNo);
|
|
|
- chgData.setCnclRtnQty(chgData.getOrdQty() - chkCnt); // 취소수량(재고없는수량)
|
|
|
- // insert
|
|
|
- deliveryService.insertTbExchangeDelvFail(chgData);
|
|
|
+ // 주문상세아이템 조회
|
|
|
+ Collection<Delivery> shopItemList = deliveryService.getOrderDtlItemList(shopOrdDtlNoData);
|
|
|
|
|
|
- // ddddd
|
|
|
+ if("G056_S".equals(shopOrdDtlNoData.getGoodsType())) {
|
|
|
+ deliveryService.getShopRealStockSetChk(shopItemList, shopOrdDtlNoData.getOrdDtlNo());
|
|
|
+ } else {
|
|
|
+ deliveryService.getShopRealStockChk(shopItemList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- } else {
|
|
|
- if("NAVER_ORDER".equals(ordNoData.getPgGb())) { // 네이버 주문형
|
|
|
-
|
|
|
- // 주문상세번호 조회
|
|
|
- Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+
|
|
|
+ // 출고처지정 임시테이블 조회
|
|
|
+ int toTalOrdDtlCnt = shopOrdDtlNoList.size();
|
|
|
+ Delivery temp = deliveryService.getDeliveryLocTmp(toTalOrdDtlCnt);
|
|
|
+ if(temp != null) {
|
|
|
+ if(toTalOrdDtlCnt == temp.getGoodsLocCnt()) {
|
|
|
+ String[] ordDtlNoArr = temp.getOrdDtlNoList().split(",");
|
|
|
+ for(int j=0; j<ordDtlNoArr.length; j++) {
|
|
|
+
|
|
|
+ // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
+ Delivery saveData = new Delivery();
|
|
|
+ saveData.setOrdNo(ordNoData.getOrdNo());
|
|
|
+ saveData.setOrdDtlNo(Integer.parseInt(ordDtlNoArr[j]));
|
|
|
+ saveData.setDelvLocCd(temp.getDelvLocCd());
|
|
|
+ saveData.setLocQty(temp.getLocQty());
|
|
|
+
|
|
|
+ saveData.setDelvArGb("P"); // 대기
|
|
|
+ deliveryService.saveDeliveryAssign(saveData);
|
|
|
+
|
|
|
+ // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
+ saveData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
+ saveData.setDelvAssignStat("P"); // 출고처지정상태
|
|
|
+ deliveryService.updateTbOrderDtlAssign(saveData);
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
|
|
|
+ } else {
|
|
|
+ WmsYn = "Y";
|
|
|
+ ShopYn = "N";
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ WmsYn = "Y";
|
|
|
+ ShopYn = "N";
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 4. 주문상품의 모든재고가 (WMS, 매장) 모두 없을경우 WMS로 출고처지정 (부분배송) 이때 교환은 교환출고예외 테이블에 등록(tb_exchange_delv_fail)
|
|
|
+ if("Y".equals(WmsYn)) {
|
|
|
+ if("E".equals(ordNoData.getOrdExchGb())) {
|
|
|
+ Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+ for(Delivery chgData : ordDtlNoWmsList) {
|
|
|
// 주문상세아이템 조회
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
+ Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(chgData);
|
|
|
int chkCnt = 0;
|
|
|
for(Delivery item : itemList) {
|
|
|
// WMS 재고체크
|
|
|
@@ -219,64 +192,25 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if(chkCnt >= itemList.size()) {
|
|
|
- wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
-
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
-
|
|
|
- //log.info("네이버주문형Y DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
- wmsOrdDtlData.setDelvArGb("Y"); // 수락
|
|
|
- wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
-
|
|
|
- // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
- wmsOrdDtlData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
- wmsOrdDtlData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
- deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
|
|
|
-
|
|
|
- // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
- for(Delivery data : itemList) {
|
|
|
- wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- log.info("네이버주문형N DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
- wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
- wmsOrdDtlData.setDelvArGb("N"); // 수락
|
|
|
- wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
- }
|
|
|
+
|
|
|
+ //chgData.setRegNo(regNo);
|
|
|
+ chgData.setCnclRtnQty(chgData.getOrdQty() - chkCnt); // 취소수량(재고없는수량)
|
|
|
+ // insert
|
|
|
+ deliveryService.insertTbExchangeDelvFail(chgData);
|
|
|
+
|
|
|
+ // ddddd
|
|
|
}
|
|
|
- } else { // 일반
|
|
|
- //log.info("last:"+ordNoData.getOrdNo());
|
|
|
- // 주문상세번호 조회
|
|
|
- Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
- int chkCnt = 0;
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if("NAVER_ORDER".equals(ordNoData.getPgGb())) { // 네이버 주문형
|
|
|
|
|
|
- if("G056_S".equals(wmsOrdDtlData.getGoodsType())) {
|
|
|
-
|
|
|
- // 주문상세아이템 조회
|
|
|
- int setCnt =0;
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
-
|
|
|
- for(Delivery item : itemList) {
|
|
|
- // WMS 재고체크
|
|
|
- WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
- if(wmsStock !=null) {
|
|
|
- if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
- setCnt = setCnt+1;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(setCnt == itemList.size() ) {
|
|
|
- chkCnt = chkCnt+1;
|
|
|
- }
|
|
|
- } else {
|
|
|
+ // 주문상세번호 조회
|
|
|
+ Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+
|
|
|
+ for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
|
|
|
// 주문상세아이템 조회
|
|
|
Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
-
|
|
|
+ int chkCnt = 0;
|
|
|
for(Delivery item : itemList) {
|
|
|
// WMS 재고체크
|
|
|
WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
@@ -286,91 +220,115 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- }
|
|
|
- if(chkCnt > 0) {
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoList) {
|
|
|
-
|
|
|
- // log.info("라스트 N DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
- wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- wmsOrdDtlData.setDelvArGb("Y"); // 수락
|
|
|
- wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
-
|
|
|
- // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
- wmsOrdDtlData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
- wmsOrdDtlData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
- deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
|
|
|
-
|
|
|
- // 주문상세아이템 조회
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
- // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
- for(Delivery data : itemList) {
|
|
|
- wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
+ if(chkCnt >= itemList.size()) {
|
|
|
+ wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
+
|
|
|
+ // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
+
|
|
|
+ //log.info("네이버주문형Y DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
+ wmsOrdDtlData.setDelvArGb("Y"); // 수락
|
|
|
+ wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
+ deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
+
|
|
|
+ // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
+ wmsOrdDtlData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
+ wmsOrdDtlData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
+ deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
|
|
|
+
|
|
|
+ // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
+ for(Delivery data : itemList) {
|
|
|
+ wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
+ log.info("네이버주문형N DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
+ wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
+ wmsOrdDtlData.setDelvArGb("N"); // 수락
|
|
|
+ wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
+ deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoList) {
|
|
|
- // log.info("라스트 N DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
+ } else { // 일반
|
|
|
+ //log.info("last:"+ordNoData.getOrdNo());
|
|
|
+ // 주문상세번호 조회
|
|
|
+ Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+ int chkCnt = 0;
|
|
|
+ for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
|
|
|
|
|
|
- wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- wmsOrdDtlData.setDelvArGb("N"); // 거절
|
|
|
- wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
- }
|
|
|
- }
|
|
|
- /****
|
|
|
-
|
|
|
- // 주문상세번호 조회
|
|
|
- Collection<Delivery> ordDtlNoSetList = deliveryService.getSetOrderDtlNoList(ordNoData);
|
|
|
-
|
|
|
- for(Delivery setOrdDtlData : ordDtlNoSetList) {
|
|
|
- // 주문상세아이템 조회
|
|
|
- Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(setOrdDtlData);
|
|
|
- int chkSetCnt = 0;
|
|
|
- for(Delivery item : itemList) {
|
|
|
- // WMS 재고체크
|
|
|
- WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
- if(wmsStock !=null) {
|
|
|
- if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
- chkSetCnt = chkSetCnt+1;
|
|
|
+ if("G056_S".equals(wmsOrdDtlData.getGoodsType())) {
|
|
|
+
|
|
|
+ // 주문상세아이템 조회
|
|
|
+ int setCnt =0;
|
|
|
+ Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
+
|
|
|
+ for(Delivery item : itemList) {
|
|
|
+ // WMS 재고체크
|
|
|
+ WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
+ if(wmsStock !=null) {
|
|
|
+ if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
+ setCnt = setCnt+1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(setCnt == itemList.size() ) {
|
|
|
+ chkCnt = chkCnt+1;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 주문상세아이템 조회
|
|
|
+ Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
+
|
|
|
+ for(Delivery item : itemList) {
|
|
|
+ // WMS 재고체크
|
|
|
+ WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
|
|
|
+ if(wmsStock !=null) {
|
|
|
+ if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
+ chkCnt = chkCnt+1;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
- if(chkSetCnt > 0) {
|
|
|
- setOrdDtlData.setDelvLocCd("DL001");
|
|
|
-
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- setOrdDtlData.setDelvArGb("Y"); // 수락
|
|
|
- setOrdDtlData.setLocQty(setOrdDtlData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(setOrdDtlData);
|
|
|
-
|
|
|
- // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
- setOrdDtlData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
- setOrdDtlData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
- deliveryService.updateTbOrderDtlAssign(setOrdDtlData);
|
|
|
-
|
|
|
- // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
- for(Delivery data : itemList) {
|
|
|
- wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
+ if(chkCnt > 0) {
|
|
|
+ for(Delivery wmsOrdDtlData : ordDtlNoList) {
|
|
|
+
|
|
|
+ // log.info("라스트 N DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
+ wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
+ // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
+ wmsOrdDtlData.setDelvArGb("Y"); // 수락
|
|
|
+ wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
+ deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
+
|
|
|
+ // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
|
|
|
+ wmsOrdDtlData.setOrdDtlStat("G013_35"); // 출고처지정
|
|
|
+ wmsOrdDtlData.setDelvAssignStat("Y"); // 출고처지정상태
|
|
|
+ deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
|
|
|
+
|
|
|
+ // 주문상세아이템 조회
|
|
|
+ Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
|
|
|
+ // wms 재고차감 등록(TB_SELL_QTY)
|
|
|
+ for(Delivery data : itemList) {
|
|
|
+ wmsDeliveryService.insertWmsTbIfDelifixQty(data);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
- // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
- setOrdDtlData.setDelvLocCd("DL001");
|
|
|
- setOrdDtlData.setDelvArGb("N"); // 수락
|
|
|
- setOrdDtlData.setLocQty(setOrdDtlData.getOrdQty());
|
|
|
- deliveryService.saveDeliveryAssign(setOrdDtlData);
|
|
|
+ for(Delivery wmsOrdDtlData : ordDtlNoList) {
|
|
|
+ // log.info("라스트 N DTL_NO"+ wmsOrdDtlData.getOrdDtlNo());
|
|
|
+
|
|
|
+ wmsOrdDtlData.setDelvLocCd("DL001");
|
|
|
+ // 출고처등록 및 history 등록 (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST)
|
|
|
+ wmsOrdDtlData.setDelvArGb("N"); // 거절
|
|
|
+ wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
+ deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- ***/
|
|
|
}
|
|
|
}
|
|
|
+ }catch(Exception e) {
|
|
|
+ log.debug("TsbDeliveryOrderJob "+ e.getStackTrace().toString());
|
|
|
}
|
|
|
-
|
|
|
} // for(Delivery ordNoData : ordnoList)
|
|
|
|
|
|
|
|
|
@@ -379,15 +337,19 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
|
|
|
// 사은품 조회 차후 작업!!!!
|
|
|
Collection<Delivery> ordList = deliveryService.getWmsDeliveryOrdNoList();
|
|
|
for(Delivery ordData : ordList) {
|
|
|
- // wms 출고 정보 조회(mall_DB)
|
|
|
- Collection<Delivery> wmsDelvList = deliveryService.getWmsDeliveryList(ordData);
|
|
|
- Collection<Delivery> giftList = deliveryService.getWmsDeliveryGiftList(ordData);
|
|
|
- // wms 출고 정보 등록 (wms_DB)
|
|
|
- wmsDeliveryService.insertWmsDelivery(wmsDelvList, giftList);
|
|
|
-
|
|
|
- // 주문상세상태 변경 상품준비중~
|
|
|
- String statGb = "PREPARE";
|
|
|
- deliveryService.updateTbOrderDtlStat(wmsDelvList, statGb);
|
|
|
+ try {
|
|
|
+ // wms 출고 정보 조회(mall_DB)
|
|
|
+ Collection<Delivery> wmsDelvList = deliveryService.getWmsDeliveryList(ordData);
|
|
|
+ Collection<Delivery> giftList = deliveryService.getWmsDeliveryGiftList(ordData);
|
|
|
+ // wms 출고 정보 등록 (wms_DB)
|
|
|
+ wmsDeliveryService.insertWmsDelivery(wmsDelvList, giftList);
|
|
|
+
|
|
|
+ // 주문상세상태 변경 상품준비중~
|
|
|
+ String statGb = "PREPARE";
|
|
|
+ deliveryService.updateTbOrderDtlStat(wmsDelvList, statGb);
|
|
|
+ }catch(Exception e) {
|
|
|
+ log.debug("TsbDeliveryOrderJob insertWmsDelivery "+ e.getStackTrace().toString());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
succCnt = 1;
|