From d599942e79ea0198898bdfde049b908418debf54 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 13 六月 2025 10:13:14 +0800
Subject: [PATCH] #新增生产日期和到期日期,和超期检索

---
 src/main/webapp/static/js/agvLocDetl/locDetl.js                  |   34 +++
 src/main/webapp/views/locDetl/locDetl.html                       |    1 
 src/main/java/com/zy/asrs/entity/param/CombParam.java            |    6 
 src/main/java/com/zy/asrs/controller/AgvLocDetlController.java   |   12 +
 src/main/java/com/zy/asrs/entity/AgvLocDetl.java                 |   24 +++
 src/main/java/com/zy/asrs/entity/AgvWaitPakin.java               |   20 ++
 src/main/java/com/zy/asrs/entity/AgvWrkDetl.java                 |   20 ++
 src/main/java/com/zy/common/web/WcsController.java               |    2 
 src/main/webapp/static/js/orderDetl/orderDetl.js                 |    2 
 src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java            |   20 ++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |    2 
 src/main/java/com/zy/asrs/entity/WrkDetl.java                    |   18 ++
 src/main/java/com/zy/asrs/entity/param/StockOutParam.java        |    3 
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java   |   23 +-
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |   10 
 src/main/java/com/zy/common/model/DetlDto.java                   |   15 +
 src/main/webapp/static/js/common.js                              |    3 
 src/main/java/com/zy/asrs/entity/WrkDetlLog.java                 |   20 ++
 src/main/java/com/zy/asrs/entity/param/FullStoreParam.java       |    7 
 src/main/java/com/zy/asrs/entity/OrderDetl.java                  |   15 +
 src/main/java/com/zy/asrs/controller/LocDetlController.java      |   12 +
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java      |    8 +
 src/main/webapp/static/js/locDetlStatis/locDetlStatis.js         |    2 
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java   |    3 
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |    5 
 src/main/webapp/views/agvLocDetl/locDetl.html                    |    1 
 src/main/resources/license222.lic                                |    0 
 src/main/java/com/zy/common/model/LocDto.java                    |   16 ++
 src/main/webapp/static/js/locDetl/locDetl.js                     |   33 +++
 /dev/null                                                        |    0 
 src/main/java/com/zy/asrs/entity/WaitPakinLog.java               |   20 ++
 src/main/java/com/zy/asrs/entity/WaitPakin.java                  |   18 ++
 src/main/java/com/zy/asrs/entity/LocDetl.java                    |   24 +++
 src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java              |   20 ++
 src/main/resources/application.yml                               |    2 
 src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java   |   23 ++
 36 files changed, 411 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
index f98d3f4..c5d0391 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
@@ -20,6 +20,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
 
@@ -40,14 +41,23 @@
                   @RequestParam(required = false)String orderByType,
                   @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param,
-                  @RequestParam(required = false)Boolean unreason){
+                  @RequestParam(required = false)Boolean unreason,
+                  @RequestParam(required = false)Boolean expired){
         if (!Cools.isEmpty(unreason) && unreason) {
 
             return R.ok(agvLocDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvLocDetl>()
                     .where(" DATALENGTH( batch ) != 11 or\n" +
                             "            batch LIKE '%[a-z]%'")));
         }
+        if (!Cools.isEmpty(expired) && expired) {
+            return R.ok(agvLocDetlService.selectPage(
+                    new Page<>(curr, limit),
+                    new EntityWrapper<AgvLocDetl>()
+                            .where("deadline < {0}", LocalDate.now())  // 鏂板鐨勮繃鏈熷垽鏂�
+            ));
+        }
         param.remove("unreason");
+        param.remove("expired");
         String row = "";
         EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
         if (param.get("row") != null) {
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 3ab417a..7f99784 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -19,6 +19,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDate;
 import java.util.*;
 
 @RestController
@@ -86,14 +87,23 @@
                   @RequestParam(required = false)String orderByType,
                   @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param,
-                  @RequestParam(required = false)Boolean unreason){
+                  @RequestParam(required = false)Boolean unreason,
+                  @RequestParam(required = false)Boolean expired){
         if (!Cools.isEmpty(unreason) && unreason) {
 
             return R.ok(locDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<LocDetl>()
                     .where(" DATALENGTH( batch ) != 11 or\n" +
                             "            batch LIKE '%[a-z]%'")));
         }
+        if (!Cools.isEmpty(expired) && expired) {
+            return R.ok(locDetlService.selectPage(
+                    new Page<>(curr, limit),
+                    new EntityWrapper<LocDetl>()
+                            .where("deadline < {0}", LocalDate.now())  // 鏂板鐨勮繃鏈熷垽鏂�
+            ));
+        }
         param.remove("unreason");
+        param.remove("expired");
         String row = "";
         EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
         if (param.get("row") != null) {
diff --git a/src/main/java/com/zy/asrs/entity/AgvLocDetl.java b/src/main/java/com/zy/asrs/entity/AgvLocDetl.java
index 1ea03d2..5bff1e1 100644
--- a/src/main/java/com/zy/asrs/entity/AgvLocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/AgvLocDetl.java
@@ -12,6 +12,7 @@
 import com.zy.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
@@ -161,6 +162,16 @@
     @ApiModelProperty(value= "搴撳瓨鍐荤粨{1:姝e父,0:鍐荤粨}")
     private Integer stockFreeze;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    private Date deadline;
+
     public String getLocNo$(){
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.locNo);
@@ -263,4 +274,17 @@
         return this.stockFreeze == 1 ? "姝e父" : "鍐荤粨";
     }
 
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/AgvWaitPakin.java b/src/main/java/com/zy/asrs/entity/AgvWaitPakin.java
index 2dc0a4e..fb92e30 100644
--- a/src/main/java/com/zy/asrs/entity/AgvWaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/AgvWaitPakin.java
@@ -151,6 +151,26 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public String getBeBatch$(){
         if (null == this.beBatch){ return null; }
         switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java b/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java
index 28ebb8c..613e948 100644
--- a/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java
+++ b/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java
@@ -151,6 +151,26 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public String getBeBatch$(){
         if (null == this.beBatch){ return null; }
         switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/AgvWrkDetl.java b/src/main/java/com/zy/asrs/entity/AgvWrkDetl.java
index 52685c3..00aa28c 100644
--- a/src/main/java/com/zy/asrs/entity/AgvWrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/AgvWrkDetl.java
@@ -269,6 +269,26 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public AgvWrkDetl() {
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java b/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java
index baff0d7..913e60b 100644
--- a/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java
+++ b/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java
@@ -268,6 +268,26 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public String getIoTime$(){
         if (Cools.isEmpty(this.ioTime)){
             return "";
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index ccb2015..cd7e72a 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -12,6 +12,7 @@
 import com.zy.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
@@ -161,6 +162,29 @@
     @ApiModelProperty(value= "搴撳瓨鍐荤粨{1:姝e父,0:鍐荤粨}")
     private Integer stockFreeze;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    private Date deadline;
+
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public String getLocNo$(){
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.locNo);
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 2d20f94..23347ea 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -279,6 +279,17 @@
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+
+    private Date deadline;
+
     /**
      * 澶囨敞
      */
@@ -287,7 +298,7 @@
 
     public OrderDetl() {}
 
-    public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
+    public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo,Date proddate, Date deadline) {
         this.orderId = orderId;
         this.orderNo = orderNo;
         this.anfme = anfme;
@@ -327,6 +338,8 @@
         this.updateBy = updateBy;
         this.updateTime = updateTime;
         this.memo = memo;
+        this.proddate = proddate;
+        this.deadline = deadline;
     }
 
     public String getOrderId$(){
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index 5692c8d..0fb66eb 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -151,7 +151,25 @@
 
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
 
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
     public String getBeBatch$(){
         if (null == this.beBatch){ return null; }
         switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakinLog.java b/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
index 4d1eafc..9c7c2a6 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
@@ -151,6 +151,26 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public String getBeBatch$(){
         if (null == this.beBatch){ return null; }
         switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index 826af34..764d53b 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -275,6 +275,24 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
     public String getIoTime$(){
         if (Cools.isEmpty(this.ioTime)){
             return "";
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java
index 0df08e6..3f8c1f9 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java
@@ -274,6 +274,26 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("proddate")
+    private Date proddate;
+    @ApiModelProperty(value= "鍒版湡鏃ユ湡")
+    @TableField("deadline")
+    private Date deadline;
+    public String getProddate$(){
+        if (Cools.isEmpty(this.proddate)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.proddate);
+    }
+    public String getDeadline$(){
+        if (Cools.isEmpty(this.deadline)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.deadline);
+    }
+
     public String getIoTime$(){
         if (Cools.isEmpty(this.ioTime)){
             return "";
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index ff8690d..8b6590c 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -2,6 +2,7 @@
 
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -47,6 +48,11 @@
 
         // 瑙勬牸
         private String specs;
+        //鐢熶骇鏃ユ湡
+        private Date proddate;
+
+        //鍒版湡鏃ユ湡
+        private Date deadline;
 
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java b/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
index aee3742..ddde0a5 100644
--- a/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
@@ -2,6 +2,7 @@
 
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -39,6 +40,12 @@
 
         //閿�鍞鍗曡鍙�
         private String isoseq;
+        //鐢熶骇鏃ユ湡
+        private Date proddate;
+
+        //鍒版湡鏃ユ湡
+        private Date deadline;
+
 
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index 3c9fd81..5f1d9d9 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -2,6 +2,7 @@
 
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -42,6 +43,8 @@
 
         //閿�鍞鍗曡鍙�
         private String deadTime;
+        private Date proddate;
+        private Date deadline;
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 41918fd..92324ab 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -144,7 +144,7 @@
                 checkOrderQty(order, combMat);
             }
 
-            DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(), combMat.getContainerCode());
+            DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(),combMat.getContainerCode(),combMat.getProddate(),combMat.getDeadline());
             //鍚屼竴鎵樼洏涓嬬浉鍚岀墿鏂欎俊鎭拰鎵瑰彿杞负涓�涓叆搴撻�氱煡妗�
             if (DetlDto.has(detlDtos, detlDto)) {
                 DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getCsocode(), detlDto.getIsoseq(), null);
@@ -193,7 +193,8 @@
         waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
         waitPakin.setAnfme(detlDto.getAnfme());  // 鏁伴噺
         waitPakin.setStatus("Y");    // 鐘舵��
-
+        waitPakin.setProddate(detlDto.getProddate());
+        waitPakin.setDeadline(detlDto.getDeadline());
         ////閿�鍞鍗曞彿
         waitPakin.setThreeCode(detlDto.getCsocode());
         //閿�鍞鍗曡鍙�
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 8d1e0dd..0697692 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -96,7 +96,7 @@
             wrkMast.setMk(isConveyor ? "Y" : "N");
             //鐢熸垚宸ヤ綔妗f槑缁�
             agvWaitPakinList.forEach(wp -> {
-                createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime());
+                createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProddate(),wp.getDeadline());
             });
             //鏇存柊婧愮珯鐐逛俊鎭�
             updateAgvBasDevp(agvBasDevp,"R");
@@ -148,7 +148,9 @@
                             now,
                             userId,
                             locDto.getCsocode(),
-                            locDto.getIsoseq());
+                            locDto.getIsoseq(),
+                            locDto.getProddate(),
+                            locDto.getDeadline());
                 }else {
                     List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
                     orderDtoList.forEach(orderDto -> {
@@ -162,7 +164,9 @@
                                 now,
                                 userId,
                                 locDto.getCsocode(),
-                                locDto.getIsoseq());
+                                locDto.getIsoseq(),
+                                locDto.getProddate(),
+                                locDto.getDeadline());
                     });
                 }
 
@@ -245,7 +249,7 @@
 
         List<TaskDto> taskDtos = new ArrayList<>();
         param.getLocDetls().forEach(locDetl -> {
-            LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode());
+            LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode(),locDetl.getProddate(),locDetl.getDeadline());
             TaskDto taskDto = new TaskDto(locDetl.getLocNo(),station,locDto);
             if(TaskDto.has(taskDtos,taskDto)){
                 TaskDto.find(taskDtos,taskDto).getLocDtos().add(locDto);
@@ -277,7 +281,9 @@
                         now,
                         userId,
                         locDto.getCsocode(),
-                        locDto.getIsoseq());
+                        locDto.getIsoseq(),
+                        locDto.getProddate(),
+                        locDto.getDeadline());
             });
             updateAgvLocMast(agvLocMastService.selectById(wrkMast.getSourceLocNo()),"P");
             //鏇存柊鐩爣绔欑偣鐘舵��
@@ -307,7 +313,7 @@
         //鐢熸垚绉诲簱宸ヤ綔妗�
         AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,false);
         //鐢熸垚宸ヤ綔鍏氭槑缁�
-        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime());
+        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProddate(),sourceLocDetl.getDeadline());
         //淇敼鐩爣搴撲綅鐘舵��
         updateAgvLocMast(targetLocMast,"S");
         //淇敼鍘熷簱浣嶇姸鎬�
@@ -639,7 +645,7 @@
     /*
     鐢熸垚宸ヤ綔妗f槑缁�
      */
-    private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq){
+    private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq,Date proddate,Date deadline){
         Mat mat = matService.selectByMatnr(matnr);
         if (Cools.isEmpty(mat)) {
             throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触");
@@ -656,7 +662,8 @@
         wrkDetl.setAppeTime(now);
         wrkDetl.setModiUser(userId);
         wrkDetl.setModiTime(now);
-
+        wrkDetl.setProddate(proddate);
+        wrkDetl.setDeadline(deadline);
         wrkDetl.setThreeCode(csocode);
         wrkDetl.setDeadTime(isoseq);
         if (!agvWrkDetlService.insert(wrkDetl)) {
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 b222e61..012f0a8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -149,7 +149,7 @@
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
             param.getCombMats().forEach(elem -> {
-                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode(),elem.getProddate(),elem.getDeadline());
                 if (DetlDto.has(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                     assert one != null;
@@ -176,7 +176,8 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
-
+                waitPakin.setProddate(detlDto.getProddate());
+                waitPakin.setDeadline(detlDto.getDeadline());
                 waitPakin.setThreeCode(detlDto.getCsocode());
                 waitPakin.setDeadTime(detlDto.getIsoseq());
                 waitPakin.setSuppCode(detlDto.getContainerCode());
@@ -204,7 +205,7 @@
                     throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
                 }
 
-                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq(),elem.getContainerCode());
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq(),elem.getContainerCode(),elem.getProddate(),elem.getDeadline());
                 if (DetlDto.has(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                     assert one != null;
@@ -230,7 +231,8 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
-
+                waitPakin.setProddate(detlDto.getProddate());
+                waitPakin.setDeadline(detlDto.getDeadline());
                 waitPakin.setThreeCode(detlDto.getCsocode());
                 waitPakin.setDeadTime(detlDto.getIsoseq());
                 waitPakin.setSuppCode(detlDto.getContainerCode());
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 7a409a9..cbc8bc7 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -131,7 +131,7 @@
         // 鐢熸垚宸ヤ綔妗f槑缁�
         List<DetlDto> detlDtos = new ArrayList<>();
         param.getList().forEach(elem -> {
-            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode(),elem.getProddate(),elem.getDeadline());
             if (DetlDto.has(detlDtos, detlDto)) {
                 DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                 assert detlDto1 != null;
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 89c9603..98988c4 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -46,7 +46,8 @@
             wrkDetl.setAppeTime(now);
             wrkDetl.setModiUser(userId);
             wrkDetl.setModiTime(now);
-
+            wrkDetl.setProddate(dto.getProddate());
+            wrkDetl.setDeadline(dto.getDeadline());
             wrkDetl.setThreeCode(dto.getCsocode());
             wrkDetl.setDeadTime(dto.getIsoseq());
             wrkDetl.setSuppCode(dto.getContainerCode());
diff --git a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
index 62b7596..78bd822 100644
--- a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
@@ -20,12 +20,10 @@
     @Transactional
     public ReturnT<String> start() {
         try {
-            // 鍒犻櫎鍗婂勾浠ヤ笂鐨勫巻鍙叉。
-            jdbcTemplate.update("delete from asr_stk_hplc where dateadd(day,180,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from asr_wrk_detl_log where dateadd(day,360,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from asr_wrk_mast_log where dateadd(day,360,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from cust_wait_pakin_log where dateadd(day,360,appe_time) <= getdate();");
-
+            batchDelete("asr_stk_hplc", 180);
+            batchDelete("asr_wrk_detl_log", 360);
+            batchDelete("asr_wrk_mast_log", 360);
+            batchDelete("cust_wait_pakin_log", 360);
         } catch (Exception e) {
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -34,4 +32,17 @@
         return SUCCESS;
     }
 
+    private void batchDelete(String tableName, int days) {
+        int batchSize = 1000;
+        int affected;
+        do {
+            String sql = String.format(
+                    "WITH cte AS (SELECT TOP (%d) * FROM %s WHERE dateadd(day, %d, appe_time) <= getdate()) DELETE FROM cte",
+                    batchSize, tableName, days
+            );
+            affected = jdbcTemplate.update(sql);
+        } while (affected > 0);
+    }
+
+
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 9ed7473..0ab3f5a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -93,6 +93,8 @@
                             locDetl.sync(wrkDetl);
                             locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
                             locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+                            locDetl.setProddate(wrkDetl.getProddate());//鐢熶骇鏃ユ湡
+                            locDetl.setDeadline(wrkDetl.getDeadline());//鍒版湡鏃ユ湡
                             locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
@@ -206,6 +208,8 @@
                         locDetl.setBatch(detlDto.getBatch()); // 鎵瑰彿
                         locDetl.setThreeCode(detlDto.getCsocode());
                         locDetl.setDeadTime(detlDto.getIsoseq());
+                        locDetl.setProddate(detlDto.getProddate());
+                        locDetl.setDeadline(detlDto.getDeadline());
                         locDetl.setAppeTime(now);
                         locDetl.setAppeUser(9527L);
                         locDetl.setModiTime(now);
@@ -262,6 +266,8 @@
                             locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
                             locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
                             locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+                            locDetl.setProddate(wrkDetl.getProddate());//鐢熶骇鏃ユ湡
+                            locDetl.setDeadline(wrkDetl.getDeadline());//鍒版湡鏃ユ湡
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
                             if (!locDetlService.insert(locDetl)) {
@@ -294,6 +300,8 @@
                         locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
                         locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
                         locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+                        locDetl.setProddate(wrkDetl.getProddate());
+                        locDetl.setDeadline(wrkDetl.getDeadline());
                         locDetl.setModiTime(now);
                         locDetl.setAppeTime(now);
                         if (!locDetlService.insert(locDetl)) {
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index d58542b..ef22a41 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -4,6 +4,7 @@
 import com.zy.asrs.entity.OrderDetl;
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Set;
 
@@ -29,6 +30,9 @@
 
     //閿�鍞鍗曡鍙�
     private String isoseq;
+
+    private Date proddate;
+    private Date deadline;
 
     public DetlDto() {
     }
@@ -58,6 +62,17 @@
         this.containerCode = containerCode;
     }
 
+    public DetlDto(String matnr, String batch, Double anfme, String csocode, String isoseq, String containerCode,Date proddate,Date deadline) {
+        this.matnr = matnr;
+        this.batch = batch;
+        this.anfme = anfme;
+        this.csocode = csocode;
+        this.isoseq = isoseq;
+        this.containerCode = containerCode;
+        this.proddate = proddate;
+        this.deadline = deadline;
+    }
+
     public DetlDto(String orderNo, String matnr, String batch, Double anfme, String csocode, String isoseq) {
         this.orderNo = orderNo;
         this.matnr = matnr;
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index e1988fd..ed446f8 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -3,6 +3,7 @@
 import com.core.common.Cools;
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -46,6 +47,9 @@
     //鏂欑鐮�
     private String containerCode;
 
+    private Date proddate;
+    private Date deadline;
+
     public LocDto() {
     }
 
@@ -59,6 +63,18 @@
         this.containerCode = containerCode;
     }
 
+    public LocDto(String locNo, Double anfme, String matnr, String batch, String csocode, String isoseq, String containerCode,Date proddate, Date deadline) {
+        this.locNo = locNo;
+        this.anfme = anfme;
+        this.matnr = matnr;
+        this.batch = batch;
+        this.csocode = csocode;
+        this.isoseq = isoseq;
+        this.containerCode = containerCode;
+        this.proddate = proddate;
+        this.deadline = deadline;
+    }
+
     public LocDto(String locNo, String matnr, String batch, Double anfme) {
         this.locNo = locNo;
         this.matnr = matnr;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index e203763..770a948 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -291,6 +291,8 @@
             WrkDetl wrkDetl = new WrkDetl();
             BeanUtils.copyProperties(waitPakin, wrkDetl);
             wrkDetl.setZpallet(barcode);
+            wrkDetl.setProddate(waitPakin.getProddate());
+            wrkDetl.setDeadline(waitPakin.getDeadline());
             wrkDetl.setWrkNo(wrkMast.getWrkNo());
             wrkDetl.setIoTime(wrkMast.getIoTime());
             wrkDetl.setAppeTime(now);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index bde1d85..a748016 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -48,7 +48,7 @@
   subject: tzskasrs
   publicAlias: publicCert
   storePass: public_zhongyang_123456789
-  licensePath: license.lic
+  licensePath: license222.lic
   publicKeysStorePath: publicCerts.keystore
 
 # 涓嬩綅鏈洪厤缃�
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
deleted file mode 100644
index cb28f42..0000000
--- a/src/main/resources/license.lic
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/license222.lic b/src/main/resources/license222.lic
new file mode 100644
index 0000000..4d3299a
--- /dev/null
+++ b/src/main/resources/license222.lic
Binary files differ
diff --git a/src/main/webapp/static/js/agvLocDetl/locDetl.js b/src/main/webapp/static/js/agvLocDetl/locDetl.js
index d408a1d..c9730cb 100644
--- a/src/main/webapp/static/js/agvLocDetl/locDetl.js
+++ b/src/main/webapp/static/js/agvLocDetl/locDetl.js
@@ -55,6 +55,8 @@
 
     // cols.push.apply(cols, detlCols);
     cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true}
+        ,{field: 'proddate$', align: 'center',title: '鐢熶骇鏃ユ湡', hide:false}
+        ,{field: 'deadline$', align: 'center',title: '鍒版湡鏃ユ湡', hide:false}
         ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
         ,{field: 'stockFreeze', align: 'center',title: '搴撳瓨鍐荤粨', templet: '#stockFreezeTpl'}
     )
@@ -79,7 +81,8 @@
         page: true,
         limit: 20,
         where:{
-          unreason: false
+          unreason: false,
+            expired: false
         },
         limits: [20, 30, 50, 100, 200, 500],
         even: true,
@@ -402,6 +405,29 @@
         method("add");
     });
 
+    form.on('submit(expired)', function (data) {
+        pageCurr = 1;
+
+        tableIns.reload({
+            where: {
+                expired: true,
+                unreason: false
+            },
+            page: {
+                curr: pageCurr
+            },
+            done: function (res, curr, count) {
+
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+
+                limit(child);
+            }
+        });
+    });
+
     // 鏁版嵁淇敼鍔ㄤ綔
     form.on('submit(edit)', function () {
         method("update")
@@ -484,7 +510,8 @@
 
         tableIns.reload({
             where: {
-                unreason: true
+                unreason: true,
+                expired:false
             },
             page: {
                 curr: pageCurr
@@ -539,7 +566,8 @@
 
 function tableReload(child) {
     var searchData = {
-        unreason: false
+        unreason: false,
+        expired: false
     };
     $.each($('#search-box [name]').serializeArray(), function() {
         searchData[this.name] = this.value;
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 32e5f24..6f086b7 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -247,7 +247,8 @@
     ,{field: 'dsDate', align: 'center',title: '鍚敤鏃ユ湡', hide: true}
     ,{field: 'supp', align: 'center',title: '寤烘。浜�', hide: true}
     ,{field: 'dInvCreateDatetime', align: 'center',title: '寤烘。鏃ユ湡', hide: true}
-
+    ,{field: 'proddate$', align: 'center',title: '鐢熶骇鏃ユ湡', hide:false}
+    ,{field: 'deadline$', align: 'center',title: '鍒版湡鏃ユ湡', hide:false}
     // ,{field: 'specs', align: 'center',title: '瑙勬牸'}
     // ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
     // ,{field: 'name', align: 'center',title: '绉诲姩绫诲瀷', hide: true}
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index 9999628..664055a 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -20,6 +20,8 @@
         ,{field: 'price', align: 'center',title: '杩涢」绋�', hide: true}
         ,{field: 'units', align: 'center',title: '閿�椤圭◣', hide: true}
         ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
+        ,{field: 'proddate$', align: 'center',title: '鐢熶骇鏃ユ湡', hide:false}
+        ,{field: 'deadline$', align: 'center',title: '鍒版湡鏃ユ湡', hide:false}
 
     ];
 
@@ -46,7 +48,8 @@
         page: true,
         limit: 20,
         where:{
-          unreason: false
+            unreason: false,
+            expired: false
         },
         limits: [20, 30, 50, 100, 200, 500],
         even: true,
@@ -462,7 +465,30 @@
 
         tableIns.reload({
             where: {
-                unreason: true
+                unreason: true,
+                expired:false
+            },
+            page: {
+                curr: pageCurr
+            },
+            done: function (res, curr, count) {
+
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+
+                limit(child);
+            }
+        });
+    });
+    form.on('submit(expired)', function (data) {
+        pageCurr = 1;
+
+        tableIns.reload({
+            where: {
+                expired: true,
+                unreason:false
             },
             page: {
                 curr: pageCurr
@@ -512,7 +538,8 @@
 
 function tableReload(child) {
     var searchData = {
-        unreason: false
+        unreason: false,
+        expired: false
     };
     $.each($('#search-box [name]').serializeArray(), function() {
         searchData[this.name] = this.value;
diff --git a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
index 9e80d36..4d819ca 100644
--- a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
+++ b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
@@ -10,6 +10,8 @@
     arrRemove(detlCols, "field", "threeCode");
     arrRemove(detlCols, "field", "deadTime");
     arrRemove(detlCols, "field", "batch");
+    arrRemove(detlCols, "field", "proddate");
+    arrRemove(detlCols, "field", "deadline");
     cols.push.apply(cols, detlCols);
     // cols.push({field: 'anfme', align: 'center',title: '鏁伴噺', style: 'font-weight: bold'}
     // )
diff --git a/src/main/webapp/static/js/orderDetl/orderDetl.js b/src/main/webapp/static/js/orderDetl/orderDetl.js
index b6e3708..782a4d7 100644
--- a/src/main/webapp/static/js/orderDetl/orderDetl.js
+++ b/src/main/webapp/static/js/orderDetl/orderDetl.js
@@ -44,6 +44,8 @@
             ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
             ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
             ,{field: 'memo', align: 'center',title: '澶囨敞'}
+            ,{field: 'proddate$', align: 'center',title: '鐢熶骇鏃ユ湡', hide:false}
+            ,{field: 'deadline$', align: 'center',title: '鍒版湡鏃ユ湡', hide:false}
 
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
         ]],
diff --git a/src/main/webapp/views/agvLocDetl/locDetl.html b/src/main/webapp/views/agvLocDetl/locDetl.html
index 6f6f73f..d32d501 100644
--- a/src/main/webapp/views/agvLocDetl/locDetl.html
+++ b/src/main/webapp/views/agvLocDetl/locDetl.html
@@ -47,6 +47,7 @@
         <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
         <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
         <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>
+        <button id="expired" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="expired">鏌ョ湅瓒呮湡鏁版嵁</button>
     </div>
 
 </div>
diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html
index 83ed293..8429a1e 100644
--- a/src/main/webapp/views/locDetl/locDetl.html
+++ b/src/main/webapp/views/locDetl/locDetl.html
@@ -46,6 +46,7 @@
         <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
         <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
         <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>
+        <button id="expired" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="expired">鏌ョ湅瓒呮湡鏁版嵁</button>
     </div>
 
 </div>

--
Gitblit v1.9.1