From 11a590bda370ddad398b2c3ae68a218ee8d5a5d2 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 10 十一月 2025 15:41:55 +0800
Subject: [PATCH] 项目wms功能初始化

---
 src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java |   64 ++++++
 src/main/resources/mapper/WrkMastLogMapper.xml                     |    3 
 src/main/java/com/zy/asrs/controller/DocTypeController.java        |   38 +++
 src/main/java/com/zy/asrs/controller/WrkMastLogController.java     |    2 
 src/main/resources/application-prod.yml                            |   14 
 src/main/java/com/zy/common/config/ThreadPoolConfig.java           |    2 
 src/main/java/com/zy/common/web/WcsController.java                 |   12 
 src/main/webapp/views/orderPakout/order.html                       |    4 
 src/main/webapp/views/order/order.html                             |   16 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java        |    8 
 src/main/java/com/zy/common/constant/MesConstant.java              |   10 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java      |   64 +++---
 src/main/resources/application-dev.yml                             |   14 
 src/main/java/com/zy/common/service/CommonService.java             |  102 ++++++++++
 src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java  |   62 +++++
 src/main/webapp/views/orderPakin/order.html                        |    4 
 src/main/java/com/zy/asrs/controller/OpenController.java           |   20 +
 src/main/java/com/zy/asrs/entity/CraneLoadInfo.java                |   18 +
 src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java      |    2 
 src/main/java/com/zy/asrs/entity/WrkMast.java                      |    1 
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java              |    2 
 src/main/resources/mapper/WrkMastMapper.xml                        |    4 
 src/main/java/com/zy/asrs/entity/WrkMastLog.java                   |    9 
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java             |   22 +-
 version/v1.0.0/truncate.sql                                        |   18 +
 /dev/null                                                          |   27 --
 src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java             |    2 
 src/main/resources/mapper/ViewStockUseMapper.xml                   |   16 +
 src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java  |   17 -
 29 files changed, 428 insertions(+), 149 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/DocTypeController.java b/src/main/java/com/zy/asrs/controller/DocTypeController.java
index e069350..5d43cb6 100644
--- a/src/main/java/com/zy/asrs/controller/DocTypeController.java
+++ b/src/main/java/com/zy/asrs/controller/DocTypeController.java
@@ -119,6 +119,44 @@
         return R.ok(result);
     }
 
+    // 鍙煡鍏ュ簱鍗曟嵁
+    @RequestMapping(value = "/docTypeQueryIn/auth")
+    @ManagerAuth
+    public R queryIn(String condition) {
+        EntityWrapper<DocType> wrapper = new EntityWrapper<>();
+        wrapper.like("doc_name", condition);
+        wrapper.eq("status", 1);
+        wrapper.eq("pakin", 1);
+        Page<DocType> page = docTypeService.selectPage(new Page<>(0, 30), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (DocType docType : page.getRecords()) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", docType.getDocId());
+            map.put("value", docType.getDocName());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    // 鍙煡鍑哄簱鍗曟嵁
+    @RequestMapping(value = "/docTypeQueryOut/auth")
+    @ManagerAuth
+    public R queryOut(String condition) {
+        EntityWrapper<DocType> wrapper = new EntityWrapper<>();
+        wrapper.like("doc_name", condition);
+        wrapper.eq("status", 1);
+        wrapper.eq("pakout", 1);
+        Page<DocType> page = docTypeService.selectPage(new Page<>(0, 30), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (DocType docType : page.getRecords()) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", docType.getDocId());
+            map.put("value", docType.getDocName());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
     @RequestMapping(value = "/docType/check/column/auth")
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 1f5a85f..27c812c 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -10,6 +10,8 @@
 import com.zy.asrs.entity.param.OpenOrderPakoutParam;
 import com.zy.asrs.service.OpenService;
 import com.zy.common.model.DetlDto;
+import com.zy.common.model.MesPakinParam;
+import com.zy.common.model.MesPakoutParam;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +37,22 @@
 
     @Autowired
     private OpenService openService;
+
+    // 鍏ュ簱瀹屾垚涓婃姤娴嬭瘯鎺ュ彛
+    @PostMapping("/inOrderFinishReport")
+    public synchronized R inOrderFinishReport(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) MesPakinParam param,
+                                        HttpServletRequest request) {
+        return R.ok();
+    }
+
+    // 鍑哄簱瀹屾垚涓婃姤娴嬭瘯鎺ュ彛
+    @PostMapping("/outOrderFinishReport")
+    public synchronized R outOrderFinishReport(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) MesPakoutParam param,
+                                        HttpServletRequest request) {
+        return R.ok();
+    }
 
     @PostMapping("/order/matSync/default/v2")
 //    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
@@ -167,7 +185,7 @@
     }
 
     private void auth(String appkey, Object obj, HttpServletRequest request) {
-        log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
+        log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
         request.setAttribute("cache", obj);
         if (!auth) {
             return;
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastLogController.java b/src/main/java/com/zy/asrs/controller/WrkMastLogController.java
index eedaf89..07b4657 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastLogController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastLogController.java
@@ -57,7 +57,7 @@
     }
 
     @RequestMapping(value = "/inventoryFlow/list/auth")
-    @ManagerAuth(memo = "搴撳瓨绉诲姩娴佹按璁板綍")
+    @ManagerAuth(memo = "搴撳瓨绉诲姩娴佹按璁板綍",value = ManagerAuth.Auth.NONE)
     public R inventoryFlowList(@RequestParam(defaultValue = "1") Integer curr,
                                @RequestParam(defaultValue = "10") Integer limit,
                                @RequestParam(required = false) String orderByField,
diff --git a/src/main/java/com/zy/asrs/entity/CraneLoadInfo.java b/src/main/java/com/zy/asrs/entity/CraneLoadInfo.java
new file mode 100644
index 0000000..32c8f34
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/CraneLoadInfo.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+/**
+ * @author pang.jiabao
+ * @description 璁$畻鐩稿璐熻浇鍧囪 瀹炰綋绫�
+ * @createDate 2025/11/8 8:43
+ */
+@Data
+public class CraneLoadInfo {
+
+    private int crnNo;          // 鍫嗗灈鏈虹紪鍙�
+    private int taskCount;      // 鎸傝浇浠诲姟鏁�
+    private double occupancy;   // 搴撲綅宸插崰鐢ㄦ瘮渚嬶紙0~1锛�
+    private double alpha;       // 缁煎悎璐熻浇鍊�
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index f3fbc07..2f643bf 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -33,6 +33,7 @@
     private Integer wrkNo;
 
     @ApiModelProperty("浠诲姟绫诲瀷锛� agv, crn")
+    @TableField("task_type")
     private String taskType;
 
     @ApiModelProperty(value = "")
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
index a45d330..27472d2 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
@@ -29,8 +29,9 @@
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
-    @ApiModelProperty("鏃ュ織ID")
-    private Long logId;
+    @ApiModelProperty("浠诲姟绫诲瀷锛� agv, crn")
+    @TableField("task_type")
+    private String taskType;
 
     /**
      * 宸ヤ綔鍙�
@@ -273,8 +274,8 @@
     private String manuType;
 
     @ApiModelProperty(value = "")
-    @TableField("memo_m")
-    private String memoM;
+    @TableField("memo")
+    private String memo;
 
     @ApiModelProperty(value = "")
     @TableField("sc_weight")
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
index 002fd0d..f917f9d 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
@@ -15,7 +15,7 @@
 @Repository
 public interface WrkMastLogMapper extends BaseMapper<WrkMastLog> {
 
-    @Insert("insert into asr_wrk_mast_log select *, id as log_id from asr_wrk_mast where wrk_no=#{workNo}")
+    @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
     int save(Integer workNo);
 
     /**
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 1867759..ed39a44 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -626,7 +626,7 @@
             param.getCombMats().forEach(elem -> {
                 OrderPakin order = orderPakinService.selectByNo(elem.getOrderNo());
                 if (Cools.isEmpty(order) || order.getSettle() > 2) {
-                    throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
+                    throw new CoolException("鍗曟嵁姝e湪浣滀笟涓�");
                 }
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
                 OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
@@ -655,38 +655,38 @@
                 }
             });
 
-            BasContainer container = basContainerService.selectOne(new EntityWrapper<BasContainer>().eq("barcode", param.getBarcode()));
-            if (Objects.isNull(container)) {
-                throw new CoolException("鏁版嵁閿欒锛氬鍣ㄧ爜涓嶅瓨鍦紒锛�");
-            }
-            if (container.getMixMax() < detlDtos.size()) {
-                throw new CoolException("瓒呭嚭瀹瑰櫒鏈�澶ф贩瑁呮暟閲忥紝褰撳墠瀹瑰櫒鏈�澶ф暟閲忎负锛�" + container.getMixMax() + "!!");
-            }
-            Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
-            List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
-            Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
-            if (tagIds.size() > 1) {
-                throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
-            }
-            //杩樺彲浠ユ斁鍏ュ灏戠鐗╂枡
-            Integer suplus = container.getMixMax();
+//            BasContainer container = basContainerService.selectOne(new EntityWrapper<BasContainer>().eq("barcode", param.getBarcode()));
+//            if (Objects.isNull(container)) {
+//                throw new CoolException("鏁版嵁閿欒锛氬鍣ㄧ爜涓嶅瓨鍦紒锛�");
+//            }
+//            if (container.getMixMax() < detlDtos.size()) {
+//                throw new CoolException("瓒呭嚭瀹瑰櫒鏈�澶ф贩瑁呮暟閲忥紝褰撳墠瀹瑰櫒鏈�澶ф暟閲忎负锛�" + container.getMixMax() + "!!");
+//            }
+//            Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
+//            List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
+//            Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
+//            if (tagIds.size() > 1) {
+//                throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
+//            }
+//            //杩樺彲浠ユ斁鍏ュ灏戠鐗╂枡
+//            Integer suplus = container.getMixMax();
             for (DetlDto detlDto : detlDtos) {
                 Mat mat = matService.selectByMatnr(detlDto.getMatnr());
                 if (Cools.isEmpty(mat)) {
                     throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
                 }
-                //鏈�澶氬彲鏀炬暟閲�
-                Double singleMax = mat.getUpQty() * suplus;
-                if (singleMax.compareTo(detlDto.getAnfme()) < 0) {
-                    throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟缁勬墭涓婇檺涓猴細" + mat.getUpQty() + ",褰撳墠鎬婚噺瓒呭嚭鎵樼洏瑁呰浇涓婇檺!!");
-                }
-                BigDecimal decimal = new BigDecimal(detlDto.getAnfme() / mat.getUpQty());
-                //褰撳墠鐗╂枡闇�瑕佸崰鐢ㄦ枡绠辨牸鏁�
-                Integer curr = decimal.setScale(0, RoundingMode.CEILING).intValue();
-                suplus = suplus - curr;
-                if (suplus < 0) {
-                    throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
-                }
+//                //鏈�澶氬彲鏀炬暟閲�
+//                Double singleMax = mat.getUpQty() * suplus;
+//                if (singleMax.compareTo(detlDto.getAnfme()) < 0) {
+//                    throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟缁勬墭涓婇檺涓猴細" + mat.getUpQty() + ",褰撳墠鎬婚噺瓒呭嚭鎵樼洏瑁呰浇涓婇檺!!");
+//                }
+//                BigDecimal decimal = new BigDecimal(detlDto.getAnfme() / mat.getUpQty());
+//                //褰撳墠鐗╂枡闇�瑕佸崰鐢ㄦ枡绠辨牸鏁�
+//                Integer curr = decimal.setScale(0, RoundingMode.CEILING).intValue();
+//                suplus = suplus - curr;
+//                if (suplus < 0) {
+//                    throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
+//                }
 
                 WaitPakin waitPakin = new WaitPakin();
                 BeanUtils.copyProperties(mat, waitPakin);
@@ -914,7 +914,7 @@
                 boolean success = false;
                 try {
                     response = new HttpHandler.Builder()
-                            .setUri(MesConstant.URL)
+                            .setUri(MesConstant.URI)
                             .setPath(MesConstant.PACK_DOWN_URL)
                             .setJson(JSON.toJSONString(mesCombParam))
                             .build()
@@ -923,10 +923,10 @@
                     if (jsonObject.getInteger("code").equals(200)) {
                         success = true;
                     } else if (jsonObject.getInteger("code").equals(500)) {
-                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URI + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
                         throw new CoolException(jsonObject.getString("msg"));
                     } else {
-                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URI + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
                         throw new CoolException("涓婃姤mes绯荤粺澶辫触");
                     }
                 } catch (Exception e) {
@@ -937,7 +937,7 @@
                         // 淇濆瓨鎺ュ彛鏃ュ織
                         apiLogService.save(
                                 "鎵撳寘涓嬬嚎甯墭涓婃姤",
-                                MesConstant.URL + MesConstant.PACK_DOWN_URL,
+                                MesConstant.URI + MesConstant.PACK_DOWN_URL,
                                 null,
                                 "127.0.0.1",
                                 JSON.toJSONString(mesCombParam),
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 e443df3..56f8945 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -490,17 +490,17 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+//        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
 
-        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
+        StartupDto dto = commonService.getLocNoBySdyhfz(devpNo,10);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
         wrkMast.setIoTime(now);
-        wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+        wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
         wrkMast.setIoPri(10D); // 浼樺厛绾э細10
         wrkMast.setCrnNo(dto.getCrnNo());
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
index 0321a08..46af252 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.mapper.WrkMastLogMapper;
 import com.zy.asrs.service.WrkMastLogService;
 import com.zy.asrs.service.WrkMastService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -20,6 +21,7 @@
 import java.util.Objects;
 
 @Service("wrkMastLogService")
+@Slf4j
 public class WrkMastLogServiceImpl extends ServiceImpl<WrkMastLogMapper, WrkMastLog> implements WrkMastLogService {
 
     @Autowired
@@ -28,21 +30,8 @@
     private WrkMastLogService wrkMastLogService;
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
     public boolean save(Integer workNo) {
-        WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo));
-        if (Objects.isNull(mast)) {
-            throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
-        }
-        WrkMastLog mastLog = new WrkMastLog();
-        BeanUtils.copyProperties(mast, mastLog);
-        mastLog.setLogId(mast.getId());
-
-        if (!wrkMastLogService.insert(mastLog)) {
-            throw new CoolException("浠诲姟鏃ュ織淇濆瓨澶辫触锛侊紒");
-        }
-
-        return true;
+        return this.baseMapper.save(workNo) > 0;
     }
 
     @Override
diff --git a/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
deleted file mode 100644
index f761770..0000000
--- a/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package com.zy.asrs.task;
-
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.entity.OrderPakout;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.*;
-import com.zy.asrs.task.handler.AutoLocMoveHandler;
-import com.zy.common.properties.SlaveWmsParameterProperties;
-import com.zy.system.entity.Config;
-import com.zy.system.service.ConfigService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Slf4j
-@Component
-public class AutoLocMoveScheduler {
-
-
-    @Autowired
-    private WrkMastService wrkMastService;
-    @Autowired
-    private WorkService workService;
-    @Autowired
-    private AutoLocMoveHandler autoLocMoveHandler;
-    @Autowired
-    private BasCrnpService basCrnpService;
-    @Autowired
-    private ConfigService configService;
-    @Autowired
-    private SlaveWmsParameterProperties slaveWmsParameterProperties;
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private OrderPakoutService orderPakoutService;
-    @Autowired
-    private OrderDetlService orderDetlService;
-
-
-    //瀹氭椂鍑哄簱   缁忓吀鍙屼几
-    @Scheduled(cron = "0/3 * * * * ? ")
-    public void locToLocAutoLocMove() {
-        if (slaveWmsParameterProperties.isAutoLocMoveBoolean()) {
-            Config config = configService.selectConfigByCode("AutoLocMove");
-            if (Cools.isEmpty(config) || config.getValue().equals("false")) {
-                return;
-            }
-            OrderPakout orderPakout = orderPakoutService.selectOrderMoveStatus();
-            if (!Cools.isEmpty(orderPakout)) {
-//                autoMoveService.selectList()
-            } else {
-                orderPakout = orderPakoutService.selectOrderMoveStatusInitial();
-                if (Cools.isEmpty(orderPakout)) {
-                    return;
-                }
-                orderPakout.setMoveStatus(2);
-                orderPakoutService.updateById(orderPakout);
-            }
-        }
-    }
-
-    //瀹氭椂鍑哄簱
-    @Scheduled(cron = "0/3 * * * * ? ")
-    public void locToLoc11() {
-        if (slaveWmsParameterProperties.isAutoLocMoveUnilateralBoolean()) {
-            Config config = configService.selectConfigByCode("AutoLocMoveUnilateral");
-            if (Cools.isEmpty(config) || config.getValue().equals("false")) {
-                return;
-            }
-            int crnCount = basCrnpService.selectCount(new EntityWrapper<>());
-            for (int crnNo = 1; crnNo < crnCount; crnNo++) {
-                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 11).eq("crn_no", crnNo));
-                WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 111).eq("crn_no", crnNo));
-                if (Cools.isEmpty(wrkMast) && Cools.isEmpty(wrkMast1)) {
-                    autoLocMoveHandler.start(crnNo, 11);
-                }
-            }
-        }
-    }
-
-    //瀹氭椂鍏ュ簱
-    @Scheduled(cron = "0/3 * * * * ? ")
-    public void locToLoc111() {
-        if (slaveWmsParameterProperties.isAutoLocMoveUnilateralBoolean()) {
-            Config config = configService.selectConfigByCode("AutoLocMoveUnilateral");
-            if (Cools.isEmpty(config) || config.getValue().equals("false")) {
-                return;
-            }
-            int crnCount = basCrnpService.selectCount(new EntityWrapper<>());
-            for (int crnNo = 1; crnNo < crnCount; crnNo++) {
-                BasCrnp basCrnp = basCrnpService.selectById(crnNo);
-                if (basCrnp == null) {
-                    continue;
-                }
-                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 111).eq("crn_no", crnNo));
-                WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 11).eq("crn_no", crnNo));
-                if (Cools.isEmpty(wrkMast) && Cools.isEmpty(wrkMast1)) {
-                    autoLocMoveHandler.start(crnNo, 111);
-                }
-            }
-        }
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/BareBoardScheduler.java b/src/main/java/com/zy/asrs/task/BareBoardScheduler.java
deleted file mode 100644
index 9fe4ff7..0000000
--- a/src/main/java/com/zy/asrs/task/BareBoardScheduler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.zy.asrs.task;
-
-import com.core.common.Cools;
-import com.zy.asrs.task.handler.BareBoardHandler;
-import com.zy.common.properties.SlaveWmsParameterProperties;
-import com.zy.system.entity.Config;
-import com.zy.system.service.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by Monkey D. Luffy on 2023.10.25
- * 骞垮痉瀹滅..............浠ヤ笅.............骞垮痉瀹滅.............鑷姩琛ョ┖鏉垮啀浼樺寲
- */
-@Component
-public class BareBoardScheduler {
-
-    @Autowired
-    private BareBoardHandler bareBoardHandler;
-    @Autowired
-    private ConfigService configService;
-    @Autowired
-    private SlaveWmsParameterProperties slaveWmsParameterProperties;
-
-    /*
-     * 鑷姩璋冪┖鏉垮嚭搴�
-     * */
-    @Scheduled(cron = "0/3 * * * * ? ")
-    private void execute() {
-        if (slaveWmsParameterProperties.isAutomaticFillingBoardStaNosBoolean()) {
-            Config config = configService.selectConfigByCode("AutomaticFillingBoard");
-            if (!Cools.isEmpty(config) && !Cools.isEmpty(config.getValue()) && config.getValue().equals("true")) {
-                for (Integer staNo : slaveWmsParameterProperties.getAutomaticFillingBoardStaNos()) {
-                    bareBoardHandler.start(110, staNo, "D");
-                }
-            }
-        }
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
deleted file mode 100644
index 766e6f5..0000000
--- a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.zy.asrs.task;
-
-import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.WorkService;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.handler.CheckDeepHandler;
-import com.zy.common.properties.SlaveProperties;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import java.text.ParseException;
-
-@Component
-@Slf4j
-public class CheckDeepScheduler {
-
-    @Value("${wcs-slave.doubleDeep}")
-    private boolean confirmDeep;
-    @Autowired
-    private LocDetlService locDetlService;
-    @Autowired
-    private LocMastService locMastService;
-    @Autowired
-    private WorkService workService;
-    @Autowired
-    private WrkMastService wrkMastService;
-    @Autowired
-    private SlaveProperties slaveProperties;
-
-    @Autowired
-    private CheckDeepHandler checkDeepHandler;
-
-    /**
-     * 灏嗕袱涓繁搴撲綅鍚堝苟涓烘繁娴呭簱浣�,鐗╂枡鍙风浉鍚岋紝婧愬簱浣嶅叆搴撴棩鏈熸棭浜庣洰鏍囧簱浣嶅搴旀繁搴撲綅鍏ュ簱鏃ユ湡锛屽簱浣嶇姸鎬侀兘涓篎
-     */
-//    @Scheduled(cron = "0/30 * * * * ?")
-    private void execute() throws ParseException {
-//        if (!confirmDeep) return;
-        if (true) return;
-
-        ReturnT<String> result = checkDeepHandler.start();
-        if (!result.isSuccess()) {
-            log.error("搴撲綅绉昏浆===>>娴呭簱浣嶇Щ杞埌娣卞簱浣嶅け璐�");
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java b/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
deleted file mode 100644
index c3ad608..0000000
--- a/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.zy.asrs.task;
-
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.entity.LocMast;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.BasCrnpService;
-import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.handler.LocMoveAllHandler;
-import com.zy.asrs.utils.Utils;
-import com.zy.common.properties.SlaveProperties;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Created by vincent on 2020/7/7
- */
-@Slf4j
-@Component
-public class LocMoveAllScheduler {
-
-    //@Value("${loc-move.enable}")
-    private boolean enable = false;
-    //@Value("${loc-move.crn1}")
-    private boolean crn1 = false;
-    //@Value("${loc-move.crn2}")
-    private boolean crn2 = false;
-
-
-    @Autowired
-    private LocMoveAllHandler locMoveAllHandler;
-    @Autowired
-    private WrkMastService wrkMastService;
-    @Autowired
-    private LocMastService locMastService;
-    @Autowired
-    private BasCrnpService basCrnpService;
-    @Autowired
-    private SlaveProperties slaveProperties;
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    private void execute() {
-        if (!enable) return;
-
-        List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>());
-        if (basCrnps.isEmpty()) {
-            return;
-        }
-        Iterator<BasCrnp> iterator = basCrnps.iterator();
-        while (iterator.hasNext()) {
-            BasCrnp basCrnp = iterator.next();
-            if (basCrnp.getCrnNo() == 1 && !crn1) {
-                iterator.remove();
-            }
-            if (basCrnp.getCrnNo() == 2 && !crn2) {
-                iterator.remove();
-            }
-        }
-        if (basCrnps.isEmpty()) {
-            return;
-        }
-        for (BasCrnp basCrnp : basCrnps) {
-            if (basCrnp.getCrnSts() != 3) continue;
-            if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) continue;
-            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", basCrnp.getCrnNo()).eq("io_type", 11));
-            if (Cools.isEmpty(wrkMasts) || wrkMasts.size() == 0) {
-                LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", basCrnp.getCrnNo()).orderBy("appe_time", true));//绌烘澘鎵�鍦�
-                if (Cools.isEmpty(locMastStart)) {
-                    continue;
-                }
-                if (Utils.isShallowLoc(slaveProperties, locMastStart.getLocNo())) {
-                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastStart.getLocNo());
-                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
-                    if (locNo != null && locNo.getLocSts().equals("D")) {
-                        locMastStart = locNo;
-                    }
-                }
-                LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>()
-                        .eq("loc_sts", "O")
-                        .eq("crn_no", basCrnp.getCrnNo())
-                        //.eq("loc_type1", locMastStart.getLocType1())
-                        .ne("modi_user", 77)
-                        .orderBy("lev1", true));//鐩爣
-                if (Cools.isEmpty(locMastEnd)) {
-                    continue;
-                }
-                if (Utils.isShallowLoc(slaveProperties, locMastEnd.getLocNo())) {
-                    String shallowLocNo = Utils.getDeepLoc(slaveProperties, locMastEnd.getLocNo());
-                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
-                    if (locNo != null && locNo.getModiUser() != 77L && locNo.getLocSts().equals("O")) {
-                        locMastEnd = locNo;
-                    }
-                }
-//                if (Cools.isEmpty(locMastStart) || Cools.isEmpty(locMastEnd)){
-
-                ReturnT<String> result = locMoveAllHandler.start(locMastStart, locMastEnd, basCrnp.getCrnNo());
-                if (!result.isSuccess()) {
-                    log.error("澶勭悊澶辫触");
-                }
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java b/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
index 25ce9ea..94517c4 100644
--- a/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
@@ -7,7 +7,7 @@
 import org.springframework.stereotype.Component;
 
 
-@Component
+//@Component
 public class OrderMoveHistoryScheduler {
     @Autowired
     private OrderPakinMoveHistoryHandler orderPakinMoveHistoryHandler;
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 382c7fb..e9a4374 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -37,17 +37,6 @@
     @Autowired
     private LoadingConfigTimer loadingConfigTimer;
 
-
-    @Scheduled(cron = "0 0 1 * * ? ")
-    public void clearApiLog() {
-        try {
-            apiLogService.clearWeekBefore();
-        } catch (Exception e) {
-            log.error("绗笁鏂规帴鍙f棩蹇楄嚜鍔ㄦ竻闄ゅけ璐ワ紙鑼冨洿锛氫竴鍛ㄤ箣鍓�", e);
-        }
-    }
-
-
     @Scheduled(cron = "0/30 * * * * ? ")
     @Async("orderThreadPool")
     public void completeOrderPakin() {
@@ -67,7 +56,6 @@
         }
     }
 
-
     @Scheduled(cron = "0/30 * * * * ? ")
     @Async("orderThreadPool")
     public void completeOrderPakout() {
@@ -86,4 +74,14 @@
             }
         }
     }
+
+    @Scheduled(cron = "0 0 1 * * ? ")
+    public void clearApiLog() {
+        try {
+            apiLogService.clearWeekBefore();
+        } catch (Exception e) {
+            log.error("绗笁鏂规帴鍙f棩蹇楄嚜鍔ㄦ竻闄ゅけ璐ワ紙鑼冨洿锛氫竴鍛ㄤ箣鍓�", e);
+        }
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 42f11d2..abaaf89 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -49,7 +49,7 @@
         }
     }
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void executeTask() {
         List<Task> wrkMasts = taskService.selectToBeCompleteData();
         if (wrkMasts.isEmpty()) {
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java
deleted file mode 100644
index 25ad6e2..0000000
--- a/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.zy.asrs.task.handler;
-
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.LocMast;
-import com.zy.asrs.entity.result.FindLocNoAttributeVo;
-import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.WorkService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.model.StartupDto;
-import com.zy.common.service.CommonService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Isolation;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * Created by vincent on 2023/7/7
- */
-@Slf4j
-@Service
-public class AutoLocMoveHandler extends AbstractHandler<String> {
-    @Autowired
-    private CommonService commonService;
-    @Autowired
-    private LocMastService locMastService;
-    @Autowired
-    private LocDetlService locDetlService;
-    @Autowired
-    private WorkService workService;
-
-    @Transactional(isolation = Isolation.REPEATABLE_READ)
-    public ReturnT<String> start(Integer crnNo, Integer ioType) {
-        try {
-            //11  绌挎绉诲崟杈�
-            if (ioType == 11) {
-                for (int bay = 1; bay < 27; bay++) {
-                    for (int lev = 1; lev < 6; lev++) {
-                        List<LocMast> locMasts = locMastService.selectLocMastShuttleMoveUnilateral(bay, lev, crnNo);
-                        if (!Cools.isEmpty(locMasts) && locMasts.size() < 4) {
-                            for (LocMast locMast : locMasts) {
-                                LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
-//                                StartupDto startupDto = commonService.getLocNo(crnNo == 1 ? 6 : 5, ioType, crnNo == 1 ? 917 : 918, locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), null);
-                                FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
-
-                                StartupDto startupDto = commonService.getLocNo(ioType, crnNo == 1 ? 917 : 918, findLocNoAttributeVo, null);
-                                workService.locMove(locMast.getLocNo(), startupDto.getLocNo(), 9527L);
-                            }
-                            return SUCCESS;
-                        }
-                    }
-                }
-            } else {//11  鍗曡竟绉荤┛姊�
-                List<Map<String, Object>> list = locDetlService.selectLocDetlUnilateralMoveShuttleMap(crnNo);//111   鍗曡竟绉荤┛姊�
-                for (Map<String, Object> map : list) {
-                    String matnr = map.getOrDefault("matnr", "").toString();//鐗╂枡鍙�
-                    String batch = map.getOrDefault("batch", "").toString();//鎵瑰彿
-                    String grade = map.getOrDefault("brand", "").toString();//绛夌骇
-                    int count = Integer.parseInt(map.get("count").toString());//鍗曡竟搴撴暟閲�
-                    if (count < 4) {
-                        continue;
-                    }
-
-                    List<LocDetl> locDetlList = locDetlService.selectLocDetlUnilateralMoveShuttle(matnr, batch, grade, crnNo);
-                    for (LocDetl locDetl : locDetlList) {
-//                        StartupDto startupDto = commonService.getLocNo(crnNo == 1 ? 4 : 3, ioType, crnNo == 1 ? 901 : 932, locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(), null);
-                        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
-
-                        StartupDto startupDto = commonService.getLocNo(ioType, crnNo == 1 ? 901 : 932, findLocNoAttributeVo, null);
-                        workService.locMove(locDetl.getLocNo(), startupDto.getLocNo(), 9527L);
-                    }
-                }
-                return SUCCESS;
-            }
-        } catch (Exception e) {
-            log.error("鑷姩绉诲簱鍑洪敊,鍫嗗灈鏈哄彿{}锛屽伐浣滅被鍨媨}", crnNo, ioType);
-        }
-        return SUCCESS;
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java
index 2797bac..b40c44d 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java
@@ -1,6 +1,12 @@
 package com.zy.asrs.task.handler;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.OrderDetlPakin;
 import com.zy.asrs.entity.OrderPakin;
 import com.zy.asrs.service.ApiLogService;
@@ -9,6 +15,9 @@
 import com.zy.asrs.service.OrderPakinService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.model.MesPakinParam;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,14 +44,59 @@
 
     @Transactional
     public ReturnT<String> startOrderReport(OrderPakin order) {
+
         DocType docType = docTypeService.selectById(order.getDocType());
         if (null == docType) {
-            return SUCCESS;
+            log.error("鏈壘鍒板搴旂殑DocType锛岃鍗曞彿锛歿}锛屽崟鎹被鍨嬶細{}", order.getOrderNo(), order.getDocType());
+            return FAIL.setMsg("鏈壘鍒板搴旂殑鍗曟嵁绫诲瀷锛�" + order.getOrderNo());
         }
-        long settle = 6L;
-        List<OrderDetlPakin> orderDetls = orderDetlPakinService.selectByOrderId(order.getId());
 
-        return SUCCESS;
+        MesPakinParam pakinParam = new MesPakinParam();
+        List<OrderDetlPakin> orderDetls = orderDetlPakinService.selectByOrderId(order.getId());
+        for (OrderDetlPakin orderDetl : orderDetls) {
+            String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
+            pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+        }
+        String response = "";
+        boolean success = false;
+        ReturnT<String> result = SUCCESS;
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(MesConstant.URI)
+                    .setPath(MesConstant.PAKIN_PATH)
+                    .setJson(JSON.toJSONString(pakinParam))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger("code").equals(200)) {
+                // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                orderPakinService.updateSettle(order.getId(), 6L, null);
+                success = true;
+            } else {
+                log.error("鍏ュ簱瀹屾垚涓婃姤erp澶辫触锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URI + MesConstant.PAKIN_PATH, JSON.toJSONString(pakinParam), response);
+                throw new CoolException("鍏ュ簱瀹屾垚涓婃姤erp澶辫触");
+            }
+        } catch (Exception e) {
+            log.error("鍏ュ簱瀹屾垚涓婃姤erp寮傚父", e);
+            result = FAIL.setMsg("鍏ュ簱瀹屾垚涓婃姤寮傚父锛�" + e.getMessage());
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "鍏ュ簱瀹屾垚涓婃姤",
+                        MesConstant.URI + MesConstant.PAKIN_PATH,
+                        null,
+                        "127.0.0.1",
+                        JSON.toJSONString(pakinParam),
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("鍏ュ簱淇濆瓨鎺ュ彛鏃ュ織寮傚父", e);
+            }
+        }
+
+        return result;
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java
index 0e15d5f..1b670a3 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java
@@ -1,6 +1,12 @@
 package com.zy.asrs.task.handler;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.OrderDetlPakout;
 import com.zy.asrs.entity.OrderPakout;
 import com.zy.asrs.service.ApiLogService;
@@ -9,6 +15,9 @@
 import com.zy.asrs.service.OrderPakoutService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.model.MesPakoutParam;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,14 +44,61 @@
 
     @Transactional
     public ReturnT<String> startOrderReport(OrderPakout order) {
+
         DocType docType = docTypeService.selectById(order.getDocType());
         if (null == docType) {
-            return SUCCESS;
+            log.error("鏈壘鍒板搴旂殑DocType锛岃鍗曞彿锛歿}锛屽崟鎹被鍨嬶細{}", order.getOrderNo(), order.getDocType());
+            return FAIL.setMsg("鏈壘鍒板搴旂殑鍗曟嵁绫诲瀷锛�" + order.getOrderNo());
         }
-        long settle = 6L;
-        List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(order.getId());
 
-        return SUCCESS;
+        MesPakoutParam pakoutParam = new MesPakoutParam();
+        pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�"));
+        pakoutParam.setOrderNo(order.getOrderNo());
+        List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(order.getId());
+        for (OrderDetlPakout orderDetl : orderDetls) {
+            String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
+            pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+        }
+        String response = "";
+        boolean success = false;
+        ReturnT<String> result = SUCCESS;
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(MesConstant.URI)
+                    .setPath(MesConstant.PAKOUT_PATH)
+                    .setJson(JSON.toJSONString(pakoutParam))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger("code").equals(200)) {
+                // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                orderPakoutService.updateSettle(order.getId(), 6L, null);
+                success = true;
+            } else {
+                log.error("鍑哄簱瀹屾垚涓婃姤erp澶辫触锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URI + MesConstant.PAKOUT_PATH, JSON.toJSONString(pakoutParam), response);
+                throw new CoolException("鍑哄簱瀹屾垚涓婃姤erp澶辫触");
+            }
+        } catch (Exception e) {
+            log.error("鍑哄簱瀹屾垚涓婃姤erp寮傚父", e);
+            result = FAIL.setMsg("鍑哄簱瀹屾垚涓婃姤寮傚父锛�" + e.getMessage());
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "鍑哄簱瀹屾垚涓婃姤",
+                        MesConstant.URI + MesConstant.PAKOUT_PATH,
+                        null,
+                        "127.0.0.1",
+                        JSON.toJSONString(pakoutParam),
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("鍑哄簱淇濆瓨鎺ュ彛鏃ュ織寮傚父", e);
+            }
+        }
+
+        return result;
     }
 
 }
diff --git a/src/main/java/com/zy/common/config/ThreadPoolConfig.java b/src/main/java/com/zy/common/config/ThreadPoolConfig.java
index 1b21b47..6dc76b2 100644
--- a/src/main/java/com/zy/common/config/ThreadPoolConfig.java
+++ b/src/main/java/com/zy/common/config/ThreadPoolConfig.java
@@ -2,6 +2,7 @@
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 
@@ -15,6 +16,7 @@
 public class ThreadPoolConfig {
 
     @Bean(name = "orderThreadPool")
+    @Primary
     public ThreadPoolTaskExecutor orderThreadPool() {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
         int core = Runtime.getRuntime().availableProcessors();
diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java
index 0fc2f46..96933ae 100644
--- a/src/main/java/com/zy/common/constant/MesConstant.java
+++ b/src/main/java/com/zy/common/constant/MesConstant.java
@@ -5,13 +5,17 @@
  */
 public class MesConstant {
 
-    public static final String URL = "http://192.168.99.130:80";
+    // ERP瀵规帴鍩虹鍦板潃
+//    public static final String URI = "http://192.168.99.130:80";
+    public static final String URI = "http://127.0.0.1:8080/yhfzwms/open/asrs";
 
     public static final String PACK_DOWN_URL = "mes/api/zy/v1/packDown/sendList";
 
-    public static final String PAKIN_URL = "mes/api/zy/v1/warehouse/sendList";
+    // 鍏ュ簱瀹屾垚涓婃姤璺緞
+    public static final String PAKIN_PATH = "/inOrderFinishReport";
 
-    public static final String PAKOUT_URL = "wmsFinprd/api/zy/v1/packOut/sendList";
+    // 鍑哄簱瀹屾垚涓婃姤璺緞
+    public static final String PAKOUT_PATH = "/outOrderFinishReport";
 
 
     /**
diff --git a/src/main/java/com/zy/common/properties/SlaveWmsParameterProperties.java b/src/main/java/com/zy/common/properties/SlaveWmsParameterProperties.java
deleted file mode 100644
index 01a8d60..0000000
--- a/src/main/java/com/zy/common/properties/SlaveWmsParameterProperties.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.zy.common.properties;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by vincent on 2023/10/25
- */
-@Data
-@Configuration
-@ConfigurationProperties(prefix = "wms-parameter")
-public class SlaveWmsParameterProperties {
-
-    // 鑷姩琛ョ┖鏉垮姛鑳藉紑鍏�
-    private boolean automaticFillingBoardStaNosBoolean;
-    // 鑷姩绉诲簱鍔熻兘寮�鍏�
-    private boolean autoLocMoveBoolean;
-    // 鑷姩绉诲簱鍔熻兘寮�鍏� 111
-    private boolean autoLocMoveUnilateralBoolean;
-    // 鑷姩琛ョ┖鏉跨珯鐐�
-    private List<Integer> automaticFillingBoardStaNos = new ArrayList<>();
-
-}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 65775b0..cdc6420 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -18,7 +18,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 璐ф灦鏍稿績鍔熻兘
@@ -50,6 +51,9 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private WrkDetlService wrkDetlService;
+
+    // 娣卞簱浣嶆帓
+    private static final List<Integer> deepLocRowList = Arrays.asList(1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32);
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -91,6 +95,102 @@
         return workNo;
     }
 
+    /**
+     * 鑾峰彇搴撲綅---灞变笢瀹滃拰绾虹粐
+     *
+     * @param sourceSiteNo 鍏ュ簱婧愮珯鐐�
+     */
+    public StartupDto getLocNoBySdyhfz(Integer sourceSiteNo,int ioType) {
+
+        // 鑾峰彇鍙敤锛屽彲鍏ワ紝鏃犳姤璀﹀爢鍨涙満
+        List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts", 3).eq("crn_err", 0).eq("in_enable", "Y"));
+        if (basCrnps.size() == 0) {
+            log.error(sourceSiteNo + "鍏ュ簱璇锋眰搴撲綅澶辫触:鍫嗗灈鏈烘姤璀�/鏃犲彲鐢�/鏃犲彲鍏�");
+            throw new CoolException(sourceSiteNo + "鍏ュ簱璇锋眰搴撲綅澶辫触:鍫嗗灈鏈烘姤璀�/鏃犲彲鐢�/鏃犲彲鍏�");
+        }
+
+        // 璁$畻璐熻浇鍧囪 
+        List<CraneLoadInfo> craneInfos = new ArrayList<>();
+        // 璐熻浇鍧囪 鏉冮噸锛堝彲璋冩暣锛変换鍔″皯锛屽簱浣嶅崰鐢ㄥ皯鐨勫厛鍒嗛厤
+        double w1 = 0.6; // 浠诲姟鏁版潈閲�
+        double w2 = 0.4; // 浠撲綅鏉冮噸
+        for (BasCrnp basCrnp : basCrnps) {
+            // 鎸傝浇浠诲姟鏁�
+            int taskCount = locMastService.selectCount(new EntityWrapper<LocMast>().eq("crn_no", basCrnp.getCrnNo()).in("loc_sts", "S", "R"));
+            // 绌哄簱浣嶆暟閲�
+            int emptyCount = locMastService.selectCount(new EntityWrapper<LocMast>().eq("crn_no", basCrnp.getCrnNo()).eq("loc_sts", "O"));
+            // 搴撲綅鍗犵敤鐜�
+            double emptyLocOccupancy = (double) (800 - emptyCount) / 800;
+            CraneLoadInfo craneLoadInfo = new CraneLoadInfo();
+            craneLoadInfo.setCrnNo(basCrnp.getCrnNo());
+            craneLoadInfo.setTaskCount(taskCount);
+            craneLoadInfo.setOccupancy(emptyLocOccupancy);
+            craneInfos.add(craneLoadInfo);
+        }
+        // 鑾峰彇鏈�鍊�
+        int taskMax = craneInfos.stream().mapToInt(CraneLoadInfo::getTaskCount).max().orElse(0);
+        int taskMin = craneInfos.stream().mapToInt(CraneLoadInfo::getTaskCount).min().orElse(0);
+        double occMax = craneInfos.stream().mapToDouble(CraneLoadInfo::getOccupancy).max().orElse(0);
+        double occMin = craneInfos.stream().mapToDouble(CraneLoadInfo::getOccupancy).min().orElse(0);
+
+        // 閬垮厤鍒嗘瘝涓�0鐨勬儏鍐�
+        double taskRange = (taskMax - taskMin) == 0 ? 1 : (taskMax - taskMin);
+        double occRange = (occMax - occMin) == 0 ? 1 : (occMax - occMin);
+
+        // 璁$畻 伪
+        for (CraneLoadInfo info : craneInfos) {
+            double taskNorm = (info.getTaskCount() - taskMin) / taskRange;
+            double occNorm = (info.getOccupancy() - occMin) / occRange;
+            double alpha = w1 * taskNorm + w2 * occNorm;
+            info.setAlpha(alpha);
+        }
+
+        // 鎺掑簭锛毼� 瓒婂皬瓒婄┖闂�
+        craneInfos.sort(Comparator.comparingDouble(CraneLoadInfo::getAlpha));
+
+        // 瀵绘壘搴撲綅
+        LocMast locMast = null;
+        // 鏍规嵁鍏ュ簱绫诲瀷鍜屾簮绔欑偣鑾峰彇宸ヤ綔璺緞
+        StaDesc staDesc = null;
+
+        for (CraneLoadInfo craneLoadInfo : craneInfos) {
+            List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", craneLoadInfo.getCrnNo()).eq("loc_sts", "O").orderBy("lev1").orderBy("bay1").orderBy("row1"));
+            if (locMastList.size() <= 4) {
+                continue;
+            }
+            // 鍏堝彇娣卞簱浣�
+            Optional<LocMast> first = locMastList.stream().filter(o -> deepLocRowList.contains(o.getRow1())).findFirst();
+            // 娣卞簱浣嶉噷闈㈡病鏈変粠娴呭簱浣嶉噷闈㈠彇
+            locMast = first.orElseGet(() -> locMastList.get(0));
+
+            if (locMast != null) {
+                staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("type_no", ioType).eq("crn_no", locMast.getCrnNo()).eq("stn_no", sourceSiteNo));
+                if (staDesc == null) {
+                    log.error("鑾峰彇宸ヤ綔璺緞寮傚父,绫诲瀷:{},鍫嗗灈鏈�:{},婧愮珯:{}", ioType, locMast.getCrnNo(), sourceSiteNo);
+                    throw new CoolException("鑾峰彇宸ヤ綔璺緞寮傚父,绫诲瀷:" + ioType + ",鍫嗗灈鏈�:" + locMast.getCrnNo() + ",婧愮珯:" + sourceSiteNo);
+                }
+                break;
+            }
+        }
+
+        if (locMast == null) {
+            log.error("鍫嗗灈鏈哄墿浣欏簱浣嶄笉瓒筹細{}", craneInfos);
+            throw new CoolException("鍫嗗灈鏈轰笉鍙敤/搴撲綅涓嶈冻锛岃妫�鏌�");
+        }
+
+        // 鐢熸垚宸ヤ綔鍙�
+        int workNo = getWorkNo(0);
+        // 杩斿洖dto
+        StartupDto startupDto = new StartupDto();
+        startupDto.setWorkNo(workNo);
+        startupDto.setCrnNo(locMast.getCrnNo());
+        startupDto.setSourceStaNo(sourceSiteNo);
+        startupDto.setStaNo(staDesc.getCrnStn());
+        startupDto.setLocNo(locMast.getLocNo());
+
+        return startupDto;
+    }
+
     //鎷嗙洏鏈哄绌烘澘鎵爜锛岄┍鍔ㄦ墭鐩樺悜鐮佸灈浣嶏紝涓嶅叆搴�
     @Transactional
     public StartupDto getScanBarcodeEmptyBoard() {
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 9e11712..233250e 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -164,11 +164,8 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-//        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-//        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
-        StartupDto dto = commonService.getLocNo(1, devpNo, findLocNoAttributeVo, locTypeDto);
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
+        StartupDto dto = commonService.getLocNoBySdyhfz(devpNo,1);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -243,9 +240,10 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
 
-        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
+//        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
+        StartupDto dto = commonService.getLocNoBySdyhfz(devpNo,10);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index dd15b9c..4ec255d 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -29,11 +29,11 @@
   mapper-locations: classpath:mapper/*.xml
   #  global-config:
   #    field-strategy: 0
-  configuration:
+#  configuration:
     #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-    map-underscore-to-camel-case: true
-    cache-enabled: true
-    call-setters-on-nulls: true
+#    map-underscore-to-camel-case: true
+#    cache-enabled: true
+#    call-setters-on-nulls: true
 
 logging:
   file:
@@ -58,13 +58,13 @@
   # 鍙屾繁
   doubleDeep: true
   # 鍙屾繁搴撲綅鎺掑彿
-  doubleLocs: 1,4,5,8,9,12,13,16
+  doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32
   # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   groupCount: 4
   # 宸︽繁搴撲綅鎺掑彿
-  doubleLocsLeft: 1,5,9,13
+  doubleLocsLeft: 1,5,9,13,17,21,25,29
   # 鍙虫繁搴撲綅鎺掑彿
-  doubleLocsRight: 4,8,12,16
+  doubleLocsRight: 4,8,12,16,20,24,28,32
 
 
 
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 9e9978b..83ba31b 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -29,11 +29,11 @@
   mapper-locations: classpath:mapper/*.xml
   #  global-config:
   #    field-strategy: 0
-  configuration:
+#  configuration:
 #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-    map-underscore-to-camel-case: true
-    cache-enabled: true
-    call-setters-on-nulls: true
+#    map-underscore-to-camel-case: true
+#    cache-enabled: true
+#    call-setters-on-nulls: true
 
 logging:
   file:
@@ -58,11 +58,11 @@
   # 鍙屾繁
   doubleDeep: true
   # 鍙屾繁搴撲綅鎺掑彿
-  doubleLocs: 1,4,5,8,9,12,13,16
+  doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32
   # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   groupCount: 4
   # 宸︽繁搴撲綅鎺掑彿
-  doubleLocsLeft: 1,5,9,13
+  doubleLocsLeft: 1,5,9,13,17,21,25,29
   # 鍙虫繁搴撲綅鎺掑彿
-  doubleLocsRight: 4,8,12,16
+  doubleLocsRight: 4,8,12,16,20,24,28,32
 
diff --git a/src/main/resources/mapper/ViewStockUseMapper.xml b/src/main/resources/mapper/ViewStockUseMapper.xml
index cb6440b..fee4cdb 100644
--- a/src/main/resources/mapper/ViewStockUseMapper.xml
+++ b/src/main/resources/mapper/ViewStockUseMapper.xml
@@ -2,6 +2,16 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.asrs.mapper.ReportQueryMapper">
+	<resultMap id="ViewStockUseMap" type="com.zy.asrs.entity.ViewStockUseBean">
+		<result property="row1" column="row1"/>
+		<result property="total_qty" column="total_qty"/>
+		<result property="full_qty" column="full_qty"/>
+		<result property="null_qty" column="null_qty"/>
+		<result property="forbid_qty" column="forbid_qty"/>
+		<result property="empty_qty" column="empty_qty"/>
+		<result property="full_rate" column="full_rate"/>
+		<result property="occ_rate" column="occ_rate"/>
+	</resultMap>
 
 <!-- mapper涓嶆敮鎸乻ql璇彞宓屽鏃讹紝閲囩敤sql鐗囨鍖呭惈鏂瑰紡锛岃В鍐硏ml鏍囩闂 -->
 <sql id="viewStockUseConditionSql">	
@@ -11,10 +21,10 @@
 </sql>
 
 <!-- 鍒嗛〉鏌ヨ鎵�鏈変俊鎭� -->
-<select id="queryViewStockUseList" parameterType="com.zy.asrs.entity.ViewStockUseBean" resultType="com.zy.asrs.entity.ViewStockUseBean">
-select top (#{pageSize}) * from asr_stk_use_view 
+<select id="queryViewStockUseList" parameterType="com.zy.asrs.entity.ViewStockUseBean" resultMap="ViewStockUseMap">
+select top (#{pageSize}) * from asr_stk_use_view
 <where>
-	row1 not in (select top ((#{pageNumber}-1)*#{pageSize}) row1 from asr_stk_use_view 
+	row1 not in (select top ((#{pageNumber}-1)*#{pageSize}) row1 from asr_stk_use_view
 	<where>
 		1=1
 		<include refid="viewStockUseConditionSql"></include>		
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index 8086afb..dd1bdf7 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -5,6 +5,7 @@
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastLog">
         <id column="id" property="id" />
+        <result column="task_type" property="taskType" />
         <result column="wrk_no" property="wrkNo" />
         <result column="inv_wh" property="invWh" />
         <result column="ymd" property="ymd" />
@@ -51,7 +52,7 @@
         <result column="error_memo" property="errorMemo" />
         <result column="ctn_kind" property="ctnKind" />
         <result column="manu_type" property="manuType" />
-        <result column="memo_m" property="memoM" />
+        <result column="memo" property="memo" />
         <result column="sc_weight" property="scWeight" />
         <result column="log_mk" property="logMk" />
         <result column="log_err_time" property="logErrTime" />
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 83c4cce..afa1793 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -4,7 +4,9 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMast">
-        <id column="wrk_no" property="wrkNo" />
+        <id column="id" property="id" />
+        <result column="wrk_no" property="wrkNo" />
+        <result column="task_type" property="taskType" />
         <result column="inv_wh" property="invWh" />
         <result column="ymd" property="ymd" />
         <result column="mk" property="mk" />
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 3e88192..ab58881 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -79,20 +79,20 @@
                         <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                             <i class="layui-icon">&#xe615;</i>鎼滅储
                         </button>
-                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>娣诲姞
-                        </button>
+<!--                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>娣诲姞-->
+<!--                        </button>-->
                     </div>
                 </div>
             </div>
             <table id="order" lay-filter="order"></table>
         </div>
     </div>
-    <div class="layui-card">
-        <div class="layui-card-body">
-            鍏ュ簱閫氱煡鍗曪細鐢盓RP鎻愪緵鍗曟嵁缂栧彿銆佺被鍨嬨�佸崟鎹椂闂村強鐗╂枡鏄庣粏锛岀敓鎴愬叆搴撲綔涓氬崟锛屼负缁存姢绯荤粺楂樺彲鐢紝鐢ㄦ埛鍙嚜琛屾坊鍔犲叆搴撻�氱煡鍗曟暟鎹紝瀹屾垚鐙珛鐨勫叆搴撲綔涓氥��
-            <span class="text-danger">鎵嬪姩娣诲姞鏃讹紝璇锋鏌ュ崟鎹紪鍙锋槸鍚﹀湪ERP绯荤粺涓凡瀛樺湪锛岄伩鍏嶅彂鐢熸暟鎹敊璇棶棰樸��</span>
-        </div>
-    </div>
+<!--    <div class="layui-card">-->
+<!--        <div class="layui-card-body">-->
+<!--            鍏ュ簱閫氱煡鍗曪細鐢盓RP鎻愪緵鍗曟嵁缂栧彿銆佺被鍨嬨�佸崟鎹椂闂村強鐗╂枡鏄庣粏锛岀敓鎴愬叆搴撲綔涓氬崟锛屼负缁存姢绯荤粺楂樺彲鐢紝鐢ㄦ埛鍙嚜琛屾坊鍔犲叆搴撻�氱煡鍗曟暟鎹紝瀹屾垚鐙珛鐨勫叆搴撲綔涓氥��-->
+<!--            <span class="text-danger">鎵嬪姩娣诲姞鏃讹紝璇锋鏌ュ崟鎹紪鍙锋槸鍚﹀湪ERP绯荤粺涓凡瀛樺湪锛岄伩鍏嶅彂鐢熸暟鎹敊璇棶棰樸��</span>-->
+<!--        </div>-->
+<!--    </div>-->
 </div>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="operate">
diff --git a/src/main/webapp/views/orderPakin/order.html b/src/main/webapp/views/orderPakin/order.html
index 5b15330..c6945d0 100644
--- a/src/main/webapp/views/orderPakin/order.html
+++ b/src/main/webapp/views/orderPakin/order.html
@@ -150,8 +150,8 @@
                 <input class="layui-input" name="docType" placeholder="璇疯緭鍏ュ崟鎹被鍨�" style="display: none">
                 <input id="docType$" name="docType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ崟鎹被鍨�" onfocus=this.blur() lay-verType="tips" lay-verify="required">
                 <div class="cool-auto-complete-window">
-                    <input class="cool-auto-complete-window-input" data-key="docTypeQueryBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                    <select class="cool-auto-complete-window-select" data-key="docTypeQueryBydocTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    <input class="cool-auto-complete-window-input" data-key="docTypeQueryInBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="docTypeQueryInBydocTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                     </select>
                 </div>
             </div>
diff --git a/src/main/webapp/views/orderPakout/order.html b/src/main/webapp/views/orderPakout/order.html
index 7584f2e..4f3577d 100644
--- a/src/main/webapp/views/orderPakout/order.html
+++ b/src/main/webapp/views/orderPakout/order.html
@@ -150,8 +150,8 @@
                 <input class="layui-input" name="docType" placeholder="璇疯緭鍏ュ崟鎹被鍨�" style="display: none">
                 <input id="docType$" name="docType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ崟鎹被鍨�" onfocus=this.blur() lay-verType="tips" lay-verify="required">
                 <div class="cool-auto-complete-window">
-                    <input class="cool-auto-complete-window-input" data-key="docTypeQueryBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                    <select class="cool-auto-complete-window-select" data-key="docTypeQueryBydocTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    <input class="cool-auto-complete-window-input" data-key="docTypeQueryOutBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="docTypeQueryOutBydocTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                     </select>
                 </div>
             </div>
diff --git a/version/v1.0.0/truncate.sql b/version/v1.0.0/truncate.sql
index 4cfcb06..c2994ad 100644
--- a/version/v1.0.0/truncate.sql
+++ b/version/v1.0.0/truncate.sql
@@ -10,4 +10,20 @@
 truncate table sys_user_login;
 truncate table man_api_log;
 truncate table asr_bas_err_log
-truncate table asr_bas_devp_err_log
\ No newline at end of file
+truncate table asr_bas_devp_err_log
+TRUNCATE table asr_loc_detl
+
+TRUNCATE table man_order
+TRUNCATE table man_order_detl
+TRUNCATE table man_order_log
+TRUNCATE table man_order_detl_log
+
+TRUNCATE table man_order_pakin
+TRUNCATE table man_order_detl_pakin
+TRUNCATE table man_order_log_pakin
+TRUNCATE table man_order_detl_log_pakin
+
+TRUNCATE table man_order_pakout
+TRUNCATE table man_order_detl_pakout
+TRUNCATE table man_order_log_pakout
+TRUNCATE table man_order_detl_log_pakout
\ No newline at end of file

--
Gitblit v1.9.1