From 4d26b26adb0750aaf8920a9b7613be59711577ca Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 16 十二月 2023 13:26:15 +0800
Subject: [PATCH] #库龄按批次计算

---
 src/main/java/com/zy/asrs/entity/ManLocDetl.java              |   14 ++++++++++++++
 src/main/resources/mapper/ManLocDetlMapper.xml                |    8 +++++---
 src/main/resources/mapper/LocDetlMapper.xml                   |   14 ++++++++------
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   20 +++++++++++++++++---
 4 files changed, 44 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/ManLocDetl.java b/src/main/java/com/zy/asrs/entity/ManLocDetl.java
index 1aa5c28..895c9ce 100644
--- a/src/main/java/com/zy/asrs/entity/ManLocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/ManLocDetl.java
@@ -199,6 +199,13 @@
     private Date modiTime;
 
     /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("produce_time")
+    private Date produceTime;
+
+    /**
      * 澶囨敞
      */
     @ApiModelProperty(value= "澶囨敞")
@@ -329,6 +336,13 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
     }
 
+    public String getProduceTimeTime$(){
+        if (Cools.isEmpty(this.produceTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.produceTime);
+    }
+
     public String getUpdateBy$(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.updateBy);
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index f2dc84f..c59eee8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -29,6 +29,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -968,7 +969,8 @@
         if (Cools.isEmpty(jsonLocNo)){
             return R.error("搴撲綅鍙峰弬鏁颁负绌猴紒");
         }else if (Cools.isEmpty(ownerId)){
-            return R.error("鎷ユ湁鑰呭弬鏁颁负绌猴紒");
+//            return R.error("鎷ユ湁鑰呭弬鏁颁负绌猴紒");
+            ownerId = 1L;
         }else if (Cools.isEmpty(jsonCode)){
             return R.error("鏉$爜鍙傛暟涓虹┖锛�");
         }else if (Cools.isEmpty(jsonOrigin)){
@@ -1045,6 +1047,12 @@
                 // manLocDetl.setOrderNo(waitPakin.getOrderNo());
                 manLocDetl.setStockFreeze(1);
                 manLocDetl.setOwner(jsonOwner);
+                try {
+                    Date produceTime = DateUtils.convert(manLocDetl.getBatch(),DateUtils.yyyyMMdd);
+                    manLocDetl.setProduceTime(produceTime);
+                } catch (Exception e) {
+                    manLocDetl.setProduceTime(now);
+                }
 
                 if (!manLocDetlService.insert(manLocDetl)){  //鏁版嵁搴撴彃鍏ュ疄浣撶被淇℃伅
                     return R.error("鐗╂枡淇℃伅鍏ュ簱澶辫触");
@@ -1063,7 +1071,8 @@
         if (Cools.isEmpty(jsonLocNo)){
             return R.error("搴撲綅鍙峰弬鏁颁负绌猴紒");
         }else if (Cools.isEmpty(ownerId)){
-            return R.error("鎷ユ湁鑰呭弬鏁颁负绌猴紒");
+//            return R.error("鎷ユ湁鑰呭弬鏁颁负绌猴紒");
+            ownerId = 1L;
         }
         Integer jsonOwner = ownerId.intValue(); //鑾峰彇鎷ユ湁鑰�
         Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo));  //鑾峰彇瀵瑰簲搴撲綅淇℃伅
@@ -1117,7 +1126,12 @@
                 manLocDetl.setOwner(jsonOwner);
                 // manLocDetl.setOrderNo(waitPakin.getOrderNo());
                 manLocDetl.setStockFreeze(1);
-
+                try {
+                    Date produceTime = DateUtils.convert(jsonOriginDetl.getBatch(),DateUtils.yyyyMMdd);
+                    manLocDetl.setProduceTime(produceTime);
+                } catch (Exception e) {
+                    manLocDetl.setProduceTime(now);
+                }
                 if (!manLocDetlService.insert(manLocDetl)){  //鏁版嵁搴撴彃鍏ュ疄浣撶被淇℃伅
                     return R.error("鐗╂枡淇℃伅鍏ュ簱澶辫触");
                 }
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index cfea807..58f259c 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -693,13 +693,14 @@
         locd.maktx,
         locd.owner,
         locd.batch,
-        create_time,
+        produce_time as create_time,
+        produce_time,
         locd.specs,
         locd.unit,
         inventory_max,
         inventory_min,
         inventory_age_max,
-        DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time]
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
         FROM
         man_loc_detl locd
         LEFT JOIN (
@@ -717,7 +718,7 @@
         RIGHT JOIN ( SELECT matnr,batch,owner, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr,batch,owner ) aa ON aa.matnr = man_mat.matnr
         ) warn ON locd.matnr = warn.matnr
         WHERE
-        DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) > inventory_age_max
         ) t
         WHERE
         1 = 1
@@ -741,13 +742,14 @@
         locd.maktx,
         locd.owner,
         locd.batch,
-        create_time,
+        produce_time as create_time,
+        produce_time,
         locd.specs,
         locd.unit,
         inventory_max,
         inventory_min,
         inventory_age_max,
-        DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time]
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
         FROM
         man_loc_detl locd
         LEFT JOIN (
@@ -765,7 +767,7 @@
         RIGHT JOIN ( SELECT matnr,batch,owner, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr,batch,owner ) aa ON aa.matnr = man_mat.matnr
         ) warn ON locd.matnr = warn.matnr
         WHERE
-        DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) > inventory_age_max
         ) t
         WHERE
         1 = 1
diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml
index 53dffc7..84cdcf6 100644
--- a/src/main/resources/mapper/ManLocDetlMapper.xml
+++ b/src/main/resources/mapper/ManLocDetlMapper.xml
@@ -29,6 +29,7 @@
         <result column="create_time" property="createTime" />
         <result column="update_by" property="updateBy" />
         <result column="modi_time" property="modiTime" />
+        <result column="produce_time" property="produceTime" />
         <result column="memo" property="memo" />
         <result column="owner" property="owner" />
         <result column="payment" property="payment" />
@@ -378,13 +379,14 @@
         locd.maktx,
         locd.owner,
         locd.batch,
-        create_time,
+        produce_time as create_time,
+        produce_time,
         locd.specs,
         locd.unit,
         inventory_max,
         inventory_min,
         inventory_age_max,
-        DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time]
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
         FROM
         man_loc_detl locd
         LEFT JOIN (
@@ -402,7 +404,7 @@
         RIGHT JOIN ( SELECT matnr,batch,owner, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr,batch,owner ) aa ON aa.matnr = man_mat.matnr
         ) warn ON locd.matnr = warn.matnr
         WHERE
-        DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) > inventory_age_max
         OR count_anfme > inventory_max
         OR count_anfme &lt; inventory_min
         ) t

--
Gitblit v1.9.1