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 < inventory_min
) t
--
Gitblit v1.9.1