ソースを参照

库存移动信息还要修改转换locadatetime异常

zjl 7 年 前
コミット
cc156629ee

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

@@ -4,12 +4,15 @@ 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.util.LocalDateTimeUtils;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -34,12 +37,19 @@ public class AcqGoodsMoveUpDataConversion implements DataConversion {
         logger.info("开始转换oms,wms 组装cus数据===========================");
         List<WmsAcqGoodsMove> wmsList = (List<WmsAcqGoodsMove>) params.get("wmsList");
         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);
             CusAcqGoodsMove05 cusAcqGoodsMove05 = new CusAcqGoodsMove05();
             cusAcqGoodsMove05.setId(wmsAcqGoodsMove.getId());
-            cusAcqGoodsMove05.setShelfLoadTime(wmsAcqGoodsMove.getShelfLoadTime());
-            cusAcqGoodsMove05.setShelfUnloadTime(wmsAcqGoodsMove.getShelfUnloadTime());
+            if("上架".equals(wmsAcqGoodsMove.getTaskType())){
+                //TODO 此处转换locaDate有异常
+                cusAcqGoodsMove05.setShelfLoadTime(LocalDateTimeUtils.stringToLocalTime(wmsAcqGoodsMove.getCreated(),df));
+            }
+            if("批量拣选".equals(wmsAcqGoodsMove.getTaskType())){
+                cusAcqGoodsMove05.setShelfUnloadTime(LocalDateTimeUtils.stringToLocalTime(wmsAcqGoodsMove.getCreated(),df));
+            }
             cusAcqGoodsMove05.setTargetSeatNo(wmsAcqGoodsMove.getTargetSeatNo());
             cusAcqGoodsMove05.setOriginSeatNo(wmsAcqGoodsMove.getOriginSeatNo());
             cusAcqGoodsMove05.setGoodsName(wmsAcqGoodsMove.getGoodsName());

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

@@ -44,6 +44,9 @@ public class WmsAcqGoodsMove implements Serializable {
     private String moderSn;
     private LocalDateTime modTime;
 
+    private String taskType;
+    private String created;
+
     public String getId() {
         return id;
     }
@@ -228,4 +231,19 @@ public class WmsAcqGoodsMove implements Serializable {
         this.modTime = modTime;
     }
 
+    public String getTaskType() {
+        return taskType;
+    }
+
+    public void setTaskType(String taskType) {
+        this.taskType = taskType;
+    }
+
+    public String getCreated() {
+        return created;
+    }
+
+    public void setCreated(String created) {
+        this.created = created;
+    }
 }

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

@@ -29,7 +29,8 @@ public class AcqGoodsMoveSchedule {
      * 货物库位移动数据
      */
     //每月1号开始,每天12,18点执行各1次,共2次
-    @Scheduled(cron = "0 0 12,18 1/1 * ?")
+    //@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);

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

@@ -30,8 +30,7 @@ public class AcqGoodsSeatSchedule {
      * 每30分钟1次
      */
     //每月1号开始,每天10,12,15,18,22点各1次,共5次
-    //@Scheduled(cron = "0 0 10,12,15,18,22 1/1 * ?")
-    @Scheduled(cron = "0/10 * * * * ? ")
+    @Scheduled(cron = "0 0 10,12,15,18,22 1/1 * ?")
     public void timerUp() {
         logger.info("==================== 库位货物数据::监控数据读取开始 ====================");
         String begDateTime = LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN);

+ 10 - 4
src/main/java/com/emato/cus/supervise/util/LocalDateTimeUtils.java

@@ -1,10 +1,7 @@
 package com.emato.cus.supervise.util;
 
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.Period;
-import java.time.ZoneId;
+import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.TemporalUnit;
@@ -106,5 +103,14 @@ public class LocalDateTimeUtils {
                 .withNano(999999999);
     }
 
+    /**
+     * String转LocalTime
+     * @param src
+     * @param formatter
+     * @return
+     */
+    public static LocalTime stringToLocalTime(String src, DateTimeFormatter formatter) {
+        return LocalTime.parse(src, formatter);
+    }
 
 }

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

@@ -7,23 +7,24 @@
     <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,
+		td.taskType AS taskType,
+		td.created AS created,
+		td.toLoc AS targetSeatNo,
+		td.fromLoc AS originSeatNo,
+		td.itemName AS goodsName,
+		td.itemCode AS codeTs,
+		td.itemCode AS skuNo,
+		td.itemCode AS goodsId,
+		td.warehouseCode AS storeCode,
 		i.unitDesc AS gUnit,
-		rc.warehouseCode AS storeCode,
+		td.totalqty AS gQty,
 		CONCAT(i.itemSize,'-',i.itemColor,'-',i.itemStyle) as goodsModel
 		FROM
-		receipt_container rc
-		LEFT JOIN item i ON rc.itemCode = i. CODE
+		task_detail td
+		LEFT JOIN item i on td.itemcode = i.CODE
 		<where>
 			<if test="thisTime != null">
-				rc.created &gt;= #{thisTime}
+				td.created &gt;= #{thisTime}
 			</if>
 		</where>
     </select>

+ 39 - 1
src/sql/wms-data-2.0.sql

@@ -52,4 +52,42 @@ SELECT
 	'E' AS shelfLoadType
 FROM
 	Shipping_container_detail scd
-LEFT JOIN item i ON scd.itemCode = i.`code`;
+LEFT JOIN item i ON scd.itemCode = i.`code`;
+--企业货物在仓库的移动信息
+SELECT
+	td.taskType AS taskType,
+	td.created AS created,
+	td.toLoc AS targetSeatNo,
+	td.fromLoc AS originSeatNo,
+	td.itemName AS goodsName,
+	td.itemCode AS codeTs,
+	td.totalqty AS gQty,
+	td.itemCode AS skuNo,
+	td.itemCode AS goodsId,
+	td.warehouseCode AS storeCode,
+	i.unitDesc AS gUnit,
+CONCAT(i.itemSize,'-',i.itemColor,'-',i.itemStyle) as goodsModel
+FROM
+	task_detail td
+LEFT JOIN item i on td.itemcode = i.CODE
+--库位上的货物信息
+ SELECT
+        li.companyCode AS merchSn,
+        li.locationCode AS seatNo,
+        li.itemName AS goodsName,
+        li.itemCode AS codeTs,
+        li.itemCode AS skuNo,
+        li.itemCode AS goodsId,
+        i.unitDesc AS gUnit,
+        li.onHandQty AS gQty,
+        li.warehouseCode AS storeCode,
+        CONCAT(
+        i.itemSize,
+        '-',
+        i.itemColor,
+        '-',
+        i.itemStyle
+        ) AS goodsModel
+        FROM
+        location_inventory li
+        LEFT JOIN item i ON li.itemCode = i. CODE