From 0d549f0bb889983d2c6ab569a1304ac0c3fba6f6 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 05 十二月 2022 14:50:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/hylyasrs' into hylyasrs

---
 src/main/webapp/views/locDetl/locDetl.html                       |   13 +
 src/main/webapp/views/wrkDetl/wrkDetl.html                       |    5 
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    5 
 src/main/webapp/views/wrkMast/wrkDetl.html                       |    1 
 src/main/java/com/zy/asrs/controller/LocMastController.java      |   22 ++
 src/main/resources/mapper/LocDetlMapper.xml                      |   61 ++--
 src/main/webapp/views/pakStore/locDetlQuery.html                 |   21 +
 src/main/webapp/static/js/stoMan/stoQue.js                       |   16 
 pom.xml                                                          |    8 
 src/main/webapp/views/order/order.html                           |    2 
 src/main/webapp/views/wrkDetlLog/wrkDetlLog.html                 |    5 
 src/main/webapp/views/report/locDetl_detail.html                 |   82 +++++++
 src/main/webapp/views/report/viewWorkOut.html                    |    5 
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    2 
 src/main/webapp/static/js/order/out.js                           |    2 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |    3 
 src/main/webapp/static/js/adjDetl/adjDetl.js                     |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |    2 
 src/main/webapp/static/js/common.js                              |   12 
 src/main/java/com/zy/asrs/entity/LocMast.java                    |    6 
 src/main/java/com/zy/asrs/controller/OrderController.java        |   95 ++++++++
 src/main/java/com/zy/asrs/service/LocDetlService.java            |    4 
 src/main/webapp/views/report/locDetl.html                        |   36 +++
 src/main/java/com/zy/asrs/controller/LocDetlController.java      |   84 +++++++
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java      |   15 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |    3 
 src/main/resources/mapper/ViewWorkInMapper.xml                   |    3 
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java   |    5 
 src/main/webapp/views/report/viewWorkIn.html                     |    5 
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java       |    4 
 src/main/java/com/zy/common/model/LocDto.java                    |    2 
 src/main/webapp/static/js/cool.js                                |    2 
 src/main/resources/mapper/OrderDetlMapper.xml                    |   22 +-
 src/main/webapp/static/js/locDetl/locDetl.js                     |    2 
 src/main/webapp/views/waitPakinLog/waitPakinLog.html             |    5 
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   13 +
 src/main/webapp/static/js/order/order.js                         |    5 
 src/main/webapp/views/waitPakin/waitPakin.html                   |    5 
 src/main/webapp/static/js/locMast/locMast.js                     |   22 +
 src/main/webapp/views/login.html                                 |    1 
 src/main/resources/application.yml                               |    2 
 41 files changed, 530 insertions(+), 80 deletions(-)

diff --git a/pom.xml b/pom.xml
index 3baad37..e0b5149 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,8 +22,16 @@
         <springfox.version>2.7.0</springfox.version>
     </properties>
 
+
+
     <dependencies>
         <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>mail</artifactId>
+            <version>1.4.7</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index ad11d86..c227b76 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -12,13 +12,9 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.ManLocDetl;
-import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.LocDetlMapper;
-import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.ManLocDetlService;
-import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.*;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -33,6 +29,10 @@
 
     @Autowired
     private LocDetlService locDetlService;
+    @Autowired
+    private LocMastService locMastService;
+    @Autowired
+    private AdjDetlService adjDetlService;
 
     @Autowired
     private LocDetlMapper locDetlMapper;
@@ -157,6 +157,78 @@
         locDetlService.updateById(locDetl);
         return R.ok();
     }
+    @RequestMapping(value = "/locDetl/updateBatch/auth")
+    @ManagerAuth(memo = "鍚堝悓鍙凤紙鎵瑰彿锛変慨鏀�")
+    public R updateBatch(LocDetl locDetl){
+        if (Cools.isEmpty(locDetl) || null==locDetl.getMatnr()){
+            return R.error("鍙傛暟寮傚父");
+        }else if (locDetl.getBatch().equals(locDetl.getSku())){
+            return R.error("鍓嶅悗鍚堝悓鍙蜂竴鑷达紝鏃犻渶淇敼锛侊紒锛�");
+        }
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
+        if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){
+            return R.error("搴撲綅鍙峰繀椤诲瓨鍦ㄥ苟涓斿簱浣嶇姸鎬佷负鈥淔鈥濓紒锛侊紒");
+        }
+        try{
+            LocDetl locDetlSource = locDetlService.selectItem(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch());
+            if (Cools.isEmpty(locDetlSource) || (locDetl.getBatch()==null &&  locDetlSource.getBatch()!=null)){
+                locDetlSource = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+                        .eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getBatch()));
+                if (Cools.isEmpty(locDetlSource)){
+                    return R.error("寮傚父");
+                }
+            }
+            LocDetl locDetlEnd = locDetlService.selectItem(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getSku());
+            if (!Cools.isEmpty(locDetlEnd) && locDetl.getSku()==null && locDetlEnd.getBatch()!=null){
+                locDetlEnd = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+                        .eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getSku()));
+            }
+            AdjDetl adjDetlSource = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getBatch(),null,locDetlSource.getAnfme(),null,null,locDetlSource.getAnfme()-locDetl.getAnfme(),null,"淇敼鍚堝悓鍙�:"+locDetl.getBatch()+"鈫�"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date());
+            AdjDetl adjDetlEnd=null;
+            if (Cools.isEmpty(locDetlEnd)){
+                adjDetlEnd = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getSku(),null,0.0,null,null,locDetl.getAnfme(),null,"淇敼鍚堝悓鍙�:"+locDetl.getBatch()+"鈫�"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date());
+            }else {
+                adjDetlEnd = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getSku(),null,locDetlEnd.getAnfme(),null,null,locDetlEnd.getAnfme()+locDetl.getAnfme(),null,"淇敼鍚堝悓鍙�:"+locDetl.getBatch()+"鈫�"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date());
+            }
+            if (locDetlSource.getAnfme()-locDetl.getAnfme()==0){
+                if (Cools.isEmpty(locDetlEnd)){
+                    locDetlSource.setBatch(locDetl.getSku());
+                    if (locDetl.getBatch()==null || locDetl.getBatch()==""){
+                        locDetlService.update(locDetlSource,new EntityWrapper<LocDetl>()
+                                .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).isNull("batch").or().eq("batch",""));
+                    }else {
+                        locDetlService.update(locDetlSource,new EntityWrapper<LocDetl>()
+                                .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).eq("batch",locDetl.getBatch()));
+                    }
+                }else {
+                    locDetlService.updateAnfme(locDetlEnd.getAnfme()+locDetl.getAnfme(),locDetlEnd.getLocNo(),locDetlEnd.getMatnr(),locDetlEnd.getBatch());
+                    if (locDetl.getBatch()==null || locDetl.getBatch()==""){
+                        locDetlService.delete(new EntityWrapper<LocDetl>()
+                                .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).isNull("batch").or().eq("batch",""));
+                    }else {
+                        locDetlService.delete(new EntityWrapper<LocDetl>()
+                                .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).eq("batch",locDetlSource.getBatch()));
+                    }
+                }
+            }else if (locDetlSource.getAnfme()>locDetl.getAnfme()){
+                locDetlService.updateAnfme(locDetlSource.getAnfme()-locDetl.getAnfme(),locDetlSource.getLocNo(),locDetlSource.getMatnr(),locDetlSource.getBatch());
+                if (Cools.isEmpty(locDetlEnd)){
+                    locDetlSource.setAnfme(locDetl.getAnfme());
+                    locDetlSource.setBatch(locDetl.getSku());
+                    locDetlService.insert(locDetlSource);
+                }else {
+                    locDetlService.updateAnfme(locDetlEnd.getAnfme()+locDetl.getAnfme(),locDetlEnd.getLocNo(),locDetlEnd.getMatnr(),locDetlEnd.getBatch());
+                }
+            }else {
+                return R.error("杈撳叆鏁伴噺鏈夎锛岃瑙勮寖鎿嶄綔锛侊紒锛�");
+            }
+            adjDetlService.insert(adjDetlSource);
+            adjDetlService.insert(adjDetlEnd);
+        }catch (Exception e){
+            return R.error("寮傚父锛侊紒锛佽瑙勮寖鎿嶄綔锛侊紒锛�");
+        }
+        return new R(201,"鍚堝悓鍙蜂慨鏀规垚鍔燂紝璇峰埛鏂伴〉闈紒锛侊紒");
+    }
 
     @RequestMapping(value = "/locDetl/delete/auth")
     @ManagerAuth(memo = "搴撲綅鏄庣粏鍒犻櫎")
diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index a5aea8f..3d7b9b3 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -96,6 +96,13 @@
             return R.error();
         }
         LocMast oldLocMast = locMastService.selectById(locMast.getLocNo());
+        if (locX(locMast.getLocNo())){
+            if (oldLocMast.getLocSts().equals("X")){
+                return R.error("姝ゅ娌℃湁搴撲綅锛岃鏍规嵁鐜板満鎯呭喌鎿嶄綔锛侊紒锛�");
+            }else {
+                locMast.setLocSts("X");
+            }
+        }
         if (locMast.getLocSts().equals("F") && (oldLocMast.getLocSts().equals("D") || oldLocMast.getLocSts().equals("O"))) {
             return R.error("褰撳墠鎿嶄綔宸茶闃绘锛岃鑱旂郴绠$悊鍛�");
         }
@@ -110,6 +117,21 @@
         locMastService.updateById(locMast);
         return R.ok();
     }
+    public boolean locX(String locNo){
+        switch (locNo){
+            case "1300601": case "1300602": case "1300603": case "1300604": case "1300605": case "1300606":
+            case "1300701": case "1300702": case "1300703": case "1300704": case "1300705": case "1300706":
+            case "1301301": case "1301302": case "1301303": case "1301304": case "1301305": case "1301306":
+            case "1301401": case "1301402": case "1301403": case "1301404": case "1301405": case "1301406":
+            case "1302001": case "1302002": case "1302003": case "1302004": case "1302005": case "1302006":
+            case "1301205": case "1301206":
+            case "1302402":
+            case "1402402":
+                return true;
+            default:
+                return false;
+        }
+    }
 
     @RequestMapping(value = "/locMast/delete/auth")
     @ManagerAuth(memo = "搴撲綅鍒犻櫎")
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 8063a13..e65522e 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -33,6 +33,8 @@
     private WrkDetlService wrkDetlService;
     @Autowired
     private WaitPakinService waitPakinService;
+    @Autowired
+    private LocDetlService locDetlService;
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
@@ -334,4 +336,97 @@
         return R.ok();
     }
 
+
+    @RequestMapping(value = "/order/form/add/authtest")
+    @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
+    @Transactional
+    public R formAddTest(@RequestBody OrderDomainParam param){
+        if(Cools.isEmpty(param.getOrderNo())){
+            String prefix = "";
+            DocType docType = docTypeService.selectById(param.getDocType());
+            if(!Cools.isEmpty(docType)){
+                prefix = docType.getPakin() == 1 ? "RK" : "CK";
+            }
+            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
+        }
+        Order order = orderService.selectByNo(param.getOrderNo());
+        if (order != null) {
+            return R.error("鍗曟嵁缂栧彿宸插瓨鍦�");
+        }
+        Date now = new Date();
+        order = new Order(
+                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                param.getOrderNo(),    // 璁㈠崟缂栧彿
+                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                param.getDocType(),    // 鍗曟嵁绫诲瀷
+                null,    // 椤圭洰缂栧彿
+                null,    //
+                null,    // 璋冩嫧椤圭洰缂栧彿
+                null,    // 鍒濆绁ㄦ嵁鍙�
+                null,    // 绁ㄦ嵁鍙�
+                null,    // 瀹㈡埛缂栧彿
+                null,    // 瀹㈡埛
+                null,    // 鑱旂郴鏂瑰紡
+                null,    // 鎿嶄綔浜哄憳
+                null,    // 鍚堣閲戦
+                null,    // 浼樻儬鐜�
+                null,    // 浼樻儬閲戦
+                null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+                null,    // 瀹炰粯閲戦
+                null,    // 浠樻绫诲瀷
+                null,    // 涓氬姟鍛�
+                null,    // 缁撶畻澶╂暟
+                null,    // 閭垂鏀粯绫诲瀷
+                null,    // 閭垂
+                null,    // 浠樻鏃堕棿
+                null,    // 鍙戣揣鏃堕棿
+                null,    // 鐗╂祦鍚嶇О
+                null,    // 鐗╂祦鍗曞彿
+                1L,    // 璁㈠崟鐘舵��
+                1,    // 鐘舵��
+                getUserId(),    // 娣诲姞浜哄憳
+                now,    // 娣诲姞鏃堕棿
+                getUserId(),    // 淇敼浜哄憳
+                now,    // 淇敼鏃堕棿
+                null    // 澶囨敞
+        );
+        if (!orderService.insert(order)) {
+            throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
+        }
+        List<DetlDto> list = new ArrayList<>();
+        for (OrderDetl orderDetl : param.getOrderDetlList()) {
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            } else {
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+
+                //缁欐坊鍔犲瓙璁㈠崟
+                Set<String> exist = new HashSet<>();
+                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+
+
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            }
+        }
+        return R.ok("璁㈠崟娣诲姞鎴愬姛");
+    }
+
+
+
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java
index 23d8301..0ee2575 100644
--- a/src/main/java/com/zy/asrs/entity/LocMast.java
+++ b/src/main/java/com/zy/asrs/entity/LocMast.java
@@ -26,8 +26,8 @@
     /**
      * 搴撲綅鍙�
      */
-    @ApiModelProperty(value= "搴撲綅鍙�")
-    @TableId(value = "loc_no", type = IdType.INPUT)
+    @ApiModelProperty(value= "搴撲綅鍙�") //鍙傛暟绫诲瀷涓篠tring锛屼綔鐢ㄤ负姝ゅ睘鎬х殑绠�瑕佹弿杩般��
+    @TableId(value = "loc_no", type = IdType.INPUT) // @TableId 娉ㄨВ鐨勭敤娉曪紝璇ユ敞瑙g敤浜庡皢鏌愪釜鎴愬憳鍙橀噺鎸囧畾涓烘暟鎹〃涓婚敭
     @TableField("loc_no")
     private String locNo;
 
@@ -165,7 +165,7 @@
     @ApiModelProperty(value= "")
     private String mk;
 
-    @ApiModelProperty(value= "")
+    @ApiModelProperty(value= "鏉$爜鍙�")
     private String barcode;
 
     @ApiModelProperty(value= "")
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 1489a3b..47df240 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -34,7 +34,7 @@
     @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
     int updateLocNo(String newLocNo, String oldLocNo);
 
-    @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC")
+    @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND lm.bay1 >= 10 AND lm.bay1 <=20 AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC")
     List<String> selectSameDetlToday(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end);
 
     List<LocDetl> getStockStatis(Map<String, Object> map);
@@ -56,6 +56,9 @@
 
     List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
 
+    List<LocDetl> queryStockOther(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos,@Param("locNo")String locNo);
+
+
     Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal();
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 51c99ad..b67806c 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -34,4 +34,7 @@
     int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
 
     int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty);
+
+    int increaseWorkQtytest(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("anfme")Double anfme);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 35aae4d..ce05fcb 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.result.StockVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -45,6 +46,9 @@
 
     List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
 
+    List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo);
+
+
     Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal();
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index ecf08d2..ede8c56 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -37,4 +37,6 @@
      * @return
      */
     boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+
+    boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index e61bc6b..59bd94e 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -82,6 +82,11 @@
     }
 
     @Override
+    public List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo) {
+        return this.baseMapper.queryStockOther(matnr, batch, orderNo, locNos,locNo);
+    }
+
+    @Override
     public Double queryStockAnfme(String matnr, String batch) {
         return this.baseMapper.queryStockAnfme(matnr, batch);
     }
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 9a0bc7f..5e4a8a6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -93,6 +93,8 @@
 
         int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
         int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+//        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())
+//                                            .last(" wrk_no IN ( SELECT wrk_no FROM asr_wrk_mast WHERE wrk_sts != 15 )"));
         if (countLoc > 0 || countWrk > 0) {
             throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
         }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 327edbb..3e98ae8 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -90,4 +90,17 @@
     public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
         return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
     }
+
+    /**
+     * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
+     * @param orderNo
+     * @param matnr
+     * @param batch
+     * @param anfme
+     * @return
+     */
+    @Override
+    public boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme) {
+        return this.baseMapper.increaseWorkQtytest(orderNo, matnr, batch, anfme) > 0;
+    }
 }
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 3ebff2a..7b17868 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -340,7 +340,7 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
             // 淇敼璁㈠崟鏄庣粏
-            if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
                 throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
             }
             orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -802,6 +802,7 @@
         if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
             for (WrkDetl wrkDetl : wrkDetls) {
+                //瀛楃涓蹭笉涓虹┖
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                     if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                         throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 173bc58..c550e83 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -104,11 +104,11 @@
             }
             // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
             if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-//                exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+                exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
             }
             // 鍒犻櫎宸ヤ綔鏄庣粏妗�
             if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
-//                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo());
             }
         } catch (Exception e) {
             log.error("fail", e);
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 f5fb2df..9f8ce99 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -116,10 +116,13 @@
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if(orderDetl==null){
+                            orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -164,10 +167,13 @@
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if(orderDetl==null){
+                            orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -344,10 +350,13 @@
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if(orderDetl==null){
+                            orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index ca099a3..b78237e 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -25,10 +25,12 @@
 
     private boolean lack = false;
 
+    //鐩爣绔欑偣
     private List<Integer> staNos;
 
     private Integer staNo;
 
+
     public LocDto() {
     }
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index b51131d..d05f03d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://192.168.4.15:1433;databasename=hylyasrs
+    url: jdbc:sqlserver://10.10.10.210:1433;databasename=hylyasrs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 557c698..61c2dc6 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -97,6 +97,9 @@
         <if test="anfme!=null and anfme!='' ">
             and a.anfme like '%' + #{anfme} + '%'
         </if>
+        <if test="batch!=null and batch!='' ">
+            and a.batch like  '%' + #{batch} + '%'
+        </if>
         <if test="startTime!=null and endTime!=null">
             and a.modi_time between #{startTime} and #{endTime}
         </if>
@@ -108,14 +111,14 @@
     <select id="getStockOutPage" resultMap="BaseResultMap">
         select * from
         (
-            select
-            ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row,
-            a.*
-            from asr_loc_detl a
-            left join asr_loc_mast b on a.loc_no = b.loc_no
-            where 1=1
-            and b.loc_sts = 'F'
-            <include refid="stockOutCondition"></include>
+        select
+        ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row,
+        a.*
+        from asr_loc_detl a
+        left join asr_loc_mast b on a.loc_no = b.loc_no
+        where 1=1
+        and b.loc_sts = 'F'
+        <include refid="stockOutCondition"></include>
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
@@ -132,19 +135,19 @@
     <select id="getStockStatis" resultType="com.zy.asrs.entity.LocDetl">
         select * from
         (
-            select
-            ROW_NUMBER() over (order by sum(a.anfme) desc) as row
-            , a.matnr
-            , sum(a.anfme) as anfme
-            from asr_loc_detl a
-            where 1=1
-            <include refid="stockOutCondition"></include>
-            group by a.matnr
-         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+        select
+        ROW_NUMBER() over (order by sum(a.anfme) desc) as row
+        , a.matnr
+        , sum(a.anfme) as anfme
+        from asr_loc_detl a
+        where 1=1
+        <include refid="stockOutCondition"></include>
+        group by a.matnr
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
     <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer">
-     select count(1) as count from
+        select count(1) as count from
         (
         select
         a.matnr
@@ -152,7 +155,7 @@
         where 1=1
         <include refid="stockOutCondition"></include>
         group by a.matnr
-     ) b
+        ) b
     </select>
 
     <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl">
@@ -202,14 +205,14 @@
         where 1=1
         and b.loc_sts = 'F'
         and a.matnr = #{matnr}
-<!--        <choose>-->
-<!--            <when test="batch != null and batch != ''">-->
-<!--                and a.batch = #{batch}-->
-<!--            </when>-->
-<!--            <otherwise>-->
-<!--                and (a.batch IS NULL OR a.batch = '')-->
-<!--            </otherwise>-->
-<!--        </choose>-->
+        <!--        <choose>-->
+        <!--            <when test="batch != null and batch != ''">-->
+        <!--                and a.batch = #{batch}-->
+        <!--            </when>-->
+        <!--            <otherwise>-->
+        <!--                and (a.batch IS NULL OR a.batch = '')-->
+        <!--            </otherwise>-->
+        <!--        </choose>-->
         <if test="batch != null and batch != ''">
             and a.batch = #{batch}
         </if>
@@ -284,8 +287,8 @@
 
     <select id="queryStockAnfme" resultType="java.lang.Double">
         select sum(anfme) as count from man_loc_detl
-         where 1=1
-         and matnr = #{matnr}
+        where 1=1
+        and matnr = #{matnr}
         <if test="batch != null and batch != ''">
             and batch = #{batch}
         </if>
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 74ebaf0..25b6cf8 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -98,17 +98,17 @@
     <select id="getPakoutPage" resultMap="BaseResultMap">
         select * from
         (
-            select
-            ROW_NUMBER() over (order by mo.create_time desc) as row,
-            mod.*
-            from man_order_detl mod
-            inner join man_order mo on mod.order_id = mo.id
-            inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
-            where 1=1
-            and mo.settle &lt;= 2
-            and mo.status = 1
-            and mdt.pakout = 1
-            <include refid="pakOutPageCondition"></include>
+        select
+        ROW_NUMBER() over (order by mo.create_time desc) as row,
+        mod.*
+        from man_order_detl mod
+        inner join man_order mo on mod.order_id = mo.id
+        inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
+        where 1=1
+        and mo.settle &lt;= 2
+        and mo.status = 1
+        and mdt.pakout = 1
+        <include refid="pakOutPageCondition"></include>
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
diff --git a/src/main/resources/mapper/ViewWorkInMapper.xml b/src/main/resources/mapper/ViewWorkInMapper.xml
index e63997b..7eb0f43 100644
--- a/src/main/resources/mapper/ViewWorkInMapper.xml
+++ b/src/main/resources/mapper/ViewWorkInMapper.xml
@@ -11,6 +11,9 @@
 		<if test="matnr!=null and matnr!='' ">
 			and matnr like '%' + #{matnr} + '%'
 		</if>
+		<if test="batch!=null and batch!='' ">
+			and batch like '%' + #{batch} + '%'
+		</if>
 		<if test="maktx!=null and maktx!='' ">
 			and (maktx like '%' + #{maktx} + '%'
 			or matnr like '%' + #{maktx} + '%'
diff --git a/src/main/webapp/static/js/adjDetl/adjDetl.js b/src/main/webapp/static/js/adjDetl/adjDetl.js
index cf5c1f8..3db8a2b 100644
--- a/src/main/webapp/static/js/adjDetl/adjDetl.js
+++ b/src/main/webapp/static/js/adjDetl/adjDetl.js
@@ -30,7 +30,7 @@
             // ,{field: 'adjCtns', align: 'center',title: '鍙樻洿绠辨暟'}
             ,{field: 'adjQty', align: 'center',title: '鍙樻洿鏁伴噺'}
             // ,{field: 'adjWt', align: 'center',title: '鍙樻洿閲嶉噺'}
-            ,{field: 'memo', align: 'center',title: '澶囨敞',hide:true}
+            ,{field: 'memo', align: 'center',title: '澶囨敞',width:300 ,hide:false}
             ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'}
             ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
             // ,{field: 'appeUser', align: 'center',title: '鍒涘缓鑰�'}
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index f65aef1..254f32b 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -225,12 +225,12 @@
     {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true}
     ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true}
     ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: true}
-    ,{field: 'batch', align: 'center',title: '鎵瑰彿', sort:true}
+    ,{field: 'batch', align: 'center',title: '鍚堝悓鍙�', sort:true}
     ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
     ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
 
     ,{field: 'specs', align: 'center',title: '瑙勬牸'}
-    ,{field: 'model', align: 'center',title: '浠g爜', hide: false}
+    ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
     ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
     ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
     ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
@@ -243,10 +243,10 @@
     ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true}
     ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
     ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}
-    ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: false}
-    ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: false}
-    ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: false}
-    ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: false}
+    ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true}
+    ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
+    ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true}
+    ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
     ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}
     ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true}
     ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true}
diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js
index d817c09..688e893 100644
--- a/src/main/webapp/static/js/cool.js
+++ b/src/main/webapp/static/js/cool.js
@@ -15,7 +15,9 @@
  */
 function autoShow(id) {
     var cac = document.getElementById(id).parentNode;
+    console.log(cac);
     var cacw = cac.getElementsByClassName("cool-auto-complete-window")[0];
+    console.log(cacw);
     if (cacw.style.display === "none" || cacw.style.display === ""){
         cacw.style.display = "block";
         var cacwi = cacw.getElementsByClassName("cool-auto-complete-window-input")[0];
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index 211c380..2466f8e 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -5,7 +5,7 @@
         {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true}
         ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true}
         ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
-        ,{field: 'batch', align: 'center',title: '鎵瑰彿', width: 300, sort:true}
+        ,{field: 'batch', align: 'center',title: '鍚堝悓鍙�', width: 300, sort:true}
         ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
         ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
         ,{field: 'specs', align: 'center',title: '閰嶇疆'}
diff --git a/src/main/webapp/static/js/locMast/locMast.js b/src/main/webapp/static/js/locMast/locMast.js
index 54454f9..c9bafaf 100644
--- a/src/main/webapp/static/js/locMast/locMast.js
+++ b/src/main/webapp/static/js/locMast/locMast.js
@@ -417,14 +417,17 @@
             layer.msg(banMsg);
             return;
         }
-        method("add");
+        method("/locMast/add/auth");
     });
 
     // 鏁版嵁淇敼鍔ㄤ綔
     form.on('submit(edit)', function () {
-        method("update")
+        method("/locMast/update/auth")
     });
-
+    // 淇敼鍚堝悓鍙峰姩浣�
+    form.on('submit(pakoutPreview)', function () {
+        method("/locDetl/updateBatch/auth")
+    });
     function method(name){
         var index = layer.load(1, {
             shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙
@@ -459,10 +462,17 @@
             barcode: $('#barcode').val(),
             PdcType: $('#PdcType').val(),
             ctnNo: $('#ctnNo').val(),
+            batch: $('#batch').val(),
+            anfme: $('#anfme').val(),
+            matnr: $('#matnr').val(),
+            maktx: $('#maktx').val(),
+            zpallet: $('#zpallet').val(),
+            specs: $('#specs').val(),
+            sku: $('#sku').val(),
 
         };
         $.ajax({
-            url: baseUrl+"/locMast/"+name+"/auth",
+            url: baseUrl+name,
             headers: {'token': localStorage.getItem('token')},
             data: top.reObject(data),
             method: 'POST',
@@ -475,6 +485,10 @@
                     });
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
+                }else if (res.code===201){
+                    layer.msg(res.msg);
+                    parent.layer.closeAll();
+                    parent.parent.layer.closeAll();
                 }else {
                     layer.msg(res.msg)
                 }
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index e277615..7214d80 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -31,6 +31,10 @@
             }
         }
     })
+    
+    
+    
+
 
     // 娓叉煋琛ㄦ牸
     var insTb = table.render({
@@ -389,6 +393,7 @@
                                     });
                                 }
                             })
+                            
                             // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
                             $(layero).children('.layui-layer-content').css('overflow', 'visible');
                             layui.form.render('select');
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index be85831..86f2b28 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -125,6 +125,7 @@
 
     function pakoutPreview(ids) {
         let loadIndex = layer.load(2);
+        console.log("1111")
         $.ajax({
             url: baseUrl + "/out/pakout/preview/auth",
             headers: {'token': localStorage.getItem('token')},
@@ -163,6 +164,7 @@
                                     {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
                                     {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
                                     {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
+                                    //{field: 'staState', title: '鐘舵��', align: 'center'},
                                     {type: 'checkbox', merge: ['locNo']},
                                 ]],
                                 done: function (res) {
diff --git a/src/main/webapp/static/js/stoMan/stoQue.js b/src/main/webapp/static/js/stoMan/stoQue.js
index 76e6a1b..b6fc115 100644
--- a/src/main/webapp/static/js/stoMan/stoQue.js
+++ b/src/main/webapp/static/js/stoMan/stoQue.js
@@ -4,21 +4,21 @@
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
-    var layDate = layui.laydate;
+    var layDate = layui.laydate;    //鏃堕棿鎺т欢
     var form = layui.form;
 
     layDate.render({
         elem: '.layui-laydate-range'
-        ,type: 'datetime'
-        ,range: true
+        ,type: 'datetime'   //鏃ユ湡鏃堕棿閫夋嫨鍣� 鍙�夊勾銆佹湀銆佹棩銆佹椂銆佸垎銆佺
+        ,range: true		//璁剧疆涓簍rue锛岄粯璁ら噰鐢ㄢ��-鈥濆垎鍓�
     });
 
     // 鏁版嵁娓叉煋
     tableIns = table.render({
-        elem: '#stoQue',
+        elem: '#stoQue',	//table id=鈥渟toQue鈥�
         headers: {token: localStorage.getItem('token')},
         url: baseUrl+'/locMast/list/auth',
-        page: true,
+        page: true,	 //寮�鍚垎椤�
         limit: 20,
         limits: [20, 30, 50, 100, 200, 500],
         even: true,
@@ -110,8 +110,8 @@
             case 'refreshSto': // todo:luxiaotao
                 alert("杩樻病鍋�");
                 break;
-            case 'exportData':
-                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+            case 'exportData':	//瀵煎嚭Excel
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){	
                     var titles=[];
                     var fields=[];
                     obj.config.cols[0].map(function (col) {
@@ -129,7 +129,7 @@
                         'fields': fields
                     };
                     $.ajax({
-                        url: baseUrl+"/wrkLastno/export/auth",
+                        url: baseUrl+"/locMast/export/auth",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify(param),
                         dataType:'json',
diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html
index 6248d71..990f1a2 100644
--- a/src/main/webapp/views/locDetl/locDetl.html
+++ b/src/main/webapp/views/locDetl/locDetl.html
@@ -29,6 +29,11 @@
             <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off">
         </div>
     </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
 <!--    <div class="layui-inline">-->
 <!--        <div class="layui-input-inline">-->
 <!--            <input class="layui-input" type="text" name="row" placeholder="鎺掓暟" autocomplete="off">-->
@@ -36,7 +41,13 @@
 <!--    </div>-->
     <div class="layui-inline">
         <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+            <input class="layui-input" type="text" name="condition" placeholder="鍟嗗搧鍚嶇О" autocomplete="off">
+        </div>
+
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
         </div>
 
     </div>
diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index d7aa305..b9dc922 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -74,6 +74,7 @@
             <input id="username" class="input100" type="text" name="username" placeholder="username" autocomplete="off">
             <span class="focus-input100"></span>
             <span class="symbol-input100">
+
               <i class="fa fa-user"></i>
             </span>
           </div>
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index f5997c4..6f6141e 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -54,6 +54,8 @@
                             </select>
                         </div>
                     </div>
+                    
+                    
                     <div class="layui-inline">
                         <div class="layui-input-inline">
                             <select name="settle">
diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html
index 35b9f09..6f46989 100644
--- a/src/main/webapp/views/pakStore/locDetlQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlQuery.html
@@ -72,6 +72,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="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+            </div>
+        </div>
         <!-- 鏃ユ湡鑼冨洿 -->
         <div class="layui-inline" style="width: 300px">
             <div class="layui-input-inline">
@@ -126,6 +131,7 @@
         var form = layui.form;
         var admin = layui.admin;
         var tableMerge = layui.tableMerge;
+        var dataSource = []
 
         // 鏁版嵁娓叉煋
         locDetlTableIns = table.render({
@@ -144,6 +150,7 @@
                 pageSize: 'limit'
             },
             parseData: function (res) {
+                dataSource = res.data.records
                 return {
                     'code': res.code,
                     'msg': res.msg,
@@ -164,15 +171,27 @@
 
         // 鐩戝惉澶村伐鍏锋爮浜嬩欢
         table.on('toolbar(stockOut)', function (obj) {
+
             var checkStatus = table.checkStatus(obj.config.id);
             var data = checkStatus.data;
+            var dataList = []
+            for (var j = 0; j < data.length; j++) {
+                var locno = data[j].locNo
+                for(var i = 0;i < dataSource.length; i++) {
+                    if (dataSource[i].locNo === locno) {
+                        dataList.push(dataSource[i])
+                    }
+                }
+            }
+            console.log(dataList)
+
             switch(obj.event) {
                 case 'confirm':
                     if (data.length === 0){
                         layer.msg("璇烽�夋嫨鏁版嵁");
                         return;
                     }
-                    parent.addTableData(data);
+                    parent.addTableData(dataList);
                     break;
             }
         });
diff --git a/src/main/webapp/views/report/locDetl.html b/src/main/webapp/views/report/locDetl.html
index 9e3ee3d..0da0485 100644
--- a/src/main/webapp/views/report/locDetl.html
+++ b/src/main/webapp/views/report/locDetl.html
@@ -24,6 +24,10 @@
 </div>
 <table class="layui-hide" id="locDetlByMap" lay-filter="locDetlByMap"></table>
 </body>
+<script type="text/html" id="operateDetl">
+<!--    <button id="batch" class="layui-btn layui-btn-primary layui-btn-radius" style="height: auto" lay-submit lay-filter="batch">淇敼鍚堝悓鍙�</button>-->
+    <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>淇敼鍚堝悓鍙�</a>
+</script>
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <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>
@@ -36,10 +40,14 @@
             {field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
         ];
         cols.push.apply(cols, detlCols);
+        var cols2=[
+            { fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operateDetl'}
+        ];
+        cols.push.apply(cols,cols2)
         return cols;
     }
     layui.use(['table','laydate', 'form'], function() {
-        table = layui.table;
+        var table = layui.table;
         var $ = layui.jquery;
         var form = layui.form;
 
@@ -87,6 +95,32 @@
                 });
             }
         });
+        // 宸ュ叿鏉$偣鍑讳簨浠�
+        table.on('tool(locDetlByMap)', function (obj) {
+            var data = obj.data;
+            switch (obj.event) {
+                // 淇敼鍚堝悓鍙凤紙鎵瑰彿锛�
+                case 'pakoutPreview':
+                    layer.open({
+                        type: 2,
+                        title: '淇敼鍚堝悓鍙�',
+                        maxmin: true,
+                        area: ['500px', top.detailHeight],
+                        shadeClose: false,
+                        content: 'locDetl_detail.html',
+                        success: function(layero, index){
+                            layer.getChildFrame('#data-detail-submit-save', index).hide();
+                            setFormVal(layer.getChildFrame('#updateBatch', index), data, false);
+                            // top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
+                            top.convertDisabled(layer.getChildFrame('#locNo', index), true);
+                            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');
+                        }
+                    });
+                    break;
+            }
+        });
     });
 </script>
 </html>
diff --git a/src/main/webapp/views/report/locDetl_detail.html b/src/main/webapp/views/report/locDetl_detail.html
new file mode 100644
index 0000000..184e6a7
--- /dev/null
+++ b/src/main/webapp/views/report/locDetl_detail.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="en" xmlns="http://www.w3.org/1999/html">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <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">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="updateBatch" class="layui-form" style="height: 100%">
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null">*</span>淇敼鍚堝悓鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="sku" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null">*</span>鏁�  閲忥細</label>
+            <div class="layui-input-inline">
+                <input id="anfme" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null"></span>鍘熷悎鍚屽彿锛�</label>
+            <div class="layui-input-inline">
+                <input id="batch" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null"></span>搴� 浣� 鍙凤細</label>
+            <div class="layui-input-inline">
+                <input id="locNo" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null"></span> 鍟嗗搧缂栧彿锛�</label>
+            <div class="layui-input-inline">
+                <input id="matnr" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null"></span> 鍟嗗搧鍚嶇О锛�</label>
+            <div class="layui-input-inline">
+                <input id="maktx" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null"></span> 鎵樼洏鐮侊細</label>
+            <div class="layui-input-inline">
+                <input id="zpallet" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div class="layui-inline"  >
+            <label class="layui-form-label"><span class="not-null"></span> 瑙勬牸锛�</label>
+            <div class="layui-input-inline">
+                <input id="specs" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')">
+            </div>
+        </div>
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="pakoutPreview">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<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/locMast/locMast.js" charset="utf-8"></script>
+</html>
+
diff --git a/src/main/webapp/views/report/viewWorkIn.html b/src/main/webapp/views/report/viewWorkIn.html
index dca05aa..2cfbe1e 100644
--- a/src/main/webapp/views/report/viewWorkIn.html
+++ b/src/main/webapp/views/report/viewWorkIn.html
@@ -21,6 +21,11 @@
 <div id="search-box" class="layui-form layui-card-header">
     <div class="layui-inline">
         <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
             <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off">
         </div>
     </div>
diff --git a/src/main/webapp/views/report/viewWorkOut.html b/src/main/webapp/views/report/viewWorkOut.html
index bde3a5e..dbd4ae4 100644
--- a/src/main/webapp/views/report/viewWorkOut.html
+++ b/src/main/webapp/views/report/viewWorkOut.html
@@ -21,6 +21,11 @@
 <div id="search-box" class="layui-form layui-card-header">
     <div class="layui-inline">
         <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
             <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off">
         </div>
     </div>
diff --git a/src/main/webapp/views/waitPakin/waitPakin.html b/src/main/webapp/views/waitPakin/waitPakin.html
index 331f54d..5e85c45 100644
--- a/src/main/webapp/views/waitPakin/waitPakin.html
+++ b/src/main/webapp/views/waitPakin/waitPakin.html
@@ -21,6 +21,11 @@
     </div>
     <div class="layui-inline">
         <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
             <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off">
         </div>
     </div>
diff --git a/src/main/webapp/views/waitPakinLog/waitPakinLog.html b/src/main/webapp/views/waitPakinLog/waitPakinLog.html
index 72b13f8..8667c60 100644
--- a/src/main/webapp/views/waitPakinLog/waitPakinLog.html
+++ b/src/main/webapp/views/waitPakinLog/waitPakinLog.html
@@ -19,6 +19,11 @@
             <input class="layui-input" type="text" name="pakin_id" placeholder="鍏ュ簱閫氱煡鍙�" autocomplete="off">
         </div>
     </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
     <!-- 鏃ユ湡鑼冨洿 -->
     <div class="layui-inline" style="width: 300px">
         <div class="layui-input-inline">
diff --git a/src/main/webapp/views/wrkDetl/wrkDetl.html b/src/main/webapp/views/wrkDetl/wrkDetl.html
index 75eda7a..16466c7 100644
--- a/src/main/webapp/views/wrkDetl/wrkDetl.html
+++ b/src/main/webapp/views/wrkDetl/wrkDetl.html
@@ -24,6 +24,11 @@
             <input class="layui-input" type="text" name="wrk_no" placeholder="宸ヤ綔鍙�" autocomplete="off">
         </div>
     </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
     <!-- 鏃ユ湡鑼冨洿 -->
     <div class="layui-inline" style="width: 300px">
         <div class="layui-input-inline">
diff --git a/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html b/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html
index af3dd38..d7f9945 100644
--- a/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html
+++ b/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html
@@ -24,6 +24,11 @@
             <input class="layui-input layui-laydate-range" name="modi_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
         </div>
     </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off">
+        </div>
+    </div>
     <!-- 寰呮坊鍔� -->
     <div id="data-search-btn" class="layui-btn-container layui-form-item">
         <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
diff --git a/src/main/webapp/views/wrkMast/wrkDetl.html b/src/main/webapp/views/wrkMast/wrkDetl.html
index af87049..8830b51 100644
--- a/src/main/webapp/views/wrkMast/wrkDetl.html
+++ b/src/main/webapp/views/wrkMast/wrkDetl.html
@@ -32,6 +32,7 @@
         var cols = [
             {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'}
             ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿'}
+            ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿'}
         ];
         cols.push.apply(cols, detlCols);
         return cols;

--
Gitblit v1.9.1