|
|
@@ -9,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import com.style24.core.biz.dao.TscDeliveryDao;
|
|
|
import com.style24.core.biz.dao.TscWmsDao;
|
|
|
+import com.style24.core.biz.thirdparty.HansaeErp;
|
|
|
import com.style24.core.support.env.TscConstants;
|
|
|
import com.style24.persistence.domain.ErpStock;
|
|
|
import com.style24.persistence.domain.Order;
|
|
|
@@ -16,7 +17,6 @@ import com.style24.persistence.domain.WmsDelivery;
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* Wms Service
|
|
|
*
|
|
|
@@ -29,12 +29,15 @@ public class TscWmsService {
|
|
|
|
|
|
@Autowired
|
|
|
private TscWmsDao wmsDao;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private TscDeliveryDao deliveryDao;
|
|
|
|
|
|
+// @Autowired
|
|
|
+// private TscErpService erpService;
|
|
|
+
|
|
|
@Autowired
|
|
|
- private TscErpService erpService;
|
|
|
+ private HansaeErp hansaeErp;
|
|
|
|
|
|
/**
|
|
|
* 실시간 재고조회(WMS&ERP)
|
|
|
@@ -43,8 +46,8 @@ public class TscWmsService {
|
|
|
* @author moon
|
|
|
* @since 2021. 03. 28
|
|
|
*/
|
|
|
- public Collection<WmsDelivery> getRealStock(Integer productNo, String skuCode, String styleCd, String colorCd, String sizeCd) {
|
|
|
-
|
|
|
+ public Collection<WmsDelivery> getRealStock(Integer productNo, String skuCode, String styleCd, String colorCd, String sizeCd) {
|
|
|
+
|
|
|
//// 임시
|
|
|
//productNo = 14475554;
|
|
|
//skuCode = "13096364-5"; // "13096364-5"
|
|
|
@@ -52,41 +55,39 @@ public class TscWmsService {
|
|
|
//colorCd = "CE"; //"CE"
|
|
|
//sizeCd = "150";
|
|
|
//////
|
|
|
-
|
|
|
+
|
|
|
Collection<WmsDelivery> list = new ArrayList();
|
|
|
String chk1 = "N";
|
|
|
String chk2 = "N";
|
|
|
-
|
|
|
-
|
|
|
- WmsDelivery wmsRtn = getWmsRealStock(productNo, skuCode);
|
|
|
-
|
|
|
- Collection<ErpStock> erpRtnList = erpService.getErpRealStock(styleCd, colorCd, sizeCd);
|
|
|
-
|
|
|
- if(wmsRtn != null ) {
|
|
|
+
|
|
|
+ WmsDelivery wmsRtn = getWmsRealStock(productNo, skuCode);
|
|
|
+
|
|
|
+ Collection<ErpStock> erpRtnList = hansaeErp.getErpRealStockList(styleCd, colorCd, sizeCd);
|
|
|
+
|
|
|
+ if (wmsRtn != null) {
|
|
|
list.add(wmsRtn);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
chk1 = "Y";
|
|
|
}
|
|
|
-
|
|
|
- if(erpRtnList != null) {
|
|
|
- for(ErpStock data : erpRtnList) {
|
|
|
+
|
|
|
+ if (erpRtnList != null) {
|
|
|
+ for (ErpStock data : erpRtnList) {
|
|
|
WmsDelivery tmp = new WmsDelivery();
|
|
|
tmp.setStockLoc(data.getStockLoc());
|
|
|
tmp.setLocQty(data.getLocQty());
|
|
|
list.add(tmp);
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
chk2 = "Y";
|
|
|
}
|
|
|
-
|
|
|
- if("Y".equals(chk1) && "Y".equals(chk2)) {
|
|
|
+
|
|
|
+ if ("Y".equals(chk1) && "Y".equals(chk2)) {
|
|
|
list = null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return list;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* WMS 실재고 조회
|
|
|
* @param productNo,skuCode
|
|
|
@@ -95,15 +96,15 @@ public class TscWmsService {
|
|
|
* @since 2021. 03. 15
|
|
|
*/
|
|
|
//@Transactional("wmsTxnManager")
|
|
|
- public WmsDelivery getWmsRealStock(Integer productNo, String skuCode) {
|
|
|
+ public WmsDelivery getWmsRealStock(Integer productNo, String skuCode) {
|
|
|
|
|
|
WmsDelivery wmsRtn = null;
|
|
|
WmsDelivery wmsDelv = new WmsDelivery();
|
|
|
wmsDelv.setProductNo(productNo);
|
|
|
wmsDelv.setSkuCode(skuCode);
|
|
|
wmsDelv.setWhCode(TscConstants.WH_CODE);
|
|
|
-
|
|
|
- log.info("wmsDelv {}"+wmsDelv);
|
|
|
+
|
|
|
+ log.info("wmsDelv {}" + wmsDelv);
|
|
|
wmsRtn = wmsDao.getRealStock(wmsDelv);
|
|
|
|
|
|
return wmsRtn;
|
|
|
@@ -117,16 +118,16 @@ public class TscWmsService {
|
|
|
* @since 2021. 03. 15
|
|
|
*/
|
|
|
public String getCancelYn(Integer ordNo, Integer ordDtlNo) {
|
|
|
-
|
|
|
+
|
|
|
WmsDelivery wmsData = new WmsDelivery();
|
|
|
wmsData.setOrdNo(ordNo);
|
|
|
wmsData.setOrdDtlNo(ordDtlNo);
|
|
|
-
|
|
|
+
|
|
|
String result = wmsDao.getCancelYn(wmsData);
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* WMS 주문취소
|
|
|
* @param Collection<Order>
|
|
|
@@ -140,43 +141,43 @@ public class TscWmsService {
|
|
|
// 세트상품 취소
|
|
|
// 오픈시점 이전 출고data 취소시 --주문상세번호 없음. productNo, skuCode 로 비교
|
|
|
// 사은품 취소
|
|
|
-
|
|
|
+
|
|
|
Integer vOrdNo = null;
|
|
|
- for(Order cData : ordCancelList) {
|
|
|
-
|
|
|
+ for (Order cData : ordCancelList) {
|
|
|
+
|
|
|
vOrdNo = cData.getOrdNo();
|
|
|
-
|
|
|
+
|
|
|
//1. 주문TB 조회 PRODUCT_NO, SKU_CODE 및 세트상품일경우 포함됨.
|
|
|
WmsDelivery inData = new WmsDelivery();
|
|
|
inData.setOrdNo(cData.getOrdNo());
|
|
|
inData.setOrdDtlNo(cData.getOrdDtlNo());
|
|
|
inData.setChgQty(cData.getChgQty());
|
|
|
- Collection<WmsDelivery> ordDtlList = deliveryDao.getOrderDetailItemList(inData);
|
|
|
-
|
|
|
+ Collection<WmsDelivery> ordDtlList = deliveryDao.getOrderDetailItemList(inData);
|
|
|
+
|
|
|
//1-1. WMS_IF (TB_IF_DELIVERYORDERITEM) 에 주문상세번호 있는지 체크 Y: 주문상세번호 null , N:주문상세번호 존재함.
|
|
|
String chkYn = wmsDao.getWmsOrdDtlNoYn(inData);
|
|
|
-
|
|
|
+
|
|
|
//2. WMS_IF (TB_IF_DELIVERYORDERITEM) 주문상세 취소 업데이트
|
|
|
- for(WmsDelivery uData : ordDtlList) {
|
|
|
- if("Y".equals(chkYn)) {
|
|
|
+ for (WmsDelivery uData : ordDtlList) {
|
|
|
+ if ("Y".equals(chkYn)) {
|
|
|
uData.setOrdDtlNo(null);
|
|
|
}
|
|
|
wmsDao.updateWmsIfDeliveryOrderItemCancel(uData);
|
|
|
wmsDao.updateWmsTbIfDelifixQty(uData);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//3. WMS 남은 주문건수 조회 Y: 전체취소 N: 부분취소
|
|
|
WmsDelivery sData = new WmsDelivery();
|
|
|
sData.setOrdNo(vOrdNo);
|
|
|
String cancelChk = wmsDao.getWmsAllCancelYn(sData);
|
|
|
-
|
|
|
+
|
|
|
//4. WMS 남은 주문건수 0일경우 WMS (TB_IF_DELIVERYORDER)주문TB 취소 업데이트 (TB_IF_DELIVERYORDERITEM) 사은품 취소 업데이트
|
|
|
- if("Y".equals(cancelChk)) {
|
|
|
+ if ("Y".equals(cancelChk)) {
|
|
|
wmsDao.updateWmsIfDeliveryOrderCancel(sData);
|
|
|
// 사은품 취소
|
|
|
wmsDao.updateWmsIfDeliveryOrderGiftCancel(sData);
|
|
|
-
|
|
|
+
|
|
|
wmsDao.deleteWmsTbIfDelifixQty(sData);
|
|
|
}
|
|
|
}
|