Jelajahi Sumber

Merge branch 'master' of http://git.ds-bay.com/project/cus-wms-supervise2.0

csk 6 tahun lalu
induk
melakukan
c4c3836994
36 mengubah file dengan 574 tambahan dan 38 penghapusan
  1. 1 0
      build.gradle
  2. 2 0
      src/main/java/com/emato/cus/supervise/biz/OmsData.java
  3. 23 0
      src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpBiz.java
  4. 21 0
      src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpCusData.java
  5. 19 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpDataConversion.java
  6. 23 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsOnSeatCusData.java
  7. 16 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsOnSeatDataConversion.java
  8. 17 0
      src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsSeatBiz.java
  9. 17 0
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoBiz.java
  10. 22 0
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoCusData.java
  11. 15 1
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoDataConversion.java
  12. 29 0
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoOmsData.java
  13. 23 0
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownBiz.java
  14. 22 0
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownCusData.java
  15. 19 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownDataConversion.java
  16. 23 0
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpBiz.java
  17. 21 0
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpCusData.java
  18. 20 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpDataConversion.java
  19. 33 0
      src/main/java/com/emato/cus/supervise/domainOms/OmsCusUnitCode.java
  20. 63 0
      src/main/java/com/emato/cus/supervise/domainOms/OmsProductInfo.java
  21. 21 0
      src/main/java/com/emato/cus/supervise/mapperOms/OmsCusUnitCodeMapper.java
  22. 21 0
      src/main/java/com/emato/cus/supervise/mapperOms/OmsProductInfoMapper.java
  23. 3 0
      src/main/java/com/emato/cus/supervise/service/oms/OmsAcqInventoryInfoService.java
  24. 11 0
      src/main/java/com/emato/cus/supervise/service/oms/impl/OmsAcqInventoryInfoServiceImpl.java
  25. 21 20
      src/main/resources/application.yml
  26. 1 1
      src/main/resources/logback.xml
  27. 1 1
      src/main/resources/mybatis/mapper/wms-acq-goods-move.xml
  28. 1 1
      src/main/resources/mybatis/mapper/wms-acq-goods-on-seat.xml
  29. 1 1
      src/main/resources/mybatis/mapper/wms-acq-inventory-info.xml
  30. 2 2
      src/main/resources/mybatis/mapper/wms-acq-shelf-load.xml
  31. 17 0
      src/main/resources/mybatis/mapperOms/oms-cus-unit-code.xml
  32. 25 0
      src/main/resources/mybatis/mapperOms/oms-product-info.xml
  33. 2 0
      src/main/resources/mybatis/mybatis-config-oms.xml
  34. 6 6
      src/sql/emt-record-time-2.0.sql
  35. 9 0
      上线打包流程.txt
  36. 3 0
      环境切换需要修改的.txt

+ 1 - 0
build.gradle

@@ -18,6 +18,7 @@ buildscript {
 
 apply plugin: 'java'
 apply plugin: 'org.springframework.boot'
+apply plugin: 'war'
 
 group = 'com.emato'
 version = '1.0.0'

+ 2 - 0
src/main/java/com/emato/cus/supervise/biz/OmsData.java

@@ -15,4 +15,6 @@ public interface OmsData {
      * @return
      */
     List getOmsData(List<String> merchSnList);
+
+    List getOmsProductData(List<String> skuList);
 }

+ 23 - 0
src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpBiz.java

@@ -1,10 +1,14 @@
 package com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up;
 
 import com.emato.cus.supervise.biz.CusWmsTask;
+import com.emato.cus.supervise.biz.acqInventoryInfo.AcqInventoryInfoOmsData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domain.WmsAcqGoodsMove;
 import com.emato.cus.supervise.domainCus.CusAcqGoodsMove05;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
+import com.emato.cus.supervise.util.GsonUtil;
 import com.emato.cus.supervise.util.LocalDateTimeUtils;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -36,6 +40,9 @@ public class AcqGoodsMoveUpBiz implements CusWmsTask {
     @Autowired
     private AcqGoodsMoveUpDataConversion acqGoodsMoveUpDataConversion;
 
+    @Autowired
+    private AcqInventoryInfoOmsData acqInventoryInfoOmsData;
+
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getName();
 
 
@@ -65,8 +72,24 @@ public class AcqGoodsMoveUpBiz implements CusWmsTask {
                     oldThisTime);
             return;
         }
+
+        List<String> skuList = Lists.newArrayList();
+        wmsList.forEach(i -> skuList.add(i.getSkuNo()));
+
+        List<OmsProductInfo> productList = acqInventoryInfoOmsData.getOmsProductData(skuList);
+
+        if (productList == null || productList.isEmpty()) {
+            logger.error("oms扫描到的数据" + GsonUtil.toJson(productList));
+            logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描OMS数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqGoodsMoveUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    oldThisTime);
+            return;
+        }
+
         Map params = Maps.newHashMap();
         params.put("wmsList",wmsList);
+        params.put("productInfoList", productList);
         //将wms数据转换cus
         List<CusAcqGoodsMove05> cusList = acqGoodsMoveUpDataConversion.conversion(params);
 

+ 21 - 0
src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpCusData.java

@@ -3,13 +3,19 @@ package com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up;
 import com.emato.cus.supervise.biz.CusData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domainCus.CusAcqGoodsMove05;
+import com.emato.cus.supervise.domainCus.CusAcqGoodsSeat06;
+import com.emato.cus.supervise.domainOms.OmsCusUnitCode;
+import com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper;
 import com.emato.cus.supervise.service.cus.CusAcqGoodsMoveService05;
+import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 货物库位移动数据 业务 CUS
@@ -25,6 +31,8 @@ public class AcqGoodsMoveUpCusData implements CusData {
 
     @Autowired
     private CusAcqGoodsMoveService05 cusAcqGoodsMoveService05;
+    @Autowired
+    private OmsCusUnitCodeMapper omsCusUnitCodeMapper;
 
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getName();
 
@@ -35,6 +43,19 @@ public class AcqGoodsMoveUpCusData implements CusData {
 
         List<CusAcqGoodsMove05> cusList = (List<CusAcqGoodsMove05>) list;
 
+        List<String> gUnitNameList = Lists.newArrayList();
+        cusList.forEach(i -> gUnitNameList.add(i.getgUnit()));
+
+        List<OmsCusUnitCode> codeList = omsCusUnitCodeMapper.getOmsCusUnitCodeList(gUnitNameList);
+        Map<String,OmsCusUnitCode> omsCusUnitCodeMap = codeList.stream().collect(Collectors.toMap(k->k.getgUnitName(), v->v));
+
+        for (CusAcqGoodsMove05 seat:cusList) {
+            OmsCusUnitCode omsProductInfo = omsCusUnitCodeMap.get(seat.getgUnit());
+            if(omsProductInfo != null) {
+                seat.setgUnit(omsProductInfo.getgUnitCode());
+            }
+        }
+
         int result = cusAcqGoodsMoveService05.addCusAcqGoodsMove05(cusList);
 
         logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);

+ 19 - 1
src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpDataConversion.java

@@ -4,6 +4,7 @@ import com.emato.cus.supervise.biz.DataConversion;
 import com.emato.cus.supervise.constant.Dict;
 import com.emato.cus.supervise.domain.WmsAcqGoodsMove;
 import com.emato.cus.supervise.domainCus.CusAcqGoodsMove05;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -13,6 +14,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author zengjunlin
@@ -34,11 +36,18 @@ public class AcqGoodsMoveUpDataConversion implements DataConversion {
     public List conversion(Map params) {
         logger.info("开始转换oms,wms 组装cus数据===========================");
         List<WmsAcqGoodsMove> wmsList = (List<WmsAcqGoodsMove>) params.get("wmsList");
+
+        List<OmsProductInfo> productInfoList = (List<OmsProductInfo>) params.get("productInfoList");
+        final Map<String,OmsProductInfo> omsProductInfoMap = productInfoList.stream().collect(Collectors.toMap(k->k.getSkuNo(), v->v));
+
         List<CusAcqGoodsMove05> cusAcqGoodsMove05List = Lists.newArrayList();
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
         for (int i = 0; i < wmsList.size(); i++) {
             WmsAcqGoodsMove wmsAcqGoodsMove = wmsList.get(i);
+
+            OmsProductInfo omsProductInfo = omsProductInfoMap.get(wmsAcqGoodsMove.getSkuNo());
+
             CusAcqGoodsMove05 cusAcqGoodsMove05 = new CusAcqGoodsMove05();
             cusAcqGoodsMove05.setId(wmsAcqGoodsMove.getId());
             if("上架".equals(wmsAcqGoodsMove.getTaskType())){
@@ -50,7 +59,9 @@ public class AcqGoodsMoveUpDataConversion implements DataConversion {
             cusAcqGoodsMove05.setTargetSeatNo(wmsAcqGoodsMove.getTargetSeatNo());
             cusAcqGoodsMove05.setOriginSeatNo(wmsAcqGoodsMove.getOriginSeatNo());
             cusAcqGoodsMove05.setGoodsName(wmsAcqGoodsMove.getGoodsName());
-            cusAcqGoodsMove05.setCodeTs(wmsAcqGoodsMove.getCodeTs());
+
+//            cusAcqGoodsMove05.setCodeTs(wmsAcqGoodsMove.getCodeTs());
+
             cusAcqGoodsMove05.setSkuNo(wmsAcqGoodsMove.getSkuNo());
             cusAcqGoodsMove05.setGoodsId(wmsAcqGoodsMove.getGoodsId());
             cusAcqGoodsMove05.setgUnit(wmsAcqGoodsMove.getgUnit());
@@ -64,6 +75,13 @@ public class AcqGoodsMoveUpDataConversion implements DataConversion {
             cusAcqGoodsMove05.setStoreCustomsCode(Dict.storeCustomsCode);
             cusAcqGoodsMove05.setStoreCode(Dict.storeCode);
             cusAcqGoodsMove05.setCreateTime(LocalDateTime.now());
+            cusAcqGoodsMove05.setCreaterSn("1");
+            cusAcqGoodsMove05.setModerSn("1");
+            cusAcqGoodsMove05.setModTime(LocalDateTime.now());
+            cusAcqGoodsMove05.setLegalQty(omsProductInfo.getLegalQyt());
+            cusAcqGoodsMove05.setLegalUnit(omsProductInfo.getLegalUnit());
+            cusAcqGoodsMove05.setGoodsModel(omsProductInfo.getGoodsModel());
+            cusAcqGoodsMove05.setCodeTs(omsProductInfo.getCodeTs());
             cusAcqGoodsMove05List.add(cusAcqGoodsMove05);
         }
         logger.info("转换oms,wms 组装cus数据结束===========================");

+ 23 - 1
src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsOnSeatCusData.java

@@ -2,13 +2,19 @@ package com.emato.cus.supervise.biz.acqGoodsSeat;
 
 import com.emato.cus.supervise.biz.CusData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
-import com.emato.cus.supervise.domain.WmsAcqGoodsOnSeat;
 import com.emato.cus.supervise.domainCus.CusAcqGoodsSeat06;
+import com.emato.cus.supervise.domainOms.OmsCusUnitCode;
+import com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper;
 import com.emato.cus.supervise.service.cus.CusAcqGoodsSeatService06;
+import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 
 import java.util.List;
 
@@ -25,6 +31,9 @@ public class AcqGoodsOnSeatCusData implements CusData {
     @Autowired
     private CusAcqGoodsSeatService06 cusAcqGoodsSeatService06;
 
+    @Autowired
+    private OmsCusUnitCodeMapper omsCusUnitCodeMapper;
+
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_ON_SEAT.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_ON_SEAT.getName();
 
 
@@ -34,6 +43,19 @@ public class AcqGoodsOnSeatCusData implements CusData {
 
         List<CusAcqGoodsSeat06> cusList = (List<CusAcqGoodsSeat06>) list;
 
+        List<String> gUnitNameList = Lists.newArrayList();
+        cusList.forEach(i -> gUnitNameList.add(i.getgUnit()));
+
+        List<OmsCusUnitCode> codeList = omsCusUnitCodeMapper.getOmsCusUnitCodeList(gUnitNameList);
+        Map<String,OmsCusUnitCode> omsCusUnitCodeMap = codeList.stream().collect(Collectors.toMap(k->k.getgUnitName(), v->v));
+
+        for (CusAcqGoodsSeat06 seat:cusList) {
+            OmsCusUnitCode omsProductInfo = omsCusUnitCodeMap.get(seat.getgUnit());
+            if(omsProductInfo != null) {
+                seat.setgUnit(omsProductInfo.getgUnitCode());
+            }
+        }
+
         int result = cusAcqGoodsSeatService06.addCusAcqGoodsSeat06(cusList);
 
         logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);

+ 16 - 1
src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsOnSeatDataConversion.java

@@ -5,6 +5,7 @@ import com.emato.cus.supervise.constant.Dict;
 import com.emato.cus.supervise.domain.WmsAcqGoodsOnSeat;
 import com.emato.cus.supervise.domainCus.CusAcqGoodsSeat06;
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -39,18 +40,24 @@ public class AcqGoodsOnSeatDataConversion implements DataConversion{
         List<OmsAcqInventoryInfo> omsList = (List<OmsAcqInventoryInfo>) params.get("omsList");
 
         final Map<String,OmsAcqInventoryInfo> omsAcqInventoryInfoMap = omsList.stream().collect(Collectors.toMap(k->k.getMerchSn(), v->v));
+
+
+        List<OmsProductInfo> productInfoList = (List<OmsProductInfo>) params.get("productInfoList");
+        final Map<String,OmsProductInfo> omsProductInfoMap = productInfoList.stream().collect(Collectors.toMap(k->k.getSkuNo(), v->v));
+
         List<CusAcqGoodsSeat06> cusAcqGoodsSeat06List = Lists.newArrayList();
 
         for (int i = 0; i < wmsList.size(); i++) {
             try{
                 WmsAcqGoodsOnSeat wmsAcqGoodsOnSeat = wmsList.get(i);
                 OmsAcqInventoryInfo omsAcqInventoryInfo = omsAcqInventoryInfoMap.get(wmsAcqGoodsOnSeat.getMerchSn());
+                OmsProductInfo omsProductInfo = omsProductInfoMap.get(wmsAcqGoodsOnSeat.getSkuNo());
 
                 CusAcqGoodsSeat06 cusAcqGoodsSeat06 = new CusAcqGoodsSeat06();
                 cusAcqGoodsSeat06.setId(wmsAcqGoodsOnSeat.getId());
                 cusAcqGoodsSeat06.setSeatNo(wmsAcqGoodsOnSeat.getSeatNo());
                 cusAcqGoodsSeat06.setGoodsName(wmsAcqGoodsOnSeat.getGoodsName());
-                cusAcqGoodsSeat06.setCodeTs(wmsAcqGoodsOnSeat.getCodeTs());
+//                cusAcqGoodsSeat06.setCodeTs(wmsAcqGoodsOnSeat.getCodeTs());
                 cusAcqGoodsSeat06.setFormNoDec(wmsAcqGoodsOnSeat.getFormNoDec());
                 cusAcqGoodsSeat06.setFormNo(wmsAcqGoodsOnSeat.getFormNo());
                 cusAcqGoodsSeat06.setSkuNo(wmsAcqGoodsOnSeat.getSkuNo());
@@ -61,6 +68,7 @@ public class AcqGoodsOnSeatDataConversion implements DataConversion{
                 cusAcqGoodsSeat06.setLegalQty(wmsAcqGoodsOnSeat.getLegalQty());
                 cusAcqGoodsSeat06.setGoodsModel(wmsAcqGoodsOnSeat.getGoodsModel());
                 cusAcqGoodsSeat06.setLocalEmsNo(Dict.localEmsNo);
+                // TODO: 2018/5/8 此处存在问题:如wms的商户编号数据与oms的商户编号数据不统一,则会报空指针异常
                 cusAcqGoodsSeat06.setOwnerCode(omsAcqInventoryInfo.getOwnerCode());
                 cusAcqGoodsSeat06.setOwnerName(omsAcqInventoryInfo.getOwnerName());
                 cusAcqGoodsSeat06.setStoreCompanyName(Dict.storeCompanyName);
@@ -68,6 +76,13 @@ public class AcqGoodsOnSeatDataConversion implements DataConversion{
                 cusAcqGoodsSeat06.setStoreCustomsCode(Dict.storeCustomsCode);
                 cusAcqGoodsSeat06.setStoreCode(Dict.storeCode);
                 cusAcqGoodsSeat06.setCreateTime(LocalDateTime.now());
+                cusAcqGoodsSeat06.setCreaterSn("1");
+                cusAcqGoodsSeat06.setModerSn("1");
+                cusAcqGoodsSeat06.setModTime(LocalDateTime.now());
+                cusAcqGoodsSeat06.setLegalQty(omsProductInfo.getLegalQyt());
+                cusAcqGoodsSeat06.setLegalUnit(omsProductInfo.getLegalUnit());
+                cusAcqGoodsSeat06.setGoodsModel(omsProductInfo.getGoodsModel());
+                cusAcqGoodsSeat06.setCodeTs(omsProductInfo.getCodeTs());
                 cusAcqGoodsSeat06List.add(cusAcqGoodsSeat06);
             }catch (Exception e){
                 logger.error("库位货物组装cus数据系统异常", e);

+ 17 - 0
src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsSeatBiz.java

@@ -4,7 +4,10 @@ import com.emato.cus.supervise.biz.CusWmsTask;
 import com.emato.cus.supervise.biz.acqInventoryInfo.AcqInventoryInfoOmsData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domain.WmsAcqGoodsOnSeat;
+import com.emato.cus.supervise.domainCus.CusAcqGoodsSeat06;
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
+import com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper;
 import com.emato.cus.supervise.util.GsonUtil;
 import com.emato.cus.supervise.util.LocalDateTimeUtils;
 import com.google.common.collect.Lists;
@@ -87,9 +90,23 @@ public class AcqGoodsSeatBiz implements CusWmsTask {
                     oldThisTime);
             return;
         }
+        List<String> skuList = Lists.newArrayList();
+        wmsList.forEach(i -> skuList.add(i.getSkuNo()));
+
+        List<OmsProductInfo> productList = acqInventoryInfoOmsData.getOmsProductData(skuList);
+
+        if (productList == null || productList.isEmpty()) {
+            logger.error("oms扫描到的数据" + GsonUtil.toJson(productList));
+            logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描OMS数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqGoodsOnSeatRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    oldThisTime);
+            return;
+        }
         Map params = Maps.newHashMap();
         params.put("wmsList", wmsList);
         params.put("omsList", omsList);
+        params.put("productInfoList", productList);
         List cusList = acqGoodsOnSeatDataConversion.conversion(params);
         // 写CUS 数据
         int res = acqGoodsOnSeatCusData.insertCus(cusList);

+ 17 - 0
src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoBiz.java

@@ -5,6 +5,7 @@ import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domain.WmsAcqInventoryInfo;
 import com.emato.cus.supervise.domainCus.CusAcqInventoryInfo03;
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.emato.cus.supervise.util.GsonUtil;
 import com.emato.cus.supervise.util.LocalDateTimeUtils;
 import com.google.common.collect.Lists;
@@ -87,9 +88,25 @@ public class AcqInventoryInfoBiz implements CusWmsTask {
                     oldThisTime);
             return;
         }
+
+        List<String> skuList = Lists.newArrayList();
+        wmsList.forEach(i -> skuList.add(i.getCodeTs()));
+
+        List<OmsProductInfo> productList = acqInventoryInfoOmsData.getOmsProductData(skuList);
+
+        if (productList == null || productList.isEmpty()) {
+            logger.error("oms扫描到的数据" + GsonUtil.toJson(productList));
+            logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描OMS数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqInventoryInfoRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    oldThisTime);
+            return;
+        }
+
         Map params = Maps.newHashMap();
         params.put("wmsList", wmsList);
         params.put("omsList", omsList);
+        params.put("productInfoList", productList);
 
         //oms和wms数据,转成海关数据
         List<CusAcqInventoryInfo03> cusAcqInventoryInfo03List = acqInventoryInfoDataConversion.conversion(params);

+ 22 - 0
src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoCusData.java

@@ -2,14 +2,20 @@ package com.emato.cus.supervise.biz.acqInventoryInfo;
 
 import com.emato.cus.supervise.biz.CusData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
+import com.emato.cus.supervise.domainCus.CusAcqGoodsMove05;
 import com.emato.cus.supervise.domainCus.CusAcqInventoryInfo03;
+import com.emato.cus.supervise.domainOms.OmsCusUnitCode;
+import com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper;
 import com.emato.cus.supervise.service.cus.CusAcqInventoryInfoService03;
+import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author zengjunlin
@@ -23,6 +29,8 @@ public class AcqInventoryInfoCusData implements CusData {
 
     @Autowired
     private CusAcqInventoryInfoService03 cusAcqInventoryInfoService03;
+    @Autowired
+    private OmsCusUnitCodeMapper omsCusUnitCodeMapper;
 
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.I_ACQ_INVENTORY_INFO.getCode() + "]" + EmtRecordTimeEnum.I_ACQ_INVENTORY_INFO.getName();
 
@@ -32,6 +40,20 @@ public class AcqInventoryInfoCusData implements CusData {
         logger.info("---------- 货物库存数据::写入本次监控数据开始 --------------------");
 
         List<CusAcqInventoryInfo03> cusList = ( List<CusAcqInventoryInfo03>)list;
+
+        List<String> gUnitNameList = Lists.newArrayList();
+        cusList.forEach(i -> gUnitNameList.add(i.getGUnit()));
+
+        List<OmsCusUnitCode> codeList = omsCusUnitCodeMapper.getOmsCusUnitCodeList(gUnitNameList);
+        Map<String,OmsCusUnitCode> omsCusUnitCodeMap = codeList.stream().collect(Collectors.toMap(k->k.getgUnitName(), v->v));
+
+        for (CusAcqInventoryInfo03 seat:cusList) {
+            OmsCusUnitCode omsProductInfo = omsCusUnitCodeMap.get(seat.getGUnit());
+            if(omsProductInfo != null) {
+                seat.setGUnit(omsProductInfo.getgUnitCode());
+            }
+        }
+
         int result = cusAcqInventoryInfoService03.addCusAcqInventoryInfo(cusList);
 
         logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);

+ 15 - 1
src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoDataConversion.java

@@ -5,6 +5,7 @@ import com.emato.cus.supervise.constant.Dict;
 import com.emato.cus.supervise.domain.WmsAcqInventoryInfo;
 import com.emato.cus.supervise.domainCus.CusAcqInventoryInfo03;
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.slf4j.Logger;
@@ -42,6 +43,9 @@ public class AcqInventoryInfoDataConversion implements DataConversion {
 
         final Map<String,OmsAcqInventoryInfo> omsAcqInventoryInfoMap = omsList.stream().collect(Collectors.toMap(k->k.getMerchSn(),v->v));
 
+        List<OmsProductInfo> productInfoList = (List<OmsProductInfo>) params.get("productInfoList");
+        final Map<String,OmsProductInfo> omsProductInfoMap = productInfoList.stream().collect(Collectors.toMap(k->k.getSkuNo(), v->v));
+
         List<CusAcqInventoryInfo03> cusAcqInventoryInfo03List = Lists.newArrayList();
 
         for (int i = 0; i < wmsList.size(); i++) {
@@ -49,10 +53,13 @@ public class AcqInventoryInfoDataConversion implements DataConversion {
                 WmsAcqInventoryInfo wmsAcqInventoryInfo = wmsList.get(i);
                 OmsAcqInventoryInfo omsAcqInventoryInfo = omsAcqInventoryInfoMap.get(wmsAcqInventoryInfo.getMerchSn());
 
+                OmsProductInfo omsProductInfo = omsProductInfoMap.get(wmsAcqInventoryInfo.getCodeTs());
+
                 CusAcqInventoryInfo03 cusAcqInventoryInfo03 = new CusAcqInventoryInfo03();
                 cusAcqInventoryInfo03.setGoodsName(wmsAcqInventoryInfo.getGoodsName());
                 //wms codeTs(商品编码) = 料件号,sku
-                cusAcqInventoryInfo03.setCodeTs(wmsAcqInventoryInfo.getCodeTs());
+//                cusAcqInventoryInfo03.setCodeTs(wmsAcqInventoryInfo.getCodeTs());
+
                 cusAcqInventoryInfo03.setSkuNo(wmsAcqInventoryInfo.getCodeTs());
                 cusAcqInventoryInfo03.setGoodsId(wmsAcqInventoryInfo.getCodeTs());
 
@@ -74,6 +81,13 @@ public class AcqInventoryInfoDataConversion implements DataConversion {
                 cusAcqInventoryInfo03.setStoreCustomsCode(Dict.storeCustomsCode);
                 cusAcqInventoryInfo03.setStoreCode(Dict.storeCode);
                 cusAcqInventoryInfo03.setCreateTime(LocalDateTime.now());
+                cusAcqInventoryInfo03.setCreaterSn("1");
+                cusAcqInventoryInfo03.setModerSn("1");
+                cusAcqInventoryInfo03.setModTime(LocalDateTime.now());
+                cusAcqInventoryInfo03.setLegalQty(omsProductInfo.getLegalQyt());
+                cusAcqInventoryInfo03.setLegalUnit(omsProductInfo.getLegalUnit());
+                cusAcqInventoryInfo03.setGoodsModel(omsProductInfo.getGoodsModel());
+                cusAcqInventoryInfo03.setCodeTs(omsProductInfo.getCodeTs());
                 cusAcqInventoryInfo03List.add(cusAcqInventoryInfo03);
 
             }catch (Exception e){

+ 29 - 0
src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoOmsData.java

@@ -3,6 +3,7 @@ package com.emato.cus.supervise.biz.acqInventoryInfo;
 import com.emato.cus.supervise.biz.OmsData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.emato.cus.supervise.service.oms.impl.OmsAcqInventoryInfoServiceImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -55,4 +56,32 @@ public class AcqInventoryInfoOmsData implements OmsData {
         logger.info("---------- 查询Oms数据结束 --------------------");
         return resultList;
     }
+    /**
+     * 获取oms 产品数据
+     *
+     * @param skuList
+     * @return
+     */
+    @Override
+    public List getOmsProductData(List<String> skuList) {
+        logger.info("---------- 查询Oms产品数据开始 --------------------");
+
+        if (skuList == null || skuList.isEmpty()) {
+            String err = "---【" + DATA_TYPE_INFO + "】本次商户编号集合为空.";
+            logger.error(err);
+            return Collections.EMPTY_LIST;
+        }
+
+        List<OmsProductInfo> resultList = omsAcqInventoryInfoService.getOmsProductInfoList(skuList);
+        if (resultList == null || resultList.size() == 0) {
+            String err = "---【" + DATA_TYPE_INFO + "】获取本次OMS监控产品数据为空.";
+            logger.error(err);
+            return Collections.EMPTY_LIST;
+        }
+
+        logger.info("---【" + DATA_TYPE_INFO + "】获取本数据{}条.", resultList.size());
+
+        logger.info("---------- 查询Oms产品数据结束 --------------------");
+        return resultList;
+    }
 }

+ 23 - 0
src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownBiz.java

@@ -1,10 +1,14 @@
 package com.emato.cus.supervise.biz.acqShelfLoad.down;
 
 import com.emato.cus.supervise.biz.CusWmsTask;
+import com.emato.cus.supervise.biz.acqInventoryInfo.AcqInventoryInfoOmsData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domain.WmsAcqShelfLoad;
 import com.emato.cus.supervise.domainCus.CusAcqShelfLoad04;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
+import com.emato.cus.supervise.util.GsonUtil;
 import com.emato.cus.supervise.util.LocalDateTimeUtils;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -39,6 +43,9 @@ public class AcqShelfLoadDownBiz implements CusWmsTask{
     @Autowired
     private AcqShelfLoadDownDataConversion acqShelfLoadDownDataConversion;
 
+    @Autowired
+    private AcqInventoryInfoOmsData acqInventoryInfoOmsData;
+
     /**
      * 任务入口
      */
@@ -63,8 +70,24 @@ public class AcqShelfLoadDownBiz implements CusWmsTask{
                     oldThisTime);
             return;
         }
+
+        List<String> skuList = Lists.newArrayList();
+        wmsList.forEach(i -> skuList.add(i.getSkuNo()));
+
+        List<OmsProductInfo> productList = acqInventoryInfoOmsData.getOmsProductData(skuList);
+
+        if (productList == null || productList.isEmpty()) {
+            logger.error("oms扫描到的数据" + GsonUtil.toJson(productList));
+            logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描OMS数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqShelfLoadDownRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    oldThisTime);
+            return;
+        }
+
         Map params = Maps.newHashMap();
         params.put("wmsList",wmsList);
+        params.put("productInfoList", productList);
         //组装CUS 数据
         List<CusAcqShelfLoad04> cusList = acqShelfLoadDownDataConversion.conversion(params);
 

+ 22 - 0
src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownCusData.java

@@ -3,13 +3,18 @@ package com.emato.cus.supervise.biz.acqShelfLoad.down;
 import com.emato.cus.supervise.biz.CusData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domainCus.CusAcqShelfLoad04;
+import com.emato.cus.supervise.domainOms.OmsCusUnitCode;
+import com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper;
 import com.emato.cus.supervise.service.cus.CusAcqShelfLoadService04;
+import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 货物上下架数据 下架 CUS
@@ -24,6 +29,9 @@ public class AcqShelfLoadDownCusData implements CusData {
     @Autowired
     private CusAcqShelfLoadService04 cusAcqShelfLoadService04;
 
+    @Autowired
+    private OmsCusUnitCodeMapper omsCusUnitCodeMapper;
+
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_SHELF_LOAD_DOWN.getCode() + "]" + EmtRecordTimeEnum.ACQ_SHELF_LOAD_DOWN.getName();
 
 
@@ -33,6 +41,20 @@ public class AcqShelfLoadDownCusData implements CusData {
 
         List<CusAcqShelfLoad04> cusList = (List<CusAcqShelfLoad04>) list;
 
+
+        List<String> gUnitNameList = Lists.newArrayList();
+        cusList.forEach(i -> gUnitNameList.add(i.getgUnit()));
+
+        List<OmsCusUnitCode> codeList = omsCusUnitCodeMapper.getOmsCusUnitCodeList(gUnitNameList);
+        Map<String,OmsCusUnitCode> omsCusUnitCodeMap = codeList.stream().collect(Collectors.toMap(k->k.getgUnitName(), v->v));
+
+        for (CusAcqShelfLoad04 seat:cusList) {
+            OmsCusUnitCode omsProductInfo = omsCusUnitCodeMap.get(seat.getgUnit());
+            if(omsProductInfo != null) {
+                seat.setgUnit(omsProductInfo.getgUnitCode());
+            }
+        }
+
         int result = cusAcqShelfLoadService04.addCusAcqShelfLoad04(cusList);
 
         logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);

+ 19 - 1
src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownDataConversion.java

@@ -4,6 +4,7 @@ import com.emato.cus.supervise.biz.DataConversion;
 import com.emato.cus.supervise.constant.Dict;
 import com.emato.cus.supervise.domain.WmsAcqShelfLoad;
 import com.emato.cus.supervise.domainCus.CusAcqShelfLoad04;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Component;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  *
@@ -36,12 +38,21 @@ public class AcqShelfLoadDownDataConversion implements DataConversion {
         logger.info("开始转换oms,wms 组装cus数据===========================");
         List<WmsAcqShelfLoad> wmsList = (List<WmsAcqShelfLoad>) params.get("wmsList");
         List<CusAcqShelfLoad04> cusAcqShelfLoad04List = Lists.newArrayList();
+
+        List<OmsProductInfo> productInfoList = (List<OmsProductInfo>) params.get("productInfoList");
+        final Map<String,OmsProductInfo> omsProductInfoMap = productInfoList.stream().collect(Collectors.toMap(k->k.getSkuNo(), v->v));
+
         for (int i = 0; i < wmsList.size(); i++) {
             WmsAcqShelfLoad wmsAcqShelfLoad = wmsList.get(i);
+
+            OmsProductInfo omsProductInfo = omsProductInfoMap.get(wmsAcqShelfLoad.getSkuNo());
+
             CusAcqShelfLoad04 cusAcqShelfLoad04 = new CusAcqShelfLoad04();
             cusAcqShelfLoad04.setId(wmsAcqShelfLoad.getId());
             cusAcqShelfLoad04.setGoodsName(wmsAcqShelfLoad.getGoodsName());
-            cusAcqShelfLoad04.setCodeTs(wmsAcqShelfLoad.getCodeTs());
+
+//            cusAcqShelfLoad04.setCodeTs(wmsAcqShelfLoad.getCodeTs());
+
             cusAcqShelfLoad04.setFormNoDec(wmsAcqShelfLoad.getFormNoDec());
             cusAcqShelfLoad04.setFormNo(wmsAcqShelfLoad.getFormNo());
             cusAcqShelfLoad04.setSkuNo(wmsAcqShelfLoad.getSkuNo());
@@ -60,6 +71,13 @@ public class AcqShelfLoadDownDataConversion implements DataConversion {
             cusAcqShelfLoad04.setStoreCustomsCode(Dict.storeCustomsCode);
             cusAcqShelfLoad04.setStoreCode(Dict.storeCode);
             cusAcqShelfLoad04.setCreateTime(LocalDateTime.now());
+            cusAcqShelfLoad04.setCreaterSn("1");
+            cusAcqShelfLoad04.setModerSn("1");
+            cusAcqShelfLoad04.setModTime(LocalDateTime.now());
+            cusAcqShelfLoad04.setLegalQty(omsProductInfo.getLegalQyt());
+            cusAcqShelfLoad04.setLegalUnit(omsProductInfo.getLegalUnit());
+            cusAcqShelfLoad04.setGoodsModel(omsProductInfo.getGoodsModel());
+            cusAcqShelfLoad04.setCodeTs(omsProductInfo.getCodeTs());
             cusAcqShelfLoad04List.add(cusAcqShelfLoad04);
         }
         logger.info("转换oms,wms 组装cus数据结束===========================");

+ 23 - 0
src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpBiz.java

@@ -1,10 +1,14 @@
 package com.emato.cus.supervise.biz.acqShelfLoad.up;
 
 import com.emato.cus.supervise.biz.CusWmsTask;
+import com.emato.cus.supervise.biz.acqInventoryInfo.AcqInventoryInfoOmsData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
 import com.emato.cus.supervise.domain.WmsAcqShelfLoad;
 import com.emato.cus.supervise.domainCus.CusAcqShelfLoad04;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
+import com.emato.cus.supervise.util.GsonUtil;
 import com.emato.cus.supervise.util.LocalDateTimeUtils;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -39,6 +43,9 @@ public class AcqShelfLoadUpBiz implements CusWmsTask{
     @Autowired
     private AcqShelfLoadUpDataConversion acqShelfLoadUpDataConversion;
 
+    @Autowired
+    private AcqInventoryInfoOmsData acqInventoryInfoOmsData;
+
     /**
      * 任务入口
      */
@@ -64,8 +71,24 @@ public class AcqShelfLoadUpBiz implements CusWmsTask{
                     oldThisTime);
             return;
         }
+
+        List<String> skuList = Lists.newArrayList();
+        wmsList.forEach(i -> skuList.add(i.getSkuNo()));
+
+        List<OmsProductInfo> productList = acqInventoryInfoOmsData.getOmsProductData(skuList);
+
+        if (productList == null || productList.isEmpty()) {
+            logger.error("oms扫描到的数据" + GsonUtil.toJson(productList));
+            logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描OMS数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqShelfLoadUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    oldThisTime);
+            return;
+        }
+
         Map params = Maps.newHashMap();
         params.put("wmsList",wmsList);
+        params.put("productInfoList", productList);
         //组装CUS 数据
         List<CusAcqShelfLoad04> cusList = acqShelfLoadUpDataConversion.conversion(params);
 

+ 21 - 0
src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpCusData.java

@@ -2,14 +2,20 @@ package com.emato.cus.supervise.biz.acqShelfLoad.up;
 
 import com.emato.cus.supervise.biz.CusData;
 import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
+import com.emato.cus.supervise.domainCus.CusAcqGoodsSeat06;
 import com.emato.cus.supervise.domainCus.CusAcqShelfLoad04;
+import com.emato.cus.supervise.domainOms.OmsCusUnitCode;
+import com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper;
 import com.emato.cus.supervise.service.cus.CusAcqShelfLoadService04;
+import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 货物上下架数据 上架 CUS
@@ -23,6 +29,8 @@ public class AcqShelfLoadUpCusData implements CusData {
 
     @Autowired
     private CusAcqShelfLoadService04 cusAcqShelfLoadService04;
+    @Autowired
+    private OmsCusUnitCodeMapper omsCusUnitCodeMapper;
 
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_SHELF_LOAD.getCode() + "]" + EmtRecordTimeEnum.ACQ_SHELF_LOAD.getName();
 
@@ -33,6 +41,19 @@ public class AcqShelfLoadUpCusData implements CusData {
 
         List<CusAcqShelfLoad04> cusList = (List<CusAcqShelfLoad04>) list;
 
+        List<String> gUnitNameList = Lists.newArrayList();
+        cusList.forEach(i -> gUnitNameList.add(i.getgUnit()));
+
+        List<OmsCusUnitCode> codeList = omsCusUnitCodeMapper.getOmsCusUnitCodeList(gUnitNameList);
+        Map<String,OmsCusUnitCode> omsCusUnitCodeMap = codeList.stream().collect(Collectors.toMap(k->k.getgUnitName(), v->v));
+
+        for (CusAcqShelfLoad04 seat:cusList) {
+            OmsCusUnitCode omsProductInfo = omsCusUnitCodeMap.get(seat.getgUnit());
+            if(omsProductInfo != null) {
+                seat.setgUnit(omsProductInfo.getgUnitCode());
+            }
+        }
+
         int result = cusAcqShelfLoadService04.addCusAcqShelfLoad04(cusList);
 
         logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);

+ 20 - 1
src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpDataConversion.java

@@ -4,6 +4,7 @@ import com.emato.cus.supervise.biz.DataConversion;
 import com.emato.cus.supervise.constant.Dict;
 import com.emato.cus.supervise.domain.WmsAcqShelfLoad;
 import com.emato.cus.supervise.domainCus.CusAcqShelfLoad04;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Component;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  *
@@ -37,13 +39,23 @@ public class AcqShelfLoadUpDataConversion implements DataConversion {
         List<WmsAcqShelfLoad> wmsList = (List<WmsAcqShelfLoad>) params.get("wmsList");
         //List<OmsAcqInventoryInfo> omsList = (List<OmsAcqInventoryInfo>) params.get("omsList");
         //final Map<String,OmsAcqInventoryInfo> omsAcqInventoryInfoMap = omsList.stream().collect(Collectors.toMap(k->k.getMerchSn(), v->v));
+
+        List<OmsProductInfo> productInfoList = (List<OmsProductInfo>) params.get("productInfoList");
+        final Map<String,OmsProductInfo> omsProductInfoMap = productInfoList.stream().collect(Collectors.toMap(k->k.getSkuNo(), v->v));
+
         List<CusAcqShelfLoad04> cusAcqShelfLoad04List = Lists.newArrayList();
         for (int i = 0; i < wmsList.size(); i++) {
             WmsAcqShelfLoad wmsAcqShelfLoad = wmsList.get(i);
+
+            OmsProductInfo omsProductInfo = omsProductInfoMap.get(wmsAcqShelfLoad.getSkuNo());
+
             CusAcqShelfLoad04 cusAcqShelfLoad04 = new CusAcqShelfLoad04();
             cusAcqShelfLoad04.setId(wmsAcqShelfLoad.getId());
+
+//            cusAcqShelfLoad04.setCodeTs(wmsAcqShelfLoad.getCodeTs());
+
             cusAcqShelfLoad04.setGoodsName(wmsAcqShelfLoad.getGoodsName());
-            cusAcqShelfLoad04.setCodeTs(wmsAcqShelfLoad.getCodeTs());
+
             cusAcqShelfLoad04.setFormNoDec(wmsAcqShelfLoad.getFormNoDec());
             cusAcqShelfLoad04.setFormNo(wmsAcqShelfLoad.getFormNo());
             cusAcqShelfLoad04.setSkuNo(wmsAcqShelfLoad.getSkuNo());
@@ -62,6 +74,13 @@ public class AcqShelfLoadUpDataConversion implements DataConversion {
             cusAcqShelfLoad04.setStoreCustomsCode(Dict.storeCustomsCode);
             cusAcqShelfLoad04.setStoreCode(Dict.storeCode);
             cusAcqShelfLoad04.setCreateTime(LocalDateTime.now());
+            cusAcqShelfLoad04.setCreaterSn("1");
+            cusAcqShelfLoad04.setModerSn("1");
+            cusAcqShelfLoad04.setModTime(LocalDateTime.now());
+            cusAcqShelfLoad04.setLegalQty(omsProductInfo.getLegalQyt());
+            cusAcqShelfLoad04.setLegalUnit(omsProductInfo.getLegalUnit());
+            cusAcqShelfLoad04.setGoodsModel(omsProductInfo.getGoodsModel());
+            cusAcqShelfLoad04.setCodeTs(omsProductInfo.getCodeTs());
             cusAcqShelfLoad04List.add(cusAcqShelfLoad04);
         }
         logger.info("转换oms,wms 组装cus数据结束===========================");

+ 33 - 0
src/main/java/com/emato/cus/supervise/domainOms/OmsCusUnitCode.java

@@ -0,0 +1,33 @@
+package com.emato.cus.supervise.domainOms;
+
+import java.io.Serializable;
+
+/**
+ * @author huangyaqin
+ * @version 1.0
+ * 2018-09-05 11:28
+ */
+public class OmsCusUnitCode  implements Serializable {
+
+    private static final long serialVersionUID = 6083001599825316607L;
+
+    private String gUnitCode;
+
+    private String gUnitName;
+
+    public String getgUnitCode() {
+        return gUnitCode;
+    }
+
+    public void setgUnitCode(String gUnitCode) {
+        this.gUnitCode = gUnitCode;
+    }
+
+    public String getgUnitName() {
+        return gUnitName;
+    }
+
+    public void setgUnitName(String gUnitName) {
+        this.gUnitName = gUnitName;
+    }
+}

+ 63 - 0
src/main/java/com/emato/cus/supervise/domainOms/OmsProductInfo.java

@@ -0,0 +1,63 @@
+package com.emato.cus.supervise.domainOms;
+
+import java.io.Serializable;
+
+/**
+ * @author huangyaqin
+ * @version 1.0
+ * 2018-09-05 10:24
+ */
+public class OmsProductInfo implements Serializable {
+
+    private static final long serialVersionUID = 6083001599825316607L;
+
+    private String legalUnit;
+
+    private Double legalQyt;
+
+    private String goodsModel;
+
+    private String codeTs;
+
+    private String skuNo;
+
+    public String getSkuNo() {
+        return skuNo;
+    }
+
+    public void setSkuNo(String skuNo) {
+        this.skuNo = skuNo;
+    }
+
+    public String getCodeTs() {
+        return codeTs;
+    }
+
+    public void setCodeTs(String codeTs) {
+        this.codeTs = codeTs;
+    }
+
+    public String getLegalUnit() {
+        return legalUnit;
+    }
+
+    public void setLegalUnit(String legalUnit) {
+        this.legalUnit = legalUnit;
+    }
+
+    public Double getLegalQyt() {
+        return legalQyt;
+    }
+
+    public void setLegalQyt(Double legalQyt) {
+        this.legalQyt = legalQyt;
+    }
+
+    public String getGoodsModel() {
+        return goodsModel;
+    }
+
+    public void setGoodsModel(String goodsModel) {
+        this.goodsModel = goodsModel;
+    }
+}

+ 21 - 0
src/main/java/com/emato/cus/supervise/mapperOms/OmsCusUnitCodeMapper.java

@@ -0,0 +1,21 @@
+package com.emato.cus.supervise.mapperOms;
+
+import com.emato.cus.supervise.domainOms.OmsCusUnitCode;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author huangyaqin
+ * @version 1.0
+ * 2018-09-05 10:29
+ */
+@Repository
+public interface OmsCusUnitCodeMapper {
+    /**
+     * 信息数据
+     * @param gUnitList 单位
+     * @return
+     */
+    List<OmsCusUnitCode> getOmsCusUnitCodeList(List<String> gUnitList);
+}

+ 21 - 0
src/main/java/com/emato/cus/supervise/mapperOms/OmsProductInfoMapper.java

@@ -0,0 +1,21 @@
+package com.emato.cus.supervise.mapperOms;
+
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author huangyaqin
+ * @version 1.0
+ * 2018-09-05 10:29
+ */
+@Repository
+public interface OmsProductInfoMapper {
+    /**
+     * 产品信息数据
+     * @param skuList
+     * @return
+     */
+    List<OmsProductInfo> getOmsProductInfoList(List<String> skuList);
+}

+ 3 - 0
src/main/java/com/emato/cus/supervise/service/oms/OmsAcqInventoryInfoService.java

@@ -1,6 +1,7 @@
 package com.emato.cus.supervise.service.oms;
 
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 
 import java.util.List;
 
@@ -17,4 +18,6 @@ public interface OmsAcqInventoryInfoService {
      * @return
      */
     List<OmsAcqInventoryInfo> getOmsAcqInventoryInfoList(List<String> merchSnList);
+
+    List<OmsProductInfo> getOmsProductInfoList(List<String> skuList);
 }

+ 11 - 0
src/main/java/com/emato/cus/supervise/service/oms/impl/OmsAcqInventoryInfoServiceImpl.java

@@ -1,7 +1,9 @@
 package com.emato.cus.supervise.service.oms.impl;
 
 import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
+import com.emato.cus.supervise.domainOms.OmsProductInfo;
 import com.emato.cus.supervise.mapperOms.OmsAcqInventoryInfoMapper;
+import com.emato.cus.supervise.mapperOms.OmsProductInfoMapper;
 import com.emato.cus.supervise.service.oms.OmsAcqInventoryInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -20,6 +22,9 @@ public class OmsAcqInventoryInfoServiceImpl implements OmsAcqInventoryInfoServic
     @Autowired
     private OmsAcqInventoryInfoMapper omsAcqInventoryInfoMapper;
 
+    @Autowired
+    private OmsProductInfoMapper omsProductInfoMapper;
+
 
     /**
      * 货物库存数据
@@ -32,4 +37,10 @@ public class OmsAcqInventoryInfoServiceImpl implements OmsAcqInventoryInfoServic
     public List<OmsAcqInventoryInfo> getOmsAcqInventoryInfoList(List<String> merchSnList) {
         return omsAcqInventoryInfoMapper.getOmsAcqInventoryInfoList(merchSnList);
     }
+
+    @Override
+    @Transactional(value = "thirdTransactionManager")
+    public List<OmsProductInfo> getOmsProductInfoList(List<String> skuList) {
+        return omsProductInfoMapper.getOmsProductInfoList(skuList);
+    }
 }

+ 21 - 20
src/main/resources/application.yml

@@ -8,8 +8,9 @@ app:
 
 # 服务配置
 server:
-  address: 127.0.0.1
-  port: 8081
+  address: 172.18.0.193
+#  address: 127.0.0.1
+  port: 6666
 
 # 使用环境
 spring:
@@ -25,12 +26,12 @@ spring:
       type: com.zaxxer.hikari.HikariDataSource
       driver-class-name: org.mariadb.jdbc.Driver
       # url: jdbc:sqlserver://120.24.12.161:60001;DatabaseName=qhwms
-#      url: jdbc:mysql://127.0.0.1:3306/wms_test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-#      username: root
-#      password: root
-      url: jdbc:mysql://120.25.147.93:60002/wms_test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-      username: qhdsrds
-      password: CcopQ33^$
+      # url: jdbc:mysql://120.24.12.161:60002/wms_test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+      # username: qhdsrds
+      # password: CcopQ33^$
+      url: jdbc:mysql://120.24.12.161:60002/wms_qhds?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+      username: cout_qw
+      password: OqiIQ#p3
       # hikari连接池配置
       hikari:
         readOnly: true
@@ -44,12 +45,12 @@ spring:
       # 数据源zaxxer HikariCP 写入数据库
       type: com.zaxxer.hikari.HikariDataSource
       driver-class-name: org.mariadb.jdbc.Driver
-#      url: jdbc:mysql://127.0.0.1:3306/wms_data?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-#      username: root
-#      password: root
-      url: jdbc:mysql://192.168.1.233:3306/wms_jk?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-      username: wmsjk
-      password: wmsjk123
+#      url: jdbc:mysql://120.76.84.45:3306/wms_data?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+#      username: ceshi
+#      password: abc-123
+      url: jdbc:mysql://183.3.221.144:3306/wms_data?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+      username: tjadmin
+      password: dbmsTJ@!#
       # hikari连接池配置
       hikari:
         connectionTimeout: 10000
@@ -62,12 +63,12 @@ spring:
           # 数据源zaxxer HikariCP 读取oms
           type: com.zaxxer.hikari.HikariDataSource
           driver-class-name: org.mariadb.jdbc.Driver
-#          url: jdbc:mysql://127.0.0.1/oms_write?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-#          username: root
-#          password: root
-          url: jdbc:mysql://120.76.84.45:3306/oms_write?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-          username: ceshi
-          password: abc-123
+#          url: jdbc:mysql://120.24.12.161:60002/oms_write?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+#          username: out_qhm
+#          password: QhpC7op3
+          url: jdbc:mysql://rm-wz9rps8173a1nx63g819.mysql.rds.aliyuncs.com:3306/oms_write?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+          username: qhdsi_oms
+          password: CcopQ#B^$
           # hikari连接池配置
           hikari:
             connectionTimeout: 10000

+ 1 - 1
src/main/resources/logback.xml

@@ -2,7 +2,7 @@
 
 <configuration scan="false" scanPeriod="60 seconds" debug="false">
 
-    <property name="LOG_HOME" value="/data_cus_data_supervise/cus_data_supervise/logs"/>
+    <property name="LOG_HOME" value="/data_cus_data_supervise/new_cus_data_supervise/logs"/>
     <!-- 定义日志的根目录 -->
     <property name="DEBUG_DIR" value="debug" />
     <property name="INFO_DIR" value="info" />

+ 1 - 1
src/main/resources/mybatis/mapper/wms-acq-goods-move.xml

@@ -24,7 +24,7 @@
 		LEFT JOIN item i on td.itemcode = i.CODE
 		<where>
 			<if test="thisTime != null">
-				td.created &gt;= #{thisTime}
+				td.lastUpdated &gt;= #{thisTime}
 			</if>
 		</where>
     </select>

+ 1 - 1
src/main/resources/mybatis/mapper/wms-acq-goods-on-seat.xml

@@ -28,7 +28,7 @@
         LEFT JOIN item i ON li.itemCode = i. CODE
         <where>
             <if test="thisTime != null">
-                li.created &gt;= #{thisTime}
+                li.lastUpdated &gt;= #{thisTime}
             </if>
         </where>
     </select>

+ 1 - 1
src/main/resources/mybatis/mapper/wms-acq-inventory-info.xml

@@ -19,7 +19,7 @@
 		LEFT JOIN item i ON li.itemCode = i. CODE
 		<where>
 			<if test="thisTime != null">
-				li.created &gt;= #{thisTime}
+				li.lastUpdated &gt;= #{thisTime}
 			</if>
 		</where>
 		GROUP BY

+ 2 - 2
src/main/resources/mybatis/mapper/wms-acq-shelf-load.xml

@@ -28,7 +28,7 @@
 			LEFT JOIN item i ON rc.itemcode = i. CODE
 		<where>
 			<if test="thisTime != null">
-				rc.created &gt;= #{thisTime}
+				rc.lastUpdated &gt;= #{thisTime}
 			</if>
 		</where>
     </select>
@@ -58,7 +58,7 @@
 		LEFT JOIN item i ON scd.itemCode = i.`code`
 		<where>
 			<if test="thisTime != null">
-				scd.created &gt;= #{thisTime}
+				scd.lastUpdated &gt;= #{thisTime}
 			</if>
 		</where>
 	</select>

+ 17 - 0
src/main/resources/mybatis/mapperOms/oms-cus-unit-code.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.emato.cus.supervise.mapperOms.OmsCusUnitCodeMapper">
+
+    <!-- 信息查询 -->
+    <select id="getOmsCusUnitCodeList" parameterType="java.util.List"
+            resultType="com.emato.cus.supervise.domainOms.OmsCusUnitCode">
+		select co.code as gUnitCode,co.name as gUnitName from sys_cus_unit_code co where co.name IN
+        <foreach collection="list" item="name" index="index"
+                 open="(" close=")" separator=",">
+            #{name}
+        </foreach>
+    </select>
+
+
+</mapper>

+ 25 - 0
src/main/resources/mybatis/mapperOms/oms-product-info.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.emato.cus.supervise.mapperOms.OmsProductInfoMapper">
+
+
+    <!-- 信息查询 -->
+    <select id="getOmsProductInfoList" parameterType="java.util.List"
+            resultType="com.emato.cus.supervise.domainOms.OmsProductInfo">
+		SELECT
+		legal_unit1_qty As legalQyt,
+		cus_decl_ele AS goodsModel,
+		gc.legal_unit1_code AS legalUnit,
+		gc.cus_goods_code AS codeTs,
+		sku AS skuNo
+		FROM
+		pd_product_record pr inner join sys_cus_goods_code gc on pr.cus_goods_code = gc.cus_goods_code where sku IN
+		<foreach collection="list" item="sku" index="index"
+				 open="(" close=")" separator=",">
+			#{sku}
+		</foreach>
+    </select>
+
+
+</mapper>

+ 2 - 0
src/main/resources/mybatis/mybatis-config-oms.xml

@@ -5,6 +5,8 @@
 <configuration>
     <mappers>
         <mapper resource="mybatis/mapperOms/oms-acq-inventory-info.xml"/>
+        <mapper resource="mybatis/mapperOms/oms-cus-unit-code.xml"/>
+        <mapper resource="mybatis/mapperOms/oms-product-info.xml"/>
 
 
     </mappers>

+ 6 - 6
src/sql/emt-record-time-2.0.sql

@@ -1,27 +1,27 @@
 DELETE FROM emt_record_time;
 --企业库存信息
 INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create_time, moder_sn, mod_time) VALUES (
-  'ACQ_INVENTORY_INFO', '2018-02-02 14:11:30', '2018-02-02 14:11:30', '1', now(), '1', now()
+  'ACQ_INVENTORY_INFO', '2018-02-02 00:00:00', '2018-02-02 00:00:00', '1', now(), '1', now()
 );
 -- 企业货物上下架信息
 --上架
 INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create_time, moder_sn, mod_time) VALUES (
-  'ACQ_SHELF_LOAD', '2018-02-02 14:11:30', '2018-02-02 14:11:30', '1', now(), '1', now()
+  'ACQ_SHELF_LOAD', '2018-02-02 00:00:00', '2018-02-02 00:00:00', '1', now(), '1', now()
 );
 --下架
 INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create_time, moder_sn, mod_time) VALUES (
-  'ACQ_SHELF_LOAD_DOWN', '2018-02-02 14:11:30', '2018-02-02 14:11:30', '1', now(), '1', now()
+  'ACQ_SHELF_LOAD_DOWN', '2018-02-02 00:00:00', '2018-02-02 00:00:00', '1', now(), '1', now()
 );
 --企业货物在仓库的移动信息
 --上架
 INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create_time, moder_sn, mod_time) VALUES (
-  'ACQ_GOODS_MOVE_UP', '2018-02-02 14:11:30', '2018-02-02 14:11:30', '1', now(), '1', now()
+  'ACQ_GOODS_MOVE_UP', '2018-02-02 00:00:00', '2018-02-02 00:00:00', '1', now(), '1', now()
 );
 --下架
 INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create_time, moder_sn, mod_time) VALUES (
-  'ACQ_GOODS_MOVE_DOWN', '2018-02-02 14:11:30', '2018-02-02 14:11:30', '1', now(), '1', now()
+  'ACQ_GOODS_MOVE_DOWN', '2018-02-02 00:00:00', '2018-02-02 00:00:00', '1', now(), '1', now()
 );
 --库位上的货物信息
 INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create_time, moder_sn, mod_time) VALUES (
-  'ACQ_GOODS_ON_SEAT', '2018-02-02 14:11:30', '2018-02-02 14:11:30', '1', now(), '1', now()
+  'ACQ_GOODS_ON_SEAT', '2018-02-02 00:00:00', '2018-02-02 00:00:00', '1', now(), '1', now()
 );

+ 9 - 0
上线打包流程.txt

@@ -0,0 +1,9 @@
+上线打包的流程:
+cus-wms-supervise2.0的打包
+	1、在控制台中对项目进行打包:在Terminal中,输入gradle clean buildDependents
+	2、相应类结构和路径
+		1、cus-wms-supervise2.0的打包路径:cus-wms-supervise2.0\build\libs\cus-wms-supervise2.0.war
+		2、解压cus-wms-supervise2.0.war ,找到web-inf
+		cus-wms-supervise2.0.zip包里面包含的文件夹目录结构:
+			-classes
+			-lib

+ 3 - 0
环境切换需要修改的.txt

@@ -0,0 +1,3 @@
+application.yml的修改:正式站点的每个active里面的去掉dev
+数据库配置
+