Pārlūkot izejas kodu

库存移动上架开发完成

zjl 7 gadi atpakaļ
vecāks
revīzija
4330847063

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

@@ -0,0 +1,81 @@
+package com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up;
+
+import com.emato.cus.supervise.biz.CusWmsTask;
+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.util.LocalDateTimeUtils;
+import com.google.common.collect.Maps;
+import org.apache.commons.lang3.StringUtils;
+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;
+
+/**
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:21
+ */
+@Component
+public class AcqGoodsMoveUpBiz implements CusWmsTask {
+    private static final Logger logger = LoggerFactory.getLogger(AcqGoodsMoveUpBiz.class);
+
+    @Autowired
+    private AcqGoodsMoveUpRecordTime acqGoodsMoveUpRecordTime;
+
+    @Autowired
+    private AcqGoodsMoveUpWmsData acqGoodsMoveUpWmsData;
+
+    @Autowired
+    private AcqGoodsMoveUpCusData acqGoodsMoveUpCusData;
+
+    @Autowired
+    private AcqGoodsMoveUpDataConversion acqGoodsMoveUpDataConversion;
+
+    private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getName();
+
+
+    /**
+     * 任务入口
+     */
+    @Override
+    public void task() {
+
+        // 获取扫描时间
+        String oldThisTime = acqGoodsMoveUpRecordTime.getEmtRecordTime();
+        if (StringUtils.isBlank(oldThisTime)) {
+            logger.info("--- 【" + DATA_TYPE_INFO + "】未获取到本次扫描时间, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqGoodsMoveUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN));
+            return;
+
+        }
+
+        // 扫描WMS 数据
+        List<WmsAcqGoodsMove> wmsList = acqGoodsMoveUpWmsData.getWmsData(oldThisTime);
+        if (wmsList == null || wmsList.size() == 0) {
+            logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
+            //下次扫描时间
+            acqGoodsMoveUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                    LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN));
+            return;
+        }
+        Map params = Maps.newHashMap();
+        params.put("wmsList",wmsList);
+        //将wms数据转换cus
+        List<CusAcqGoodsMove05> cusList = acqGoodsMoveUpDataConversion.conversion(params);
+
+        // 写CUS 数据
+        int res = acqGoodsMoveUpCusData.insertCus(cusList);
+
+        // 更新扫描时间
+        boolean bl = acqGoodsMoveUpRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
+                oldThisTime);
+
+    }
+}

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

@@ -0,0 +1,46 @@
+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.service.cus.CusAcqGoodsMoveService05;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 货物库位移动数据 业务 CUS
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:23
+ */
+@Component
+public class AcqGoodsMoveUpCusData implements CusData {
+
+
+    private static final Logger logger = LoggerFactory.getLogger(AcqGoodsMoveUpCusData.class);
+
+    @Autowired
+    private CusAcqGoodsMoveService05 cusAcqGoodsMoveService05;
+
+    private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getName();
+
+
+    @Override
+    public int insertCus(List<?> list) {
+        logger.info("---------- 货物库位移动数据::写入本次监控数据开始 --------------------");
+
+        List<CusAcqGoodsMove05> cusList = (List<CusAcqGoodsMove05>) list;
+
+        int result = cusAcqGoodsMoveService05.addCusAcqGoodsMove05(cusList);
+
+        logger.info("---【" + DATA_TYPE_INFO + "】写入监控数据:{} 条", result);
+
+        logger.info("---------- 货物库位移动数据::写入本次监控数据结束 --------------------");
+        return result;
+    }
+
+}

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

@@ -0,0 +1,65 @@
+package com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up;
+
+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.google.common.collect.Lists;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:40
+ */
+@Component
+public class AcqGoodsMoveUpDataConversion implements DataConversion {
+
+    private final  static Logger logger = LoggerFactory.getLogger(AcqGoodsMoveUpDataConversion.class);
+
+    /**
+     * 外部数据转换
+     *
+     * @param params
+     * @return
+     */
+    @Override
+    public List conversion(Map params) {
+        logger.info("开始转换oms,wms 组装cus数据===========================");
+        List<WmsAcqGoodsMove> wmsList = (List<WmsAcqGoodsMove>) params.get("wmsList");
+        List<CusAcqGoodsMove05> cusAcqGoodsMove05List = Lists.newArrayList();
+        for (int i = 0; i < wmsList.size(); i++) {
+            WmsAcqGoodsMove wmsAcqGoodsMove = wmsList.get(i);
+            CusAcqGoodsMove05 cusAcqGoodsMove05 = new CusAcqGoodsMove05();
+            cusAcqGoodsMove05.setId(wmsAcqGoodsMove.getId());
+            cusAcqGoodsMove05.setShelfLoadTime(wmsAcqGoodsMove.getShelfLoadTime());
+            cusAcqGoodsMove05.setShelfUnloadTime(wmsAcqGoodsMove.getShelfUnloadTime());
+            cusAcqGoodsMove05.setTargetSeatNo(wmsAcqGoodsMove.getTargetSeatNo());
+            cusAcqGoodsMove05.setOriginSeatNo(wmsAcqGoodsMove.getOriginSeatNo());
+            cusAcqGoodsMove05.setGoodsName(wmsAcqGoodsMove.getGoodsName());
+            cusAcqGoodsMove05.setCodeTs(wmsAcqGoodsMove.getCodeTs());
+            cusAcqGoodsMove05.setSkuNo(wmsAcqGoodsMove.getSkuNo());
+            cusAcqGoodsMove05.setGoodsId(wmsAcqGoodsMove.getGoodsId());
+            cusAcqGoodsMove05.setgUnit(wmsAcqGoodsMove.getgUnit());
+            cusAcqGoodsMove05.setgQty(wmsAcqGoodsMove.getgQty());
+            cusAcqGoodsMove05.setLegalUnit(wmsAcqGoodsMove.getLegalUnit());
+            cusAcqGoodsMove05.setLegalQty(wmsAcqGoodsMove.getLegalQty());
+            cusAcqGoodsMove05.setGoodsModel(wmsAcqGoodsMove.getGoodsModel());
+            cusAcqGoodsMove05.setLocalEmsNo(Dict.localEmsNo);
+            cusAcqGoodsMove05.setStoreCompanyName(Dict.storeCompanyName);
+            cusAcqGoodsMove05.setStoreUscCode(Dict.storeUscCode);
+            cusAcqGoodsMove05.setStoreCustomsCode(Dict.storeCustomsCode);
+            cusAcqGoodsMove05.setStoreCode(Dict.storeCode);
+            cusAcqGoodsMove05.setCreateTime(LocalDateTime.now());
+            cusAcqGoodsMove05List.add(cusAcqGoodsMove05);
+        }
+        logger.info("转换oms,wms 组装cus数据结束===========================");
+        return cusAcqGoodsMove05List;
+    }
+}

+ 104 - 0
src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpRecordTime.java

@@ -0,0 +1,104 @@
+package com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up;
+
+import com.emato.cus.supervise.biz.RecordTime;
+import com.emato.cus.supervise.constant.CommonConstant;
+import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
+import com.emato.cus.supervise.domainCus.EmtRecordTime;
+import com.emato.cus.supervise.service.cus.EmtRecordTimeService;
+import com.emato.cus.supervise.util.LocalDateTimeUtils;
+import com.google.common.collect.ImmutableMap;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 货物库位移动数据 业务 扫描时间
+ *
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:23
+ */
+@Component
+public class AcqGoodsMoveUpRecordTime implements RecordTime {
+
+    private static final Logger logger = LoggerFactory.getLogger(AcqGoodsMoveUpRecordTime.class);
+
+    @Autowired
+    private EmtRecordTimeService emtRecordTimeService;
+
+    private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getName();
+
+    /**
+     * 获取扫描时间
+     *
+     * @return
+     */
+    @Override
+    public String getEmtRecordTime() {
+        logger.info("---------- 货物库位移动数据:上架:获取上次扫描时间开始 --------------------");
+
+        //根据数据类型, 取扫描时间
+        Map<String, Object> param = ImmutableMap.of("dataType", EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode());
+
+        List<EmtRecordTime> list = emtRecordTimeService.selectEmtRecordTime(param);
+        if (list == null || list.size() == 0) {
+            String err = "---【" + DATA_TYPE_INFO + "】取扫描时间数据为空.";
+            logger.error(err);
+            return null;
+        }
+
+        String oldLastTime = list.get(0).getLastTime();
+        String oldThisTime = list.get(0).getThisTime();
+
+        logger.info("---【" + DATA_TYPE_INFO + "】任务上次扫描时间:{}", oldLastTime);
+        logger.info("---【" + DATA_TYPE_INFO + "】任务本次扫描时间:{}", oldThisTime);
+
+        logger.info("---------- 货物库位移动数据:上架:获取上次扫描时间结束 --------------------");
+        return oldThisTime;
+    }
+
+    /**
+     * 更新记录时间
+     *
+     * @param thisTime 当前时间作为下次扫描时间
+     * @param lastTime 本次扫描时间成为上次扫描时间
+     */
+    @Override
+    public boolean updateWmsRecordTime(String thisTime, String lastTime) {
+        logger.info("---------- 货物库位移动数据:上架:更新扫描时间开始 --------------------");
+
+        if (StringUtils.isBlank(thisTime)) {
+            thisTime = LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN);
+        }
+        if (StringUtils.isBlank(lastTime)) {
+            logger.info("---【" + DATA_TYPE_INFO + "】本次更新时间为空, 不能写入扫描时间表, 更新扫描时间提前结束.");
+            return false;
+        }
+
+        logger.info("---【" + DATA_TYPE_INFO + "】本次扫描时间为:{}, 下次扫描时间:{}.", lastTime, thisTime);
+
+        ImmutableMap.Builder builder = new ImmutableMap.Builder();
+        builder.put("dataType", EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode());
+        builder.put("lastTime", lastTime);
+        builder.put("thisTime", thisTime);
+        builder.put("moderSn", CommonConstant.moderSn);
+        builder.put("modTime", LocalDateTime.now());
+
+        int res = emtRecordTimeService.updateEmtRecordTime(builder.build());
+        String err = "---【" + DATA_TYPE_INFO + "】更新扫描时间'{" + (res == 1 ? "成功" : "失败, 结束本次扫描!!!") + "}'.";
+        logger.info(err);
+        if (res != 1) {
+            return false;
+        }
+
+        logger.info("---------- 货物库位移动数据:上架:更新扫描时间结束 --------------------");
+
+        return res == 1;
+    }
+}

+ 57 - 0
src/main/java/com/emato/cus/supervise/biz/acqGoodsMoveSchedule/up/AcqGoodsMoveUpWmsData.java

@@ -0,0 +1,57 @@
+package com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up;
+
+import com.emato.cus.supervise.biz.WmsData;
+import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
+import com.emato.cus.supervise.domain.WmsAcqGoodsMove;
+import com.emato.cus.supervise.service.wms.WmsAcqGoodsMoveService;
+import com.google.common.collect.ImmutableMap;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 货物库位移动数据 业务 WMS
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:23
+ */
+@Component
+public class AcqGoodsMoveUpWmsData implements WmsData {
+    private static final Logger logger = LoggerFactory.getLogger(AcqGoodsMoveUpWmsData.class);
+
+    @Autowired
+    private WmsAcqGoodsMoveService wmsAcqGoodsMoveService;
+
+    private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_MOVE_UP.getName();
+
+
+    @Override
+    public List getWmsData(String thisTime) {
+        logger.info("---------- 货物库位移动数据::获取本次监控数据开始 --------------------");
+
+        if (StringUtils.isBlank(thisTime)) {
+            String err = "---【" + DATA_TYPE_INFO + "】本次扫描时间为空.";
+            logger.error(err);
+            return Collections.EMPTY_LIST;
+        }
+
+        ImmutableMap param = ImmutableMap.of("thisTime", thisTime);
+        List<WmsAcqGoodsMove> resultList = wmsAcqGoodsMoveService.getWmsAcqGoodsMoveUp(param);
+
+        if (resultList == null || resultList.size() == 0) {
+            String err = "---【" + DATA_TYPE_INFO + "】获取本次监控数据为空.";
+            logger.error(err);
+            return Collections.EMPTY_LIST;
+        }
+        logger.info("---【" + DATA_TYPE_INFO + "】获取本次监控数据{}条.", resultList.size());
+
+        logger.info("---------- 货物库位移动数据::获取本次监控数据结束 --------------------");
+
+        return resultList;
+    }
+}

+ 3 - 1
src/main/java/com/emato/cus/supervise/constant/EmtRecordTimeEnum.java

@@ -8,7 +8,9 @@ package com.emato.cus.supervise.constant;
 public enum EmtRecordTimeEnum {
     I_ACQ_INVENTORY_INFO("ACQ_INVENTORY_INFO", "企业库存信息"),
     ACQ_SHELF_LOAD("ACQ_SHELF_LOAD", "企业货物上下架信息:上架"),
-    ACQ_SHELF_LOAD_DOWN("ACQ_SHELF_LOAD_DOWN", "企业货物上下架信息:下架")
+    ACQ_SHELF_LOAD_DOWN("ACQ_SHELF_LOAD_DOWN", "企业货物上下架信息:下架"),
+    ACQ_GOODS_MOVE_UP("ACQ_GOODS_MOVE_UP", "企业货物在仓库的移动信息:上架"),
+    ACQ_GOODS_MOVE_DOWN("ACQ_GOODS_MOVE_DOWN", "企业货物在仓库的移动信息:下架")
     ;
 
     private String code;

+ 231 - 0
src/main/java/com/emato/cus/supervise/domain/WmsAcqGoodsMove.java

@@ -0,0 +1,231 @@
+package com.emato.cus.supervise.domain;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 货物库位移动数据 WMS
+ *
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-10-31 13:41
+ */
+public class WmsAcqGoodsMove implements Serializable {
+
+    private static final long serialVersionUID = 7916758925990853502L;
+
+    private String id;
+
+    private LocalDateTime shelfLoadTime;
+    private LocalDateTime shelfUnloadTime;
+    private String targetSeatNo;
+    private String originSeatNo;
+
+    private String goodsName;
+    private String codeTs;
+    private String skuNo;
+    private String goodsId;
+
+    private String gUnit;
+    private Double gQty;
+    private String legalUnit;
+    private Double legalQty;
+
+    private String goodsModel;
+    private String localEmsNo;
+
+    private String storeCompanyName;
+    private String storeUscCode;
+    private String storeCustomsCode;
+    private String storeCode;
+
+    private String createrSn;
+    private LocalDateTime createTime;
+    private String moderSn;
+    private LocalDateTime modTime;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public LocalDateTime getShelfLoadTime() {
+        return shelfLoadTime;
+    }
+
+    public void setShelfLoadTime(LocalDateTime shelfLoadTime) {
+        this.shelfLoadTime = shelfLoadTime;
+    }
+
+    public LocalDateTime getShelfUnloadTime() {
+        return shelfUnloadTime;
+    }
+
+    public void setShelfUnloadTime(LocalDateTime shelfUnloadTime) {
+        this.shelfUnloadTime = shelfUnloadTime;
+    }
+
+    public String getTargetSeatNo() {
+        return targetSeatNo;
+    }
+
+    public void setTargetSeatNo(String targetSeatNo) {
+        this.targetSeatNo = targetSeatNo;
+    }
+
+    public String getOriginSeatNo() {
+        return originSeatNo;
+    }
+
+    public void setOriginSeatNo(String originSeatNo) {
+        this.originSeatNo = originSeatNo;
+    }
+
+    public String getGoodsName() {
+        return goodsName;
+    }
+
+    public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+
+    public String getCodeTs() {
+        return codeTs;
+    }
+
+    public void setCodeTs(String codeTs) {
+        this.codeTs = codeTs;
+    }
+
+    public String getSkuNo() {
+        return skuNo;
+    }
+
+    public void setSkuNo(String skuNo) {
+        this.skuNo = skuNo;
+    }
+
+    public String getGoodsId() {
+        return goodsId;
+    }
+
+    public void setGoodsId(String goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    public String getgUnit() {
+        return gUnit;
+    }
+
+    public void setgUnit(String gUnit) {
+        this.gUnit = gUnit;
+    }
+
+    public Double getgQty() {
+        return gQty;
+    }
+
+    public void setgQty(Double gQty) {
+        this.gQty = gQty;
+    }
+
+    public String getLegalUnit() {
+        return legalUnit;
+    }
+
+    public void setLegalUnit(String legalUnit) {
+        this.legalUnit = legalUnit;
+    }
+
+    public Double getLegalQty() {
+        return legalQty;
+    }
+
+    public void setLegalQty(Double legalQty) {
+        this.legalQty = legalQty;
+    }
+
+    public String getGoodsModel() {
+        return goodsModel;
+    }
+
+    public void setGoodsModel(String goodsModel) {
+        this.goodsModel = goodsModel;
+    }
+
+    public String getLocalEmsNo() {
+        return localEmsNo;
+    }
+
+    public void setLocalEmsNo(String localEmsNo) {
+        this.localEmsNo = localEmsNo;
+    }
+
+    public String getStoreCompanyName() {
+        return storeCompanyName;
+    }
+
+    public void setStoreCompanyName(String storeCompanyName) {
+        this.storeCompanyName = storeCompanyName;
+    }
+
+    public String getStoreUscCode() {
+        return storeUscCode;
+    }
+
+    public void setStoreUscCode(String storeUscCode) {
+        this.storeUscCode = storeUscCode;
+    }
+
+    public String getStoreCustomsCode() {
+        return storeCustomsCode;
+    }
+
+    public void setStoreCustomsCode(String storeCustomsCode) {
+        this.storeCustomsCode = storeCustomsCode;
+    }
+
+    public String getStoreCode() {
+        return storeCode;
+    }
+
+    public void setStoreCode(String storeCode) {
+        this.storeCode = storeCode;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    public LocalDateTime getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(LocalDateTime createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    public LocalDateTime getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(LocalDateTime modTime) {
+        this.modTime = modTime;
+    }
+
+}

+ 15 - 0
src/main/java/com/emato/cus/supervise/mapper/WmsAcqGoodsMoveMapper.java

@@ -0,0 +1,15 @@
+package com.emato.cus.supervise.mapper;
+
+import com.emato.cus.supervise.domain.WmsAcqGoodsMove;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map; /**
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:34
+ */
+@Repository
+public interface WmsAcqGoodsMoveMapper {
+    List<WmsAcqGoodsMove> getWmsAcqGoodsMoveUp(Map<String, Object> param);
+}

+ 49 - 0
src/main/java/com/emato/cus/supervise/schedule/AcqGoodsMoveSchedule.java

@@ -0,0 +1,49 @@
+package com.emato.cus.supervise.schedule;
+
+import com.emato.cus.supervise.biz.acqGoodsMoveSchedule.up.AcqGoodsMoveUpBiz;
+import com.emato.cus.supervise.util.LocalDateTimeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+/**
+ *
+ * 货物库位移动数据 计划任务
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:18
+ */
+@Configuration
+@EnableScheduling
+public class AcqGoodsMoveSchedule {
+    private static final Logger logger = LoggerFactory.getLogger(AcqGoodsMoveSchedule.class);
+
+    @Autowired
+    private AcqGoodsMoveUpBiz acqGoodsMoveUpBiz;
+
+
+    /**
+     * 货物库位移动数据
+     */
+    //每月1号开始,每天12,18点执行各1次,共2次
+    //@Scheduled(cron = "0 0 12,18 1/1 * ?")
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void timerUp() {
+        logger.info("==================== 货物库位移动数据:上架:监控数据读取开始 ====================");
+        String begDateTime = LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN);
+        logger.info("--- 任务开始时间: {}", begDateTime);
+
+        acqGoodsMoveUpBiz.task();
+
+
+        String endDateTime = LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN);
+        logger.info("--- 任务结束时间: {}", endDateTime);
+        logger.info("==================== 货物库位移动数据:上架:监控数据读取结束 ====================");
+
+    }
+
+
+}

+ 1 - 2
src/main/java/com/emato/cus/supervise/schedule/AcqShelfLoadSchedule.java

@@ -34,8 +34,7 @@ public class AcqShelfLoadSchedule {
      * 上架
      */
     //每月1号开始,每天10,18点执行各1次,共2次
-    //@Scheduled(cron = "0 0 10,18 1/1 * ?")
-    @Scheduled(cron = "0/10 * * * * ? ")
+    @Scheduled(cron = "0 0 10,18 1/1 * ?")
     public void timerUp() {
         logger.info("==================== 货物上下架数据::上架::监控数据读取开始 ====================");
         String begDateTime = LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN);

+ 21 - 0
src/main/java/com/emato/cus/supervise/service/wms/WmsAcqGoodsMoveService.java

@@ -0,0 +1,21 @@
+package com.emato.cus.supervise.service.wms;
+
+import com.emato.cus.supervise.domain.WmsAcqGoodsMove;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 货物库位移动数据 WMS
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:31
+ */
+public interface WmsAcqGoodsMoveService {
+    /**
+     * 货物库位移动数据
+     * @param param
+     * @return
+     */
+    List<WmsAcqGoodsMove> getWmsAcqGoodsMoveUp(Map<String, Object> param);
+}

+ 35 - 0
src/main/java/com/emato/cus/supervise/service/wms/impl/WmsAcqGoodsMoveServiceImpl.java

@@ -0,0 +1,35 @@
+package com.emato.cus.supervise.service.wms.impl;
+
+import com.emato.cus.supervise.domain.WmsAcqGoodsMove;
+import com.emato.cus.supervise.mapper.WmsAcqGoodsMoveMapper;
+import com.emato.cus.supervise.service.wms.WmsAcqGoodsMoveService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zengjunlin
+ * @version 1.0
+ * 2018-02-03 15:34
+ */
+@Service
+public class WmsAcqGoodsMoveServiceImpl implements WmsAcqGoodsMoveService {
+
+    @Autowired
+    private WmsAcqGoodsMoveMapper wmsAcqGoodsMoveMapper;
+
+    /**
+     * 货物库位移动数据
+     *
+     * @param param
+     * @return
+     */
+    @Override
+    @Transactional(value ="primaryTransactionManager")
+    public List<WmsAcqGoodsMove> getWmsAcqGoodsMoveUp(Map<String, Object> param) {
+        return wmsAcqGoodsMoveMapper.getWmsAcqGoodsMoveUp(param);
+    }
+}

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

@@ -0,0 +1,33 @@
+<?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.mapper.WmsAcqGoodsMoveMapper">
+
+    <!-- 企业货物在仓库库的移动查询: 上架查询 -->
+    <select id="getWmsAcqGoodsMoveUp" parameterType="java.util.Map"
+            resultType="com.emato.cus.supervise.domain.WmsAcqGoodsMove">
+		SELECT
+		rc.agingDate AS shelfLoadTime,
+		rc.toLocation AS targetSeatNo,
+		rc.fromLocation AS originSeatNo,
+		rc.itemName AS goodsName,
+		rc.itemCode AS codeTs,
+		rc.itemCode AS skuNo,
+		rc.itemCode AS goodsId,
+		rc.quantity AS gQty,
+		i.unitDesc AS gUnit,
+		rc.warehouseCode AS storeCode,
+		CONCAT(i.itemSize,'-',i.itemColor,'-',i.itemStyle) as goodsModel
+		FROM
+		receipt_container rc
+		LEFT JOIN item i ON rc.itemCode = i. CODE
+		<where>
+			<if test="thisTime != null">
+				rc.created &gt;= #{thisTime}
+			</if>
+		</where>
+    </select>
+
+
+
+</mapper>

+ 1 - 0
src/main/resources/mybatis/mybatis-config.xml

@@ -7,6 +7,7 @@
         <!--使用相对于mybatis-config.xml的路径-->
         <mapper resource="mybatis/mapper/wms-acq-inventory-info.xml"/>
         <mapper resource="mybatis/mapper/wms-acq-shelf-load.xml"/>
+        <mapper resource="mybatis/mapper/wms-acq-goods-move.xml"/>
 
     </mappers>
 </configuration>

+ 10 - 1
src/sql/emt-record-time-2.0.sql

@@ -11,4 +11,13 @@ INSERT INTO emt_record_time (data_type, last_time, this_time, creater_sn, create
 --下架
 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()
-);
+);
+--企业货物在仓库的移动信息
+--上架
+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()
+);
+--下架
+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()
+);