From b76c09d2c5f16de0e3777350b8d7ab48ea55aaa8 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期二, 24 五月 2022 10:37:56 +0800
Subject: [PATCH] Merge branch 'jkasrs' of http://47.97.1.152:5880/r/zy-asrs into jkasrs

---
 src/main/webapp/views/locDetl/locDetl.html                       |    6 
 src/main/resources/mapper/WrkMastLogMapper.xml                   |    3 
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    5 
 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java              |    3 
 src/main/webapp/static/js/basDevp/basDevp.js                     |    2 
 src/main/webapp/views/locDetlStatis/locDetlStatis.html           |   17 
 src/main/resources/mapper/LocDetlMapper.xml                      |   12 
 src/main/java/com/zy/common/config/ThreadPoolConfig.java         |   36 
 src/main/webapp/static/js/wrkMast/wrkMast.js                     |   56 -
 src/main/webapp/static/js/stoMan/stoQue.js                       |    4 
 src/main/java/com/zy/asrs/utils/InitStaDesc.java                 |  122 +++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |  112 ++
 src/main/webapp/views/basDevp/basDevp.html                       |   20 
 src/main/webapp/static/js/common.js                              |    2 
 src/main/java/com/zy/common/service/CommonService.java           |    1 
 src/main/webapp/views/wrkMast/wrkMast.html                       |    6 
 src/main/java/com/zy/asrs/service/LocDetlService.java            |    5 
 src/main/webapp/views/report/locDetl.html                        |    2 
 src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java   |   18 
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java      |   35 
 src/main/java/com/zy/common/model/MesCombParam.java              |    7 
 src/main/resources/mapper/ViewWorkInMapper.xml                   |    8 
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java   |   10 
 src/main/java/com/zy/asrs/entity/WrkMastLog.java                 |  579 ---------------
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java           |   14 
 src/main/webapp/static/js/pakStore/stockOut.js                   |    1 
 src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java   |   12 
 src/main/java/com/zy/asrs/service/StaDescService.java            |    2 
 src/main/webapp/static/css/cool.css                              |    6 
 src/main/webapp/static/js/order/order.js                         |   27 
 src/main/webapp/views/login.html                                 |    2 
 src/main/java/com/zy/common/model/WrkDto.java                    |   26 
 src/main/webapp/views/mat/mat.html                               |   49 
 src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java            |    2 
 src/main/webapp/views/pakStore/locDetlQuery.html                 |    3 
 src/main/java/com/zy/common/web/WcsController.java               |   24 
 src/main/java/com/zy/asrs/controller/WorkController.java         |    7 
 src/main/webapp/views/order/order.html                           |   26 
 src/main/resources/mapper/WrkDetlMapper.xml                      |   21 
 src/main/java/com/zy/common/CodeRes.java                         |    3 
 src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java |    2 
 src/main/webapp/static/js/order/out.js                           |   11 
 src/main/java/com/zy/common/constant/MesConstant.java            |    3 
 src/main/webapp/views/stoMan/stoQue.html                         |    5 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |    3 
 src/main/resources/mapper/StaDescMapper.xml                      |    6 
 src/main/java/com/zy/asrs/controller/OutController.java          |   10 
 src/main/java/com/zy/asrs/service/WrkDetlService.java            |    4 
 src/main/java/com/zy/asrs/service/RowLastnoService.java          |    2 
 src/main/java/com/zy/asrs/service/WorkService.java               |    6 
 src/main/java/com/zy/asrs/mapper/StaDescMapper.java              |    2 
 src/main/resources/mapper/RowLastnoMapper.xml                    |    8 
 src/main/java/com/zy/asrs/controller/LocDetlController.java      |   10 
 src/main/webapp/static/js/locDetlStatis/locDetlStatis.js         |   17 
 src/main/java/com/zy/asrs/controller/OpenController.java         |    6 
 src/main/java/com/zy/asrs/entity/WrkMast.java                    |  565 --------------
 src/main/resources/mapper/WrkMastMapper.xml                      |    3 
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java   |   16 
 src/main/java/com/zy/asrs/controller/MobileController.java       |  148 +++
 src/main/webapp/static/js/locDetl/locDetl.js                     |    4 
 src/main/java/com/zy/asrs/service/WrkMastService.java            |    2 
 src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java |    4 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java     |    3 
 src/main/java/com/zy/common/model/MesPakoutParam.java            |    3 
 src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java   |    5 
 src/main/resources/application.yml                               |   13 
 src/main/java/com/zy/asrs/controller/ReportQueryController.java  |    5 
 67 files changed, 879 insertions(+), 1,283 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 34b0ba9..b25c818 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -227,4 +227,14 @@
                 .doWrite(excel);
     }
 
+    /**
+     * 鑾峰彇搴撳瓨鎬绘暟
+     * @return
+     */
+    @RequestMapping("/locDetl/count")
+    public R getAllCount(){
+        Integer sum = locDetlService.sum();
+        return R.ok(sum);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index ba76d5c..43b1323 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -4,19 +4,22 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.CombParam;
 import com.zy.asrs.entity.param.MobileAdjustParam;
 import com.zy.asrs.entity.result.MobileAdjustResult;
 import com.zy.asrs.service.*;
+import com.zy.common.model.WrkDto;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
+import java.util.*;
 
 /**
  * 绉诲姩绔帴鍙f帶鍒跺櫒
@@ -104,6 +107,7 @@
 
     @RequestMapping("/pakout/query/auth")
     @ManagerAuth
+    @Deprecated
     public R pakoutQuery(@RequestParam(required = false) String barcode,
                          @RequestParam(required = false) Integer staNo,
                          @RequestParam(required = false) String matnr){
@@ -116,17 +120,147 @@
         }
         if (!Cools.isEmpty(matnr)) {
             if (!Cools.isEmpty(staNo)) {
-                List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", staNo).eq("wrk_sts", 14L));
-                if (!Cools.isEmpty(wrkMasts)) {
-                    WrkMast wrkMast = wrkMasts.get(0);
-                    List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-                    return R.ok().add(wrkDetls);
-                }
+                List<WrkDetl> wrkDetls = wrkDetlService.selectPakoutQuery(staNo, matnr);
+                return R.ok().add(wrkDetls);
             }
         }
         return R.ok();
     }
 
+    /**
+     * 鍑哄簱纭 - 鎵墭鐩樼爜
+     * 1.鍏ㄦ澘 杩斿洖 101
+     * 2.鎷f枡 杩斿洖 103
+     */
+    @RequestMapping("/pakout/confirm/barcode/auth")
+    @ManagerAuth
+    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
+        if (Cools.isEmpty(barcode)) {
+            return R.ok();
+        }
+        WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+        if (wrkMast != null) {
+            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+            // 鍘婚櫎宸插嚭搴撶‘璁ょ殑鏄庣粏
+            wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() != null && wrkDetl.getInspect() != 0);
+            return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
+        }
+        return R.ok();
+    }
+
+    /**
+     * 鍑哄簱纭 - 鎷f枡鍑哄簱 - 閫夋嫨鍏蜂綋鏉$爜鍟嗗搧
+     */
+    @RequestMapping("/pakout/confirm/pick/auth")
+    @ManagerAuth
+    public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
+                                , @RequestParam(required = false) String matnr){
+        if (Cools.isEmpty(wrkNo)) {
+            return R.ok();
+        }
+        if (Cools.isEmpty(matnr)) {
+            return R.ok();
+        }
+        WrkMast wrkMast = wrkMastService.selectById(wrkNo);
+        if (wrkMast == null) {
+            return R.ok();
+        }
+        String orderNo = null;
+        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+        for (WrkDetl wrkDetl : wrkDetls) {
+            if (Cools.isEmpty(orderNo)) {
+                orderNo = wrkDetl.getOrderNo();
+            }
+            if ((wrkDetl.getMatnr() + "-" + wrkDetl.getBatch()).equals(matnr)) {
+                return R.ok().add(wrkDetl);
+            }
+        }
+        // 鏇挎崲 鏄庣粏
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+        for (LocDetl locDetl : locDetls) {
+            if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) {
+                WrkDetl wrkDetl = new WrkDetl();
+                wrkDetl.sync(locDetl);
+                wrkDetl.setOrderNo(orderNo);
+                wrkDetl.setIoTime(wrkMast.getIoTime());
+                wrkDetl.setWrkNo(wrkNo);
+                return R.ok().add(wrkDetl);
+            }
+        }
+        return R.error("绯荤粺閿欒锛屾潯鐮佷笉瀛樺湪");
+    }
+
+
+    @RequestMapping("/pakout/confirm/auth")
+    @ManagerAuth
+    @Transactional
+    public R pakoutConfirm(@RequestBody List<WrkDetl> list) {
+        if (Cools.isEmpty(list)) {
+            return R.ok();
+        }
+        Set<Integer> wrkNos = new HashSet<>();
+        List<WrkDto> dtos = new ArrayList<>();
+        for (WrkDetl wrkDetl : list) {
+            if (wrkNos.contains(wrkDetl.getWrkNo())) {
+                for (WrkDto dto : dtos) {
+                    if (dto.getWrkNo().equals(wrkDetl.getWrkNo())) {
+                        dto.getWrkDetls().add(wrkDetl);
+                        break;
+                    }
+                }
+            } else {
+                wrkNos.add(wrkDetl.getWrkNo());
+                dtos.add(new WrkDto(wrkDetl.getWrkNo(), wrkDetl));
+            }
+        }
+
+        for (WrkDto dto : dtos) {
+            WrkMast wrkMast = wrkMastService.selectById(dto.getWrkNo());
+            if (wrkMast != null) {
+                // 101
+                if (wrkMast.getIoType() == 101) {
+                    for (WrkDetl wrkDetl : dto.getWrkDetls()) {
+                        wrkDetlService.updateInspect(wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                    }
+                }
+                // 103
+                if (wrkMast.getIoType() == 103) {
+                    if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
+                        throw new CoolException("鎷f枡鍑哄簱纭澶辫触");
+                    }
+                    for (WrkDetl wrkDetl : dto.getWrkDetls()) {
+                        wrkDetl.setInspect(1);
+                        if (!wrkDetlService.insert(wrkDetl)) {
+                            throw new CoolException("鎷f枡鍑哄簱纭澶辫触");
+                        }
+                    }
+                }
+            }
+        }
+
+        for (Integer wrkNo : wrkNos) {
+            WrkMast wrkMast = wrkMastService.selectById(wrkNo);
+            if (wrkMast.getWrkSts() == 14 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) {
+                List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo);
+                boolean complete = true;
+                for (WrkDetl wrkDetl : wrkDetls) {
+                    if (wrkDetl.getInspect() == null || wrkDetl.getInspect() == 0) {
+                        complete = false;
+                        break;
+                    }
+                }
+                if (complete) {
+                    wrkMast.setInvWh("Y");
+                    wrkMast.setModiTime(new Date());
+                    if (!wrkMastService.updateById(wrkMast)) {
+                        throw new CoolException("淇敼宸ヤ綔妗�" + wrkNo + "澶辫触");
+                    }
+                }
+            }
+        }
+        return R.ok("瀹屾垚纭");
+    }
+
 
     // 鐩樼偣 ----------------------------------------------------------------------------------------------------
 
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 6faf5f2..50f219f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -105,6 +105,12 @@
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
+        if (Cools.isEmpty(param.getLgort())) {
+            return R.error("鍗曟嵁缂栧彿[lgort]涓嶈兘涓虹┖");
+        }
+        if (!param.getLgort().equals("5006")) {
+            return R.ok();
+        }
         if (Cools.isEmpty(param.getOrderNo())) {
             return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
         }
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 8cbcbed..4effe43 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -16,9 +16,7 @@
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * Created by vincent on 2022/3/26
@@ -50,10 +48,13 @@
         }
         List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids);
         List<LocDto> locDtos = new ArrayList<>();
+
+        Set<String> exist = new HashSet<>();
+
         for (OrderDetl orderDetl : orderDetls) {
             double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
             if (issued <= 0.0D) { continue; }
-            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null);
+            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
             for (LocDetl locDetl : locDetls) {
                 if (issued > 0) {
                     LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -61,6 +62,7 @@
                     List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                     locDto.setStaNos(staNos);
                     locDtos.add(locDto);
+                    exist.add(locDetl.getLocNo());
                     // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
                     issued = issued - locDetl.getAnfme();
                 } else {
diff --git a/src/main/java/com/zy/asrs/controller/ReportQueryController.java b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
index 92f5114..2ef4733 100644
--- a/src/main/java/com/zy/asrs/controller/ReportQueryController.java
+++ b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -67,7 +67,10 @@
 		ViewStayTimeBean bean = new ViewStayTimeBean();
 		bean.setPageSize(limit);
 		bean.setPageNumber(curr);
-		bean.setLoc_no(String.valueOf(param.get("loc_no")));
+		String locNo = String.valueOf(param.get("loc_no"));
+		if (!Cools.isEmpty(locNo) && !locNo.equals("null")) {
+			bean.setLoc_no(locNo);
+		}
 		List<ViewStayTimeBean> list = reportQueryMapper.queryViewStayTimeList(bean);
 		int count = reportQueryMapper.getViewStayTimeCount(bean);
 		Page<ViewStayTimeBean> page = new Page<>();
diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 9f8dbe2..eae764b 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -151,4 +151,11 @@
         return R.ok("浠诲姟鍙凤細" + startupDto.getWorkNo() + ";鐩爣搴撲綅锛�" + startupDto.getLocNo());
     }
 
+    @RequestMapping("/deal/preHave/start")
+    @ManagerAuth(memo = "鍏堝叆鍝佸鐞�")
+    public R dealPreHave(@RequestParam Integer wrkNo) {
+        String locNo = workService.dealPreHaveStart(wrkNo, getUserId());
+        return R.ok("浠诲姟閲嶆柊鍏ュ簱锛岀洰鏍囧簱浣嶏細" + locNo);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index 25c61cf..f33acd0 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -10,11 +10,13 @@
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+@Data
 @TableName("asr_wrk_mast")
 public class WrkMast implements Serializable {
 
@@ -305,171 +307,27 @@
     @TableField("full_plt")
     private String fullPlt;
 
+    /**
+     * 鍏堝叆鍝� / 鍙岄噸鍏ュ簱
+     */
+    @ApiModelProperty(value= "鍏堝叆鍝�")
+    @TableField("pre_have")
+    private String preHave;
+
+    /**
+     * 绌烘搷浣� / 鍙栬揣鏃犵
+     */
+    @ApiModelProperty(value= "绌烘搷浣�")
+    @TableField("take_none")
+    private String takeNone;
+
     public WrkMast() {}
-
-    public WrkMast(String invWh,Date ymd,String mk,Integer whsType,Long wrkSts,Integer ioType,Integer crnNo,String sheetNo,Double ioPri,Date wrkDate,String locNo,Integer staNo,Integer sourceStaNo,String sourceLocNo,String locSts,String picking,String linkMis,String onlineYn,String updMk,String exitMk,Integer pltType,String emptyMk,Date ioTime,Integer ctnType,String packed,String oveMk,Double mtnType,String userNo,Date crnStrTime,Date crnEndTime,Date plcStrTime,Date crnPosTime,Double loadTime,Double expTime,Double refWrkno,Date refIotime,Long modiUser,Date modiTime,Long appeUser,Date appeTime,String pauseMk,Date errorTime,String errorMemo,Integer ctnKind,String manuType,String memo,Double scWeight,String logMk,Date logErrTime,String logErrMemo,String barcode,String PdcType,String ctnNo,String fullPlt) {
-        this.invWh = invWh;
-        this.ymd = ymd;
-        this.mk = mk;
-        this.whsType = whsType;
-        this.wrkSts = wrkSts;
-        this.ioType = ioType;
-        this.crnNo = crnNo;
-        this.sheetNo = sheetNo;
-        this.ioPri = ioPri;
-        this.wrkDate = wrkDate;
-        this.locNo = locNo;
-        this.staNo = staNo;
-        this.sourceStaNo = sourceStaNo;
-        this.sourceLocNo = sourceLocNo;
-        this.locSts = locSts;
-        this.picking = picking;
-        this.linkMis = linkMis;
-        this.onlineYn = onlineYn;
-        this.updMk = updMk;
-        this.exitMk = exitMk;
-        this.pltType = pltType;
-        this.emptyMk = emptyMk;
-        this.ioTime = ioTime;
-        this.ctnType = ctnType;
-        this.packed = packed;
-        this.oveMk = oveMk;
-        this.mtnType = mtnType;
-        this.userNo = userNo;
-        this.crnStrTime = crnStrTime;
-        this.crnEndTime = crnEndTime;
-        this.plcStrTime = plcStrTime;
-        this.crnPosTime = crnPosTime;
-        this.loadTime = loadTime;
-        this.expTime = expTime;
-        this.refWrkno = refWrkno;
-        this.refIotime = refIotime;
-        this.modiUser = modiUser;
-        this.modiTime = modiTime;
-        this.appeUser = appeUser;
-        this.appeTime = appeTime;
-        this.pauseMk = pauseMk;
-        this.errorTime = errorTime;
-        this.errorMemo = errorMemo;
-        this.ctnKind = ctnKind;
-        this.manuType = manuType;
-        this.memo = memo;
-        this.scWeight = scWeight;
-        this.logMk = logMk;
-        this.logErrTime = logErrTime;
-        this.logErrMemo = logErrMemo;
-        this.barcode = barcode;
-        this.PdcType = PdcType;
-        this.ctnNo = ctnNo;
-        this.fullPlt = fullPlt;
-    }
-
-//    WrkMast wrkMast = new WrkMast(
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    // 宸ヤ綔鐘舵��
-//            null,    // 鍏ュ嚭搴撶被鍨�
-//            null,    // 鍫嗗灈鏈�
-//            null,    //
-//            null,    // 浼樺厛绾�
-//            null,    //
-//            null,    // 鐩爣搴撲綅
-//            null,    // 鐩爣绔�
-//            null,    // 婧愮珯
-//            null,    // 婧愬簱浣�
-//            null,    //
-//            null,    // 鎷f枡
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    // 閫�鍑�
-//            null,    //
-//            null,    // 绌烘澘
-//            null,    // 宸ヤ綔鏃堕棿
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    // 鍫嗗灈鏈哄惎鍔ㄦ椂闂�
-//            null,    // 鍫嗗灈鏈哄仠姝㈡椂闂�
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    // 鎷f枡鏃堕棿
-//            null,    // 淇敼浜哄憳
-//            null,    // 淇敼鏃堕棿
-//            null,    // 鍒涘缓鑰�
-//            null,    // 娣诲姞鏃堕棿
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    // 澶囨敞
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    //
-//            null,    // 鏉$爜
-//            null,    //
-//            null,    //
-//            null    // 婊℃澘
-//    );
-
-    public Integer getWrkNo() {
-        return wrkNo;
-    }
-
-    public void setWrkNo(Integer wrkNo) {
-        this.wrkNo = wrkNo;
-    }
-
-    public String getInvWh() {
-        return invWh;
-    }
-
-    public void setInvWh(String invWh) {
-        this.invWh = invWh;
-    }
-
-    public Date getYmd() {
-        return ymd;
-    }
 
     public String getYmd$(){
         if (Cools.isEmpty(this.ymd)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ymd);
-    }
-
-    public void setYmd(Date ymd) {
-        this.ymd = ymd;
-    }
-
-    public String getMk() {
-        return mk;
-    }
-
-    public void setMk(String mk) {
-        this.mk = mk;
-    }
-
-    public Integer getWhsType() {
-        return whsType;
-    }
-
-    public void setWhsType(Integer whsType) {
-        this.whsType = whsType;
-    }
-
-    public Long getWrkSts() {
-        return wrkSts;
     }
 
     public String getWrkSts$(){
@@ -481,14 +339,6 @@
         return null;
     }
 
-    public void setWrkSts(Long wrkSts) {
-        this.wrkSts = wrkSts;
-    }
-
-    public Integer getIoType() {
-        return ioType;
-    }
-
     public String getIoType$(){
         BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class);
         BasWrkIotype basWrkIotype = service.selectById(this.ioType);
@@ -496,14 +346,6 @@
             return String.valueOf(basWrkIotype.getIoDesc());
         }
         return null;
-    }
-
-    public void setIoType(Integer ioType) {
-        this.ioType = ioType;
-    }
-
-    public Integer getCrnNo() {
-        return crnNo;
     }
 
     public String getCrnNo$(){
@@ -515,43 +357,11 @@
         return null;
     }
 
-    public void setCrnNo(Integer crnNo) {
-        this.crnNo = crnNo;
-    }
-
-    public String getSheetNo() {
-        return sheetNo;
-    }
-
-    public void setSheetNo(String sheetNo) {
-        this.sheetNo = sheetNo;
-    }
-
-    public Double getIoPri() {
-        return ioPri;
-    }
-
-    public void setIoPri(Double ioPri) {
-        this.ioPri = ioPri;
-    }
-
-    public Date getWrkDate() {
-        return wrkDate;
-    }
-
     public String getWrkDate$(){
         if (Cools.isEmpty(this.wrkDate)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate);
-    }
-
-    public void setWrkDate(Date wrkDate) {
-        this.wrkDate = wrkDate;
-    }
-
-    public String getLocNo() {
-        return locNo;
     }
 
     public String getLocNo$(){
@@ -563,14 +373,6 @@
         return null;
     }
 
-    public void setLocNo(String locNo) {
-        this.locNo = locNo;
-    }
-
-    public Integer getStaNo() {
-        return staNo;
-    }
-
     public String getStaNo$(){
         BasDevpService service = SpringUtils.getBean(BasDevpService.class);
         BasDevp basDevp = service.selectById(this.staNo);
@@ -578,14 +380,6 @@
             return String.valueOf(basDevp.getDevNo());
         }
         return null;
-    }
-
-    public void setStaNo(Integer staNo) {
-        this.staNo = staNo;
-    }
-
-    public Integer getSourceStaNo() {
-        return sourceStaNo;
     }
 
     public String getSourceStaNo$(){
@@ -597,14 +391,6 @@
         return null;
     }
 
-    public void setSourceStaNo(Integer sourceStaNo) {
-        this.sourceStaNo = sourceStaNo;
-    }
-
-    public String getSourceLocNo() {
-        return sourceLocNo;
-    }
-
     public String getSourceLocNo$(){
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.sourceLocNo);
@@ -614,131 +400,11 @@
         return null;
     }
 
-    public void setSourceLocNo(String sourceLocNo) {
-        this.sourceLocNo = sourceLocNo;
-    }
-
-    public String getLocSts() {
-        return locSts;
-    }
-
-    public void setLocSts(String locSts) {
-        this.locSts = locSts;
-    }
-
-    public String getPicking() {
-        return picking;
-    }
-
-    public void setPicking(String picking) {
-        this.picking = picking;
-    }
-
-    public String getLinkMis() {
-        return linkMis;
-    }
-
-    public void setLinkMis(String linkMis) {
-        this.linkMis = linkMis;
-    }
-
-    public String getOnlineYn() {
-        return onlineYn;
-    }
-
-    public void setOnlineYn(String onlineYn) {
-        this.onlineYn = onlineYn;
-    }
-
-    public String getUpdMk() {
-        return updMk;
-    }
-
-    public void setUpdMk(String updMk) {
-        this.updMk = updMk;
-    }
-
-    public String getExitMk() {
-        return exitMk;
-    }
-
-    public void setExitMk(String exitMk) {
-        this.exitMk = exitMk;
-    }
-
-    public Integer getPltType() {
-        return pltType;
-    }
-
-    public void setPltType(Integer pltType) {
-        this.pltType = pltType;
-    }
-
-    public String getEmptyMk() {
-        return emptyMk;
-    }
-
-    public void setEmptyMk(String emptyMk) {
-        this.emptyMk = emptyMk;
-    }
-
-    public Date getIoTime() {
-        return ioTime;
-    }
-
     public String getIoTime$(){
         if (Cools.isEmpty(this.ioTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
-    }
-
-    public void setIoTime(Date ioTime) {
-        this.ioTime = ioTime;
-    }
-
-    public Integer getCtnType() {
-        return ctnType;
-    }
-
-    public void setCtnType(Integer ctnType) {
-        this.ctnType = ctnType;
-    }
-
-    public String getPacked() {
-        return packed;
-    }
-
-    public void setPacked(String packed) {
-        this.packed = packed;
-    }
-
-    public String getOveMk() {
-        return oveMk;
-    }
-
-    public void setOveMk(String oveMk) {
-        this.oveMk = oveMk;
-    }
-
-    public Double getMtnType() {
-        return mtnType;
-    }
-
-    public void setMtnType(Double mtnType) {
-        this.mtnType = mtnType;
-    }
-
-    public String getUserNo() {
-        return userNo;
-    }
-
-    public void setUserNo(String userNo) {
-        this.userNo = userNo;
-    }
-
-    public Date getCrnStrTime() {
-        return crnStrTime;
     }
 
     public String getCrnStrTime$(){
@@ -748,27 +414,11 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnStrTime);
     }
 
-    public void setCrnStrTime(Date crnStrTime) {
-        this.crnStrTime = crnStrTime;
-    }
-
-    public Date getCrnEndTime() {
-        return crnEndTime;
-    }
-
     public String getCrnEndTime$(){
         if (Cools.isEmpty(this.crnEndTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnEndTime);
-    }
-
-    public void setCrnEndTime(Date crnEndTime) {
-        this.crnEndTime = crnEndTime;
-    }
-
-    public Date getPlcStrTime() {
-        return plcStrTime;
     }
 
     public String getPlcStrTime$(){
@@ -778,14 +428,6 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.plcStrTime);
     }
 
-    public void setPlcStrTime(Date plcStrTime) {
-        this.plcStrTime = plcStrTime;
-    }
-
-    public Date getCrnPosTime() {
-        return crnPosTime;
-    }
-
     public String getCrnPosTime$(){
         if (Cools.isEmpty(this.crnPosTime)){
             return "";
@@ -793,51 +435,11 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnPosTime);
     }
 
-    public void setCrnPosTime(Date crnPosTime) {
-        this.crnPosTime = crnPosTime;
-    }
-
-    public Double getLoadTime() {
-        return loadTime;
-    }
-
-    public void setLoadTime(Double loadTime) {
-        this.loadTime = loadTime;
-    }
-
-    public Double getExpTime() {
-        return expTime;
-    }
-
-    public void setExpTime(Double expTime) {
-        this.expTime = expTime;
-    }
-
-    public Double getRefWrkno() {
-        return refWrkno;
-    }
-
-    public void setRefWrkno(Double refWrkno) {
-        this.refWrkno = refWrkno;
-    }
-
-    public Date getRefIotime() {
-        return refIotime;
-    }
-
     public String getRefIotime$(){
         if (Cools.isEmpty(this.refIotime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.refIotime);
-    }
-
-    public void setRefIotime(Date refIotime) {
-        this.refIotime = refIotime;
-    }
-
-    public Long getModiUser() {
-        return modiUser;
     }
 
     public String getModiUser$(){
@@ -849,27 +451,11 @@
         return null;
     }
 
-    public void setModiUser(Long modiUser) {
-        this.modiUser = modiUser;
-    }
-
-    public Date getModiTime() {
-        return modiTime;
-    }
-
     public String getModiTime$(){
         if (Cools.isEmpty(this.modiTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
-    }
-
-    public void setModiTime(Date modiTime) {
-        this.modiTime = modiTime;
-    }
-
-    public Long getAppeUser() {
-        return appeUser;
     }
 
     public String getAppeUser$(){
@@ -881,35 +467,11 @@
         return null;
     }
 
-    public void setAppeUser(Long appeUser) {
-        this.appeUser = appeUser;
-    }
-
-    public Date getAppeTime() {
-        return appeTime;
-    }
-
     public String getAppeTime$(){
         if (Cools.isEmpty(this.appeTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
-    }
-
-    public void setAppeTime(Date appeTime) {
-        this.appeTime = appeTime;
-    }
-
-    public String getPauseMk() {
-        return pauseMk;
-    }
-
-    public void setPauseMk(String pauseMk) {
-        this.pauseMk = pauseMk;
-    }
-
-    public Date getErrorTime() {
-        return errorTime;
     }
 
     public String getErrorTime$(){
@@ -919,63 +481,11 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
     }
 
-    public void setErrorTime(Date errorTime) {
-        this.errorTime = errorTime;
-    }
-
-    public String getErrorMemo() {
-        return errorMemo;
-    }
-
     public void setErrorMemo(String errorMemo) {
         if (errorMemo.length() > 255) {
             errorMemo = errorMemo.substring(0, 150);
         }
         this.errorMemo = errorMemo;
-    }
-
-    public Integer getCtnKind() {
-        return ctnKind;
-    }
-
-    public void setCtnKind(Integer ctnKind) {
-        this.ctnKind = ctnKind;
-    }
-
-    public String getManuType() {
-        return manuType;
-    }
-
-    public void setManuType(String manuType) {
-        this.manuType = manuType;
-    }
-
-    public String getMemo() {
-        return memo;
-    }
-
-    public void setMemo(String memo) {
-        this.memo = memo;
-    }
-
-    public Double getScWeight() {
-        return scWeight;
-    }
-
-    public void setScWeight(Double scWeight) {
-        this.scWeight = scWeight;
-    }
-
-    public String getLogMk() {
-        return logMk;
-    }
-
-    public void setLogMk(String logMk) {
-        this.logMk = logMk;
-    }
-
-    public Date getLogErrTime() {
-        return logErrTime;
     }
 
     public String getLogErrTime$(){
@@ -985,49 +495,6 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime);
     }
 
-    public void setLogErrTime(Date logErrTime) {
-        this.logErrTime = logErrTime;
-    }
-
-    public String getLogErrMemo() {
-        return logErrMemo;
-    }
-
-    public void setLogErrMemo(String logErrMemo) {
-        this.logErrMemo = logErrMemo;
-    }
-
-    public String getBarcode() {
-        return barcode;
-    }
-
-    public void setBarcode(String barcode) {
-        this.barcode = barcode;
-    }
-
-    public String getPdcType() {
-        return PdcType;
-    }
-
-    public void setPdcType(String PdcType) {
-        this.PdcType = PdcType;
-    }
-
-    public String getCtnNo() {
-        return ctnNo;
-    }
-
-    public void setCtnNo(String ctnNo) {
-        this.ctnNo = ctnNo;
-    }
-
-    public String getFullPlt() {
-        return fullPlt;
-    }
-
-    public void setFullPlt(String fullPlt) {
-        this.fullPlt = fullPlt;
-    }
 
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
index 88858f1..efbd735 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
@@ -10,11 +10,13 @@
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+@Data
 @TableName("asr_wrk_mast_log")
 public class WrkMastLog implements Serializable {
 
@@ -308,135 +310,21 @@
     @TableField("full_plt")
     private String fullPlt;
 
+    /**
+     * 鍏堝叆鍝� / 鍙岄噸鍏ュ簱
+     */
+    @ApiModelProperty(value= "鍏堝叆鍝�")
+    @TableField("pre_have")
+    private String preHave;
+
+    /**
+     * 绌烘搷浣� / 鍙栬揣鏃犵
+     */
+    @ApiModelProperty(value= "绌烘搷浣�")
+    @TableField("take_none")
+    private String takeNone;
+
     public WrkMastLog() {}
-
-    public WrkMastLog(Integer wrkNo,String invWh,Date ymd,String mk,Integer whsType,Integer wrkSts,Integer ioType,Integer crnNo,String sheetNo,Double ioPri,Date wrkDate,String locNo,Integer staNo,Integer sourceStaNo,String sourceLocNo,String locSts,String picking,String linkMis,String onlineYn,String updMk,String exitMk,Integer pltType,String emptyMk,Date ioTime,Integer ctnType,String packed,String oveMk,Double mtnType,String userNo,Date crnStrTime,Date crnEndTime,Date plcStrTime,Date crnPosTime,Double loadTime,Double expTime,Double refWrkno,Date refIotime,Long modiUser,Date modiTime,Long appeUser,Date appeTime,String pauseMk,Date errorTime,String errorMemo,Integer ctnKind,String manuType,String memoM,Double scWeight,String logMk,Date logErrTime,String logErrMemo,String barcode,String PdcType,String ctnNo,String fullPlt) {
-        this.wrkNo = wrkNo;
-        this.invWh = invWh;
-        this.ymd = ymd;
-        this.mk = mk;
-        this.whsType = whsType;
-        this.wrkSts = wrkSts;
-        this.ioType = ioType;
-        this.crnNo = crnNo;
-        this.sheetNo = sheetNo;
-        this.ioPri = ioPri;
-        this.wrkDate = wrkDate;
-        this.locNo = locNo;
-        this.staNo = staNo;
-        this.sourceStaNo = sourceStaNo;
-        this.sourceLocNo = sourceLocNo;
-        this.locSts = locSts;
-        this.picking = picking;
-        this.linkMis = linkMis;
-        this.onlineYn = onlineYn;
-        this.updMk = updMk;
-        this.exitMk = exitMk;
-        this.pltType = pltType;
-        this.emptyMk = emptyMk;
-        this.ioTime = ioTime;
-        this.ctnType = ctnType;
-        this.packed = packed;
-        this.oveMk = oveMk;
-        this.mtnType = mtnType;
-        this.userNo = userNo;
-        this.crnStrTime = crnStrTime;
-        this.crnEndTime = crnEndTime;
-        this.plcStrTime = plcStrTime;
-        this.crnPosTime = crnPosTime;
-        this.loadTime = loadTime;
-        this.expTime = expTime;
-        this.refWrkno = refWrkno;
-        this.refIotime = refIotime;
-        this.modiUser = modiUser;
-        this.modiTime = modiTime;
-        this.appeUser = appeUser;
-        this.appeTime = appeTime;
-        this.pauseMk = pauseMk;
-        this.errorTime = errorTime;
-        this.errorMemo = errorMemo;
-        this.ctnKind = ctnKind;
-        this.manuType = manuType;
-        this.memoM = memoM;
-        this.scWeight = scWeight;
-        this.logMk = logMk;
-        this.logErrTime = logErrTime;
-        this.logErrMemo = logErrMemo;
-        this.barcode = barcode;
-        this.PdcType = PdcType;
-        this.ctnNo = ctnNo;
-        this.fullPlt = fullPlt;
-    }
-
-//    WrkMastLog wrkMastLog = new WrkMastLog(
-//            null,    // 宸ヤ綔鍙穂闈炵┖]
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 宸ヤ綔鐘舵��
-//            null,    // 鍏ュ嚭搴撶被鍨�
-//            null,    // 鍫嗗灈鏈哄彿
-//            null,    // 
-//            null,    // 浼樺厛绾�
-//            null,    // 
-//            null,    // 鐩爣搴撲綅
-//            null,    // 鐩爣绔�
-//            null,    // 婧愮珯
-//            null,    // 婧愬簱浣�
-//            null,    // 
-//            null,    // 鎷f枡
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 閫�鍑�
-//            null,    // 
-//            null,    // 绌烘澘
-//            null,    // 宸ヤ綔鏃堕棿
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 鍫嗗灈鏈哄惎鍔ㄦ椂闂�
-//            null,    // 鍫嗗灈鏈哄仠姝㈡椂闂�
-//            null,    // 鎷f枡鏃堕棿
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 淇敼浜哄憳
-//            null,    // 淇敼鏃堕棿
-//            null,    // 鍒涘缓鑰�
-//            null,    // 娣诲姞鏃堕棿
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 
-//            null,    // 鏉$爜
-//            null,    // 
-//            null,    // 
-//            null    // 婊℃澘
-//    );
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Integer getWrkNo() {
-        return wrkNo;
-    }
 
     public String getWrkNo$(){
         WrkMastService service = SpringUtils.getBean(WrkMastService.class);
@@ -447,51 +335,11 @@
         return null;
     }
 
-    public void setWrkNo(Integer wrkNo) {
-        this.wrkNo = wrkNo;
-    }
-
-    public String getInvWh() {
-        return invWh;
-    }
-
-    public void setInvWh(String invWh) {
-        this.invWh = invWh;
-    }
-
-    public Date getYmd() {
-        return ymd;
-    }
-
     public String getYmd$(){
         if (Cools.isEmpty(this.ymd)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ymd);
-    }
-
-    public void setYmd(Date ymd) {
-        this.ymd = ymd;
-    }
-
-    public String getMk() {
-        return mk;
-    }
-
-    public void setMk(String mk) {
-        this.mk = mk;
-    }
-
-    public Integer getWhsType() {
-        return whsType;
-    }
-
-    public void setWhsType(Integer whsType) {
-        this.whsType = whsType;
-    }
-
-    public Integer getWrkSts() {
-        return wrkSts;
     }
 
     public String getWrkSts$(){
@@ -503,14 +351,6 @@
         return null;
     }
 
-    public void setWrkSts(Integer wrkSts) {
-        this.wrkSts = wrkSts;
-    }
-
-    public Integer getIoType() {
-        return ioType;
-    }
-
     public String getIoType$(){
         BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class);
         BasWrkIotype basWrkIotype = service.selectById(this.ioType);
@@ -518,14 +358,6 @@
             return String.valueOf(basWrkIotype.getIoDesc());
         }
         return null;
-    }
-
-    public void setIoType(Integer ioType) {
-        this.ioType = ioType;
-    }
-
-    public Integer getCrnNo() {
-        return crnNo;
     }
 
     public String getCrnNo$(){
@@ -537,43 +369,11 @@
         return null;
     }
 
-    public void setCrnNo(Integer crnNo) {
-        this.crnNo = crnNo;
-    }
-
-    public String getSheetNo() {
-        return sheetNo;
-    }
-
-    public void setSheetNo(String sheetNo) {
-        this.sheetNo = sheetNo;
-    }
-
-    public Double getIoPri() {
-        return ioPri;
-    }
-
-    public void setIoPri(Double ioPri) {
-        this.ioPri = ioPri;
-    }
-
-    public Date getWrkDate() {
-        return wrkDate;
-    }
-
     public String getWrkDate$(){
         if (Cools.isEmpty(this.wrkDate)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate);
-    }
-
-    public void setWrkDate(Date wrkDate) {
-        this.wrkDate = wrkDate;
-    }
-
-    public String getLocNo() {
-        return locNo;
     }
 
     public String getLocNo$(){
@@ -585,14 +385,6 @@
         return null;
     }
 
-    public void setLocNo(String locNo) {
-        this.locNo = locNo;
-    }
-
-    public Integer getStaNo() {
-        return staNo;
-    }
-
     public String getStaNo$(){
         BasDevpService service = SpringUtils.getBean(BasDevpService.class);
         BasDevp basDevp = service.selectById(this.staNo);
@@ -600,14 +392,6 @@
             return String.valueOf(basDevp.getDevNo());
         }
         return null;
-    }
-
-    public void setStaNo(Integer staNo) {
-        this.staNo = staNo;
-    }
-
-    public Integer getSourceStaNo() {
-        return sourceStaNo;
     }
 
     public String getSourceStaNo$(){
@@ -619,14 +403,6 @@
         return null;
     }
 
-    public void setSourceStaNo(Integer sourceStaNo) {
-        this.sourceStaNo = sourceStaNo;
-    }
-
-    public String getSourceLocNo() {
-        return sourceLocNo;
-    }
-
     public String getSourceLocNo$(){
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.sourceLocNo);
@@ -636,131 +412,11 @@
         return null;
     }
 
-    public void setSourceLocNo(String sourceLocNo) {
-        this.sourceLocNo = sourceLocNo;
-    }
-
-    public String getLocSts() {
-        return locSts;
-    }
-
-    public void setLocSts(String locSts) {
-        this.locSts = locSts;
-    }
-
-    public String getPicking() {
-        return picking;
-    }
-
-    public void setPicking(String picking) {
-        this.picking = picking;
-    }
-
-    public String getLinkMis() {
-        return linkMis;
-    }
-
-    public void setLinkMis(String linkMis) {
-        this.linkMis = linkMis;
-    }
-
-    public String getOnlineYn() {
-        return onlineYn;
-    }
-
-    public void setOnlineYn(String onlineYn) {
-        this.onlineYn = onlineYn;
-    }
-
-    public String getUpdMk() {
-        return updMk;
-    }
-
-    public void setUpdMk(String updMk) {
-        this.updMk = updMk;
-    }
-
-    public String getExitMk() {
-        return exitMk;
-    }
-
-    public void setExitMk(String exitMk) {
-        this.exitMk = exitMk;
-    }
-
-    public Integer getPltType() {
-        return pltType;
-    }
-
-    public void setPltType(Integer pltType) {
-        this.pltType = pltType;
-    }
-
-    public String getEmptyMk() {
-        return emptyMk;
-    }
-
-    public void setEmptyMk(String emptyMk) {
-        this.emptyMk = emptyMk;
-    }
-
-    public Date getIoTime() {
-        return ioTime;
-    }
-
     public String getIoTime$(){
         if (Cools.isEmpty(this.ioTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
-    }
-
-    public void setIoTime(Date ioTime) {
-        this.ioTime = ioTime;
-    }
-
-    public Integer getCtnType() {
-        return ctnType;
-    }
-
-    public void setCtnType(Integer ctnType) {
-        this.ctnType = ctnType;
-    }
-
-    public String getPacked() {
-        return packed;
-    }
-
-    public void setPacked(String packed) {
-        this.packed = packed;
-    }
-
-    public String getOveMk() {
-        return oveMk;
-    }
-
-    public void setOveMk(String oveMk) {
-        this.oveMk = oveMk;
-    }
-
-    public Double getMtnType() {
-        return mtnType;
-    }
-
-    public void setMtnType(Double mtnType) {
-        this.mtnType = mtnType;
-    }
-
-    public String getUserNo() {
-        return userNo;
-    }
-
-    public void setUserNo(String userNo) {
-        this.userNo = userNo;
-    }
-
-    public Date getCrnStrTime() {
-        return crnStrTime;
     }
 
     public String getCrnStrTime$(){
@@ -770,27 +426,11 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnStrTime);
     }
 
-    public void setCrnStrTime(Date crnStrTime) {
-        this.crnStrTime = crnStrTime;
-    }
-
-    public Date getCrnEndTime() {
-        return crnEndTime;
-    }
-
     public String getCrnEndTime$(){
         if (Cools.isEmpty(this.crnEndTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnEndTime);
-    }
-
-    public void setCrnEndTime(Date crnEndTime) {
-        this.crnEndTime = crnEndTime;
-    }
-
-    public Date getPlcStrTime() {
-        return plcStrTime;
     }
 
     public String getPlcStrTime$(){
@@ -800,14 +440,6 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.plcStrTime);
     }
 
-    public void setPlcStrTime(Date plcStrTime) {
-        this.plcStrTime = plcStrTime;
-    }
-
-    public Date getCrnPosTime() {
-        return crnPosTime;
-    }
-
     public String getCrnPosTime$(){
         if (Cools.isEmpty(this.crnPosTime)){
             return "";
@@ -815,51 +447,12 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnPosTime);
     }
 
-    public void setCrnPosTime(Date crnPosTime) {
-        this.crnPosTime = crnPosTime;
-    }
-
-    public Double getLoadTime() {
-        return loadTime;
-    }
-
-    public void setLoadTime(Double loadTime) {
-        this.loadTime = loadTime;
-    }
-
-    public Double getExpTime() {
-        return expTime;
-    }
-
-    public void setExpTime(Double expTime) {
-        this.expTime = expTime;
-    }
-
-    public Double getRefWrkno() {
-        return refWrkno;
-    }
-
-    public void setRefWrkno(Double refWrkno) {
-        this.refWrkno = refWrkno;
-    }
-
-    public Date getRefIotime() {
-        return refIotime;
-    }
 
     public String getRefIotime$(){
         if (Cools.isEmpty(this.refIotime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.refIotime);
-    }
-
-    public void setRefIotime(Date refIotime) {
-        this.refIotime = refIotime;
-    }
-
-    public Long getModiUser() {
-        return modiUser;
     }
 
     public String getModiUser$(){
@@ -871,27 +464,11 @@
         return null;
     }
 
-    public void setModiUser(Long modiUser) {
-        this.modiUser = modiUser;
-    }
-
-    public Date getModiTime() {
-        return modiTime;
-    }
-
     public String getModiTime$(){
         if (Cools.isEmpty(this.modiTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
-    }
-
-    public void setModiTime(Date modiTime) {
-        this.modiTime = modiTime;
-    }
-
-    public Long getAppeUser() {
-        return appeUser;
     }
 
     public String getAppeUser$(){
@@ -903,35 +480,11 @@
         return null;
     }
 
-    public void setAppeUser(Long appeUser) {
-        this.appeUser = appeUser;
-    }
-
-    public Date getAppeTime() {
-        return appeTime;
-    }
-
     public String getAppeTime$(){
         if (Cools.isEmpty(this.appeTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
-    }
-
-    public void setAppeTime(Date appeTime) {
-        this.appeTime = appeTime;
-    }
-
-    public String getPauseMk() {
-        return pauseMk;
-    }
-
-    public void setPauseMk(String pauseMk) {
-        this.pauseMk = pauseMk;
-    }
-
-    public Date getErrorTime() {
-        return errorTime;
     }
 
     public String getErrorTime$(){
@@ -941,111 +494,11 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
     }
 
-    public void setErrorTime(Date errorTime) {
-        this.errorTime = errorTime;
-    }
-
-    public String getErrorMemo() {
-        return errorMemo;
-    }
-
-    public void setErrorMemo(String errorMemo) {
-        this.errorMemo = errorMemo;
-    }
-
-    public Integer getCtnKind() {
-        return ctnKind;
-    }
-
-    public void setCtnKind(Integer ctnKind) {
-        this.ctnKind = ctnKind;
-    }
-
-    public String getManuType() {
-        return manuType;
-    }
-
-    public void setManuType(String manuType) {
-        this.manuType = manuType;
-    }
-
-    public String getMemoM() {
-        return memoM;
-    }
-
-    public void setMemoM(String memoM) {
-        this.memoM = memoM;
-    }
-
-    public Double getScWeight() {
-        return scWeight;
-    }
-
-    public void setScWeight(Double scWeight) {
-        this.scWeight = scWeight;
-    }
-
-    public String getLogMk() {
-        return logMk;
-    }
-
-    public void setLogMk(String logMk) {
-        this.logMk = logMk;
-    }
-
-    public Date getLogErrTime() {
-        return logErrTime;
-    }
-
     public String getLogErrTime$(){
         if (Cools.isEmpty(this.logErrTime)){
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime);
-    }
-
-    public void setLogErrTime(Date logErrTime) {
-        this.logErrTime = logErrTime;
-    }
-
-    public String getLogErrMemo() {
-        return logErrMemo;
-    }
-
-    public void setLogErrMemo(String logErrMemo) {
-        this.logErrMemo = logErrMemo;
-    }
-
-    public String getBarcode() {
-        return barcode;
-    }
-
-    public void setBarcode(String barcode) {
-        this.barcode = barcode;
-    }
-
-    public String getPdcType() {
-        return PdcType;
-    }
-
-    public void setPdcType(String PdcType) {
-        this.PdcType = PdcType;
-    }
-
-    public String getCtnNo() {
-        return ctnNo;
-    }
-
-    public void setCtnNo(String ctnNo) {
-        this.ctnNo = ctnNo;
-    }
-
-    public String getFullPlt() {
-        return fullPlt;
-    }
-
-    public void setFullPlt(String fullPlt) {
-        this.fullPlt = fullPlt;
     }
 
 
diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
index abad97c..96cad9c 100644
--- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
@@ -23,6 +23,8 @@
 
     private List<DetlDto> orderDetails;
 
+    private String lgort;
+
     public static void main(String[] args) {
         OpenOrderPakoutParam param = new OpenOrderPakoutParam();
         param.setOrderNo("LXT12321321");
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 10c52f1..457a7c0 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -11,6 +11,7 @@
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 @Mapper
 @Repository
@@ -49,10 +50,12 @@
 
     // -------------------------------------------------
 
-    List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo);
+    List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
 
     Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal();
 
+
+    Integer sum();
 }
diff --git a/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java b/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
index bfb9079..1a1ca80 100644
--- a/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
@@ -9,4 +9,6 @@
 @Repository
 public interface RowLastnoMapper extends BaseMapper<RowLastno> {
 
+    RowLastno findBySection(Integer row);
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
index b79dfc7..c26c603 100644
--- a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
@@ -14,4 +14,6 @@
 
     List<Integer> queryOutStaNosByLocNo(@Param("locNo") String locNo, @Param("typeNo") Integer typeNo);
 
+    StaDesc queryCrnStn(Integer crnNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index b89da24..97d48d8 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -20,4 +20,7 @@
 
     List<WrkDetl> selectAndLogByOrderNo(String orderNo);
 
+    int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+
+    List<WrkDetl> selectPakoutQuery(@Param("staNo")Integer staNo, @Param("matnr")String matnr);
 }
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index ef6ee1f..a068386 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -6,6 +6,7 @@
 import com.zy.asrs.entity.result.StockVo;
 
 import java.util.List;
+import java.util.Set;
 
 public interface LocDetlService extends IService<LocDetl> {
 
@@ -39,10 +40,12 @@
 
     // --------------------------------------------------
 
-    List<LocDetl> queryStock(String matnr, String batch, String orderNo);
+    List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
 
     Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal();
 
+
+    Integer sum();
 }
diff --git a/src/main/java/com/zy/asrs/service/RowLastnoService.java b/src/main/java/com/zy/asrs/service/RowLastnoService.java
index dca50fd..66fb173 100644
--- a/src/main/java/com/zy/asrs/service/RowLastnoService.java
+++ b/src/main/java/com/zy/asrs/service/RowLastnoService.java
@@ -5,4 +5,6 @@
 
 public interface RowLastnoService extends IService<RowLastno> {
 
+    RowLastno findBySection(Integer row);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index 4d47cf9..13d18b8 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -13,4 +13,6 @@
 
     StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
 
+    StaDesc queryCrnStn(Integer crnNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 490e1d2..239535b 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -81,4 +81,10 @@
      * 閫氱煡妗f墜鍔ㄧ敓鎴愪换鍔�
      */
     StartupDto createWaitPainWrkMastStart(List<WaitPakin> list, Long userId);
+
+    /**
+     * 閫氱煡妗f墜鍔ㄧ敓鎴愪换鍔�
+     */
+    String dealPreHaveStart(Integer wrkNo, Long userId);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index c905b21..5e0de95 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -16,4 +16,8 @@
 
     List<WrkDetl> selectAndLogByOrderNo(String orderNo);
 
+    boolean updateInspect(Integer wrkNo, String matnr, String batch);
+
+    List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index f5c3e5c..379f629 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -13,4 +13,6 @@
 
     List<WrkMast> selectToBeHistoryData();
 
+    WrkMast selectByBarcode(String barcode);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
index 982f348..9000b84 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
@@ -46,18 +46,18 @@
                 return false;
             }
         }
-        if (crnp.getCrnSts() != null) {
-            if (crnp.getCrnSts() == 10) {
-                log.error("{}鍙峰爢鍨涙満鐘舵�佷负10.閿欒", crnNo);
-                return false;
-            }
-        }
-//        if (crnp.getCrnErr() != null) {
-//            if (crnp.getCrnErr() != 0) {
-//                log.error("{}鍙峰爢鍨涙満寮傚父锛屽紓甯哥爜{}", crnNo, crnp.getCrnErr());
+//        if (crnp.getCrnSts() != null) {
+//            if (crnp.getCrnSts() == 10) {
+//                log.error("{}鍙峰爢鍨涙満鐘舵�佷负10.閿欒", crnNo);
 //                return false;
 //            }
 //        }
+        if (crnp.getCrnErr() != null) {
+            if (crnp.getCrnErr() != 0) {
+                log.error("{}鍙峰爢鍨涙満寮傚父锛屽紓甯哥爜{}", crnNo, crnp.getCrnErr());
+                return false;
+            }
+        }
         return true;
     }
 }
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 65ea1c8..10243f8 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -9,6 +9,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Set;
 
 @Service("locDetlService")
 public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -68,8 +69,8 @@
     }
 
     @Override
-    public List<LocDetl> queryStock(String matnr, String batch, String orderNo) {
-        return this.baseMapper.queryStock(matnr, batch, orderNo);
+    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
+        return this.baseMapper.queryStock(matnr, batch, orderNo, locNos);
     }
 
     @Override
@@ -82,6 +83,17 @@
         return this.baseMapper.queryStockTotal();
     }
 
+    /**
+     * 鑾峰彇搴撳瓨鎬绘暟
+     * @return
+     */
+    @Override
+    public Integer sum() {
+
+        return this.baseMapper.sum();
+    }
+
+
     @Override
     public LocDetl selectItem(String locNo, String matnr, String batch) {
         return this.baseMapper.selectItem(locNo, 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 4433bfe..d8f9899 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -292,6 +292,9 @@
                 mesCombParam.setZpallet(param.getBarcode());
                 mesCombParam.setPakinTime(DateUtils.convert(now));
                 mesCombParam.setLgort("5008");
+                mesCombParam.setPlantCode("5000");
+                mesCombParam.setFromCode("5012-20");
+                mesCombParam.setStationCode("JJQ-PFZPDB-XX");
                 for (DetlDto detlDto : detlDtos) {
                     mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getOrderNo(), detlDto.getAnfme()));
                 }
diff --git a/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
index 1a32cff..4926799 100644
--- a/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
@@ -9,4 +9,8 @@
 @Service("rowLastnoService")
 public class RowLastnoServiceImpl extends ServiceImpl<RowLastnoMapper, RowLastno> implements RowLastnoService {
 
+    @Override
+    public RowLastno findBySection(Integer row) {
+        return this.baseMapper.findBySection(row);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
index c92d7e8..1b995a3 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -54,4 +54,9 @@
         return staDesc;
     }
 
+    @Override
+    public StaDesc queryCrnStn(Integer crnNo) {
+        return this.baseMapper.queryCrnStn(crnNo);
+    }
+
 }
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 86e9186..25c72b6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -13,9 +13,11 @@
 import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.*;
 import com.zy.common.model.enums.IoWorkType;
 import com.zy.common.model.enums.WorkNoType;
+import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
 import com.zy.common.web.WcsController;
 import lombok.extern.slf4j.Slf4j;
@@ -69,6 +71,10 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private WcsController wcsController;
+    @Autowired
+    private RowLastnoService rowLastnoService;
+    @Autowired
+    private SlaveProperties slaveProperties;
 
     @Override
     @Transactional
@@ -220,6 +226,7 @@
             wrkMast.setExitMk("N"); // 閫�鍑�
             wrkMast.setEmptyMk("N"); // 绌烘澘
             wrkMast.setLinkMis("N");
+            wrkMast.setBarcode(locMast.getBarcode());
             wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
             wrkMast.setAppeTime(now);
             wrkMast.setModiUser(userId);
@@ -293,6 +300,7 @@
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("N"); // 绌烘澘
         wrkMast.setLinkMis("N");
+        wrkMast.setBarcode(locMast.getBarcode());
         wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
@@ -309,6 +317,7 @@
             }
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(orderDetl);
+            wrkDetl.setZpallet(wrkMast.getBarcode());
             wrkDetl.setIoTime(now);
             wrkDetl.setWrkNo(workNo);
             wrkDetl.setBatch(locDto.getBatch());
@@ -749,7 +758,7 @@
                 locSts = "D";
             // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
             } else if (wrkMast.getIoType() == 11) {
-                locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"F":"D";
+                locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F";
                 // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
                 LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
                 if (Cools.isEmpty(locMast)) {
@@ -827,9 +836,9 @@
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
         }
         // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-        }
+//        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+//            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+//        }
         // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
         if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
             throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
@@ -877,4 +886,99 @@
         return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list);
     }
 
+    @Override
+    @Transactional
+    public String dealPreHaveStart(Integer wrkNo, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectById(wrkNo);
+        if (wrkMast == null) {
+            throw new CoolException("浠诲姟宸插け鏁�");
+        }
+        String locNo = wrkMast.getLocNo();
+        LocMast locMast = locMastService.selectById(locNo);
+        assert locMast != null;
+        RowLastno rowLastno = rowLastnoService.findBySection(locMast.getRow1());
+        assert rowLastno != null;
+
+        // 鐩爣搴撲綅
+        LocMast targetLoc = null;
+
+        for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) {
+
+            if (Utils.isShallowLoc(slaveProperties, curRow)) {
+                Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
+                targetLoc = locMastService.queryFreeLocMast(deepRow, locMast.getLocType1());
+                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                if (!locMastService.checkEmptyCount(targetLoc)) {
+                    continue;
+                }
+            }
+            if (Cools.isEmpty(targetLoc)) {
+                targetLoc = locMastService.queryFreeLocMast(curRow, locMast.getLocType1());
+                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                if (!locMastService.checkEmptyCount(targetLoc)) {
+                    continue;
+                }
+                // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
+                if (null != targetLoc && Utils.isShallowLoc(slaveProperties, targetLoc.getLocNo())) {
+                    LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, targetLoc.getLocNo()));
+                    if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
+                        continue;
+                    }
+                }
+                // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
+                if (null != targetLoc && Utils.isDeepLoc(slaveProperties, targetLoc.getLocNo())) {
+                    LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, targetLoc.getLocNo()));
+                    if (!shallowLoc.getLocSts().equals("O")) {
+                        continue;
+                    }
+                }
+            }
+
+            if (!Cools.isEmpty(targetLoc)) {
+                break;
+            }
+
+        }
+
+        if (targetLoc == null) {
+            throw new CoolException("鎿嶄綔澶辫触锛屽綋鍓嶄粨搴撴壘涓嶅埌绌哄簱浣�");
+        }
+
+        Date now = new Date();
+        // 淇敼宸ヤ綔妗�
+        StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo());
+        if (Cools.isEmpty(staDesc)) {
+            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+        }
+        wrkMast.setWrkSts(2L);
+        wrkMast.setLocNo(targetLoc.getLocNo());
+        wrkMast.setStaNo(staDesc.getCrnStn());
+        wrkMast.setCrnNo(targetLoc.getCrnNo());
+        wrkMast.setModiTime(now);
+        wrkMast.setModiUser(userId);
+        wrkMast.setPreHave("N");
+        if (!wrkMastService.updateById(wrkMast)) {
+            throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
+        }
+        // 淇敼搴撲綅鐘舵�� O ===>>> S
+        if (targetLoc.getLocSts().equals("O")){
+            targetLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
+            targetLoc.setModiUser(userId);
+            targetLoc.setModiTime(now);
+            if (!locMastService.updateById(targetLoc)){
+                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException(targetLoc.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+        }
+        // 绂佺敤寮傚父搴撲綅
+//        locMast.setLocSts("X"); // X.绂佺敤
+//        locMast.setModiUser(userId);
+//        locMast.setModiTime(now);
+//        if (!locMastService.updateById(locMast)){
+//            throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+//        }
+        return targetLoc.getLocNo();
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 8105a00..a911107 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -70,4 +70,14 @@
     public List<WrkDetl> selectAndLogByOrderNo(String orderNo) {
         return this.baseMapper.selectAndLogByOrderNo(orderNo);
     }
+
+    @Override
+    public boolean updateInspect(Integer wrkNo, String matnr, String batch) {
+        return this.baseMapper.updateInspect(wrkNo, matnr, batch) > 0;
+    }
+
+    @Override
+    public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) {
+        return this.baseMapper.selectPakoutQuery(staNo, matnr);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index 63e7cd2..85ef4d2 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -2,13 +2,16 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.WrkMastService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+@Slf4j
 @Service("wrkMastService")
 public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService {
 
@@ -27,4 +30,13 @@
         return this.baseMapper.selectToBeHistoryData();
     }
 
+    @Override
+    public WrkMast selectByBarcode(String barcode) {
+        List<WrkMast> wrkMasts = this.selectList(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+        if (Cools.isEmpty(wrkMasts)) {
+            return null;
+        }
+        return wrkMasts.get(0);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 1a86031..4631099 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.task.handler.OrderSyncHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
@@ -24,18 +25,9 @@
     @Autowired
     private OrderService orderService;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
-    private void queryAndSave(){
-//        for (WrkMast wrkMast : wrkMasts) {
-//            ReturnT<String> result = workLogHandler.start(wrkMast);
-//            if (!result.isSuccess()) {
-//                log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast.getWrkNo());
-//            }
-//        }
-    }
-
     @Scheduled(cron = "0/5 * * * * ? ")
-    private void completeAndReport(){
+    @Async("orderThreadPool")
+    public void completeAndReport(){
         List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L).eq("status", 1));
         for (Order order : orders) {
             ReturnT<String> result = orderSyncHandler.start(order);
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 680cbb7..43b50b1 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -107,6 +107,9 @@
             pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime()));
             pakoutParam.setLgortFrom("5006");
             pakoutParam.setLgortTo("1111");
+            if (!pakoutParam.isTag()) {
+                pakoutParam.setKunnr("C1000");
+            }
             pakoutParam.setOrderNo(order.getOrderNo());
             for (OrderDetl orderDetl : orderDetls) {
                 String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
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 644fecf..8ffad2e 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,9 +1,11 @@
 package com.zy.asrs.task.handler;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.Cools;
-import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -59,6 +61,9 @@
                 case 10:
                     // 淇敼搴撲綅鐘舵��=D
                     if (locMast.getLocSts().equals("S") || locMast.getLocSts().equals("Q")) {
+                        if (!Cools.isEmpty(wrkMast.getBarcode())) {
+                            locMast.setBarcode(wrkMast.getBarcode());
+                        }
                         locMast.setLocSts("D");
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
@@ -102,19 +107,19 @@
 
                         // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
                         try {
-                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
-                                    .eq("zpallet", wrkDetl.getZpallet())
-                                    .eq("matnr", wrkDetl.getMatnr())
-                                    .eq("anfme", wrkDetl.getAnfme());
-                            if (Cools.isEmpty(wrkDetl.getBatch())) {
-                                wrapper.eq("batch", wrkDetl.getBatch());
-                            } else {
-                                wrapper.isNull("batch").or().eq("batch", "");
-                            }
-                            WaitPakin setParam = new WaitPakin();
-                            setParam.setIoStatus("Y");
-                            setParam.setModiTime(now);
-                            waitPakinService.update(setParam, wrapper);
+//                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
+//                                    .eq("zpallet", wrkDetl.getZpallet())
+//                                    .eq("matnr", wrkDetl.getMatnr())
+//                                    .eq("anfme", wrkDetl.getAnfme());
+//                            if (Cools.isEmpty(wrkDetl.getBatch())) {
+//                                wrapper.eq("batch", wrkDetl.getBatch());
+//                            } else {
+//                                wrapper.isNull("batch").or().eq("batch", "");
+//                            }
+//                            WaitPakin setParam = new WaitPakin();
+//                            setParam.setIoStatus("Y");
+//                            setParam.setModiTime(now);
+//                            waitPakinService.update(setParam, wrapper);
                         } catch (Exception ignore){}
 
                     }
diff --git a/src/main/java/com/zy/asrs/utils/InitStaDesc.java b/src/main/java/com/zy/asrs/utils/InitStaDesc.java
new file mode 100644
index 0000000..c09379f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/InitStaDesc.java
@@ -0,0 +1,122 @@
+package com.zy.asrs.utils;
+
+import com.zy.asrs.entity.StaDesc;
+import com.zy.asrs.service.StaDescService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * Created by vincent on 2022/5/8
+ */
+//@Component
+public class InitStaDesc {
+
+    @Autowired
+    private StaDescService staDescService;
+
+    @PostConstruct
+    public void initStaDesc() {
+        in();
+        out();
+    }
+
+    public void in() {
+        // 鍏ㄧ彮鍏ュ簱
+        int[] stnNos = new int[] {173, 176, 180, 185, 189, 194, 198, 202, 206, 211, 215, 219, 223, 226};
+        int[] crnStns = new int[] {123, 121, 119, 117, 115, 113, 111, 109, 107, 105, 103, 101};
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(1);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+        // 绌烘澘鍏ュ簱
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(10);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+        // 鎷f枡鍏ュ簱
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(53);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+        // 鐩樼偣鍏ュ簱
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(57);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+    }
+
+    public void out() {
+        // 鍏ㄧ彮鍑哄簱
+        int[] stnNos = new int[] {174, 177, 181, 186, 190, 195, 199, 203, 207, 212, 216, 220, 224, 227};
+        int[] crnStns = new int[] {122, 120, 118, 116, 114, 112, 110, 108, 106, 104, 102, 100};
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(101);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+        // 绌烘澘鍑哄簱
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(110);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+        // 鎷f枡鍑哄簱
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(103);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+        // 鐩樼偣鍑哄簱
+        for (int stnNo : stnNos) {
+            for (int i = 0; i < crnStns.length; i++) {
+                StaDesc staDesc = new StaDesc();
+                staDesc.setTypeNo(107);
+                staDesc.setStnNo(stnNo);
+                staDesc.setCrnNo(i + 1);
+                staDesc.setCrnStn(crnStns[i]);
+                staDescService.insert(staDesc);
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/common/CodeRes.java b/src/main/java/com/zy/common/CodeRes.java
index 694fe93..df8f7ce 100644
--- a/src/main/java/com/zy/common/CodeRes.java
+++ b/src/main/java/com/zy/common/CodeRes.java
@@ -9,4 +9,7 @@
     String USER_10002 = "10002-璐﹀彿宸茶绂佺敤";
     String USER_10003 = "10003-瀵嗙爜閿欒";
 
+    String PICK_600 = "600-鎷f枡浠诲姟";
+    String NO_COMB_700 = "700-璇峰厛缁勬墭";
+
 }
diff --git a/src/main/java/com/zy/common/config/ThreadPoolConfig.java b/src/main/java/com/zy/common/config/ThreadPoolConfig.java
new file mode 100644
index 0000000..1b21b47
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ThreadPoolConfig.java
@@ -0,0 +1,36 @@
+package com.zy.common.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * Created by vincent on 2022/5/21
+ */
+@Configuration
+@EnableAsync
+public class ThreadPoolConfig {
+
+    @Bean(name = "orderThreadPool")
+    public ThreadPoolTaskExecutor orderThreadPool() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        int core = Runtime.getRuntime().availableProcessors();
+        core = 2;
+        //璁剧疆鏍稿績绾跨▼鏁�
+        executor.setCorePoolSize(core);
+        //璁剧疆鏈�澶х嚎绋嬫暟
+        executor.setMaxPoolSize(core * 10 + core);
+        //闄ゆ牳蹇冪嚎绋嬪鐨勭嚎绋嬪瓨娲绘椂闂�
+        executor.setKeepAliveSeconds(3);
+        //缂撳啿闃熷垪
+        executor.setQueueCapacity(core);
+        executor.setThreadNamePrefix("order-task-");
+        //璁剧疆鎷掔粷绛栫暐
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        return executor;
+    }
+
+}
diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java
index 25592ab..eb34e04 100644
--- a/src/main/java/com/zy/common/constant/MesConstant.java
+++ b/src/main/java/com/zy/common/constant/MesConstant.java
@@ -5,8 +5,7 @@
  */
 public class MesConstant {
 
-
-    public static final String URL = "http://192.168.1.72:8301";
+    public static final String URL = "http://192.168.99.130:80";
 
     public static final String PACK_DOWN_URL = "mes/api/zy/v1/packDown/sendList";
 
diff --git a/src/main/java/com/zy/common/model/MesCombParam.java b/src/main/java/com/zy/common/model/MesCombParam.java
index 068f83d..888528e 100644
--- a/src/main/java/com/zy/common/model/MesCombParam.java
+++ b/src/main/java/com/zy/common/model/MesCombParam.java
@@ -20,6 +20,13 @@
     // 浠撳簱缂栧彿 - 鍐欐
     private String lgort;
 
+    // 鏂板
+    private String plantCode;
+
+    private String fromCode;
+
+    private String stationCode;
+
     private List<Detl> list = new ArrayList<>();
 
     @Data
diff --git a/src/main/java/com/zy/common/model/MesPakoutParam.java b/src/main/java/com/zy/common/model/MesPakoutParam.java
index 464f195..2b76e0d 100644
--- a/src/main/java/com/zy/common/model/MesPakoutParam.java
+++ b/src/main/java/com/zy/common/model/MesPakoutParam.java
@@ -29,6 +29,9 @@
     // 鐩殑鍦� - 鍐欐
     private String lgortTo;
 
+    // 瀹㈡埛鍙�
+    private String kunnr;
+
     private List<Detl> list = new ArrayList<>();
 
     @Data
diff --git a/src/main/java/com/zy/common/model/WrkDto.java b/src/main/java/com/zy/common/model/WrkDto.java
new file mode 100644
index 0000000..cd38217
--- /dev/null
+++ b/src/main/java/com/zy/common/model/WrkDto.java
@@ -0,0 +1,26 @@
+package com.zy.common.model;
+
+import com.zy.asrs.entity.WrkDetl;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2022/5/13
+ */
+@Data
+public class WrkDto {
+
+    private Integer wrkNo;
+
+    private List<WrkDetl> wrkDetls = new ArrayList<>();
+
+    public WrkDto() {
+    }
+
+    public WrkDto(Integer wrkNo, WrkDetl wrkDetl) {
+        this.wrkNo = wrkNo;
+        this.wrkDetls .add(wrkDetl);
+    }
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 28708d3..10a2f99 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -205,6 +205,7 @@
             if (Utils.isShallowLoc(slaveProperties, curRow)) {
                 Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
                 locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1());
+                // todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛�
                 // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
                 if (!locMastService.checkEmptyCount(locMast)) {
                     locMast = null;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 85a1e77..3f23f29 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -1,11 +1,13 @@
 package com.zy.common.web;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
+import com.zy.common.CodeRes;
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
@@ -56,9 +58,13 @@
             if (Cools.isEmpty(param.getBarcode())) {
                 return R.error("鏉$爜涓嶈兘涓虹┖");
             }
-            waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("barcode", param.getBarcode()));
+            waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
             if (Cools.isEmpty(waitPakins)) {
-                return R.error("鏉$爜鏁版嵁閿欒");
+                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+                if (wrkMast != null && wrkMast.getIoType() == 103) {
+                    return R.parse(CodeRes.PICK_600);
+                }
+                return R.parse(CodeRes.NO_COMB_700);
             }
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
             int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
@@ -81,7 +87,7 @@
                 dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins);
                 break;
             case 10://绌烘墭鐩樺叆搴�
-                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto);
+                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
                 break;
             default:
                 break;
@@ -140,6 +146,15 @@
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
             }
         });
+        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
+        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
+                .eq("zpallet", barcode);
+        WaitPakin setParam = new WaitPakin();
+        setParam.setIoStatus("Y");
+        setParam.setModiTime(now);
+        if (!waitPakinService.update(setParam, wrapper)) {
+            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
+        }
         // 鏇存柊婧愮珯鐐逛俊鎭�
         sourceStaNo.setWrkNo(workNo);
         sourceStaNo.setModiTime(now);
@@ -161,7 +176,7 @@
     }
 
     @Transactional
-    public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto) {
+    public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
@@ -183,6 +198,7 @@
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("Y"); // 绌烘澘
         wrkMast.setLinkMis("Y");
+        wrkMast.setBarcode(barcode);
         wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
         // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(new Date());
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0127c06..28be799 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -9,14 +9,9 @@
   jmx:
     enabled: false
   datasource:
-    # sql-server
-#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#    url: jdbc:sqlserver://47.97.1.152:51433;databasename=jkasrs
-#    username: sa
-#    password: Zoneyung@zy56$
-    # localhost
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://localhost:1433;databasename=jkasrs
+#    url: jdbc:sqlserver://localhost:1433;databasename=jkasrs
+    url: jdbc:sqlserver://10.20.192.200:1433;databasename=jkasrs
     username: sa
     password: sa@123
   mvc:
@@ -52,9 +47,7 @@
   # 鍙屾繁
   doubleDeep: true
   # 鍙屾繁搴撲綅鎺掑彿
-  doubleLocs: 1,4,5,8
+  doubleLocs: 1,4,5,8,9,12,13,16
   # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   groupCount: 4
 
-erp:
-  url: http://123.60.34.127:6220/api
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index f8a57f4..1202f0b 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -213,6 +213,14 @@
         <if test="orderNo != null and orderNo != ''">
             and a.orderNo = #{orderNo}
         </if>
+
+        <if test="locNos != null and locNos.size > 0">
+            and b.loc_no not in
+            <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+
         order by
         DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
         desc,
@@ -289,5 +297,9 @@
         where 1=1
         group by matnr,batch
     </select>
+    <select id="sum" resultType="java.lang.Integer">
+        SELECT SUM(anfme) FROM asr_loc_detl
+    </select>
+
 
 </mapper>
diff --git a/src/main/resources/mapper/RowLastnoMapper.xml b/src/main/resources/mapper/RowLastnoMapper.xml
index 45639f6..fd58a60 100644
--- a/src/main/resources/mapper/RowLastnoMapper.xml
+++ b/src/main/resources/mapper/RowLastnoMapper.xml
@@ -19,4 +19,12 @@
 
     </resultMap>
 
+    <select id="findBySection" resultMap="BaseResultMap">
+        select * from asr_row_lastno
+        where 1=1
+        and s_row &lt;= #{row}
+        and e_row >= #{row}
+        order by (e_row - s_row)
+    </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/StaDescMapper.xml b/src/main/resources/mapper/StaDescMapper.xml
index ab8b4c6..6bbea2d 100644
--- a/src/main/resources/mapper/StaDescMapper.xml
+++ b/src/main/resources/mapper/StaDescMapper.xml
@@ -29,7 +29,13 @@
         <if test="typeNo != null and typeNo !=''">
             and asd.type_no = #{typeNo}
         </if>
+    </select>
 
+    <select id="queryCrnStn" resultMap="BaseResultMap">
+        select top 1 * from asr_sta_desc
+        where 1=1
+        and crn_no = #{crnNo}
+        and type_no = 1
     </select>
 
 </mapper>
diff --git a/src/main/resources/mapper/ViewWorkInMapper.xml b/src/main/resources/mapper/ViewWorkInMapper.xml
index 703625f..e63997b 100644
--- a/src/main/resources/mapper/ViewWorkInMapper.xml
+++ b/src/main/resources/mapper/ViewWorkInMapper.xml
@@ -99,11 +99,13 @@
 
 <!-- 涓嶅垎椤垫煡璇㈡墍鏈変俊鎭紝鐢ㄤ簬excel瀵煎嚭 -->
 <select id="getViewWorkInAll" parameterType="com.zy.asrs.entity.ViewWorkInBean" resultType="com.zy.asrs.entity.ViewWorkInBean">
-	select count(1)
-	from asr_wrkin_view a
+<!--	select count(1)-->
+<!--	from asr_wrkin_view a-->
+<!--	where 1=1-->
+<!--	<include refid="viewWorkInConditionSql"></include>-->
+	select * from asr_wrkin_view
 	where 1=1
 	<include refid="viewWorkInConditionSql"></include>
-	order by io_time desc
 </select>
 
 <!-- 鍑哄簱缁熻 -->
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 260adc0..225f31e 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -87,4 +87,25 @@
         select * from asr_wrk_detl_log where order_no = #{orderNo}
     </select>
 
+    <update id="updateInspect">
+        update asr_wrk_detl
+        set inspect = 1
+        where 1=1
+        and wrk_no = #{wrkNo}
+        and matnr = #{matnr}
+        <include refid="batchSeq"></include>
+    </update>
+
+    <select id="selectPakoutQuery" resultMap="BaseResultMap">
+        select
+        awd.*
+        from asr_wrk_detl awd
+        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no
+        where 1=1
+        and awm.wrk_sts = 14
+        and (awd.inspect is null or awd.inspect = 0)
+        and awm.sta_no = #{staNo}
+        and awd.matnr + '-' + awd.batch = #{matnr}
+    </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index d1b0fa4..907a75a 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -60,7 +60,8 @@
         <result column="Pdc_type" property="PdcType" />
         <result column="ctn_no" property="ctnNo" />
         <result column="full_plt" property="fullPlt" />
-
+        <result column="pre_have" property="preHave" />
+        <result column="take_none" property="takeNone" />
     </resultMap>
 
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index ee48a59..0a3a982 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -59,7 +59,8 @@
         <result column="Pdc_type" property="PdcType" />
         <result column="ctn_no" property="ctnNo" />
         <result column="full_plt" property="fullPlt" />
-
+        <result column="pre_have" property="preHave" />
+        <result column="take_none" property="takeNone" />
     </resultMap>
 
     <select id="selectToBeCompleteData" resultMap="BaseResultMap">
diff --git a/src/main/webapp/static/css/cool.css b/src/main/webapp/static/css/cool.css
index aac555b..51782aa 100644
--- a/src/main/webapp/static/css/cool.css
+++ b/src/main/webapp/static/css/cool.css
@@ -41,4 +41,8 @@
 }
 .cool-auto-complete-window-select option:first-child{
     color:#aaaaaa;
-}
\ No newline at end of file
+}
+
+.layui-table-grid-down {
+    display: none;
+}
diff --git a/src/main/webapp/static/js/basDevp/basDevp.js b/src/main/webapp/static/js/basDevp/basDevp.js
index bbd1519..452d0a6 100644
--- a/src/main/webapp/static/js/basDevp/basDevp.js
+++ b/src/main/webapp/static/js/basDevp/basDevp.js
@@ -77,7 +77,7 @@
                 }}
             ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�', edit:true,  style:'color: blue;font-weight: bold'}
             // ,{field: 'wrkNo1', align: 'center',title: ''}
-            ,{field: 'ctnType', align: 'center',title: '瀹瑰櫒绫诲瀷'}
+            ,{field: 'locType1$', align: 'center',title: '楂樹綆'}
             ,{field: 'barcode', align: 'center',title: '鏉″舰鐮�'}
             // ,{field: 'inQty', align: 'center',title: ''}
             // ,{field: 'row1', align: 'center',title: ''}
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 48bb483..97fb677 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -214,7 +214,7 @@
     {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿'}
     ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
     ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
-    ,{field: 'batch', align: 'center',title: '搴忓垪鐮�'}
+    ,{field: 'batch', align: 'center',title: '搴忓垪鐮�', width: 300}
     ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
     ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
 
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index eca2026..4add989 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -21,8 +21,8 @@
         headers: {token: localStorage.getItem('token')},
         url: baseUrl+'/locDetl/list/auth',
         page: true,
-        limit: 16,
-        limits: [16, 30, 50, 100, 200, 500],
+        limit: 20,
+        limits: [20, 30, 50, 100, 200, 500],
         even: true,
         toolbar: '#toolbar',
         cellMinWidth: 50,
diff --git a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
index aac1566..fd1da33 100644
--- a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
+++ b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
@@ -24,8 +24,8 @@
         headers: {token: localStorage.getItem('token')},
         url: baseUrl+'/locDetl/statis/auth',
         page: true,
-        limit: 16,
-        limits: [16, 30, 50, 100, 200, 500],
+        limit: 20,
+        limits: [20, 30, 50, 100, 200, 500],
         even: true,
         toolbar: '#toolbar',
         cellMinWidth: 50,
@@ -59,6 +59,19 @@
                     res.data[_index][data.value] = 'N';
                 }
             });
+            /**
+             * 鏄剧ず搴撳瓨鎬绘暟閲�
+             */
+            $.ajax({
+                url: baseUrl+"/locDetl/count",
+                headers: {'token': localStorage.getItem('token')},
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                success: function (res) {
+                    $("#countNum").text(res.data + '涓�');
+                }
+            });
+
         }
     });
 
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index d93bbe8..cde142a 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -11,6 +11,27 @@
     var xmSelect = layui.xmSelect;
     var layDate = layui.laydate;
 
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl+"/docType/list/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: {
+            limit: 9999
+        },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200){
+                let template = Handlebars.compile($('#docTypeTpl').html());
+                $('#docType-query').html(template(res.data));
+                layui.form.render('select');
+            } else if (res.code === 403){
+                top.location.href = baseUrl+"/";
+            } else {
+                layer.msg(res.msg, {icon: 2})
+            }
+        }
+    })
+
     // 娓叉煋琛ㄦ牸
     var insTb = table.render({
         elem: '#order',
@@ -98,12 +119,12 @@
                         cellMinWidth: 100,
                         cols: [[
                             {type: 'numbers'},
-                            {field: 'matnr', title: '鍟嗗搧缂栫爜'},
+                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
                             {field: 'batch', title: '搴忓垪鐮�'},
                             {field: 'anfme', title: '鏁伴噺'},
                             {field: 'qty', title: '浣滀笟鏁伴噺', style: 'font-weight: bold'},
-                            {field: 'unit', title: '鍗曚綅'},
+                            // {field: 'unit', title: '鍗曚綅'},
                             // {
                             //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
                             //         return util.toDateString(d.createTime);
@@ -211,7 +232,7 @@
                         {field: 'specs', title: '瑙勬牸'},
                         {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                         // {field: 'inQty', title: '宸插叆搴撻噺',  minWidth: 100, width: 100},
-                        {field: 'unit', title: '鍗曚綅', width: 80},
+                        // {field: 'unit', title: '鍗曚綅', width: 80},
                         {field: 'memo', title: '澶囨敞' , edit: true},
                         {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
                     ]],
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index ad35a65..1e0aad8 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -135,7 +135,7 @@
                         ,title: false
                         ,closeBtn: false
                         ,offset: '100px'
-                        ,area: '1200px'
+                        ,area: ['1200px', '700px']
                         ,shade: 0.5
                         ,shadeClose: true
                         ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
@@ -146,7 +146,7 @@
                             table.render({
                                 elem: '#stoPreTab',
                                 data: res.data,
-                                height: 450,
+                                height: 520,
                                 page: false,
                                 limit: Number.MAX_VALUE,
                                 cellMinWidth: 100,
@@ -169,7 +169,12 @@
                             form.on('select(tbBasicTbStaNos)', function (obj) {
                                 let index  = obj.othis.parents('tr').attr("data-index");
                                 let data = tableCache[index];
-                                data['staNo'] = Number(obj.elem.value);
+                                for (let i = 0; i<tableCache.length; i++) {
+                                    if (tableCache[i].locNo === data.locNo) {
+                                        tableCache[i]['staNo'] = Number(obj.elem.value);
+                                    }
+                                }
+                                // data['staNo'] = Number(obj.elem.value);
                                 obj.othis.children().find("input").css("color", "blue");
                                 return false;
                             });
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index dfbb2e7..d9b2580 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -28,6 +28,7 @@
         even: true,
         toolbar: '#toolbar',
         cellMinWidth: 50,
+        limit: 500,
         cols: [getCol()],
         done: function(res, curr, count) {
             limit();
diff --git a/src/main/webapp/static/js/stoMan/stoQue.js b/src/main/webapp/static/js/stoMan/stoQue.js
index b4d33f4..a4630e5 100644
--- a/src/main/webapp/static/js/stoMan/stoQue.js
+++ b/src/main/webapp/static/js/stoMan/stoQue.js
@@ -19,8 +19,8 @@
         headers: {token: localStorage.getItem('token')},
         url: baseUrl+'/locMast/list/auth',
         page: true,
-        limit: 16,
-        limits: [16, 30, 50, 100, 200, 500],
+        limit: 20,
+        limits: [20, 30, 50, 100, 200, 500],
         even: true,
         toolbar: '#toolbar',
         cellMinWidth: 50,
diff --git a/src/main/webapp/static/js/wrkMast/wrkMast.js b/src/main/webapp/static/js/wrkMast/wrkMast.js
index b10040c..e729d5b 100644
--- a/src/main/webapp/static/js/wrkMast/wrkMast.js
+++ b/src/main/webapp/static/js/wrkMast/wrkMast.js
@@ -31,6 +31,8 @@
             ,{field: 'sourceLocNo$', align: 'center',title: '婧愬簱浣�'}
             ,{field: 'locNo$', align: 'center',title: '鐩爣搴撲綅'}
             ,{field: 'barcode', align: 'center',title: '鏉$爜'}
+            ,{field: 'preHave', align: 'center',title: '鍏堝叆鍝�', hide: true}
+            ,{field: 'takeNone', align: 'center',title: '绌烘搷浣�', hide: true}
             // ,{field: 'picking', align: 'center',title: '鎷f枡', templet:function(row){
             //         var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'";
             //         if(row.picking === 'Y'){html += " checked ";}
@@ -64,7 +66,7 @@
             //         return html;
             //     }}
 
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:230}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:250}
         ]],
         request: {
             pageName: 'curr',
@@ -269,7 +271,7 @@
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
     table.on('tool(wrkMast)', function(obj){
-        var data = obj.data;
+        let data = obj.data;
         switch (obj.event) {
             // 鏄庣粏灞曠ず todo
             case 'detlShow':
@@ -318,7 +320,6 @@
                         layer.closeAll();
                     });
                 }
-
                 break;
             //  鎷f枡鍏ュ簱
             case 'pick':
@@ -330,46 +331,19 @@
                     layer.closeAll();
                 });
                 break;
-            // 璇︽儏
-            case 'detail':
-                layer.open({
-                    type: 2,
-                    title: '璇︽儏',
-                    maxmin: true,
-                    area: [top.detailWidth, top.detailHeight],
-                    shadeClose: false,
-                    content: 'wrkMast_detail.html',
-                    success: function(layero, index){
-                        setFormVal(layer.getChildFrame('#detail', index), data, true);
-                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
-                        layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
-                        layero.find('iframe')[0].contentWindow.layui.form.render('select');
-                        layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
-                        layer.getChildFrame('##dealDownLine', index).hide();
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
-                    }
+            //  鍏堝叆鍝�
+            case 'preHave':
+                layer.confirm('浠诲姟鍙戠敓鍏堝叆鍝佸紓甯搞�傚闇�閲嶆柊鍏ュ簱锛岃纭繚璐х墿宸叉斁鑷冲爢鍨涙満鍑哄簱绔欙紒', {title: '宸ヤ綔鍙凤細'+data.wrkNo, shadeClose: true}, function(){
+                    http.post(baseUrl+"/deal/preHave/start", {wrkNo: data.wrkNo}, function (res) {
+                        $(".layui-laypage-btn")[0].click();
+                        layer.msg(data.wrkNo + res.msg, {icon: 1});
+                    })
+                    layer.closeAll();
                 });
                 break;
-            // 缂栬緫
-            case 'edit':
-                layer.open({
-                    type: 2,
-                    title: '淇敼',
-                    maxmin: true,
-                    area: [top.detailWidth, top.detailHeight],
-                    shadeClose: false,
-                    content: 'wrkMast_detail.html',
-                    success: function(layero, index){
-                        layer.getChildFrame('#crnStrTime\\$,#crnEndTime\\$,#refIotime\\$,#ioTime\\$', index).parent().parent().hide();
-                        layer.getChildFrame('#data-detail-submit-save', index).hide();
-                        setFormVal(layer.getChildFrame('#detail', index), data, false);
-                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
-                        top.convertDisabled(layer.getChildFrame('#wrkNo', index), true);
-                        layero.find('iframe')[0].contentWindow.layui.form.render('select');
-                        layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
-                        layer.getChildFrame('##dealDownLine', index).hide();
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
-                    }
+            //  绌烘搷浣�
+            case 'takeNone':
+                layer.confirm('浠诲姟鍙戦�佺┖鎿嶄綔寮傚父锛佹槸鍚︺�傘�傘�傘�傘�傘�傘�傘�傦紵', {title: '宸ヤ綔鍙凤細'+data.wrkNo, shadeClose: true}, function(){
                 });
                 break;
         }
diff --git a/src/main/webapp/views/basDevp/basDevp.html b/src/main/webapp/views/basDevp/basDevp.html
index 66f000f..18d4f9f 100644
--- a/src/main/webapp/views/basDevp/basDevp.html
+++ b/src/main/webapp/views/basDevp/basDevp.html
@@ -14,18 +14,18 @@
 
 <!-- 鎼滅储鏍� -->
 <div id="search-box" class="layui-form layui-card-header">
-    <!--<div class="layui-inline">-->
-        <!--<label class="layui-form-label">缂栥��銆�鍙凤細</label>-->
-        <!--<div class="layui-input-inline">-->
-            <!--<input class="layui-input" type="text" name="dev_no" placeholder="璇疯緭鍏�" autocomplete="off">-->
-        <!--</div>-->
-    <!--</div>-->
+    <div class="layui-inline">
+        <label class="layui-form-label">缂栧彿锛�</label>
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="dev_no" 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>-->
-        <!--<button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>-->
-    <!--</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>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
 </div>
 
 <!-- 琛ㄦ牸 -->
diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html
index d2e1786..d6d7c45 100644
--- a/src/main/webapp/views/locDetl/locDetl.html
+++ b/src/main/webapp/views/locDetl/locDetl.html
@@ -21,9 +21,15 @@
     </div>
     <div class="layui-inline">
         <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="zpallet" 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>
+
     <div class="layui-inline">
         <div class="layui-input-inline">
             <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
diff --git a/src/main/webapp/views/locDetlStatis/locDetlStatis.html b/src/main/webapp/views/locDetlStatis/locDetlStatis.html
index a7e0104..a312e9c 100644
--- a/src/main/webapp/views/locDetlStatis/locDetlStatis.html
+++ b/src/main/webapp/views/locDetlStatis/locDetlStatis.html
@@ -21,8 +21,18 @@
     </div>
     <!-- 寰呮坊鍔� -->
     <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
-        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
-        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储
+        </button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆
+        </button>
+    </div>
+    <div class="layui-inline">
+        <fieldset class="layui-elem-field">
+            <legend>鎬昏鏁伴噺</legend>
+            <div class="layui-field-box" id="countNum">
+                璇风◢绛�
+            </div>
+        </fieldset>
     </div>
 </div>
 
@@ -31,7 +41,8 @@
     <table class="layui-hide" id="locDetlStatis" lay-filter="locDetlStatis"></table>
 </div>
 <script type="text/html" id="toolbar">
-    <div class="layui-btn-container">
+
+    <div class="layui-btn-container layui-col-md1">
         <button class="layui-btn" lay-event="exportAll" style="margin-top: -0px">瀵煎嚭鍏ㄩ儴</button>
     </div>
 </script>
diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index 425ed41..d7aa305 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>instancing 鈹� sketch of three.js</title>
+    <title>涓壃 鈹� login of zoneyung wms</title>
     <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1">
     <meta name="description" content="study of Instancing with three.js">
     <meta name="keywords" content="undefined, Yoichi Kobayashi, WebGL, three.js">
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index f4035a4..da02f1f 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -193,16 +193,23 @@
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">SKC</label>
+                    <label class="layui-form-label">閰嶇疆</label>
                     <div class="layui-input-block">
-                        <input name="barcode" placeholder="璇疯緭鍏ユ潯鐮�" class="layui-input">
+                        <input name="specs" placeholder="璇疯緭鍏ラ厤缃�" class="layui-input">
                     </div>
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曚环</label>
+                    <label class="layui-form-label">鍗曠鍑�閲�</label>
                     <div class="layui-input-block">
-                        <input name="price" type="number" placeholder="璇疯緭鍏ュ崟浠�" class="layui-input">
+                        <input name="weight" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曠浣撶Н</label>
+                    <div class="layui-input-block">
+                        <input name="volume" placeholder="璇疯緭鍏ュ崟绠变綋绉�" class="layui-input">
                     </div>
                 </div>
 
@@ -217,16 +224,9 @@
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">瑙勬牸</label>
+                    <label class="layui-form-label">浠g爜</label>
                     <div class="layui-input-block">
-                        <input name="specs" placeholder="璇疯緭鍏ヨ鏍�" class="layui-input">
-                    </div>
-                </div>
-
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曚綅</label>
-                    <div class="layui-input-block">
-                        <input name="unit" placeholder="璇疯緭鍏ュ崟浣�" class="layui-input">
+                        <input name="model" type="number" placeholder="璇疯緭鍏ヤ唬鐮�" class="layui-input">
                     </div>
                 </div>
 
@@ -237,16 +237,19 @@
                     </div>
                 </div>
 
-                <!--                <div class="layui-form-item">-->
-                <!--                    <label class="layui-form-label layui-form-required">鐘舵��</label>-->
-                <!--                    <div class="layui-input-block">-->
-                <!--                        <select name="status" lay-vertype="tips" lay-verify="required" required="">-->
-                <!--                            <option value="">璇烽�夋嫨鐘舵��</option>-->
-                <!--                            <option value="1">姝e父</option>-->
-                <!--                            <option value="0">绂佺敤</option>-->
-                <!--                        </select>-->
-                <!--                    </div>-->
-                <!--                </div>-->
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曠姣涢噸</label>
+                    <div class="layui-input-block">
+                        <input name="length" placeholder="璇疯緭鍏ュ崟绠辨瘺閲�" class="layui-input">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曠浣撶Н</label>
+                    <div class="layui-input-block">
+                        <input name="threeCode" placeholder="璇疯緭鍏ョ瀛愬昂瀵�" class="layui-input">
+                    </div>
+                </div>
 
             </div>
         </div>
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 2797d16..d89f0c4 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -49,6 +49,23 @@
                         </div>
                     </div>
                     <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="doc_type" id="docType-query">
+                            </select>
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="settle">
+                                <option value="">閫夋嫨鐘舵��</option>
+                                <option value="1">寰呭鐞�</option>
+                                <option value="2">浣滀笟涓�</option>
+                                <option value="4">宸插畬鎴�</option>
+                                <option value="6">涓婃姤瀹屾垚</option>
+                            </select>
+                        </div>
+                    </div>
+                    <div class="layui-inline">
                         <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                             <i class="layui-icon">&#xe615;</i>鎼滅储
                         </button>
@@ -167,10 +184,19 @@
 </script>
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.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/order/order.js" charset="utf-8"></script>
+
+<script type="text/template" id="docTypeTpl">
+    <option value="">閫夋嫨绫诲瀷</option>
+    {{#each records}}
+    <option value="{{docId}}">{{docName}}</option>
+    {{/each}}
+</script>
 </body>
+
 </html>
 
diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html
index 5d835a4..a35e39f 100644
--- a/src/main/webapp/views/pakStore/locDetlQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlQuery.html
@@ -120,7 +120,8 @@
             headers: {token: localStorage.getItem('token')},
             url: baseUrl+'/stock/out/list/auth',
             page: true,
-            limit: 10,
+            limits: [16, 30, 50, 100, 200, 500],
+            limit: 16,
             even: true,
             toolbar: '#toolbar',
             cellMinWidth: 50,
diff --git a/src/main/webapp/views/report/locDetl.html b/src/main/webapp/views/report/locDetl.html
index 0b77d23..9e3ee3d 100644
--- a/src/main/webapp/views/report/locDetl.html
+++ b/src/main/webapp/views/report/locDetl.html
@@ -51,7 +51,7 @@
             headers: {token: localStorage.getItem('token')},
             url: baseUrl+'/locDetl/list/auth',
             page: true,
-            limit: 10,
+            limit: 20,
             skin: 'line',
             where: {loc_no: parent.locNo},
             even: true,
diff --git a/src/main/webapp/views/stoMan/stoQue.html b/src/main/webapp/views/stoMan/stoQue.html
index 936047c..6201b1e 100644
--- a/src/main/webapp/views/stoMan/stoQue.html
+++ b/src/main/webapp/views/stoMan/stoQue.html
@@ -32,6 +32,11 @@
             <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off">
         </div>
     </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="barcode" placeholder="鎵樼洏鐮�" autocomplete="off">
+        </div>
+    </div>
     <!-- 鏃ユ湡鑼冨洿 -->
     <div class="layui-inline" style="width: 300px">
         <div class="layui-input-inline">
diff --git a/src/main/webapp/views/wrkMast/wrkMast.html b/src/main/webapp/views/wrkMast/wrkMast.html
index b2c439f..77b804b 100644
--- a/src/main/webapp/views/wrkMast/wrkMast.html
+++ b/src/main/webapp/views/wrkMast/wrkMast.html
@@ -113,6 +113,12 @@
 </div>
 
 <script type="text/html" id="operate">
+    {{#if (d.preHave === 'Y' && d.wrkSts === 3) { }}
+    <a class="layui-btn layui-btn-primary layui-border-red layui-btn-xs btn-error" lay-event="preHave">鍏堝叆鍝�</a>
+    {{# } }}
+    {{#if (d.takeNone === 'Y' && d.wrkSts === 12) { }}
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-error" lay-event="takeNone">绌烘搷浣�</a>
+    {{# } }}
     <a class="layui-btn layui-btn-xs btn-detlShow" lay-event="detlShow">鏄庣粏</a>
     <a class="layui-btn layui-btn-danger layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</a>
     <a class="layui-btn layui-btn-primary layui-btn-xs btn-cancel" lay-event="cancel">鍙栨秷</a>

--
Gitblit v1.9.1