From 747785dd1c86595f65c85fdeda289f917196c467 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 17 十一月 2023 16:52:47 +0800
Subject: [PATCH] 优化agv工作档生成 组托时管控料箱码 拣料出库时生成工作党 AGV库存主档,工作主档的barcode也要记录料箱条码号 AGV工作党任务完成、取消优化 自动补货 管控不带料箱的托盘 盘点加上楼层选择

---
 src/main/webapp/static/js/agvLocDetl/locDetl.js                      |   53 +++++++
 src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java    |   53 +++++++
 src/main/java/com/zy/asrs/controller/AgvLocDetlController.java       |    9 +
 src/main/java/com/zy/asrs/service/AgvWrkMastService.java             |    2 
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java     |   11 +
 src/main/webapp/views/agvLocDetl/locDetl.html                        |    5 
 src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java    |   17 ++
 src/main/java/com/zy/asrs/controller/AgvBasDevpController.java       |   11 -
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java     |    5 
 src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java               |    2 
 src/main/java/com/zy/asrs/service/AgvLocMastService.java             |    2 
 src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java       |   13 +
 src/main/java/com/zy/asrs/controller/AgvIoWorkController.java        |    4 
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java              |    3 
 src/main/java/com/zy/asrs/service/AgvLocDetlService.java             |    4 
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java        |   24 +--
 src/main/webapp/views/pakStore/locDetlCheckQuery.html                |    7 +
 src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java |   75 ++++++----
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java       |   68 ++++-----
 src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java    |    3 
 src/main/webapp/static/js/common.js                                  |    2 
 src/main/webapp/views/agvPakStore/locDetlCheckQuery.html             |   13 +
 src/main/resources/application.yml                                   |   22 +-
 23 files changed, 294 insertions(+), 114 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
index c167c1d..e75e9b3 100644
--- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -6,10 +6,7 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.R;
+import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.LocMastInitParam;
@@ -217,7 +214,7 @@
         try {
             devNos = (List<String>) map.get("devNo");
             agvWrkMastList = devNos.stream().map(devNo -> {
-                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
+                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo).eq("wrk_sts",205L));
                 if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){
                     throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�");
                 }
@@ -275,7 +272,7 @@
         try {
             devNos = (List<String>) map.get("devNo");
             agvWrkMastList = devNos.stream().map(devNo -> {
-                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
+                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo).eq("wrk_sts",205L));
                 if(agvWrkMast.getIoType() == 101){
                     throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍑哄簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�");
                 }
@@ -283,7 +280,7 @@
             }).collect(Collectors.toList());
         }catch (Exception e){
             String devNo = map.get("devNo").toString();
-            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
+            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo).eq("wrk_sts",205L));
             if(agvWrkMast.getIoType() == 101){
                 throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍑哄簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�");
             }
diff --git a/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java b/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
index e7f1044..e7bc5c7 100644
--- a/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
@@ -66,6 +66,10 @@
                 param.remove("row");
             }
         }
+        if(!Cools.isEmpty(param.get("floor"))){
+            wrapper.like("loc_no","@"+param.get("floor"));
+            param.remove("floor");
+        }
         excludeTrash(param);
         convert(param, wrapper);
         allLike(AgvLocDetl.class, param.keySet(), wrapper, condition);
diff --git a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
index c909439..d4a8e5c 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.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -145,6 +146,14 @@
         return R.ok(exportSupport(list, fields));
     }
 
+    @RequestMapping(value = "/locDetl/compare/auth")
+    @ManagerAuth(memo = "搴撳瓨鏄庣粏姣斿")
+    public R compareLocDetl(MultipartFile file) throws IOException {
+        agvLocDetlService.compareToEss(file);
+
+        return R.ok();
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
diff --git a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
index d474beb..39ddb69 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
@@ -38,6 +38,6 @@
             "\tnum")
     List<Map<String,Object>> selectDevNoAndNumBystationCode(@Param("stationCode") String stationCode);
 
-    @Select("select station_code from agv_bas_devp group by station_code ")
+    @Select("select station_code from agv_bas_devp group by station_code")
     List<String> selectAllStationCode();
 }
diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
index 22cda63..3deaf54 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
@@ -5,7 +5,9 @@
 import com.zy.asrs.entity.AgvLocDetl;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.List;
 
 public interface AgvLocDetlService extends IService<AgvLocDetl> {
@@ -39,4 +41,6 @@
 
     public AgvLocDetl selectLocdetl(String locNo,String matnr,String batch,String csocode,String isocode);
 
+    public void compareToEss(MultipartFile file) throws IOException;
+
 }
diff --git a/src/main/java/com/zy/asrs/service/AgvLocMastService.java b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
index afcb341..ae0a38f 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocMastService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
@@ -18,7 +18,7 @@
 
     void updateLocType2ByRBL(Integer locType2, AgvLocRule locRule);
 
-    public void updateLocStsByLocNo(String locNo, String locSts);
+    public void updateLocStsByLocNo(String locNo, String locSts, String barcode);
 
     public List<String> queryGroupEmptyStock(int floor);
 
diff --git a/src/main/java/com/zy/asrs/service/AgvWrkMastService.java b/src/main/java/com/zy/asrs/service/AgvWrkMastService.java
index 097a04a..0aca706 100644
--- a/src/main/java/com/zy/asrs/service/AgvWrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/AgvWrkMastService.java
@@ -24,4 +24,6 @@
 
     public List<AgvWrkMast> selectReadyAgvWrkMast();
 
+    public AgvWrkMast selectByContainerCode(String containerCode);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
index 6a4fe27..310b62a 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
@@ -102,7 +102,9 @@
 
             List<String> list = this.selectCacheShelvesStationCodeByFloor(3);
             if(list.contains(stationCode)){
-                wrapper.orderBy("dev_no",false);
+                if(Cools.eq(stationCode,"CS-305") || Cools.eq(stationCode,"CS-306") || Cools.eq(stationCode,"CS-307")){
+                    wrapper.orderBy("dev_no",false);
+                }
             }
 
             List<AgvBasDevp> agvBasDevpList = this.selectList(wrapper);
@@ -118,10 +120,21 @@
                     return agvBasDevpDto;
                 }
 
-                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+                List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                         .eq("loc_no", agvBasDevpDto.getDevNo())
                         .or().eq("source_loc_no",agvBasDevpDto.getDevNo()));
 
+                AgvWrkMast agvWrkMast = null;
+                for (AgvWrkMast wrkMast : agvWrkMasts){
+                    if(Cools.isEmpty(agvWrkMast)){
+                        agvWrkMast = wrkMast;
+                    }else {
+                        if(agvWrkMast.getWrkSts() < wrkMast.getWrkSts()){
+                            agvWrkMast = wrkMast;
+                        }
+                    }
+                }
+
                 agvBasDevpDto.setAgvWrkMast(agvWrkMast);
 
                 if("F".equals(agvBasDevpDto.getLocSts()) || "R".equals(agvBasDevpDto.getLocSts())){
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index 5932832..fae83c0 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.AgvLocDetl;
 import com.zy.asrs.entity.AgvLocMast;
 import com.zy.asrs.entity.AgvWrkDetl;
@@ -17,11 +18,21 @@
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -191,5 +202,47 @@
         return this.baseMapper.selectLocdetl(locNo,matnr,batch,csocode,isocode);
     }
 
+    @Override
+    public void compareToEss(MultipartFile file) throws IOException {
+        InputStream inStream = file.getInputStream();
+        String fileMime = file.getContentType();
+        int excelVersion = 2007;
+        if ("application/vnd.ms-excel".equals(fileMime)) {
+            excelVersion = 2003;
+        }
+        Workbook book = null;
+        try {
+            if (excelVersion == 2003) {
+                book = new HSSFWorkbook(inStream);
+            }
+            else {  // 褰� excel 鏄� 2007 鏃�
+                book = new XSSFWorkbook(inStream);
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+            throw new CoolException("瀵煎叆鏂囦欢鏍煎紡閿欒锛岃浣跨敤xls鍚庣紑鐨勬枃浠讹紒");
+        }
+
+        Sheet sheet = book.getSheetAt(0);
+        int totalRows = sheet.getLastRowNum() + 1;    // 鎬�
+        Date now = new Date();
+        DataFormatter dataFormatter = new DataFormatter();
+        for (int i = 0; i < totalRows; i++) {
+            Row row = sheet.getRow(i);
+            // 搴撲綅鍙�
+            String locNo = dataFormatter.formatCellValue(row.getCell(0));
+            // 瀹瑰櫒鐮�
+            String containerCode = dataFormatter.formatCellValue(row.getCell(1));
+
+            List<AgvLocDetl> agvLocDetls = this.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("supp_code", containerCode));
+            if(Cools.isEmpty(agvLocDetls)){
+                log.info("搴撲綅鍙凤細" + locNo + "锛屽鍣ㄧ爜锛�" + containerCode + "锛屼笉瀛樺湪鏄庣粏");
+            }
+            if(agvLocDetls.size()>1){
+                log.info("搴撲綅鍙凤細" + locNo + "锛屽鍣ㄧ爜锛�" + containerCode + "锛屽瓨鍦�1鏉′互涓婅褰�");
+            }
+        }
+    }
+
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
index 0385081..9df60a7 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -137,9 +137,10 @@
         this.baseMapper.updateLocType2(locType2,locRule.getRowBeg(),locRule.getRowEnd(),locRule.getBayBeg(),locRule.getBayEnd(),locRule.getLevBeg(),locRule.getLevEnd(),locRule.getFloor());
     }
 
-    public void updateLocStsByLocNo(String locNo, String locSts) {
+    public void updateLocStsByLocNo(String locNo, String locSts, String barcode) {
         AgvLocMast agvLocMast = this.selectById(locNo);
         agvLocMast.setLocSts(locSts);
+        agvLocMast.setBarcode(barcode);
         this.updateById(agvLocMast);
     }
 
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 92dda9f..6dfd117 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -40,6 +40,8 @@
     private AgvBasDevpService agvBasDevpService;
     @Autowired
     private AgvLocDetlService agvLocDetlService;
+    @Autowired
+    private AgvWrkMastService agvWrkMastService;
 
 
     /*
@@ -54,12 +56,17 @@
 
         //妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓鐨勬墭鐩樻潯鐮侊紝瀛樺湪鍒欐姏鍑哄紓甯�
         if (agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().eq("supp_code", param.getBarcode())) > 0) {
-            throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+            throw new CoolException(param.getBarcode() + "鏂欐兂鐮佸凡瀛樺湪AGV鍏ュ簱閫氱煡妗d腑");
         }
 
         //妫�鏌ュ簱瀛樻槸鍚︽湁鐩稿悓鏂欑锛屽瓨鍦ㄥ垯鎶涘嚭寮傚父
         if(!Cools.isEmpty(agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("supp_code",param.getBarcode())))){
-            throw new CoolException(param.getBarcode() + "鏂欑鐮佸凡鍦ㄥ簱瀛樹腑");
+            throw new CoolException(param.getBarcode() + "鏂欑鐮佸凡瀛樺湪AGV搴撳瓨鏄庣粏涓�");
+        }
+
+        //鏌ョ湅宸ヤ綔妗f槸鍚︽湁鐩稿悓鏂欑锛屽瓨鍦ㄥ垯鎶涘嚭寮傚父
+        if(!Cools.isEmpty(agvWrkMastService.selectByContainerCode(param.getBarcode()))){
+            throw new CoolException(param.getBarcode() + "鏂欑鐮佸凡瀛樺湪AGV宸ヤ綔妗d腑");
         }
 
         if (Cools.isEmpty(param.getOrderNo())) {
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 47e234e..7e48d42 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -90,12 +90,10 @@
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
             AgvLocMast agvLocMast = agvCommonService.getLocNo(agvWaitPakinList, agvBasDevp.getFloor());
             //鐢熸垚宸ヤ綔妗�
-            //AgvWrkMast wrkMast = createWrkMast(agvBasDevp, agvLocMast, now, userId);
             AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, isConveyor);
             //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
             wrkMast.setMk(isConveyor ? "Y" : "N");
             //鐢熸垚宸ヤ綔妗f槑缁�
-            //createWrkDetlReWrite(agvWaitPakinList,wrkMast,userId);
             agvWaitPakinList.forEach(wp -> {
                 createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime());
             });
@@ -170,6 +168,11 @@
     public void pickIn(List<AgvWrkMast> agvWrkMastList){
         Date now = new Date();
         agvWrkMastList.forEach(agvWrkMast -> {
+
+            //淇濆瓨鎷f枡鍑哄簱鐨勫伐浣滄。鍜屾槑缁�
+            agvWrkMastLogService.save(agvWrkMast);
+            agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
+
             //淇敼宸ヤ綔鍏�
             agvWrkMast.setWrkSts(201L);
 
@@ -504,19 +507,17 @@
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
 
-        if(wrkMast.getWrkSts() > 202){
-            //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
-            agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
+        //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
+        agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
 
-            //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
-            if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){
-                //淇敼鍑哄簱绔欑偣鐘舵��
-                agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode());
-            }
-            //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
-            if(wrkMast.getIoType() == 110){
-                agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode());
-            }
+        //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
+        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){
+            //淇敼鍑哄簱绔欑偣鐘舵��
+            agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode());
+        }
+        //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
+        if(wrkMast.getIoType() == 110){
+            agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode());
         }
 
     }
@@ -532,31 +533,28 @@
             throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷");
         }
 
-        //AGV鏈哄櫒浜烘湭鍙栬揣鍓嶅彇娑�
-        if(wrkMast.getWrkSts() < 203){
-            //鍏ュ簱鍙栨秷
-            if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){
-                //婧愮珯鐐�
-                String devNo = wrkMast.getSourceLocNo();
-                //鐩爣搴撲綅
-                String locNo = wrkMast.getLocNo();
-                agvLocMastService.updateLocStsByLocNo(locNo,"O");
-                agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode());
+        //鍏ュ簱鍙栨秷
+        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){
+            //婧愮珯鐐�
+            String devNo = wrkMast.getSourceLocNo();
+            //鐩爣搴撲綅
+            String locNo = wrkMast.getLocNo();
+            agvLocMastService.updateLocStsByLocNo(locNo,"O","");
+            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode());
 
-                //鍑哄簱鍙栨秷
-            }else {
-                //婧愬簱浣�
-                String locNo = wrkMast.getSourceLocNo();
-                //鐩爣绔欑偣
-                String devNo = wrkMast.getLocNo();
-                agvLocMastService.updateLocStsByLocNo(locNo,"F");
-                if(devNo.contains("@")){
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","");
-                }
+            //鍑哄簱鍙栨秷
+        }else {
+            //婧愬簱浣�
+            String locNo = wrkMast.getSourceLocNo();
+            //鐩爣绔欑偣
+            String devNo = wrkMast.getLocNo();
+            agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode());
+            if(devNo.contains("@")){
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","");
             }
-
         }
 
+
         //璁㈠崟鍥炴粴
         //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
         List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 66d1b6e..ff1c6b5 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -143,6 +143,11 @@
         //return this.baseMapper.selectReadyAgvWrkMast();
     }
 
+    @Override
+    public AgvWrkMast selectByContainerCode(String containerCode) {
+        return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode));
+    }
+
     private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
         //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
         for(AgvWrkMast agvWrkMast : agvWrkMastList){
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 37f2cff..d9cf22c 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -122,7 +122,7 @@
     /*
     瀹氭椂澶勭悊绛夊緟鎵ц鐨勪换鍔� 宸ヤ綔鐘舵�佷负21.鐢熸垚鍑哄簱浠诲姟 涓旂洰鏍囧簱浣嶄腑涓嶅惈@瀛楃
      */
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/10 * * * * ? ")
     public void dealWatiWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectReadyAgvWrkMast();
         if(!Cools.isEmpty(agvWrkMastList)){
@@ -132,6 +132,5 @@
                 log.error(e.getMessage());
             }
         }
-
     }
 }
diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
index 7050458..11912ac 100644
--- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
@@ -5,6 +5,7 @@
 import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.service.DocTypeService;
+import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.handler.AutoReplenishmentHandler;
 import lombok.extern.slf4j.Slf4j;
@@ -24,12 +25,22 @@
     private DocTypeService docTypeService;
     @Autowired
     private AutoReplenishmentHandler autoReplenishmentHandler;
+    @Autowired
+    private MatService matService;
+
+    /*
+    瀹氭椂渚垮埄搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹�
+     */
+    //@Scheduled(cron = "0/5 * * * * ? ")
+    public void createOrder(){
+        
+    }
 
     /*
     瀹氭椂澶勭悊鑷姩琛ヨ揣鍗曟嵁
      */
     @Scheduled(cron = "0/5 * * * * ? ")
-    public void excute(){
+    public void excuteOrder(){
         DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�"));
         List<Order> orderList = orderService.selectList(new EntityWrapper<Order>()
                 .eq("doc_type", docType.getDocId())
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 f7f3e71..b22bdd1 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -8,6 +8,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -57,10 +58,10 @@
         agvWrkMastService.updateById(agvWrkMast);
         if(agvWrkMast.getIoType() == 10){
             // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D");
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode());
         }else{
             //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F");
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode());
         }
         //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
         agvWrkMastLogService.save(agvWrkMast);
@@ -82,7 +83,7 @@
             //鏇存柊搴撳瓨鏄庣粏
             agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
             //淇敼婧愬簱浣嶇姸鎬佷负O
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","");
         }
 
         //鍒犻櫎AGV宸ヤ綔妗�
@@ -113,7 +114,7 @@
         agvWrkMast.setWrkSts(207L);
         agvWrkMastService.updateById(agvWrkMast);
         //淇敼婧愬簱浣嶇姸鎬佷负O
-        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
+        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","");
         if(agvWrkMast.getIoType() == 101){
             //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
             agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
@@ -162,7 +163,6 @@
                         continue;
                     }
                 }
-
                 //202.RCS鍙栬揣涓�
                 agvWrkMast.setWrkSts(202L);
                 agvWrkMastService.updateById(agvWrkMast);
@@ -171,10 +171,8 @@
                     agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
                 }
             }
-
             return SUCCESS;
         }
-
         return FAIL;
     }
 
@@ -195,17 +193,11 @@
         return FAIL;
     }
 
+    @Synchronized
+    @Transactional
     public ReturnT<String> dealWatiWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
 
         agvWrkMastList.forEach(agvWrkMast -> {
-//            //瀵绘壘绌虹珯鐐逛綅缃�
-//            AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(agvWrkMast.getLocNo());
-//            if(!Cools.isEmpty(agvBasDevp)){
-//                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
-//                agvWrkMast.setLocNo(agvBasDevp.getDevNo());
-//                agvWrkMastService.updateById(agvWrkMast);
-//            }
-
             //鏌ヨ璇ョ珯鐐规墍鏈夋殏瀛樹綅鍦ㄥ伐浣滄。涓嚭鐜扮殑娆℃暟
             List<Map<String, Object>> devNoMaps = agvBasDevpService.selectDevNoAndNumBystationCode(agvWrkMast.getLocNo());
             //鍙栫涓�涓殏瀛樹綅锛屽苟鏌ヨ鍏舵鏁颁笌閰嶇疆鐨勬鏁板仛姣旇緝
@@ -213,8 +205,8 @@
             if((int)devNoMap.get("num") < maxWrokNum){
                 agvWrkMast.setLocNo(devNoMap.get("dev_no").toString());
                 agvWrkMastService.updateById(agvWrkMast);
+                log.info("after锛�" + devNoMap.toString()  +  ", wrkNo:" + agvWrkMast.getWrkNo() + ", locNo: " + agvWrkMast.getLocNo());
             }
-
         });
 
         return SUCCESS;
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
index 3f5d2cd..cd21bd0 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
@@ -1,11 +1,13 @@
 package com.zy.asrs.task.handler;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
 import org.springframework.beans.BeanUtils;
@@ -13,10 +15,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 @Service
 public class AutoReplenishmentHandler extends AbstractHandler<String> {
@@ -84,7 +83,10 @@
             //List<String> locNosSearch = locDetlService.selectLocNo(matnr);
             Set<String> locNosSearch = locDetlService.selectLocNo(matnr, batch, csocode, isocode);
 
-            for(String locNo : locNosSearch){
+            //閲嶆柊鎺掑簭 骞朵笖妫�娴嬭搴撲綅鏄惁鍚病鏈夋枡绠辩爜鐨勭墿鏂欙紝濡傛湁鏈夊垯涓嶅厑璁稿嚭搴�
+            Set<String> resort = resort(locNosSearch);
+
+            for(String locNo : resort){
                 List<LocDetl> locDetls = locDetlService.selectByLocNo(locNo);
                 locNos.add(locNo);
                 for (LocDetl locDetl :locDetls){
@@ -100,37 +102,44 @@
             }
         }
 
-//        orderDetlList.forEach(orderDetl -> {
-//
-//            if(orderDetl.getAnfme() - orderDetl.getQty() <= 0){
-//                cont
-//            }
-//
-//            String matnr = orderDetl.getMatnr();
-//            Double orderAnfme = orderDetl.getAnfme();
-//
-//            List<String> locNosSearch = locDetlService.selectLocNo(matnr);
-//
-//            for(String locNo : locNosSearch){
-//                List<LocDetl> locDetls = locDetlService.selectByLocNo(locNo);
-//                locNos.add(locNo);
-//                for (LocDetl locDetl :locDetls){
-//                    if(matnr.equals(locDetl.getMatnr())){
-//                        orderAnfme -= locDetl.getAnfme();
-//                    }
-//                }
-//                if(orderAnfme <= 0){
-//                    orderDetl.setQty(orderDetl.getAnfme() - orderAnfme);
-//                    orderDetlService.updateById(orderDetl);
-//                    break;
-//                }
-//            }
-//
-//        });
-
         return locNos;
     }
 
+    //鏍规嵁娣辨祬搴撲綅杩涜閲嶆柊鎺掑簭
+    private Set<String> resort(Set<String> locNos){
+        Set<String> locNosResort = new LinkedHashSet<>();
+
+        for(String locNoSearch : locNos){
+            LocMast locMast = locMastService.selectById(locNoSearch);
+            if(!"F".equals(locMast.getLocSts())){
+                continue;
+            }
+
+            List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNoSearch);
+
+            if(Cools.isEmpty(groupOuterLoc)){
+                locNosResort.add(locNoSearch);
+            }else {
+                groupOuterLoc.add(locNoSearch);
+                //濡傛灉鏄繁搴撲綅锛屽垯鍏堟壘澶栦晶鐨勫簱浣�
+                for (String locNoOut : groupOuterLoc){
+                    LocMast locMastOuter = locMastService.selectById(locNoOut);
+                    //澶栦晶濡傛灉鏄嫞鏂欙紝鍒欏唴娴嬩笉鍏佽鍑�
+                    if("P".equals(locMastOuter.getLocSts()) || "Q".equals(locMastOuter.getLocSts()) || "S".equals(locMastOuter.getLocSts())){
+                        break;
+                    }
+
+                    if(!"F".equals(locMastOuter.getLocSts())){
+                        continue;
+                    }
+                    locNosResort.add(locNoOut);
+
+                }
+            }
+        }
+        return locNosResort;
+    }
+
     private WrkMast createWrkMast(String locNo,String barCode,Date now){
         int ioType = 101;
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index cf53eac..c0ffce8 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -73,21 +73,21 @@
     password: Wlzh44338
 
 agv:
-#  url: localhost:8080
-#  taskCreatePath: /agv/task/create
-#  containerMoveInPath: /agv/container/moveIn
-#  containerMoveOutPath: /agv/container/moveOut
-#  containerArrivedPath: /agv/containerArrived
-  url: 10.10.10.182:9046
-  taskCreatePath: /task/create
-  containerMoveInPath: /expand/api/moveIn/container
-  containerMoveOutPath: /expand/api/moveOut/container
-  containerArrivedPath: /conveyor/containerArrived
+  url: localhost:8080
+  taskCreatePath: /agv/task/create
+  containerMoveInPath: /agv/container/moveIn
+  containerMoveOutPath: /agv/container/moveOut
+  containerArrivedPath: /agv/containerArrived
+#  url: 10.10.10.182:9046
+#  taskCreatePath: /task/create
+#  containerMoveInPath: /expand/api/moveIn/container
+#  containerMoveOutPath: /expand/api/moveOut/container
+#  containerArrivedPath: /conveyor/containerArrived
 
 u8:
   url: http://192.168.1.55:8010
   orderReportPath: /api/RdAudit
 
 agvBasDev:
-  maxWorkNum: 2
+  maxWorkNum: 1
 
diff --git a/src/main/webapp/static/js/agvLocDetl/locDetl.js b/src/main/webapp/static/js/agvLocDetl/locDetl.js
index 66b8d65..d408a1d 100644
--- a/src/main/webapp/static/js/agvLocDetl/locDetl.js
+++ b/src/main/webapp/static/js/agvLocDetl/locDetl.js
@@ -1,5 +1,6 @@
 var pageCurr;
 var tableData;
+var admin;
 function getCol() {
     var cols = [
         {field: 'locNo', align: 'center',title: '搴撲綅鍙�'},
@@ -60,12 +61,15 @@
     return cols;
 }
 
-layui.use(['table','laydate', 'form'], function(){
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate','admin','form'], function(){
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
     var layDate = layui.laydate;
     var form = layui.form;
+    admin = layui.admin;
 
     // 鏁版嵁娓叉煋
     tableIns = table.render({
@@ -497,6 +501,11 @@
         });
     });
 
+    // 瀵煎叆閿�鍞崟
+    $("#compareToEss").click(function () {
+        $("#importExcel").trigger("click");
+    });
+
     // 鏃堕棿閫夋嫨鍣�
     layDate.render({
         elem: '#modiTime\\$',
@@ -612,3 +621,45 @@
         $("#search").click();
     }
 });
+function upload(obj){
+    if(!obj.files) {
+        return;
+    }
+    var file = obj.files[0];
+    admin.confirm('纭瀵煎叆 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
+        layer.load(1, {shade: [0.1,'#fff']});
+        var url = baseUrl + "/agv/locDetl/compare/auth";
+        var form = new FormData();
+        form.append("file", file);
+        let xhr = new XMLHttpRequest();
+        xhr.open("post", url, true);
+        xhr.setRequestHeader('token', localStorage.getItem('token'));
+        xhr.onload = uploadComplete;
+        xhr.onerror =  uploadFailed;
+        xhr.onloadend = function () {
+            layer.closeAll('loading');
+        };
+        // xhr.upload.onprogress = progressFunction;
+        xhr.upload.onloadstart = function(){
+            ot = new Date().getTime();
+            oloaded = 0;
+        };
+        xhr.send(form);
+    }, function(index){
+    });
+}
+function uploadComplete(evt) {
+    let res = JSON.parse(evt.target.responseText);
+    if(res.code === 200) {
+        layer.msg(res.msg, {icon: 1});
+        insTb.reload({page: {curr: 1}});
+    } else {
+        alert(res.msg);
+        // layer.msg(res.msg, {icon: 2});
+    }
+}
+function uploadFailed(evt) {
+    let res = JSON.parse(evt.target.responseText);
+    alert(res.msg);
+    // layer.msg(res.msg, {icon: 2});
+}
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index b68a99d..fb4d280 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -226,8 +226,8 @@
 var detlCols = [
     ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜', hide: true}
     ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜', hide: false}
-    ,{field: 'suppCode', align: 'center',title: '鏂欑鐮�', hide: false}
     ,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜',hide: true}
+    ,{field: 'suppCode', align: 'center',title: '鏂欑鐮�', hide: false}
     ,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜'}
     ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
     ,{field: 'batch', align: 'center',title: '搴忓垪鐮�', width: 300, sort:true, hide: true}
diff --git a/src/main/webapp/views/agvLocDetl/locDetl.html b/src/main/webapp/views/agvLocDetl/locDetl.html
index cd1e631..2d4401d 100644
--- a/src/main/webapp/views/agvLocDetl/locDetl.html
+++ b/src/main/webapp/views/agvLocDetl/locDetl.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
     <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
 </head>
 <body>
 
@@ -58,6 +59,10 @@
     <div class="layui-btn-container">
         <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button>
     </div>
+    <button style="display:none" id="compareToEss" >
+        <i class="layui-icon layui-icon-upload"></i>&nbsp;搴撳瓨姣斿
+    </button>
+    <input style="display:none" id="importExcel" type="file" onchange="upload(this)" >
 </script>
 
 <script type="text/html" id="operate">
diff --git a/src/main/webapp/views/agvPakStore/locDetlCheckQuery.html b/src/main/webapp/views/agvPakStore/locDetlCheckQuery.html
index b4a0680..49614ff 100644
--- a/src/main/webapp/views/agvPakStore/locDetlCheckQuery.html
+++ b/src/main/webapp/views/agvPakStore/locDetlCheckQuery.html
@@ -61,6 +61,11 @@
                 <input class="layui-input" type="text" name="maktx" placeholder="鐗╂枡鎻忚堪" autocomplete="off">
             </div>
         </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="number" name="floor" placeholder="妤煎眰" autocomplete="off">
+            </div>
+        </div>
         <!-- 鏃ユ湡鑼冨洿 -->
         <div class="layui-inline" style="width: 300px">
             <div class="layui-input-inline">
@@ -210,6 +215,14 @@
             tableReload();
         });
 
+        // 鎼滅储鏍忛噸缃簨浠�
+        form.on('submit(reset)', function (data) {
+            pageCurr = 1;
+            clearFormVal($('#search-box'));
+            $('#detlTable').css("display", 'none');
+            tableReload(false);
+        });
+
         layDate.render({
             elem: '.layui-laydate-range'
             ,type: 'datetime'
diff --git a/src/main/webapp/views/pakStore/locDetlCheckQuery.html b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
index 9245b3f..bf518ea 100644
--- a/src/main/webapp/views/pakStore/locDetlCheckQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
@@ -190,6 +190,13 @@
         form.on('submit(search)', function (data) {
             tableReload();
         });
+        // 鎼滅储鏍忛噸缃簨浠�
+        form.on('submit(reset)', function (data) {
+            pageCurr = 1;
+            clearFormVal($('#search-box'));
+            $('#detlTable').css("display", 'none');
+            tableReload(false);
+        });
 
         layDate.render({
             elem: '.layui-laydate-range'

--
Gitblit v1.9.1