|
|
@@ -8,9 +8,10 @@ import org.springframework.stereotype.Component;
|
|
|
import com.style24.batch.biz.job.TsbAbstractJob;
|
|
|
import com.style24.batch.biz.service.TsbDeliveryService;
|
|
|
import com.style24.batch.biz.service.TsbWmsDeliveryService;
|
|
|
+import com.style24.core.support.env.TscConstants;
|
|
|
import com.style24.persistence.domain.Delivery;
|
|
|
-import com.style24.persistence.domain.Erp;
|
|
|
import com.style24.persistence.domain.WmsDelivery;
|
|
|
+
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
/**
|
|
|
@@ -28,14 +29,13 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
|
|
|
|
|
|
@Autowired
|
|
|
private TsbWmsDeliveryService wmsDeliveryService;
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
private int succCnt = 0;
|
|
|
private int failCnt = 0;
|
|
|
|
|
|
@Override
|
|
|
public Collection<Delivery> read() throws Exception {
|
|
|
-
|
|
|
+
|
|
|
// 1. 출고처지정 대상조회
|
|
|
Collection<Delivery> ordnoList = deliveryService.getOrderNoList();
|
|
|
return ordnoList;
|
|
|
@@ -58,304 +58,302 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
|
|
|
* 5. 출고처 WMS 리스트 조회 후 WMS_IF 테이블에 등록
|
|
|
*
|
|
|
* */
|
|
|
-
|
|
|
- String ShopYn = "N";
|
|
|
- String WmsYn = "N";
|
|
|
-
|
|
|
- // WMS 창고 출고처 지정
|
|
|
- for(Delivery ordNoData : ordnoList) {
|
|
|
- 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)
|
|
|
+
|
|
|
+ String ShopYn = "N";
|
|
|
+ String WmsYn = "N";
|
|
|
+
|
|
|
+ // WMS 창고 출고처 지정
|
|
|
+ for (Delivery ordNoData : ordnoList) {
|
|
|
+ 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(TscConstants.WMS_DELV_LOC_CD);
|
|
|
+
|
|
|
+ // 출고처등록 및 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);
|
|
|
- }
|
|
|
- }
|
|
|
- WmsYn = "N";
|
|
|
- } else {
|
|
|
- ShopYn = "Y";
|
|
|
- }
|
|
|
-
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ WmsYn = "N";
|
|
|
+ } else {
|
|
|
+ ShopYn = "Y";
|
|
|
+ }
|
|
|
+
|
|
|
// 3. WMS의 주문단위 상품재고가 없을경우 매장재고 체크 후 주문단위 상품이 모두있을경우 해당 매장으로 출고처 지정
|
|
|
// WMS 창고 출고처 지정 못한 주문건이 존재 매장 출고처 지정
|
|
|
-
|
|
|
- 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);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- } 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(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;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //chgData.setRegNo(regNo);
|
|
|
- chgData.setCnclRtnQty(chgData.getOrdQty() - chkCnt); // 취소수량(재고없는수량)
|
|
|
- // insert
|
|
|
- deliveryService.insertTbExchangeDelvFail(chgData);
|
|
|
-
|
|
|
+
|
|
|
+ if ("Y".equals(ShopYn) && "N".equals(ordNoData.getGiftyn())) {
|
|
|
+
|
|
|
+ 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);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } 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(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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //chgData.setRegNo(regNo);
|
|
|
+ chgData.setCnclRtnQty(chgData.getOrdQty() - chkCnt); // 취소수량(재고없는수량)
|
|
|
+ // insert
|
|
|
+ deliveryService.insertTbExchangeDelvFail(chgData);
|
|
|
+
|
|
|
// ddddd
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- if("NAVER_ORDER".equals(ordNoData.getPgGb())) { // 네이버 주문형
|
|
|
-
|
|
|
- // 주문상세번호 조회
|
|
|
- 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);
|
|
|
- if(wmsStock !=null) {
|
|
|
- if(wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
- chkCnt = chkCnt+1;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- 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 { // 일반
|
|
|
- //log.info("last:"+ordNoData.getOrdNo());
|
|
|
- // 주문상세번호 조회
|
|
|
- Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
- int chkCnt = 0;
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
|
|
|
-
|
|
|
- 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(chkCnt > 0) {
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoList) {
|
|
|
-
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if ("NAVER_ORDER".equals(ordNoData.getPgGb())) { // 네이버 주문형
|
|
|
+
|
|
|
+ // 주문상세번호 조회
|
|
|
+ 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);
|
|
|
+ if (wmsStock != null) {
|
|
|
+ if (wmsStock.getLocQty() >= item.getOrdQty()) {
|
|
|
+ chkCnt = chkCnt + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (chkCnt >= itemList.size()) {
|
|
|
+ wmsOrdDtlData.setDelvLocCd(TscConstants.WMS_DELV_LOC_CD);
|
|
|
+
|
|
|
+ // 출고처등록 및 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(TscConstants.WMS_DELV_LOC_CD);
|
|
|
+ wmsOrdDtlData.setDelvArGb("N"); // 수락
|
|
|
+ wmsOrdDtlData.setLocQty(wmsOrdDtlData.getOrdQty());
|
|
|
+ deliveryService.saveDeliveryAssign(wmsOrdDtlData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else { // 일반
|
|
|
+ //log.info("last:"+ordNoData.getOrdNo());
|
|
|
+ // 주문상세번호 조회
|
|
|
+ Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
|
|
|
+ int chkCnt = 0;
|
|
|
+ for (Delivery wmsOrdDtlData : ordDtlNoWmsList) {
|
|
|
+
|
|
|
+ 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 (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 {
|
|
|
- for(Delivery wmsOrdDtlData : ordDtlNoList) {
|
|
|
+ wmsOrdDtlData.setDelvLocCd(TscConstants.WMS_DELV_LOC_CD);
|
|
|
+ // 출고처등록 및 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 {
|
|
|
+ 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)
|
|
|
-
|
|
|
-
|
|
|
- // 5. 출고처 WMS 리스트 조회 후 WMS_IF 테이블에 등록
|
|
|
- // wms 출고처 지정 대상 조회
|
|
|
- // 사은품 조회 차후 작업!!!!
|
|
|
- Collection<Delivery> ordList = deliveryService.getWmsDeliveryOrdNoList();
|
|
|
- for(Delivery ordData : ordList) {
|
|
|
- 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;
|
|
|
- failCnt = 0;
|
|
|
-
|
|
|
- return ordnoList;
|
|
|
+
|
|
|
+ wmsOrdDtlData.setDelvLocCd(TscConstants.WMS_DELV_LOC_CD);
|
|
|
+ // 출고처등록 및 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)
|
|
|
+
|
|
|
+ // 5. 출고처 WMS 리스트 조회 후 WMS_IF 테이블에 등록
|
|
|
+ // wms 출고처 지정 대상 조회
|
|
|
+ // 사은품 조회 차후 작업!!!!
|
|
|
+ Collection<Delivery> ordList = deliveryService.getWmsDeliveryOrdNoList();
|
|
|
+ for (Delivery ordData : ordList) {
|
|
|
+ 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;
|
|
|
+ failCnt = 0;
|
|
|
+
|
|
|
+ return ordnoList;
|
|
|
}
|
|
|
|
|
|
@Override
|