From 7eb9b6f8c60a244e1a96597319c7b54963ba6612 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 07 一月 2025 09:03:09 +0800
Subject: [PATCH] 优化MES库存同步逻辑及AGV告警字段

---
 src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java    |   25 ++
 src/main/resources/mapper/AgvBasMapper.xml                       |   12 +
 src/main/java/com/zy/asrs/entity/AgvWarn.java                    |    3 
 src/main/java/com/zy/asrs/entity/AgvWarnLog.java                 |   20 +
 src/main/java/com/zy/asrs/entity/Agv.java                        |   19 +
 src/main/java/com/zy/asrs/task/AgvWarnScheduler.java             |   85 +++++---
 src/main/resources/mapper/AgvWarnLogMapper.xml                   |    1 
 src/main/java/com/zy/asrs/mapper/AgvBasMapper.java               |   20 ++
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java    |    2 
 src/main/java/com/zy/asrs/controller/AgvWarnController.java      |   41 ++-
 src/main/resources/mapper/MesLocDetlMapper.xml                   |   43 ++++
 src/main/java/com/zy/asrs/entity/MesLocDetl.java                 |  152 ++++++++------
 src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js      |  111 +++++-----
 src/main/java/com/zy/asrs/entity/param/AgvWarnCallBackParam.java |    1 
 src/main/java/com/zy/asrs/task/ReportDataScheduler.java          |   10 
 src/main/resources/application.yml                               |    2 
 src/main/webapp/views/agvLocDetlStatis/locDetlStatis.html        |   18 
 17 files changed, 372 insertions(+), 193 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvWarnController.java b/src/main/java/com/zy/asrs/controller/AgvWarnController.java
index 518fc41..4d1a0e9 100644
--- a/src/main/java/com/zy/asrs/controller/AgvWarnController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvWarnController.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.AppAuth;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.zy.asrs.entity.AgvWarn;
 import com.zy.asrs.entity.AgvWrkMast;
 import com.zy.asrs.entity.param.AgvWarnBody;
@@ -12,11 +13,13 @@
 import com.zy.asrs.service.AgvWarnService;
 import com.zy.asrs.service.AgvWrkMastService;
 import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.utils.AppAuthUtil;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
@@ -40,6 +43,7 @@
  */
 @Slf4j
 @RestController
+@RequestMapping("/agv")
 public class AgvWarnController extends BaseController {
 
 
@@ -58,24 +62,31 @@
     @AppAuth(memo = "AGV鍛婅鍥炶皟")
     public Object taskEventStaus(@RequestBody AgvWarnCallBackParam param, HttpServletRequest request) {
         log.info("AGV鍛婅鍥炶皟:{}", JSON.toJSONString(param));
-        List<AgvWarnBody> data = param.getData();
+        AppAuthUtil.auth("", param, request);
+        List<AgvWarnBody> agvWarnBodies = param.getData();
+        //  List<AgvWarnBody> agvWarnBodies = JSONArray.parseArray(data, AgvWarnBody.class);
         AgvWarn agvWarn = null;
         List<AgvWarn> agvWarns = new ArrayList<>();
         List<AgvWarn> updates = new ArrayList<>();
-        for (AgvWarnBody body : data) {
+        for (AgvWarnBody body : agvWarnBodies) {
             List<AgvWarn> agvWarnList = agvWarnService.selectList(new EntityWrapper<AgvWarn>().eq("robot_code", body.getRobotCode()).eq("begin_time", body.getBeginTime()).eq("warn_content", body.getWarnContent()));
             if (Cools.isEmpty(agvWarnList)) {
                 agvWarn = new AgvWarn();
                 agvWarn.setBeginTime(body.getBeginTime());
                 agvWarn.setAppeTime(new Date());
                 agvWarn.setTimes(0);
+                agvWarn.setModiTime(DateUtils.convert(body.getBeginTime(), DateUtils.yyyyMMddHHmmss_F));
                 agvWarn.setRobotCode(body.getRobotCode());
                 agvWarn.setWarnContent(body.getWarnContent());
                 if (body.getTaskCode() != null) {
-                    AgvWrkMast agvWrkMast = agvWrkMastService.selectById(body.getTaskCode());
-                    if (agvWrkMast != null) {
-                        agvWarn.setLocNo(agvWrkMast.getLocNo());
-                        agvWarn.setSourceLocNo(agvWrkMast.getSourceLocNo());
+                    try {
+                        AgvWrkMast agvWrkMast = agvWrkMastService.selectById(Math.abs(Integer.parseInt(body.getTaskCode())));
+                        if (agvWrkMast != null) {
+                            agvWarn.setLocNo(agvWrkMast.getLocNo());
+                            agvWarn.setSourceLocNo(agvWrkMast.getSourceLocNo());
+                        }
+                    } catch (Exception e) {
+                        log.info("浠诲姟涓嶅瓨鍦�");
                     }
                 }
                 agvWarns.add(agvWarn);
@@ -84,10 +95,14 @@
                 agvWarn.setWarnContent(agvWarn.getWarnContent().contains(body.getWarnContent()) ? body.getWarnContent() : agvWarn.getWarnContent() + "銆�" + body.getWarnContent());
                 agvWarn.setModiTime(new Date());
                 if (body.getTaskCode() != null) {
-                    AgvWrkMast agvWrkMast = agvWrkMastService.selectById(body.getTaskCode());
-                    if (agvWrkMast != null) {
-                        agvWarn.setLocNo(agvWrkMast.getLocNo());
-                        agvWarn.setSourceLocNo(agvWrkMast.getSourceLocNo());
+                    try {
+                        AgvWrkMast agvWrkMast = agvWrkMastService.selectById(body.getTaskCode());
+                        if (agvWrkMast != null) {
+                            agvWarn.setLocNo(agvWrkMast.getLocNo());
+                            agvWarn.setSourceLocNo(agvWrkMast.getSourceLocNo());
+                        }
+                    } catch (Exception e) {
+                        log.info("浠诲姟涓嶅瓨鍦�");
                     }
                 }
                 updates.add(agvWarn);
@@ -100,20 +115,20 @@
             agvWarnService.updateBatchById(updates);
         }
         Map<String, Object> result = new HashMap<>();
-        logPost(param, JSONObject.toJSONString(result), true);
+        logPost(JSONObject.toJSONString(param), JSONObject.toJSONString(result), true);
         result.put("code", 0);
         result.put("message", "鎴愬姛");
         result.put("reqCode", param.getReqCode());
         return result;
     }
 
-    private void logPost(AgvWarnCallBackParam param, String response, boolean success) {
+    private void logPost(String param, String response, boolean success) {
         apiLogService.save(
                 "ESS浠诲姟鍥炶皟",
                 "/phyzwms/agv/task/event/status",
                 null,
                 null,
-                JSONObject.toJSONString(param),
+                param,
                 response,
                 success
         );
diff --git a/src/main/java/com/zy/asrs/entity/Agv.java b/src/main/java/com/zy/asrs/entity/Agv.java
new file mode 100644
index 0000000..4279954
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/Agv.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@TableName("agv_bas")
+@Data
+public class Agv implements Serializable {
+
+    @TableId("agv_no")
+    private String agvNo;
+
+    @TableField("region")
+    private String region;
+}
diff --git a/src/main/java/com/zy/asrs/entity/AgvWarn.java b/src/main/java/com/zy/asrs/entity/AgvWarn.java
index cd44e98..91f6744 100644
--- a/src/main/java/com/zy/asrs/entity/AgvWarn.java
+++ b/src/main/java/com/zy/asrs/entity/AgvWarn.java
@@ -47,6 +47,9 @@
     @TableField("modi_time")
     private Date modiTime;
 
+//    @TableField("report_time")
+//    private Date reportTime;
+
     @TableField("memo")
     private String memo;
 
diff --git a/src/main/java/com/zy/asrs/entity/AgvWarnLog.java b/src/main/java/com/zy/asrs/entity/AgvWarnLog.java
index 1b015f5..526abb7 100644
--- a/src/main/java/com/zy/asrs/entity/AgvWarnLog.java
+++ b/src/main/java/com/zy/asrs/entity/AgvWarnLog.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.entity;
 
 import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import lombok.Data;
 
@@ -13,7 +14,14 @@
     private static final long serialVersionUID = 1L;
 
     @TableField("id")
+    @TableId
     private Long id;
+
+    /**
+     * 涓婃姤娆℃暟
+     */
+    @TableField("times")
+    private Integer times;
 
     @TableField("robot_code")
     private String robotCode;
@@ -21,8 +29,8 @@
     @TableField("begin_time")
     private String beginTime;
 
-    @TableField("warnContent")
-    private String warn_content;
+    @TableField("warn_content")
+    private String warnContent;
 
     @TableField("task_code")
     private String taskCode;
@@ -30,7 +38,7 @@
     @TableField("loc_no")
     private String locNo;
 
-    @TableField("source_locNo")
+    @TableField("source_loc_no")
     private String sourceLocNo;
 
     @TableField("appe_time")
@@ -38,5 +46,11 @@
 
     @TableField("modi_time")
     private Date modiTime;
+
+//    @TableField("report_time")
+//    private Date reportTime;
+
+    @TableField("memo")
+    private String memo;
     
 }
diff --git a/src/main/java/com/zy/asrs/entity/MesLocDetl.java b/src/main/java/com/zy/asrs/entity/MesLocDetl.java
index 7cec7e6..24eb98d 100644
--- a/src/main/java/com/zy/asrs/entity/MesLocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/MesLocDetl.java
@@ -3,6 +3,7 @@
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
@@ -24,175 +25,180 @@
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value= "搴撲綅鍙�")
+    @TableId
+    private Long id;
+
+    @ApiModelProperty(value = "搴撲綅鍙�")
     @TableField("loc_no")
     private String locNo;
 
-    @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    @ApiModelProperty(value = "鎵樼洏鏉$爜")
     private String zpallet;
 
-    @ApiModelProperty(value= "鏁伴噺")
+    @ApiModelProperty(value = "鏁伴噺")
     @ExcelProperty("鏁伴噺")
     private Double anfme;
 
-    @ApiModelProperty(value= "鐗╂枡鍙�")
+    @ApiModelProperty(value = "鐗╂枡鍙�")
     @ExcelProperty("鐗╂枡鍙�")
     private String matnr;
 
-    @ApiModelProperty(value= "鐗╂枡鍙�")
+    @ApiModelProperty(value = "鐗╂枡鍙�")
     @ExcelProperty("鐗╂枡鍙�")
     private String maktx;
 
-    @ApiModelProperty(value= "搴忓垪鐮�")
+    @ApiModelProperty(value = "搴忓垪鐮�")
     @ExcelProperty("搴忓垪鐮�")
     private String batch;
 
-    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    @ApiModelProperty(value = "鍗曟嵁缂栧彿")
     @ExcelProperty("鍗曟嵁缂栧彿")
     @TableField("order_no")
     private String orderNo;
 
-    @ApiModelProperty(value= "瑙勬牸")
+    @ApiModelProperty(value = "瑙勬牸")
     private String specs;
 
-    @ApiModelProperty(value= "鎵规")
+    @ApiModelProperty(value = "鎵规")
     private String model;
 
-    @ApiModelProperty(value= "棰滆壊")
+    @ApiModelProperty(value = "棰滆壊")
     private String color;
 
-    @ApiModelProperty(value= "鍝佺墝")
+    @ApiModelProperty(value = "鍝佺墝")
     private String brand;
 
-    @ApiModelProperty(value= "鍗曚綅")
+    @ApiModelProperty(value = "鍗曚綅")
     private String unit;
 
-    @ApiModelProperty(value= "鍗曚环")
+    @ApiModelProperty(value = "鍗曚环")
     private Double price;
 
-    @ApiModelProperty(value= "sku")
+    @ApiModelProperty(value = "sku")
     private String sku;
 
-    @ApiModelProperty(value= "鍖呮暟")
+    @ApiModelProperty(value = "鍖呮暟")
     private Double units;
 
-    @ApiModelProperty(value= "鏉$爜")
+    @ApiModelProperty(value = "鏉$爜")
     private String barcode;
 
-    @ApiModelProperty(value= "鐗╂枡鐘舵��")
+    @ApiModelProperty(value = "鐗╂枡鐘舵��")
     private String origin;
 
-    @ApiModelProperty(value= "鍘傚")
+    @ApiModelProperty(value = "鍘傚")
     private String manu;
 
-    @ApiModelProperty(value= "鍗曟嵁鏃堕棿")
+    @ApiModelProperty(value = "鍗曟嵁鏃堕棿")
     @TableField("manu_date")
     private String manuDate;
 
-    @ApiModelProperty(value= "鍝侀」鏁�")
+    @ApiModelProperty(value = "鍝侀」鏁�")
     @TableField("item_num")
     private String itemNum;
 
-    @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�")
+    @ApiModelProperty(value = "瀹夊叏搴撳瓨閲�")
     @TableField("safe_qty")
     private Double safeQty;
 
-    @ApiModelProperty(value= "閲嶉噺")
+    @ApiModelProperty(value = "閲嶉噺")
     private Double weight;
 
-    @ApiModelProperty(value= "闀垮害")
+    @ApiModelProperty(value = "闀垮害")
     private Double length;
 
-    @ApiModelProperty(value= "浣撶Н")
+    @ApiModelProperty(value = "浣撶Н")
     private Double volume;
 
-    @ApiModelProperty(value= "涓夋柟缂栫爜")
+    @ApiModelProperty(value = "涓夋柟缂栫爜")
     @TableField("three_code")
     private String threeCode;
 
-    @ApiModelProperty(value= "渚涘簲鍟�")
+    @ApiModelProperty(value = "渚涘簲鍟�")
     private String supp;
 
-    @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+    @ApiModelProperty(value = "渚涘簲鍟嗙紪鐮�")
     @TableField("supp_code")
     private String suppCode;
 
-    @ApiModelProperty(value= "鏄惁鎵规 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value = "鏄惁鎵规 1: 鏄�  0: 鍚�  ")
     @TableField("be_batch")
     private Integer beBatch;
 
-    @ApiModelProperty(value= "淇濊川鏈�")
+    @ApiModelProperty(value = "淇濊川鏈�")
     @TableField("dead_time")
     private String deadTime;
 
-    @ApiModelProperty(value= "棰勮澶╂暟")
+    @ApiModelProperty(value = "棰勮澶╂暟")
     @TableField("dead_warn")
     private Integer deadWarn;
 
-    @ApiModelProperty(value= "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
+    @ApiModelProperty(value = "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
     private Integer source;
 
-    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value = "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
     private Integer inspect;
 
-    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value = "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
     private Integer danger;
 
-    @ApiModelProperty(value= "淇敼浜哄憳")
+    @ApiModelProperty(value = "淇敼浜哄憳")
     @TableField("modi_user")
     private Long modiUser;
 
-    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @ApiModelProperty(value = "淇敼鏃堕棿")
     @TableField("modi_time")
     private Date modiTime;
 
-    @ApiModelProperty(value= "鍒涘缓鑰�")
+    @ApiModelProperty(value = "鍒涘缓鑰�")
     @TableField("appe_user")
     private Long appeUser;
 
-    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
     @TableField("appe_time")
     private Date appeTime;
 
-    @ApiModelProperty(value= "澶囨敞")
+    @ApiModelProperty(value = "澶囨敞")
     private String memo;
 
     @TableField("stock_freeze")
-    @ApiModelProperty(value= "搴撳瓨鍐荤粨{1:姝e父,0:鍐荤粨}")
+    @ApiModelProperty(value = "搴撳瓨鍐荤粨{1:姝e父,0:鍐荤粨}")
     private Integer stockFreeze;
 
     /**
      * 搴撳瓨鏁伴噺
      */
-    @ApiModelProperty(value= "鍙嚭鏁伴噺")
+    @ApiModelProperty(value = "鍙嚭鏁伴噺")
     @TableField(exist = false)
     private Double stock;
 
     /**
      * 搴撳瓨鏁伴噺
      */
-    @ApiModelProperty(value= "鍙嚭鏁伴噺")
+    @ApiModelProperty(value = "鍙嚭鏁伴噺")
     @TableField(exist = false)
     private String locSts;
 
     /**
      * 搴撳瓨鏁伴噺
      */
-    @ApiModelProperty(value= "鍙嚭鏁伴噺")
+    @ApiModelProperty(value = "鍙嚭鏁伴噺")
     @TableField(exist = false)
     private String locSts$;
 
     /**
      * 宸ュ簭鐘舵��
      */
-    @ApiModelProperty(value= "宸ュ簭鐘舵�� 1锛氬緟鍔犲伐锛�2锛氬凡鍔犲伐锛�3锛氭棤闇�鍔犲伐")
+    @ApiModelProperty(value = "宸ュ簭鐘舵�� 1锛氬緟鍔犲伐锛�2锛氬凡鍔犲伐锛�3锛氭棤闇�鍔犲伐")
     @TableField("process_sts")
     private Integer processSts;
 
 
-    public String getProcessSts$(){
-        if (null == this.processSts){ return null; }
-        switch (this.processSts){
+    public String getProcessSts$() {
+        if (null == this.processSts) {
+            return null;
+        }
+        switch (this.processSts) {
             case 0:
                 return "鍏朵粬";
             case 1:
@@ -206,18 +212,20 @@
         }
     }
 
-    public String getLocNo$(){
+    public String getLocNo$() {
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.locNo);
-        if (!Cools.isEmpty(locMast)){
+        if (!Cools.isEmpty(locMast)) {
             return String.valueOf(locMast.getLocNo());
         }
         return null;
     }
 
-    public String getBeBatch$(){
-        if (null == this.beBatch){ return null; }
-        switch (this.beBatch){
+    public String getBeBatch$() {
+        if (null == this.beBatch) {
+            return null;
+        }
+        switch (this.beBatch) {
             case 1:
                 return "鏄�";
             case 0:
@@ -227,9 +235,11 @@
         }
     }
 
-    public String getSource$(){
-        if (null == this.source){ return null; }
-        switch (this.source){
+    public String getSource$() {
+        if (null == this.source) {
+            return null;
+        }
+        switch (this.source) {
             case 1:
                 return "鍒堕��";
             case 2:
@@ -241,9 +251,11 @@
         }
     }
 
-    public String getInspect$(){
-        if (null == this.inspect){ return null; }
-        switch (this.inspect){
+    public String getInspect$() {
+        if (null == this.inspect) {
+            return null;
+        }
+        switch (this.inspect) {
             case 1:
                 return "鏄�";
             case 0:
@@ -253,9 +265,11 @@
         }
     }
 
-    public String getDanger$(){
-        if (null == this.danger){ return null; }
-        switch (this.danger){
+    public String getDanger$() {
+        if (null == this.danger) {
+            return null;
+        }
+        switch (this.danger) {
             case 1:
                 return "鏄�";
             case 0:
@@ -265,33 +279,33 @@
         }
     }
 
-    public String getModiUser$(){
+    public String getModiUser$() {
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.modiUser);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getUsername());
         }
         return null;
     }
 
-    public String getModiTime$(){
-        if (Cools.isEmpty(this.modiTime)){
+    public String getModiTime$() {
+        if (Cools.isEmpty(this.modiTime)) {
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
     }
 
-    public String getAppeUser$(){
+    public String getAppeUser$() {
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.appeUser);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getUsername());
         }
         return null;
     }
 
-    public String getAppeTime$(){
-        if (Cools.isEmpty(this.appeTime)){
+    public String getAppeTime$() {
+        if (Cools.isEmpty(this.appeTime)) {
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
@@ -302,7 +316,7 @@
     }
 
     public String getStockFreeze$() {
-        if (Cools.isEmpty(this.stockFreeze)){
+        if (Cools.isEmpty(this.stockFreeze)) {
             return "";
         }
         return this.stockFreeze == 1 ? "姝e父" : "鍐荤粨";
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvWarnCallBackParam.java b/src/main/java/com/zy/asrs/entity/param/AgvWarnCallBackParam.java
index b680451..6f4534e 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvWarnCallBackParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvWarnCallBackParam.java
@@ -17,6 +17,7 @@
 
     private String tokenCode;
 
+
     private List<AgvWarnBody> data;
 
 }
diff --git a/src/main/java/com/zy/asrs/mapper/AgvBasMapper.java b/src/main/java/com/zy/asrs/mapper/AgvBasMapper.java
new file mode 100644
index 0000000..e9f8b07
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/AgvBasMapper.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.Agv;
+import com.zy.asrs.entity.AgvBasDevp;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+@Repository
+public interface AgvBasMapper extends BaseMapper<Agv> {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
index d2531ac..c242ad2 100644
--- a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
@@ -6,7 +6,9 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.zy.asrs.entity.Agv;
 import com.zy.asrs.entity.AgvWarn;
+import com.zy.asrs.mapper.AgvBasMapper;
 import com.zy.asrs.service.AgvWarnService;
 import com.zy.asrs.task.handler.AgvWarnHandler;
 import com.zy.common.utils.HttpHandler;
@@ -40,39 +42,53 @@
     @Autowired
     private ConfigService configService;
 
+    @Autowired
+    private AgvBasMapper agvBasMapper;
+
     /**
-     * 瓒呰繃
+     * 瓒呰繃涓�鍒嗛挓娌℃洿鏂扮殑锛屽垹闄�
      */
-    @Scheduled(fixedDelay = 30000)
+    @Scheduled(fixedDelay = 10000)
     private void del() {
-        String format = DateUtil.format(DateUtil.offsetMinute(new Date(), -3), "yyyy-MM-dd HH:mm:ss");
-        List<AgvWarn> agvWarnList = agvWarnService.selectList(new EntityWrapper<AgvWarn>().ge("modi_time", format));
+        String format = DateUtil.format(DateUtil.offsetMinute(new Date(), -1), "yyyy-MM-dd HH:mm:ss");
+        List<AgvWarn> agvWarnList = agvWarnService.selectList(new EntityWrapper<AgvWarn>().le("modi_time", format));
         for (AgvWarn agvWarn : agvWarnList) {
             agvWarnHandler.start(agvWarn);
         }
     }
 
-    @Scheduled(fixedDelay = 10000)
+    @Scheduled(fixedDelay = 20000)
     private void report() {
-        List<Config> config = configService.selectList(new EntityWrapper<Config>().eq("code", "AGV_WARN_REPORT_URL"));
+        List<Agv> agvs = agvBasMapper.selectList(new EntityWrapper<Agv>());
+        Config first = configService.selectOne(new EntityWrapper<Config>().eq("code", "AGV_WARN_RATE1"));
+        Config second = configService.selectOne(new EntityWrapper<Config>().eq("code", "AGV_WARN_RATE2"));
+        Config third = configService.selectOne(new EntityWrapper<Config>().eq("code", "AGV_WARN_RATE3"));
+        Config url = configService.selectOne(new EntityWrapper<Config>().eq("code", "AGV_WARN_REPORT_URL"));
         List<AgvWarn> agvWarnList = agvWarnService.selectList(new EntityWrapper<AgvWarn>());
         StringBuffer buffer;
         for (AgvWarn agvWarn : agvWarnList) {
-            Integer warnTime = getWarnTime(agvWarn.getTimes());
+            Integer warnTime = getWarnTime(agvWarn.getTimes(), first.getValue(), second.getValue(), third.getValue());
             DateTime begin = DateUtil.parse(agvWarn.getBeginTime(), "yyyy-MM-dd HH:mm:ss");
-            if (DateUtil.offsetMinute(begin, warnTime).after(new Date())) {
+            if (DateUtil.offsetMinute(begin, warnTime).before(new Date())) {
                 buffer = new StringBuffer();
-                buffer.append(agvWarn.getRobotCode() + "鍙稟GV灏忚溅鎶ヨ:");
-                buffer.append(agvWarn.getWarnContent());
+                buffer.append(processRegion(agvs, agvWarn.getRobotCode()) + "[" + agvWarn.getRobotCode() + "]鍙稟GV灏忚溅鎶ヨ浜哱n");
+                buffer.append("鎶ヨ绫诲瀷锛�" + agvWarn.getWarnContent() + "\n");
+                if (!Cools.isEmpty(agvWarn.getSourceLocNo())) {
+                    buffer.append("浠�:[" + agvWarn.getSourceLocNo() + "]鍒癧" + agvWarn.getLocNo() + "]\n");
+                }
+                buffer.append("寮�濮嬫椂闂�:" + agvWarn.getBeginTime() + "\n");
+                int i = agvWarn.getTimes() + 1;
+                buffer.append("绗琜" + i + "]娆℃姤璀�");
                 HashMap<String, Object> param = new HashMap<>();
                 HashMap<String, Object> data = new HashMap<>();
                 data.put("content", buffer.toString());
                 param.put("msgtype", "text");
                 param.put("text", data);
+                log.info("鍙戦�佹姤璀︿俊鎭細{}", JSON.toJSONString(param));
                 String response = null;
                 try {
                     response = new HttpHandler.Builder()
-                            .setUri(config.get(0).getValue())
+                            .setUri(url.getValue())
                             .setJson(JSON.toJSONString(param))
                             .setHttps(true)
                             .build()
@@ -82,6 +98,8 @@
                 }
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.get("errmsg").equals("ok")) {
+                    agvWarn.setTimes(agvWarn.getTimes() + 1);
+                    agvWarnService.updateById(agvWarn);
                     //鍙戦�佹垚鍔�
                     return;
                 } else {
@@ -96,32 +114,29 @@
      * @param times
      * @return
      */
-    private Integer getWarnTime(Integer times) {
-        try {
-            List<Config> config = configService.selectList(new EntityWrapper<Config>().eq("code", "AGV_WARN_RATE1"));
-            if (!Cools.isEmpty(config)) {
-                String value = config.get(0).getValue();
-                if (Cools.isEmpty(value)) {
-                    return 5;
-                } else {
-                    String[] split = value.split(",");
-                    if (split.length < times + 1) {
-                        Config config2 = configService.selectOne(new EntityWrapper<Config>().eq("code", "AGV_WARN_RATE2"));
-                        int t = 0;
-                        for (String s : split) {
-                            t = t + Integer.parseInt(s);
-                        }
-                        return t + Integer.parseInt(config2.getValue()) * (times + 1 - split.length);
-                    } else {
-                        return Integer.parseInt(split[times]);
-                    }
-                }
-            }
-            return 5;
-        } catch (Exception e) {
-            return 5;
+    private Integer getWarnTime(Integer times, String first, String second, String thrid) {
+        switch (times) {
+            case 0:
+                return Integer.parseInt(first);
+            case 1:
+                return Integer.parseInt(second);
+            case 2:
+                return Integer.parseInt(thrid);
+            default:
+                return (times - 2) * Integer.parseInt(thrid) + Integer.parseInt(first) + Integer.parseInt(second) + Integer.parseInt(thrid);
         }
     }
 
+    private String processRegion(List<Agv> agvs, String agvNo) {
+        if (agvNo == null) {
+            return "鏈煡灏忚溅";
+        }
+        for (Agv agv : agvs) {
+            if (agv.getAgvNo() != null && agv.getAgvNo().equals(agvNo)) {
+                return agv.getRegion();
+            }
+        }
+        return "鏈煡";
+    }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
index eb29c45..84cd5cb 100644
--- a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
@@ -60,7 +60,7 @@
     private String stock;
 
 
-    @Scheduled(fixedDelay = 5000)
+    @Scheduled(fixedDelay = 30000)
     public void execute() {
         log.info("瀹氭椂浠诲姟寮�濮嬫墽琛�");
         if (!flag) {
@@ -121,12 +121,12 @@
 
     }
 
-
+    @Scheduled(fixedDelay = 1000 * 60 * 30)
     public void executeStock() {
         log.info("Stock瀹氭椂浠诲姟寮�濮嬫墽琛�");
-        if (!flag) {
-            return;
-        }
+//        if (!flag) {
+//            return;
+//        }
         Map<String, Object> mesTokenInfo = getMesTokenInfo();
         reportDataHandler.stock(mesTokenInfo);
         log.info("Stock瀹氭椂浠诲姟缁撴潫鎵ц");
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 4adb66f..db9ffb0 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -573,7 +573,7 @@
             return SUCCESS;
         } catch (Exception e) {
             //TODO
-            log.error("淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y,{}", e.getMessage());
+            //log.error("淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y,{}", e.getMessage());
         }
         return FAIL;
     }
diff --git a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
index e9b0f01..c46da1d 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
@@ -27,6 +27,7 @@
 
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * Created by vincent on 2020/7/7
@@ -114,7 +115,7 @@
                 throw new CoolException("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭�:" + jsonObject);
             }
             success = true;
-            return null;
+            return response;
 
         } catch (Exception e) {
             log.error("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭細{}", e.getMessage());
@@ -128,7 +129,22 @@
 
     @Transactional
     public ReturnT<String> stock(Map<String, Object> mesTokenInfo) {
-        mesLocDetlService.delete(new EntityWrapper<MesLocDetl>().eq("1", 1));
+        List<MesLocDetl> all = mesLocDetlService.selectList(new EntityWrapper<>());
+        if (all != null) {
+            List<Long> collect = all.stream().map(MesLocDetl::getId).collect(Collectors.toList());
+            boolean del = true;
+            int d = 1;
+            while (del && collect.size() > 0) {
+                if (collect.size() > d * 1000) {
+                    mesLocDetlService.deleteBatchIds(collect.subList((d - 1) * 1000, d * 1000));
+                } else {
+                    mesLocDetlService.deleteBatchIds(collect.subList((d - 1) * 1000, collect.size()));
+                    del = false;
+                }
+                d++;
+            }
+        }
+
         boolean flag = true;
         Map<String, Object> req = new HashMap<>();
         int i = 1;
@@ -155,16 +171,19 @@
                         mesLocDetl.setBatch(mesStock.getBatchNo());
                         mesLocDetl.setAnfme(mesStock.getOpAmount().getAmount().getAmount());
                         mesLocDetls.add(mesLocDetl);
+                        mesLocDetlService.insert(mesLocDetl);
                     }
                 } else {
                     flag = false;
                 }
             }
             if (!mesLocDetls.isEmpty()) {
-                mesLocDetlService.insertBatch(mesLocDetls);
+                //mesLocDetlService.insertBatch(mesLocDetls);
             }
             i++;
         }
         return SUCCESS;
     }
+
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f2026f2..22524fb 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
 spring:
   profiles:
     #dev loc prod
-    active: prod
\ No newline at end of file
+    active: loc
\ No newline at end of file
diff --git a/src/main/resources/mapper/AgvBasMapper.xml b/src/main/resources/mapper/AgvBasMapper.xml
new file mode 100644
index 0000000..7cfa09e
--- /dev/null
+++ b/src/main/resources/mapper/AgvBasMapper.xml
@@ -0,0 +1,12 @@
+<?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.zy.asrs.mapper.AgvWarnMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Agv">
+        <id column="agv_no" property="agvNo" />
+        <result column="region" property="region" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/AgvWarnLogMapper.xml b/src/main/resources/mapper/AgvWarnLogMapper.xml
index ada11f2..3f63440 100644
--- a/src/main/resources/mapper/AgvWarnLogMapper.xml
+++ b/src/main/resources/mapper/AgvWarnLogMapper.xml
@@ -3,5 +3,4 @@
 <mapper namespace="com.zy.asrs.mapper.AgvWarnLogMapper">
 
 
-
 </mapper>
diff --git a/src/main/resources/mapper/MesLocDetlMapper.xml b/src/main/resources/mapper/MesLocDetlMapper.xml
index 1112e33..54dfcf7 100644
--- a/src/main/resources/mapper/MesLocDetlMapper.xml
+++ b/src/main/resources/mapper/MesLocDetlMapper.xml
@@ -2,6 +2,49 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.asrs.mapper.MesLocDetlMapper">
 
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvLocDetl">
+        <result column="loc_no" property="locNo"/>
+        <result column="zpallet" property="zpallet"/>
+        <result column="anfme" property="anfme"/>
+        <result column="matnr" property="matnr"/>
+        <result column="maktx" property="maktx"/>
+        <result column="batch" property="batch"/>
+        <result column="order_no" property="orderNo"/>
 
+        <result column="specs" property="specs"/>
+        <result column="model" property="model"/>
+        <result column="color" property="color"/>
+        <result column="brand" property="brand"/>
+        <result column="unit" property="unit"/>
+        <result column="price" property="price"/>
+        <result column="sku" property="sku"/>
+        <result column="units" property="units"/>
+        <result column="barcode" property="barcode"/>
+        <result column="origin" property="origin"/>
+        <result column="manu" property="manu"/>
+        <result column="manu_date" property="manuDate"/>
+        <result column="item_num" property="itemNum"/>
+        <result column="safe_qty" property="safeQty"/>
+        <result column="weight" property="weight"/>
+        <result column="length" property="length"/>
+        <result column="volume" property="volume"/>
+        <result column="three_code" property="threeCode"/>
+        <result column="supp" property="supp"/>
+        <result column="supp_code" property="suppCode"/>
+        <result column="be_batch" property="beBatch"/>
+        <result column="dead_time" property="deadTime"/>
+        <result column="dead_warn" property="deadWarn"/>
+        <result column="source" property="source"/>
+        <result column="inspect" property="inspect"/>
+        <result column="danger" property="danger"/>
+
+        <result column="modi_user" property="modiUser"/>
+        <result column="modi_time" property="modiTime"/>
+        <result column="appe_user" property="appeUser"/>
+        <result column="appe_time" property="appeTime"/>
+        <result column="memo" property="memo"/>
+        <result column="stock_freeze" property="stockFreeze"/>
+    </resultMap>
 
 </mapper>
diff --git a/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js b/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js
index b9255a6..0a45078 100644
--- a/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js
+++ b/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js
@@ -1,23 +1,27 @@
 var pageCurr;
+
 function getCol() {
     var cols = [
-        {field: 'anfme', align: 'center',title: '搴撳瓨鏁伴噺', style: 'font-weight: bold'}
+        {field: 'anfme', align: 'center', title: 'WMS搴撳瓨鏁伴噺', style: 'font-weight: bold'}
+        , {field: 'anfme2', align: 'center', title: 'MES搴撳瓨鏁伴噺', style: 'font-weight: bold'}
+        , {field: 'matnr', align: 'center', title: '缂栫爜'}
+        , {field: 'maktx', align: 'center', title: '鐗╂枡鍚嶇О'}
     ];
-    arrRemove(detlCols, "field", "anfme");
-    arrRemove(detlCols,"field","suppCode");
-    arrRemove(detlCols, "field", "zpallet");
-    arrRemove(detlCols, "field", "orderNo");
-    arrRemove(detlCols, "field", "threeCode");
-    arrRemove(detlCols, "field", "deadTime");
-    arrRemove(detlCols, "field", "batch");
-    cols.push.apply(cols, detlCols);
+    // arrRemove(detlCols, "field", "anfme");
+    // arrRemove(detlCols,"field","suppCode");
+    // arrRemove(detlCols, "field", "zpallet");
+    // arrRemove(detlCols, "field", "orderNo");
+    // arrRemove(detlCols, "field", "threeCode");
+    // arrRemove(detlCols, "field", "deadTime");
+    // arrRemove(detlCols, "field", "batch");
+    //cols.push.apply(cols, detlCols);
     // cols.push({field: 'anfme', align: 'center',title: '鏁伴噺', style: 'font-weight: bold'}
     // )
     return cols;
 
 }
 
-layui.use(['table','laydate', 'form'], function(){
+layui.use(['table', 'laydate', 'form'], function () {
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -28,7 +32,7 @@
     tableIns = table.render({
         elem: '#locDetlStatis',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/agv/locDetl/statis/auth',
+        url: baseUrl + '/agv/locDetl/statis/auth',
         page: true,
         limit: 20,
         limits: [20, 30, 50, 100, 200, 500],
@@ -51,17 +55,17 @@
         response: {
             statusCode: 200
         },
-        done: function(res, curr, count) {
+        done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
+            pageCurr = curr;
             limit();
             form.on('checkbox(tableCheckbox)', function (data) {
-                var _index = $(data.elem).attr('table-index')||0;
-                if(data.elem.checked){
+                var _index = $(data.elem).attr('table-index') || 0;
+                if (data.elem.checked) {
                     res.data[_index][data.value] = 'Y';
-                }else{
+                } else {
                     res.data[_index][data.value] = 'N';
                 }
             });
@@ -69,9 +73,9 @@
              * 鏄剧ず搴撳瓨鎬绘暟閲�
              */
             $.ajax({
-                url: baseUrl+"/agv/locDetl/count",
+                url: baseUrl + "/agv/locDetl/count",
                 headers: {'token': localStorage.getItem('token')},
-                contentType:'application/json;charset=UTF-8',
+                contentType: 'application/json;charset=UTF-8',
                 method: 'POST',
                 success: function (res) {
                     $("#countNum").text(res.data + '涓�');
@@ -84,7 +88,7 @@
     // 鐩戝惉鎺掑簭浜嬩欢
     table.on('sort(locDetlStatis)', function (obj) {
         var searchData = {};
-        $.each($('#search-box [name]').serializeArray(), function() {
+        $.each($('#search-box [name]').serializeArray(), function () {
             searchData[this.name] = this.value;
         });
         searchData['orderByField'] = obj.field;
@@ -96,9 +100,9 @@
             },
             done: function (res, curr, count) {
                 if (res.code === 403) {
-                    top.location.href = baseUrl+"/";
+                    top.location.href = baseUrl + "/";
                 }
-                pageCurr=curr;
+                pageCurr = curr;
                 limit();
             }
         });
@@ -107,11 +111,11 @@
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(locDetlStatis)', function (obj) {
         var checkStatus = table.checkStatus(obj.config.id);
-        switch(obj.event) {
+        switch (obj.event) {
             case 'exportAll':
-                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
-                    var titles=[];
-                    var fields=[];
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () {
+                    var titles = [];
+                    var fields = [];
                     obj.config.cols[0].map(function (col) {
                         if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                             titles.push(col.title);
@@ -119,7 +123,7 @@
                         }
                     });
                     var exportData = {};
-                    $.each($('#search-box [name]').serializeArray(), function() {
+                    $.each($('#search-box [name]').serializeArray(), function () {
                         exportData[this.name] = this.value;
                     });
                     var param = {
@@ -128,19 +132,19 @@
                     };
                     var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false});
                     $.ajax({
-                        url: baseUrl+"/agv/locDetl/statis/export",
+                        url: baseUrl + "/agv/locDetl/statis/export",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify(param),
-                        dataType:'json',
-                        contentType:'application/json;charset=UTF-8',
+                        dataType: 'json',
+                        contentType: 'application/json;charset=UTF-8',
                         method: 'POST',
                         success: function (res) {
                             layer.close(loadIndex);
                             layer.closeAll();
                             if (res.code === 200) {
-                                table.exportFile(titles,res.data,'xls');
+                                table.exportFile(titles, res.data, 'xls');
                             } else if (res.code === 403) {
-                                top.location.href = baseUrl+"/";
+                                top.location.href = baseUrl + "/";
                             } else {
                                 layer.msg(res.msg)
                             }
@@ -149,9 +153,9 @@
                 });
                 break;
             case 'exportData':
-                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
-                    var titles=[];
-                    var fields=[];
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () {
+                    var titles = [];
+                    var fields = [];
                     obj.config.cols[0].map(function (col) {
                         if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                             titles.push(col.title);
@@ -159,7 +163,7 @@
                         }
                     });
                     var exportData = {};
-                    $.each($('#search-box [name]').serializeArray(), function() {
+                    $.each($('#search-box [name]').serializeArray(), function () {
                         exportData[this.name] = this.value;
                     });
                     var param = {
@@ -167,18 +171,18 @@
                         'fields': fields
                     };
                     $.ajax({
-                        url: baseUrl+"/agv/locDetl/export/auth",
+                        url: baseUrl + "/agv/locDetl/export/auth",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify(param),
-                        dataType:'json',
-                        contentType:'application/json;charset=UTF-8',
+                        dataType: 'json',
+                        contentType: 'application/json;charset=UTF-8',
                         method: 'POST',
                         success: function (res) {
                             layer.closeAll();
                             if (res.code === 200) {
-                                table.exportFile(titles,res.data,'xls');
+                                table.exportFile(titles, res.data, 'xls');
                             } else if (res.code === 403) {
-                                top.location.href = baseUrl+"/";
+                                top.location.href = baseUrl + "/";
                             } else {
                                 layer.msg(res.msg)
                             }
@@ -190,7 +194,7 @@
     });
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
-    table.on('tool(locDetlStatis)', function(obj){
+    table.on('tool(locDetlStatis)', function (obj) {
         var data = obj.data;
         switch (obj.event) {
             // 璇︽儏
@@ -202,11 +206,12 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'locDetl_detail.html',
-                    success: function(layero, index){
+                    success: function (layero, index) {
                         setFormVal(layer.getChildFrame('#detail', index), data, true);
                         top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
                         layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layer.iframeAuto(index);
+                        layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"});
                         layero.find('iframe')[0].contentWindow.layui.form.render('select');
                         layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
                     }
@@ -244,13 +249,13 @@
 });
 
 // 鍏抽棴鍔ㄤ綔
-$(document).on('click','#data-detail-close', function () {
+$(document).on('click', '#data-detail-close', function () {
     parent.layer.closeAll();
 });
 
 function tableReload(child) {
     var searchData = {};
-    $.each($('#search-box [name]').serializeArray(), function() {
+    $.each($('#search-box [name]').serializeArray(), function () {
         searchData[this.name] = this.value;
     });
     (child ? parent.tableIns : tableIns).reload({
@@ -260,14 +265,14 @@
         },
         done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
+            pageCurr = curr;
             if (res.data.length === 0 && count !== 0) {
                 tableIns.reload({
                     where: searchData,
                     page: {
-                        curr: pageCurr-1
+                        curr: pageCurr - 1
                     }
                 });
                 pageCurr -= 1;
@@ -279,13 +284,13 @@
 
 function detailScreen(index) {
     var detail = layer.getChildFrame('#data-detail', index);
-    var height = detail.height()+60;
-    if (height > ($(window).height()*0.9)) {
-        height = ($(window).height()*0.8);
+    var height = detail.height() + 60;
+    if (height > ($(window).height() * 0.9)) {
+        height = ($(window).height() * 0.8);
     }
     layer.style(index, {
 //        top: (($(window).height()-height)/3)+"px",
-        height: height+'px'
+        height: height + 'px'
     });
 }
 
diff --git a/src/main/webapp/views/agvLocDetlStatis/locDetlStatis.html b/src/main/webapp/views/agvLocDetlStatis/locDetlStatis.html
index bcfc8b6..b7bfca3 100644
--- a/src/main/webapp/views/agvLocDetlStatis/locDetlStatis.html
+++ b/src/main/webapp/views/agvLocDetlStatis/locDetlStatis.html
@@ -26,14 +26,14 @@
         <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆
         </button>
     </div>
-    <div class="layui-inline">
-        <fieldset class="layui-elem-field">
-            <legend>鎬昏鏁伴噺</legend>
-            <div class="layui-field-box" id="countNum">
-                璇风◢绛�
-            </div>
-        </fieldset>
-    </div>
+<!--    <div class="layui-inline">-->
+<!--        <fieldset class="layui-elem-field">-->
+<!--            <legend>鎬昏鏁伴噺</legend>-->
+<!--            <div class="layui-field-box" id="countNum">-->
+<!--                璇风◢绛�-->
+<!--            </div>-->
+<!--        </fieldset>-->
+<!--    </div>-->
 </div>
 
 <!-- 琛ㄦ牸 -->
@@ -52,7 +52,7 @@
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/agvLocDetlStatis/locDetlStatis.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/agvLocDetlStatis/locDetlStatis.js?v=1" charset="utf-8"></script>
 
 </body>
 </html>

--
Gitblit v1.9.1