Quellcode durchsuchen

Merge branch 'master' of csk/cus-wms-supervise2.0 into master

Scott Chen vor 5 Jahren
Ursprung
Commit
bcb8e28883
25 geänderte Dateien mit 280 neuen und 34 gelöschten Zeilen
  1. 1 1
      src/main/java/com/emato/cus/supervise/biz/CusData.java
  2. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpBiz.java
  3. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpCusData.java
  4. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpDataConversion.java
  5. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsOnSeatCusData.java
  6. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsOnSeatDataConversion.java
  7. 1 3
      src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsSeatBiz.java
  8. 5 1
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoBiz.java
  9. 52 5
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoCusData.java
  10. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoDataConversion.java
  11. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownBiz.java
  12. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownCusData.java
  13. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/down/AcqShelfLoadDownDataConversion.java
  14. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpBiz.java
  15. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpCusData.java
  16. 1 1
      src/main/java/com/emato/cus/supervise/biz/acqShelfLoad/up/AcqShelfLoadUpDataConversion.java
  17. 2 2
      src/main/java/com/emato/cus/supervise/constant/Dict.java
  18. 11 1
      src/main/java/com/emato/cus/supervise/domainOms/OmsAcqInventoryInfo.java
  19. 11 0
      src/main/java/com/emato/cus/supervise/domainOms/OmsProductInfo.java
  20. 5 0
      src/main/java/com/emato/cus/supervise/mapperCus/CusAcqInventoryInfoMapper03.java
  21. 17 1
      src/main/java/com/emato/cus/supervise/service/cus/CusAcqInventoryInfoService03.java
  22. 12 0
      src/main/java/com/emato/cus/supervise/service/cus/impl/CusAcqInventoryInfoServiceImpl03.java
  23. 138 0
      src/main/resources/mybatis/mapperCus/cus-acq-inventory-info.xml
  24. 6 4
      src/main/resources/mybatis/mapperOms/oms-acq-inventory-info.xml
  25. 7 4
      src/main/resources/mybatis/mapperOms/oms-product-info.xml

+ 1 - 1
src/main/java/com/emato/cus/supervise/biz/CusData.java

@@ -14,5 +14,5 @@ public interface CusData {
      * @param list
      * @return
      */
-    int insertCus(List<?> list);
+    int writeCus(List<?> list);
 }

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

@@ -94,7 +94,7 @@ public class AcqGoodsMoveUpBiz implements CusWmsTask {
         List<CusAcqGoodsMove05> cusList = acqGoodsMoveUpDataConversion.conversion(params);
 
         // 写CUS 数据
-        int res = acqGoodsMoveUpCusData.insertCus(cusList);
+        int res = acqGoodsMoveUpCusData.writeCus(cusList);
 
         // 更新扫描时间
         boolean bl = acqGoodsMoveUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),

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

@@ -38,7 +38,7 @@ public class AcqGoodsMoveUpCusData implements CusData {
 
 
     @Override
-    public int insertCus(List<?> list) {
+    public int writeCus(List<?> list) {
         logger.info("---------- 货物库位移动数据::写入本次监控数据开始 --------------------");
 
         List<CusAcqGoodsMove05> cusList = (List<CusAcqGoodsMove05>) list;

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

@@ -80,7 +80,7 @@ public class AcqGoodsMoveUpDataConversion implements DataConversion {
                 cusAcqGoodsMove05.setLegalUnit(wmsAcqGoodsMove.getLegalUnit());
                 cusAcqGoodsMove05.setLegalQty(wmsAcqGoodsMove.getLegalQty());
                 cusAcqGoodsMove05.setGoodsModel(wmsAcqGoodsMove.getGoodsModel());
-                cusAcqGoodsMove05.setLocalEmsNo(Dict.localEmsNo);
+                cusAcqGoodsMove05.setLocalEmsNo(omsProductInfo.getLocalEmsNo());
                 cusAcqGoodsMove05.setStoreCompanyName(Dict.storeCompanyName);
                 cusAcqGoodsMove05.setStoreUscCode(Dict.storeUscCode);
                 cusAcqGoodsMove05.setStoreCustomsCode(Dict.storeCustomsCode);

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

@@ -38,7 +38,7 @@ public class AcqGoodsOnSeatCusData implements CusData {
 
 
     @Override
-    public int insertCus(List<?> list) {
+    public int writeCus(List<?> list) {
         logger.info("---------- 库位货物数据::写入本次监控数据开始 --------------------");
 
         List<CusAcqGoodsSeat06> cusList = (List<CusAcqGoodsSeat06>) list;

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

@@ -75,7 +75,7 @@ public class AcqGoodsOnSeatDataConversion implements DataConversion{
                 cusAcqGoodsSeat06.setLegalUnit(wmsAcqGoodsOnSeat.getLegalUnit());
                 cusAcqGoodsSeat06.setLegalQty(wmsAcqGoodsOnSeat.getLegalQty());
                 cusAcqGoodsSeat06.setGoodsModel(wmsAcqGoodsOnSeat.getGoodsModel());
-                cusAcqGoodsSeat06.setLocalEmsNo(Dict.localEmsNo);
+                cusAcqGoodsSeat06.setLocalEmsNo(omsAcqInventoryInfo.getLocalEmsNo());
                 // TODO: 2018/5/8 此处存在问题:如wms的商户编号数据与oms的商户编号数据不统一,则会报空指针异常
                 cusAcqGoodsSeat06.setOwnerCode(omsAcqInventoryInfo.getOwnerCode());
                 cusAcqGoodsSeat06.setOwnerName(omsAcqInventoryInfo.getOwnerName());

+ 1 - 3
src/main/java/com/emato/cus/supervise/biz/acqGoodsSeat/AcqGoodsSeatBiz.java

@@ -4,10 +4,8 @@ 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;
@@ -109,7 +107,7 @@ public class AcqGoodsSeatBiz implements CusWmsTask {
         params.put("productInfoList", productList);
         List cusList = acqGoodsOnSeatDataConversion.conversion(params);
         // 写CUS 数据
-        int res = acqGoodsOnSeatCusData.insertCus(cusList);
+        int res = acqGoodsOnSeatCusData.writeCus(cusList);
 
         // 更新扫描时间
         boolean bl = acqGoodsOnSeatRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),

+ 5 - 1
src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoBiz.java

@@ -21,6 +21,8 @@ import java.util.Map;
 
 /**
  * 企业库存信息业务
+ * 海关全量抓取
+ * 以sku和local_ems_no园区账册编号作为联合主键
  *
  * @author zengjunlin
  * @version 1.0
@@ -111,8 +113,10 @@ public class AcqInventoryInfoBiz implements CusWmsTask {
         //oms和wms数据,转成海关数据
         List<CusAcqInventoryInfo03> cusAcqInventoryInfo03List = acqInventoryInfoDataConversion.conversion(params);
 
+
+        // 有则更新,无则新增
         // 写CUS 数据
-        int res = acqInventoryInfoCusData.insertCus(cusAcqInventoryInfo03List);
+        int res = acqInventoryInfoCusData.writeCus(cusAcqInventoryInfo03List);
 
         // 更新扫描时间
         boolean bl = acqInventoryInfoRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),

+ 52 - 5
src/main/java/com/emato/cus/supervise/biz/acqInventoryInfo/AcqInventoryInfoCusData.java

@@ -13,6 +13,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -35,14 +37,41 @@ public class AcqInventoryInfoCusData implements CusData {
     private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.I_ACQ_INVENTORY_INFO.getCode() + "]" + EmtRecordTimeEnum.I_ACQ_INVENTORY_INFO.getName();
 
 
+    /**
+     * 海关抓取库存信息为全量抓取
+     * 无则新增,有则更新
+     *
+     * @param list
+     * @return
+     */
     @Override
-    public int insertCus(List<?> list) {
+    public int writeCus(List<?> list) {
         logger.info("---------- 货物库存数据::写入本次监控数据开始 --------------------");
 
         List<CusAcqInventoryInfo03> cusList = ( List<CusAcqInventoryInfo03>)list;
 
+        // 新增库存list
+        List<CusAcqInventoryInfo03> insertList = new ArrayList<>();
+        // 修改库存list
+        List<CusAcqInventoryInfo03> updateList = new ArrayList<>();
+
+
+        // ------ 查询现有wms_data库存信息表
+        List<String> listSku = new ArrayList<>();
+
+
         List<String> gUnitNameList = Lists.newArrayList();
-        cusList.forEach(i -> gUnitNameList.add(i.getGUnit()));
+        cusList.forEach(
+                i -> {
+                    gUnitNameList.add(i.getGUnit());
+
+                    // 查询条件
+                    listSku.add(i.getSkuNo());
+                });
+        // 查询已有库存信息表对应sku数据
+        List<CusAcqInventoryInfo03> listInveInfo = cusAcqInventoryInfoService03.listCusAcqInventoryInfo(listSku);
+        Map<String, String> exitInveInfo = listInveInfo.stream().collect(Collectors.toMap(i -> i.getSkuNo(), i -> i.getLocalEmsNo()));
+
 
         List<OmsCusUnitCode> codeList = omsCusUnitCodeMapper.getOmsCusUnitCodeList(gUnitNameList);
         Map<String,OmsCusUnitCode> omsCusUnitCodeMap = codeList.stream().collect(Collectors.toMap(k->k.getgUnitName(), v->v));
@@ -52,14 +81,32 @@ public class AcqInventoryInfoCusData implements CusData {
             if(omsProductInfo != null) {
                 seat.setGUnit(omsProductInfo.getgUnitCode());
             }
+
+            if (exitInveInfo.containsKey(seat.getSkuNo())) {
+                // 存在, 则更新
+                updateList.add(seat);
+            } else {
+                // 不存在, 则插入
+                insertList.add(seat);
+            }
+
+        }
+
+        int insertResult = 0;
+        int updateResult = 0;
+
+        if (insertList.size() > 0) {
+            insertResult = cusAcqInventoryInfoService03.addCusAcqInventoryInfo(insertList);
+        }
+        if (updateList.size() > 0) {
+            updateResult = cusAcqInventoryInfoService03.updateCusAcqInventoryInfo(updateList);
         }
 
-        int result = cusAcqInventoryInfoService03.addCusAcqInventoryInfo(cusList);
 
-        logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);
+        logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{}条, 更新监控数据:{}条", insertResult, updateResult);
 
         logger.info("---------- 货物库存数据::写入本次监控数据结束 --------------------");
-        return result;
+        return insertResult + updateResult;
     }
 
 }

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

@@ -79,7 +79,7 @@ public class AcqInventoryInfoDataConversion implements DataConversion {
                 cusAcqInventoryInfo03.setLegalQty(wmsAcqInventoryInfo.getLegalQty());
 
                 cusAcqInventoryInfo03.setGoodsModel(wmsAcqInventoryInfo.getGoodsModel());
-                cusAcqInventoryInfo03.setLocalEmsNo(Dict.localEmsNo);
+                cusAcqInventoryInfo03.setLocalEmsNo(omsAcqInventoryInfo.getLocalEmsNo());
 
                 cusAcqInventoryInfo03.setOwnerCode(omsAcqInventoryInfo.getOwnerCode());
                 cusAcqInventoryInfo03.setOwnerName(omsAcqInventoryInfo.getOwnerName());

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

@@ -92,7 +92,7 @@ public class AcqShelfLoadDownBiz implements CusWmsTask{
         List<CusAcqShelfLoad04> cusList = acqShelfLoadDownDataConversion.conversion(params);
 
         // 写CUS 数据
-        int res = acqShelfLoadDownCusData.insertCus(cusList);
+        int res = acqShelfLoadDownCusData.writeCus(cusList);
 
         // 更新扫描时间
         boolean bl = acqShelfLoadDownRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),

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

@@ -37,7 +37,7 @@ public class AcqShelfLoadDownCusData implements CusData {
 
 
     @Override
-    public int insertCus(List<?> list) {
+    public int writeCus(List<?> list) {
         logger.info("---------- 货物上下架数据::下架::写入本次监控数据开始 --------------------");
 
         List<CusAcqShelfLoad04> cusList = (List<CusAcqShelfLoad04>) list;

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

@@ -73,7 +73,7 @@ public class AcqShelfLoadDownDataConversion implements DataConversion {
                 cusAcqShelfLoad04.setLegalUnit(wmsAcqShelfLoad.getLegalUnit());
                 cusAcqShelfLoad04.setLegalQty(wmsAcqShelfLoad.getLegalQty());
                 cusAcqShelfLoad04.setGoodsModel(wmsAcqShelfLoad.getGoodsModel());
-                cusAcqShelfLoad04.setLocalEmsNo(Dict.localEmsNo);
+                cusAcqShelfLoad04.setLocalEmsNo(omsProductInfo.getLocalEmsNo());
                 cusAcqShelfLoad04.setSeatNo(wmsAcqShelfLoad.getSeatNo());
                 cusAcqShelfLoad04.setShelfLoadTime(wmsAcqShelfLoad.getShelfLoadTime());
                 cusAcqShelfLoad04.setShelfLoadType(wmsAcqShelfLoad.getShelfLoadType());

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

@@ -93,7 +93,7 @@ public class AcqShelfLoadUpBiz implements CusWmsTask{
         List<CusAcqShelfLoad04> cusList = acqShelfLoadUpDataConversion.conversion(params);
 
         // 写CUS 数据
-        int res = acqShelfLoadUpCusData.insertCus(cusList);
+        int res = acqShelfLoadUpCusData.writeCus(cusList);
 
         // 更新扫描时间
         boolean bl = acqShelfLoadUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),

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

@@ -37,7 +37,7 @@ public class AcqShelfLoadUpCusData implements CusData {
 
 
     @Override
-    public int insertCus(List<?> list) {
+    public int writeCus(List<?> list) {
         logger.info("---------- 货物上下架数据::上架::写入本次监控数据开始 --------------------");
 
         List<CusAcqShelfLoad04> cusList = (List<CusAcqShelfLoad04>) list;

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

@@ -76,7 +76,7 @@ public class AcqShelfLoadUpDataConversion implements DataConversion {
                 cusAcqShelfLoad04.setLegalUnit(wmsAcqShelfLoad.getLegalUnit());
                 cusAcqShelfLoad04.setLegalQty(wmsAcqShelfLoad.getLegalQty());
                 cusAcqShelfLoad04.setGoodsModel(wmsAcqShelfLoad.getGoodsModel());
-                cusAcqShelfLoad04.setLocalEmsNo(Dict.localEmsNo);
+                cusAcqShelfLoad04.setLocalEmsNo(omsProductInfo.getLocalEmsNo());
                 cusAcqShelfLoad04.setSeatNo(wmsAcqShelfLoad.getSeatNo());
                 cusAcqShelfLoad04.setShelfLoadTime(wmsAcqShelfLoad.getShelfLoadTime());
                 cusAcqShelfLoad04.setShelfLoadType(wmsAcqShelfLoad.getShelfLoadType());

+ 2 - 2
src/main/java/com/emato/cus/supervise/constant/Dict.java

@@ -6,8 +6,8 @@ package com.emato.cus.supervise.constant;
  * 2018-02-02 16:13
  */
 public class Dict {
-    //园区账册号
-    public static final String localEmsNo = "I440366000315001";
+    //园区账册号(改为货主金二账册编号,每个货主各一个)
+    //public static final String localEmsNo = "I440366000315001";
     //仓库使用企业名称
     public static final String storeCompanyName = "深圳前海电商供应链管理有限公司";
     //仓库使用企业社会信用代码

+ 11 - 1
src/main/java/com/emato/cus/supervise/domainOms/OmsAcqInventoryInfo.java

@@ -19,8 +19,10 @@ public class OmsAcqInventoryInfo implements Serializable {
     private String ownerCode;
     //货主企业名称
     private String ownerName;
+    // 园区账册编号(每个货主在金二的账册号)
+    private  String localEmsNo;
 
-    public String getMerchSn() {
+   public String getMerchSn() {
         return merchSn;
     }
 
@@ -43,4 +45,12 @@ public class OmsAcqInventoryInfo implements Serializable {
     public void setOwnerName(String ownerName) {
         this.ownerName = ownerName;
     }
+
+    public String getLocalEmsNo() {
+        return localEmsNo;
+    }
+
+    public void setLocalEmsNo(String localEmsNo) {
+        this.localEmsNo = localEmsNo;
+    }
 }

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

@@ -21,6 +21,9 @@ public class OmsProductInfo implements Serializable {
 
     private String skuNo;
 
+    // 园区账册编号(每个货主在金二的账册号)
+    private  String localEmsNo;
+
     public String getSkuNo() {
         return skuNo;
     }
@@ -60,4 +63,12 @@ public class OmsProductInfo implements Serializable {
     public void setGoodsModel(String goodsModel) {
         this.goodsModel = goodsModel;
     }
+
+    public String getLocalEmsNo() {
+        return localEmsNo;
+    }
+
+    public void setLocalEmsNo(String localEmsNo) {
+        this.localEmsNo = localEmsNo;
+    }
 }

+ 5 - 0
src/main/java/com/emato/cus/supervise/mapperCus/CusAcqInventoryInfoMapper03.java

@@ -4,6 +4,7 @@ import com.emato.cus.supervise.domainCus.CusAcqInventoryInfo03;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 货物库存数据 CUS
@@ -19,4 +20,8 @@ public interface CusAcqInventoryInfoMapper03 {
      * @return
      */
     int addAcqInventoryInfo03(List<CusAcqInventoryInfo03> list);
+
+    int updateAcqInventoryInfo03(List<CusAcqInventoryInfo03> list);
+
+    List<CusAcqInventoryInfo03> listAcqInventoryInfo03(List<String> list);
 }

+ 17 - 1
src/main/java/com/emato/cus/supervise/service/cus/CusAcqInventoryInfoService03.java

@@ -3,6 +3,7 @@ package com.emato.cus.supervise.service.cus;
 import com.emato.cus.supervise.domainCus.CusAcqInventoryInfo03;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 货物库存数据 CUS
@@ -12,9 +13,24 @@ import java.util.List;
  */
 public interface CusAcqInventoryInfoService03 {
     /**
-     * 货物库存数据
+     * 插入货物库存数据
      * @param list
      * @return
      */
     int addCusAcqInventoryInfo(List<CusAcqInventoryInfo03> list);
+
+    /**
+     * 更新库存数据
+     * @param list
+     * @return
+     */
+    int updateCusAcqInventoryInfo(List<CusAcqInventoryInfo03> list);
+
+    /**
+     * 查询现有库存信息
+     * @param list
+     * @return
+     */
+    List listCusAcqInventoryInfo(List<String> list);
+
 }

+ 12 - 0
src/main/java/com/emato/cus/supervise/service/cus/impl/CusAcqInventoryInfoServiceImpl03.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 货物库存数据 CUS
@@ -27,4 +28,15 @@ public class CusAcqInventoryInfoServiceImpl03 implements CusAcqInventoryInfoServ
     public int addCusAcqInventoryInfo(List<CusAcqInventoryInfo03> list) {
         return cusAcqInventoryInfoMapper03.addAcqInventoryInfo03(list);
     }
+
+    @Override
+    @Transactional(value ="secondTransactionManager")
+    public int updateCusAcqInventoryInfo(List<CusAcqInventoryInfo03> list) {
+        return cusAcqInventoryInfoMapper03.updateAcqInventoryInfo03(list);
+    }
+
+    @Override
+    public List<CusAcqInventoryInfo03> listCusAcqInventoryInfo(List<String> list) {
+        return cusAcqInventoryInfoMapper03.listAcqInventoryInfo03(list);
+    }
 }

+ 138 - 0
src/main/resources/mybatis/mapperCus/cus-acq-inventory-info.xml

@@ -31,6 +31,18 @@
         <result property="modTime" column="mod_time"/>
     </resultMap>
 
+    <select id="listAcqInventoryInfo03" resultMap="cusAcqInventoryInfo" parameterType="List">
+        select * from acq_inventory_info
+        <where>
+            <if test="list != null and list.size()>0">
+                sku IN
+                <foreach collection="list" item="i" index="idx" open="(" separator="," close=")">
+                    #{i.sku}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
     <!-- 库存数据 -->
     <insert id="addAcqInventoryInfo03" parameterType="List">
         INSERT INTO acq_inventory_info (goods_name, code_ts, sku_no, goods_id,
@@ -51,4 +63,130 @@
         </foreach>
     </insert>
 
+    <update id="updateAcqInventoryInfo03" parameterType="List">
+        UPDATE acq_inventory_info
+        <trim prefix="set" suffixOverrides=",">
+            <trim prefix="goods_name =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.goodsName !=null and i.goodsName !=''">
+                        when sku_no=#{i.skuNo} then #{i.goodsName, jdbcType=VARCHAR}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="code_ts =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.codeTs !=null and i.codeTs !=''">
+                        when sku_no=#{i.skuNo} then #{i.codeTs, jdbcType=VARCHAR}
+                    </if>
+                </foreach>
+            </trim>
+
+            <trim prefix="g_unit =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.gUnit !=null and i.gUnit !=''">
+                        when sku_no=#{i.skuNo} then #{i.gUnit, jdbcType=VARCHAR}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="g_qyt =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.gQty !=null and i.gQty !=''">
+                        when sku_no=#{i.skuNo} then #{i.gQty, jdbcType=VARCHAR}
+                    </if>
+                </foreach>
+            </trim>
+
+            <trim prefix="legal_unit =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.legalUnit !=null and i.legalUnit !=''">
+                        when sku_no=#{i.skuNo} then #{i.legalUnit, jdbcType=VARCHAR}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="legal_qyt =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.legalQty !=null and i.legalQty !=''">
+                        when sku_no=#{i.skuNo} then #{i.legalQty, jdbcType=VARCHAR}
+                    </if>
+                </foreach>
+            </trim>
+
+            <trim prefix="goods_model =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.goodsModel !=null and i.goodsModel !=''">
+                        when sku_no=#{i.skuNo} then #{i.goodsModel, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="owner_code =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.ownerCode !=null and i.ownerCode !=''">
+                        when sku_no=#{i.skuNo} then #{i.ownerCode, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+
+            <trim prefix="owner_name =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.ownerName !=null and i.ownerName !=''">
+                        when sku_no=#{i.skuNo} then #{i.ownerName, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="store_company_name =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.storeCompanyName !=null and i.storeCompanyName !=''">
+                        when sku_no=#{i.skuNo} then #{i.storeCompanyName, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+
+
+            <trim prefix="store_usc_code =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.storeUscCode !=null and i.storeUscCode !=''">
+                        when sku_no=#{i.skuNo} then #{i.storeUscCode, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="store_customs_code =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.storeCustomsCode !=null and i.storeCustomsCode !=''">
+                        when sku_no=#{i.skuNo} then #{i.storeCustomsCode, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+
+            <trim prefix="store_code =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.storeCode !=null and i.storeCode !=''">
+                        when sku_no=#{i.skuNo} then #{i.storeCode, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+
+            <trim prefix="moder_sn =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.moderSn !=null and i.moderSn !=''">
+                        when sku_no=#{i.skuNo} then #{i.moderSn, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="mod_time =case" suffix="end,">
+                <foreach collection="list" item="i" index="idx">
+                    <if test="i.modTime !=null">
+                        when sku_no=#{i.skuNo} then #{i.modTime, jdbcType=DATE}
+                    </if>
+                </foreach>
+            </trim>
+        </trim>
+        <where>
+            <if test="list != null and list.size()>0">
+                <foreach collection="list" item="i" index="index" separator="or" >
+                    sku_no=#{i.skuNo}
+                </foreach>
+            </if>
+        </where>
+    </update>
+
 </mapper>

+ 6 - 4
src/main/resources/mybatis/mapperOms/oms-acq-inventory-info.xml

@@ -8,11 +8,13 @@
     <select id="getOmsAcqInventoryInfoList" parameterType="java.util.List"
             resultType="com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo">
 		SELECT
-		    merch_sn As merchSn,
-			merch_cst_rec_code AS ownerCode,
-			merch_cst_rec_name AS ownerName
+		t.merch_sn As merchSn,
+		t.merch_cst_rec_code AS ownerCode,
+		t.merch_cst_rec_name AS ownerName,
+		t1.local_ems_no AS localEmsNo
 		FROM
-		merchant_base where merch_sn IN
+		merchant_base t left outer join merchant_record t1 on t.merch_sn=t1.merch_sn
+		where t1.local_ems_no is not null and t.merch_name is not null and t.merch_sn IN
 		<foreach collection="list" item="merchSn" index="index"
 				 open="(" close=")" separator=",">
 			#{merchSn}

+ 7 - 4
src/main/resources/mybatis/mapperOms/oms-product-info.xml

@@ -8,13 +8,16 @@
     <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,
+		pr.legal_unit1_qty As legalQyt,
+		pr.cus_decl_ele AS goodsModel,
 		gc.legal_unit1_code AS legalUnit,
 		gc.cus_goods_code AS codeTs,
-		sku AS skuNo
+		pr.sku AS skuNo,
+		t1.local_ems_no AS localEmsNo
 		FROM
-		pd_product_record pr left outer join sys_cus_goods_code gc on pr.cus_goods_code = gc.cus_goods_code where sku IN
+		pd_product_record pr left outer join sys_cus_goods_code gc on pr.cus_goods_code = gc.cus_goods_code
+		left outer join merchant_record t1 on pr.merch_sn=t1.merch_sn
+		where t1.local_ems_no is not null AND pr.sku IN
 		<foreach collection="list" item="sku" index="index"
 				 open="(" close=")" separator=",">
 			#{sku}