From 954799493a5d4a63a8844fd53e8a14c8ea9f6cea Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 24 五月 2025 21:24:38 +0800
Subject: [PATCH] 13

---
 src/main/java/com/zy/asrs/entity/param/CombParam.java                     |    4 
 src/main/java/com/zy/asrs/third/CodeParam.java                            |   18 
 src/main/java/com/zy/asrs/entity/OrderDetlReportLog.java                  |  363 +++++++++++
 src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java         |   39 +
 pom.xml                                                                   |    2 
 src/main/java/com/zy/asrs/controller/OpenMesController.java               |  225 +++++++
 src/main/java/com/zy/asrs/mapper/OrderDetlReportLogMapper.java            |   15 
 src/main/java/com/zy/asrs/third/CodeDataParam.java                        |   17 
 src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java          |    3 
 src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java       |   15 
 src/main/java/com/zy/common/model/MesPakinParam.java                      |   28 
 src/main/java/com/zy/asrs/entity/WrkDetl.java                             |    2 
 src/main/java/com/zy/asrs/third/TokenUtils.java                           |   44 +
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java             |  380 ++++++-----
 src/main/java/com/zy/asrs/service/impl/OrderDetlReportServiceImpl.java    |   21 
 src/main/java/com/zy/common/model/DetlDto.java                            |    7 
 src/main/java/com/zy/asrs/controller/MatController.java                   |   25 
 src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java           |    3 
 src/main/java/com/zy/asrs/service/MobileService.java                      |    7 
 license.lic                                                               |    0 
 src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java                 |    1 
 src/main/java/com/zy/asrs/entity/param/CheckOrderParam.java               |   15 
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java               |    7 
 src/main/java/com/zy/asrs/controller/OpenController.java                  |    4 
 src/main/java/com/zy/asrs/service/impl/OrderDetlReportLogServiceImpl.java |   13 
 src/main/java/com/zy/asrs/entity/ManLocDetl.java                          |    6 
 src/main/java/com/zy/asrs/service/OrderDetlReportService.java             |   12 
 /dev/null                                                                 |   16 
 src/main/java/com/zy/asrs/entity/param/CheckResult.java                   |   14 
 src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java            |    8 
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java              |    4 
 src/main/java/com/zy/asrs/service/ManLocDetlService.java                  |    3 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java              |  160 ++--
 src/main/java/com/zy/asrs/service/OrderDetlReportLogService.java          |    8 
 src/main/java/com/zy/asrs/mapper/OrderDetlReportMapper.java               |   20 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java               |    8 
 src/main/resources/application.yml                                        |    9 
 src/main/java/com/zy/asrs/entity/OrderDetlReport.java                     |  363 +++++++++++
 src/main/java/com/zy/asrs/third/MesResponse.java                          |   12 
 39 files changed, 1,616 insertions(+), 285 deletions(-)

diff --git a/license.lic b/license.lic
index 41b3277..9b49f06 100644
--- a/license.lic
+++ b/license.lic
Binary files differ
diff --git a/pom.xml b/pom.xml
index ede5b05..f99c5d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-tomcat</artifactId>
-            <scope>provided</scope>
+            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 68069f7..5a0229f 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -16,6 +16,10 @@
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.MobileService;
+import com.zy.asrs.third.CodeDataParam;
+import com.zy.asrs.third.CodeParam;
+import com.zy.asrs.third.TokenUtils;
 import com.zy.asrs.utils.MatExcelListener;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
@@ -24,6 +28,7 @@
 import com.zy.common.utils.QrCode;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -40,8 +45,15 @@
 
     @Autowired
     private MatService matService;
+
+    @Autowired
+    private MobileService mobileService;
+
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+
+    @Value("mes.url")
+    private String url;
 
     @RequestMapping(value = "/mat/auto/matnr/auth")
     public R autoMatnr(){
@@ -83,6 +95,19 @@
         return R.ok(matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr)));
     }
 
+    @RequestMapping(value = "/mat/tiaoma/auth")
+    @ManagerAuth
+    public R findByTiaoMa(@RequestParam("matnr") String matnr) {
+        List<CodeDataParam> data = mobileService.getData(TokenUtils.getToken(url), new CodeParam(Arrays.asList(matnr)));
+        CodeDataParam codeDataParam = data.get(0);
+        Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", codeDataParam.getProductionCode()));
+        mat.setMatnr(codeDataParam.getProductionCode());
+        mat.setSafeQty(codeDataParam.getQty());
+        mat.setUnit(codeDataParam.getBatchNum());
+        mat.setMemo(matnr);
+        return R.ok(mat);
+    }
+
     @RequestMapping(value = "/mat/list/auth")
     @ManagerAuth
     public R list(@RequestParam(defaultValue = "1")Integer curr,
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 7547998..27a4246 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -190,7 +190,7 @@
         if (Cools.isEmpty(param.getOrderType())) {
             return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
         }
-        if (Cools.isEmpty(param.getOrderDetails())) {
+        if (Cools.isEmpty(param.getDetails())) {
             return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
         }
         openService.pakinOrderCreate(param);
@@ -232,7 +232,7 @@
         if (Cools.isEmpty(param.getOrderType())) {
             return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
         }
-        if (Cools.isEmpty(param.getOrderDetails())) {
+        if (Cools.isEmpty(param.getDetails())) {
             return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
         }
         openService.pakoutOrderCreate(param);
diff --git a/src/main/java/com/zy/asrs/controller/OpenMesController.java b/src/main/java/com/zy/asrs/controller/OpenMesController.java
new file mode 100644
index 0000000..15d8a29
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OpenMesController.java
@@ -0,0 +1,225 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.annotations.AppAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.InventoryCheckOrder;
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.*;
+import com.zy.asrs.service.*;
+import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by vincent on 2022/4/8
+ */
+@Slf4j
+@RestController
+@RequestMapping("open/wms")
+public class OpenMesController extends BaseController {
+
+    private static final boolean auth = true;
+    public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
+        add("ea1f0459efc02a79f046f982767939ae");
+    }};
+
+    @Autowired
+    private OpenService openService;
+
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+
+    @Autowired
+    private WrkMastService wrkMastService;
+
+    @Autowired
+    private InventoryCheckOrderService inventoryCheckOrderService;
+
+    @Autowired
+    private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
+
+
+    @PostMapping("/mat/sync/default/v1")
+    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
+    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
+                                      @RequestBody(required = false) MatSyncParam param,
+                                      HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        openService.syncMat(param);
+        return R.ok();
+    }
+
+    @PostMapping("/inventory/result")
+    @AppAuth(memo = "鐩樼偣缁撴灉鍚屾鎺ュ彛")
+    public synchronized R inventory(@RequestHeader(required = false) String appkey,
+                                    @RequestBody(required = false) CheckResult param,
+                                    HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+        if (Cools.isEmpty(wrkMast)) {
+            return R.error("鏃犳硶閫氳繃鎵樼洏鐮佹壘鍒拌宸ヤ綔妗�,璇锋鏌ユ墭鐩樼爜鏄惁姝g‘");
+        }
+        LocDetlAdjustParam adjustParam = new LocDetlAdjustParam();
+        adjustParam.setLocNo(wrkMast.getWrkSts() < 100 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo());
+        List<LocDetlAdjustParam.LocDetlAdjust> list = new ArrayList<>();
+        param.getDetails().forEach(elem -> {
+            list.add(new LocDetlAdjustParam.LocDetlAdjust(elem.getMatnr(), elem.getBatch(), elem.getActulQty(), elem.getDanger()));
+        });
+        manLocDetlService.adjustLocDetl2(adjustParam, getUserId());
+        return R.ok();
+    }
+
+    @PostMapping("/orderSync/default/v1")
+    @AppAuth(memo = "璁㈠崟淇℃伅鍚屾鎺ュ彛")
+    public synchronized R syncOrderInfo(@RequestHeader(required = false) String appkey,
+                                        @RequestBody(required = false) GTOrderParam param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+
+        return R.ok();
+    }
+
+
+    /**
+     * 娣诲姞鍏ュ簱鍗�
+     */
+    @PostMapping("/order/pakin/default/v1")
+    @AppAuth(memo = "鍏ュ簱鍗曟嵁涓嬪彂")
+    public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey,
+                                           @RequestBody OpenOrderPakinParam param,
+                                           HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getOrderNo())) {
+            return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderType())) {
+            return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getDetails())) {
+            return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
+        }
+        openService.pakinOrderCreate(param);
+        return R.ok();
+    }
+
+
+    /**
+     * 娣诲姞鍑哄簱鍗�
+     */
+    @PostMapping("/order/pakout/default/v1")
+    @AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱")
+    public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
+                                            @RequestBody OpenOrderPakoutParam param,
+                                            HttpServletRequest request) {
+        auth(appkey, param, request);
+        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]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderType())) {
+            return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getDetails())) {
+            return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
+        }
+        openService.pakoutOrderCreate(param);
+        return R.ok();
+    }
+
+    /**
+     * 娣诲姞鐩樼偣鍗�
+     */
+    @PostMapping("/inventory/trigger/v1")
+    @AppAuth(memo = "娣诲姞鐩樼偣鍗�")
+    public synchronized R check(@RequestHeader(required = false) String appkey,
+                                @RequestBody CheckOrderParam param,
+                                HttpServletRequest request) {
+        auth(appkey, param, request);
+        String orderNo = param.getOrderNo();
+        long time = new Date().getTime();
+        if (Cools.isEmpty(orderNo)) {
+            switch (param.getArea()) {
+                case "鍫嗗灈鏈�":
+                    orderNo = "DDJ" + time;
+                    break;
+                case "鍥涘悜搴�":
+                    orderNo = "SXK" + time;
+                    break;
+                case "CTU":
+                    orderNo = "CTU" + time;
+                    break;
+            }
+            param.setOrderNo(orderNo);
+        }
+
+        int count = inventoryCheckOrderService.selectCount(new EntityWrapper<InventoryCheckOrder>().eq("order_no", orderNo));
+        if (count > 0) {
+            return R.parse("鍗曟嵁缂栧彿宸茬粡瀛樺湪锛�" + orderNo);
+        }
+        InventoryCheckOrder checkOrder = new InventoryCheckOrder();
+        checkOrder.setOrderNo(orderNo);
+        checkOrder.setCreateBy(getUserId().toString());
+        checkOrder.setCreateTime(new Date());
+        checkOrder.setStatus("1");
+        param.getDetails().forEach(elem -> {
+            checkOrder.setArea(param.getArea());
+            InventoryCheckOrderDetl detail = new InventoryCheckOrderDetl();
+            detail.setMatnr(elem.getMatnr());
+            detail.setBatch(elem.getBatch());
+            inventoryCheckOrderDetlService.insert(detail);
+        });
+        inventoryCheckOrderService.insert(checkOrder);
+
+
+        return R.ok();
+    }
+
+
+    private void auth(String appkey, Object obj, HttpServletRequest request) {
+        log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
+        request.setAttribute("cache", obj);
+        if (!auth) {
+            return;
+        }
+        if (Cools.isEmpty(appkey)) {
+            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+        }
+        if (!APP_KEY_LIST.contains(appkey)) {
+            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+        }
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
index bff935b..6a938b8 100644
--- a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
+++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
@@ -56,6 +56,7 @@
     @TableField("create_by")
     private String createBy;
 
+
     public InventoryCheckOrder() {}
 
     public InventoryCheckOrder(Integer id,String orderNo,String area,Date createTime,String createBy) {
diff --git a/src/main/java/com/zy/asrs/entity/ManLocDetl.java b/src/main/java/com/zy/asrs/entity/ManLocDetl.java
index 17522d5..40770f9 100644
--- a/src/main/java/com/zy/asrs/entity/ManLocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/ManLocDetl.java
@@ -170,6 +170,12 @@
     private Integer status;
 
     /**
+     * 鍗遍櫓鍝� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    private Integer danger;
+
+    /**
      * 娣诲姞浜哄憳
      */
     @ApiModelProperty(value= "娣诲姞浜哄憳")
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlReport.java b/src/main/java/com/zy/asrs/entity/OrderDetlReport.java
new file mode 100644
index 0000000..5d2c626
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlReport.java
@@ -0,0 +1,363 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.common.utils.Synchro;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+@TableName("man_order_detl_report")
+public class OrderDetlReport implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    private Double anfme;
+
+    /**
+     * 鎵樼洏鏉$爜
+     */
+    @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    private String zpallet;
+
+    /**
+     * 鐗╂枡
+     */
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+    private String matnr;
+
+    /**
+     * 鐗╂枡鎻忚堪
+     */
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    /**
+     * 鎵瑰彿
+     */
+    @ApiModelProperty(value= "鎵瑰彿")
+    private String batch;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    private String specs;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 棰滆壊
+     */
+    @ApiModelProperty(value= "棰滆壊")
+    private String color;
+
+    /**
+     * 鍝佺墝
+     */
+    @ApiModelProperty(value= "鍝佺墝")
+    private String brand;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    /**
+     * 鍗曚环
+     */
+    @ApiModelProperty(value= "鍗曚环")
+    private Double price;
+
+    /**
+     * sku
+     */
+    @ApiModelProperty(value= "sku")
+    private String sku;
+
+    /**
+     * 鍗曚綅閲�
+     */
+    @ApiModelProperty(value= "鍗曚綅閲�")
+    private Double units;
+
+    /**
+     * 鏉$爜
+     */
+    @ApiModelProperty(value= "鏉$爜")
+    private String barcode;
+
+    /**
+     * 浜у湴
+     */
+    @ApiModelProperty(value= "浜у湴")
+    private String origin;
+
+    /**
+     * 鍘傚
+     */
+    @ApiModelProperty(value= "鍘傚")
+    private String manu;
+
+    /**
+     * 鐢熶骇鏃ユ湡
+     */
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("manu_date")
+    private String manuDate;
+
+    /**
+     * 鍝侀」鏁�
+     */
+    @ApiModelProperty(value= "鍝侀」鏁�")
+    @TableField("item_num")
+    private String itemNum;
+
+    /**
+     * 瀹夊叏搴撳瓨閲�
+     */
+    @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�")
+    @TableField("safe_qty")
+    private Double safeQty;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double weight;
+
+    /**
+     * 闀垮害
+     */
+    @ApiModelProperty(value= "闀垮害")
+    private Double length;
+
+    /**
+     * 浣撶Н
+     */
+    @ApiModelProperty(value= "浣撶Н")
+    private Double volume;
+
+    /**
+     * 涓夋柟缂栫爜
+     */
+    @ApiModelProperty(value= "涓夋柟缂栫爜")
+    @TableField("three_code")
+    private String threeCode;
+
+    /**
+     * 渚涘簲鍟�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟�")
+    private String supp;
+
+    /**
+     * 渚涘簲鍟嗙紪鐮�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+    @TableField("supp_code")
+    private String suppCode;
+
+    /**
+     * 鏄惁鎵规 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鏄惁鎵规 1: 鏄�  0: 鍚�  ")
+    @TableField("be_batch")
+    private Integer beBatch;
+
+    /**
+     * 淇濊川鏈�
+     */
+    @ApiModelProperty(value= "淇濊川鏈�")
+    @TableField("dead_time")
+    private String deadTime;
+
+    /**
+     * 棰勮澶╂暟
+     */
+    @ApiModelProperty(value= "棰勮澶╂暟")
+    @TableField("dead_warn")
+    private Integer deadWarn;
+
+    /**
+     * 鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗
+     */
+    @ApiModelProperty(value= "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
+    private Integer source;
+
+    /**
+     * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    private Integer inspect;
+
+    /**
+     * 鍗遍櫓鍝� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    private Integer danger;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("modi_user")
+    private Long modiUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("modi_time")
+    private Date modiTime;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @ApiModelProperty(value= "鍒涘缓鑰�")
+    @TableField("appe_user")
+    private Long appeUser;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("appe_time")
+    private Date appeTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp1;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp2;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp3;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp4;
+
+
+    public String getBeBatch$(){
+        if (null == this.beBatch){ return null; }
+        switch (this.beBatch){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.beBatch);
+        }
+    }
+
+    public String getSource$(){
+        if (null == this.source){ return null; }
+        switch (this.source){
+            case 1:
+                return "鍒堕��";
+            case 2:
+                return "閲囪喘";
+            case 3:
+                return "澶栧崗";
+            default:
+                return String.valueOf(this.source);
+        }
+    }
+
+    public String getInspect$(){
+        if (null == this.inspect){ return null; }
+        switch (this.inspect){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.inspect);
+        }
+    }
+
+    public String getDanger$(){
+        if (null == this.danger){ return null; }
+        switch (this.danger){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.danger);
+        }
+    }
+
+    public String getModiUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.modiUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getUsername());
+        }
+        return null;
+    }
+
+    public String getModiTime$(){
+        if (Cools.isEmpty(this.modiTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
+    }
+
+    public String getAppeUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.appeUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getUsername());
+        }
+        return null;
+    }
+
+    public String getAppeTime$(){
+        if (Cools.isEmpty(this.appeTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
+    }
+
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlReportLog.java b/src/main/java/com/zy/asrs/entity/OrderDetlReportLog.java
new file mode 100644
index 0000000..d02db8a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlReportLog.java
@@ -0,0 +1,363 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.common.utils.Synchro;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+@TableName("man_order_detl_report_log")
+public class OrderDetlReportLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    private Double anfme;
+
+    /**
+     * 鎵樼洏鏉$爜
+     */
+    @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    private String zpallet;
+
+    /**
+     * 鐗╂枡
+     */
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+    private String matnr;
+
+    /**
+     * 鐗╂枡鎻忚堪
+     */
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    /**
+     * 鎵瑰彿
+     */
+    @ApiModelProperty(value= "鎵瑰彿")
+    private String batch;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    private String specs;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 棰滆壊
+     */
+    @ApiModelProperty(value= "棰滆壊")
+    private String color;
+
+    /**
+     * 鍝佺墝
+     */
+    @ApiModelProperty(value= "鍝佺墝")
+    private String brand;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    /**
+     * 鍗曚环
+     */
+    @ApiModelProperty(value= "鍗曚环")
+    private Double price;
+
+    /**
+     * sku
+     */
+    @ApiModelProperty(value= "sku")
+    private String sku;
+
+    /**
+     * 鍗曚綅閲�
+     */
+    @ApiModelProperty(value= "鍗曚綅閲�")
+    private Double units;
+
+    /**
+     * 鏉$爜
+     */
+    @ApiModelProperty(value= "鏉$爜")
+    private String barcode;
+
+    /**
+     * 浜у湴
+     */
+    @ApiModelProperty(value= "浜у湴")
+    private String origin;
+
+    /**
+     * 鍘傚
+     */
+    @ApiModelProperty(value= "鍘傚")
+    private String manu;
+
+    /**
+     * 鐢熶骇鏃ユ湡
+     */
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("manu_date")
+    private String manuDate;
+
+    /**
+     * 鍝侀」鏁�
+     */
+    @ApiModelProperty(value= "鍝侀」鏁�")
+    @TableField("item_num")
+    private String itemNum;
+
+    /**
+     * 瀹夊叏搴撳瓨閲�
+     */
+    @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�")
+    @TableField("safe_qty")
+    private Double safeQty;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double weight;
+
+    /**
+     * 闀垮害
+     */
+    @ApiModelProperty(value= "闀垮害")
+    private Double length;
+
+    /**
+     * 浣撶Н
+     */
+    @ApiModelProperty(value= "浣撶Н")
+    private Double volume;
+
+    /**
+     * 涓夋柟缂栫爜
+     */
+    @ApiModelProperty(value= "涓夋柟缂栫爜")
+    @TableField("three_code")
+    private String threeCode;
+
+    /**
+     * 渚涘簲鍟�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟�")
+    private String supp;
+
+    /**
+     * 渚涘簲鍟嗙紪鐮�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+    @TableField("supp_code")
+    private String suppCode;
+
+    /**
+     * 鏄惁鎵规 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鏄惁鎵规 1: 鏄�  0: 鍚�  ")
+    @TableField("be_batch")
+    private Integer beBatch;
+
+    /**
+     * 淇濊川鏈�
+     */
+    @ApiModelProperty(value= "淇濊川鏈�")
+    @TableField("dead_time")
+    private String deadTime;
+
+    /**
+     * 棰勮澶╂暟
+     */
+    @ApiModelProperty(value= "棰勮澶╂暟")
+    @TableField("dead_warn")
+    private Integer deadWarn;
+
+    /**
+     * 鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗
+     */
+    @ApiModelProperty(value= "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
+    private Integer source;
+
+    /**
+     * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    private Integer inspect;
+
+    /**
+     * 鍗遍櫓鍝� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    private Integer danger;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("modi_user")
+    private Long modiUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("modi_time")
+    private Date modiTime;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @ApiModelProperty(value= "鍒涘缓鑰�")
+    @TableField("appe_user")
+    private Long appeUser;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("appe_time")
+    private Date appeTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp1;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp2;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp3;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp4;
+
+
+    public String getBeBatch$(){
+        if (null == this.beBatch){ return null; }
+        switch (this.beBatch){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.beBatch);
+        }
+    }
+
+    public String getSource$(){
+        if (null == this.source){ return null; }
+        switch (this.source){
+            case 1:
+                return "鍒堕��";
+            case 2:
+                return "閲囪喘";
+            case 3:
+                return "澶栧崗";
+            default:
+                return String.valueOf(this.source);
+        }
+    }
+
+    public String getInspect$(){
+        if (null == this.inspect){ return null; }
+        switch (this.inspect){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.inspect);
+        }
+    }
+
+    public String getDanger$(){
+        if (null == this.danger){ return null; }
+        switch (this.danger){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.danger);
+        }
+    }
+
+    public String getModiUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.modiUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getUsername());
+        }
+        return null;
+    }
+
+    public String getModiTime$(){
+        if (Cools.isEmpty(this.modiTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
+    }
+
+    public String getAppeUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.appeUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getUsername());
+        }
+        return null;
+    }
+
+    public String getAppeTime$(){
+        if (Cools.isEmpty(this.appeTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
+    }
+
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index dc93a16..046f448 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -230,7 +230,7 @@
     private Integer inspect;
 
     /**
-     * 鍗遍櫓鍝� 1: 鏄�  0: 鍚�
+     * 1姝e父锛�2鎶ュ簾锛�3闇�杩斿伐
      */
     @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
     private Integer danger;
diff --git a/src/main/java/com/zy/asrs/entity/param/CheckOrderParam.java b/src/main/java/com/zy/asrs/entity/param/CheckOrderParam.java
new file mode 100644
index 0000000..72da8f3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CheckOrderParam.java
@@ -0,0 +1,15 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class CheckOrderParam implements Serializable {
+    private String orderNo;
+    private String area;
+    private String status;
+
+    private List<MatDto> details;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/CheckResult.java b/src/main/java/com/zy/asrs/entity/param/CheckResult.java
new file mode 100644
index 0000000..840c351
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CheckResult.java
@@ -0,0 +1,14 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.common.model.DetlDto;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class CheckResult implements Serializable {
+    private String barcode;
+
+    private List<DetlDto> details;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index 3c27eb1..761e0f4 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -22,9 +22,13 @@
 
     private List<CombMat> combMats;
 
+
     @Data
     public static class CombMat {
 
+        // 鏉$爜
+        private String threeCode;
+
         // 鐗╂枡缂栧彿
         private String matnr;
 
diff --git a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
index 381d7c2..eff8c87 100644
--- a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -30,11 +30,19 @@
         // 鍙樻洿鏁伴噺
         private Double count;
 
+        private Integer danger;
+
         public LocDetlAdjust(String matnr, String batch, Double count) {
             this.matnr = matnr;
             this.batch = batch;
             this.count = count;
         }
+        public LocDetlAdjust(String matnr, String batch, Double count,Integer danger ) {
+            this.matnr = matnr;
+            this.batch = batch;
+            this.count = count;
+            this.danger = danger;
+        }
     }
 
     public void integrate() {
diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java
index 20d2d32..1dcdb72 100644
--- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java
@@ -21,8 +21,9 @@
     private String department; //閮ㄩ棬
     private String businessType; //涓氬姟绫诲瀷
     private String user; //鍒跺崟浜�
+    private String quality;
 
 
-    private List<DetlDto> orderDetails; //鐗╂枡鍒楄〃
+    private List<DetlDto> details; //鐗╂枡鍒楄〃
 
 }
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 f2c9068..25d69bb 100644
--- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
@@ -25,8 +25,9 @@
     private String department; //閮ㄩ棬
     private String businessType; //涓氬姟绫诲瀷
     private String user; //鍒跺崟浜�
+    private String quality;
 
-    private List<DetlDto> orderDetails;
+    private List<DetlDto> details;
 
     private String lgort;
 
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlReportLogMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlReportLogMapper.java
new file mode 100644
index 0000000..9099237
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlReportLogMapper.java
@@ -0,0 +1,15 @@
+
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.OrderDetlReport;
+import com.zy.asrs.entity.OrderDetlReportLog;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface OrderDetlReportLogMapper extends BaseMapper<OrderDetlReportLog> {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlReportMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlReportMapper.java
new file mode 100644
index 0000000..bdd1f5b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlReportMapper.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlReport;
+import com.zy.asrs.entity.OrderDetlReportLog;
+import com.zy.asrs.entity.param.PrintDataDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+@Repository
+public interface OrderDetlReportMapper extends BaseMapper<OrderDetlReport> {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ManLocDetlService.java b/src/main/java/com/zy/asrs/service/ManLocDetlService.java
index 7d3d0e8..a2e2f3b 100644
--- a/src/main/java/com/zy/asrs/service/ManLocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/ManLocDetlService.java
@@ -61,6 +61,9 @@
 
     void adjustLocDetl(LocDetlAdjustParam param, Long userId);
 
+    void adjustLocDetl2(LocDetlAdjustParam param, Long userId);
+
+
     Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param);
 
     List<ManLocDetl> getStockStatisExcel();
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 4b14a68..fc1e1a4 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -9,8 +9,11 @@
 import com.zy.asrs.entity.param.MobileAdjustParam;
 import com.zy.asrs.entity.param.OffSaleParam;
 import com.zy.asrs.entity.param.pdaAdjustParam;
+import com.zy.asrs.third.CodeDataParam;
+import com.zy.asrs.third.CodeParam;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 public interface MobileService {
@@ -62,4 +65,8 @@
     void pingKuShelves(CombParam combParam, Long userId);
 
     void pingKuUnShelves(CombParam combParam, Long userId);
+
+    List<CodeDataParam> getData(Map<String, Object> token, CodeParam codeParam);
+
+
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlReportLogService.java b/src/main/java/com/zy/asrs/service/OrderDetlReportLogService.java
new file mode 100644
index 0000000..337cbb7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderDetlReportLogService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderDetlReportLog;
+
+public interface OrderDetlReportLogService extends IService<OrderDetlReportLog> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlReportService.java b/src/main/java/com/zy/asrs/service/OrderDetlReportService.java
new file mode 100644
index 0000000..37502d9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderDetlReportService.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlReport;
+
+import java.util.List;
+
+public interface OrderDetlReportService extends IService<OrderDetlReport> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
index 9be4095..4b18a02 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -172,6 +172,45 @@
             manLocDetl.setUnit(mat.getUnit());
             manLocDetl.setBarcode(mat.getBarcode());
             manLocDetl.setPrice(mat.getPrice());
+            manLocDetl.setDanger(locDetlAdjust.getDanger());
+            SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme());
+            this.baseMapper.insert(manLocDetl);
+        }
+    }
+
+    @Transactional
+    @Override
+    public void adjustLocDetl2(LocDetlAdjustParam param, Long userId) {
+        Date now = new Date();
+        this.baseMapper.delete(new EntityWrapper<ManLocDetl>()
+                .eq("loc_no", param.getLocNo()));
+        for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) {
+            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+                    .eq("matnr", locDetlAdjust.getMatnr()));
+            if (mat == null) {
+                throw new CoolException("鏃犳硶鎵惧埌闇�瑕佽皟鏁寸殑鐗╂枡,璇疯仈绯荤鐞嗗憳");
+            }
+            Node node = nodeService.selectOne(new EntityWrapper<Node>()
+                    .eq("uuid", param.getLocNo()));
+            if (node == null) {
+                throw new CoolException("鏃犳硶鎵惧埌闇�瑕佽皟鏁寸殑搴撲綅,璇疯仈绯荤鐞嗗憳");
+
+            }
+            ManLocDetl manLocDetl = new ManLocDetl();
+            manLocDetl.setLocNo(param.getLocNo());
+            manLocDetl.setNodeId(node.getId());
+            manLocDetl.setZpallet(mat.getBarcode());
+            manLocDetl.setAnfme(locDetlAdjust.getCount());
+            manLocDetl.setMatnr(mat.getMatnr());
+            manLocDetl.setMaktx(mat.getMaktx());
+            manLocDetl.setName(mat.getName());
+            manLocDetl.setSpecs(mat.getSpecs());
+            manLocDetl.setModel(mat.getModel());
+            manLocDetl.setBatch(locDetlAdjust.getBatch());
+            manLocDetl.setUnit(mat.getUnit());
+            manLocDetl.setBarcode(mat.getBarcode());
+            manLocDetl.setPrice(mat.getPrice());
+            manLocDetl.setDanger(locDetlAdjust.getDanger());
             SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme());
             this.baseMapper.insert(manLocDetl);
         }
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 e931c08..e9f38e3 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -11,10 +11,13 @@
 import com.zy.asrs.mapper.BasDevpMapper;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.third.CodeDataParam;
+import com.zy.asrs.third.CodeParam;
+import com.zy.asrs.third.MesResponse;
+import com.zy.asrs.third.TokenUtils;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.constant.AgvSiteConstant;
 import com.zy.common.constant.ApiInterfaceConstant;
-import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.DetlDto;
 import com.zy.common.model.MesCombParam;
@@ -22,10 +25,12 @@
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -84,6 +89,12 @@
     @Resource
     private BasDevpMapper basDevpMapper;
 
+    @Value("mes.url")
+    private String url;
+
+    @Value("mes.pakin")
+    private String code;
+
     @Override
     public R inLocCallAgv(String sta, String inSta) {
 
@@ -108,7 +119,7 @@
             default:
         }
         int count = wrkMastService.selectCount(wrapper);
-        log.info("鍏ュ簱鍛煎彨agv鍛煎彨绔欑偣锛歿}锛岀洰鏍囩珯鐐癸細{},鍑哄簱浠诲姟鏁帮細{}",sta,inSta,count);
+        log.info("鍏ュ簱鍛煎彨agv鍛煎彨绔欑偣锛歿}锛岀洰鏍囩珯鐐癸細{},鍑哄簱浠诲姟鏁帮細{}", sta, inSta, count);
         if (count != 0) {
             return R.parse(inSta + "绔欑偣瀛樺湪鍑哄簱浠诲姟");
         }
@@ -180,10 +191,10 @@
             return R.parse("娌℃湁鎵惧埌璇ョ珯鐐圭殑鍏ュ簱鏄犲皠锛�" + site);
         }
         JSONObject jsonObject = new JSONObject();
-        jsonObject.put("reqCode",UUID.randomUUID().toString().replace("-", "")); // 璇锋眰鍞竴鍊�
-        jsonObject.put("ctnrTyp","2"); // 瀹瑰櫒绫诲瀷2
-        jsonObject.put("stgBinCode",staMap); // 浠撲綅缂栧彿锛屾牴鎹浠撶紪鍙疯浆鎹�
-        jsonObject.put("indBind","0"); // 1缁戝畾锛�0瑙g粦
+        jsonObject.put("reqCode", UUID.randomUUID().toString().replace("-", "")); // 璇锋眰鍞竴鍊�
+        jsonObject.put("ctnrTyp", "2"); // 瀹瑰櫒绫诲瀷2
+        jsonObject.put("stgBinCode", staMap); // 浠撲綅缂栧彿锛屾牴鎹浠撶紪鍙疯浆鎹�
+        jsonObject.put("indBind", "0"); // 1缁戝畾锛�0瑙g粦
 
         String body = jsonObject.toJSONString();
         String response = "";
@@ -227,14 +238,14 @@
     private boolean bindPodAndBerth(String sta) {
         String staMap = AgvSiteConstant.SiteMap.get(sta);
         if (staMap == null) {
-            log.error("娌℃湁鎵惧埌璇ョ珯鐐圭殑鍏ュ簱鏄犲皠:{}",sta);
+            log.error("娌℃湁鎵惧埌璇ョ珯鐐圭殑鍏ュ簱鏄犲皠:{}", sta);
             return false;
         }
         JSONObject jsonObject = new JSONObject();
-        jsonObject.put("reqCode",UUID.randomUUID().toString().replace("-", "")); // 璇锋眰鍞竴鍊�
-        jsonObject.put("ctnrTyp","2"); // 瀹瑰櫒绫诲瀷2
-        jsonObject.put("stgBinCode",staMap); // 浠撲綅缂栧彿锛屾牴鎹浠撶紪鍙疯浆鎹�
-        jsonObject.put("indBind","1"); // 1缁戝畾锛�0瑙g粦
+        jsonObject.put("reqCode", UUID.randomUUID().toString().replace("-", "")); // 璇锋眰鍞竴鍊�
+        jsonObject.put("ctnrTyp", "2"); // 瀹瑰櫒绫诲瀷2
+        jsonObject.put("stgBinCode", staMap); // 浠撲綅缂栧彿锛屾牴鎹浠撶紪鍙疯浆鎹�
+        jsonObject.put("indBind", "1"); // 1缁戝畾锛�0瑙g粦
 
         String body = jsonObject.toJSONString();
         String response = "";
@@ -279,7 +290,7 @@
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
         }
-        if(param.getCombMats().size()>1){
+        if (param.getCombMats().size() > 1) {
             throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
         }
         param.getCombMats().forEach(elem -> {
@@ -287,17 +298,17 @@
             if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                     eq("zpallet", param.getBarcode())
                     .eq("io_status", "N")
-                    .eq("matnr",elem.getMatnr()).eq("batch",elem.getBatch())) > 0) {
+                    .eq("matnr", elem.getMatnr()).eq("batch", elem.getBatch())) > 0) {
                 throw new CoolException(param.getBarcode() + "宸叉湁鐩稿悓鏁版嵁");
             }
         });
 
-        if(param.getBarcode().length()!=8){
+        if (param.getBarcode().length() != 8) {
             throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
         }
 
-        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
-        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
 //        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
         if (countLoc > 0 || countWrk > 0) {
             throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
@@ -316,7 +327,7 @@
                 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                         eq("zpallet", param.getBarcode())
                         .eq("io_status", "N")
-                        .eq("matnr",elem.getMatnr()).eq("batch",elem.getBatch())) > 0) {
+                        .eq("matnr", elem.getMatnr()).eq("batch", elem.getBatch())) > 0) {
                     throw new CoolException(param.getBarcode() + "宸叉湁鐩稿悓鏁版嵁");
                 }
 
@@ -351,7 +362,7 @@
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
             }
-        // 鍏宠仈缁勬墭
+            // 鍏宠仈缁勬墭
         } else {
             Order order = orderService.selectByNo(param.getOrderNo());
             if (Cools.isEmpty(order) || order.getSettle() > 2) {
@@ -360,9 +371,27 @@
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
 
+            List<String> codes=new ArrayList<>();
             for (CombParam.CombMat elem : param.getCombMats()) {
+                codes.add(elem.getThreeCode());
+            }
+            List<CodeDataParam> data = getData(TokenUtils.getToken(url), new CodeParam(codes));
+            List<CombParam.CombMat> combMats = param.getCombMats();
+            for (int i = 0; i < data.size(); i++) {
 
-
+                //}
+                //for (CombParam.CombMat elem : param.getCombMats()) {
+                CombParam.CombMat elem = combMats.get(i);
+                CodeDataParam codeDataParam = data.get(i);
+                if (!codeDataParam.getQuality().equals(order.getShipCode())) {
+                    throw new CoolException("鍗曟嵁璐ㄩ噺鐘舵�佸拰缁勬墭鐗╂枡涓嶅尮閰�");
+                }
+                elem.setTemp1(codeDataParam.getQuality());
+                elem.setAnfme(codeDataParam.getQty());
+                elem.setBatch(codeDataParam.getBatchNum());
+                elem.setThreeCode(codeDataParam.getBarcode());
+                elem.setMatnr(codeDataParam.getProductionCode());
+                elem.setMaktx(codeDataParam.getProductionName());
 //            param.getCombMats().forEach(elem -> {
 
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
@@ -379,8 +408,10 @@
                 }
 
 //                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getManu());
-                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getSuppCode()
-                        , orderDetl.getManu(),orderDetl.getSku(),orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2(),orderDetl.getTemp3(),orderDetl.getTemp4());
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getThreeCode()
+                        , orderDetl.getManu(), orderDetl.getSku(), orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2(), orderDetl.getTemp3(), orderDetl.getTemp4());
+                detlDto.setTemp1(codeDataParam.getQuality());
+                detlDto.setFromOrderNo(codeDataParam.getBarcode());
                 if (DetlDto.has(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                     assert one != null;
@@ -407,17 +438,17 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
+                waitPakin.setDanger(detlDto.getDanger());
                 waitPakin.setManu(detlDto.getMark()); //鏍囪
                 waitPakin.setOrigin(order.getItemName());//浠撳簱
                 waitPakin.setSupp(detlDto.getSuppName()); //渚涘簲鍟�
                 waitPakin.setSku(detlDto.getCustomer()); //瀹㈡埛鍚嶇О
-                waitPakin.setThreeCode(detlDto.getOrderNo()); //u8鍙戣繃鏉ョ殑璁㈠崟鍙�
-                waitPakin.setSuppCode(detlDto.getFromOrderNo()); //鏉ユ簮鍗曞彿
+                waitPakin.setThreeCode(detlDto.getFromOrderNo()); //鏉$爜
                 waitPakin.setTemp1(detlDto.getTemp1());
                 waitPakin.setTemp2(detlDto.getTemp2());
                 waitPakin.setTemp3(detlDto.getTemp3());
                 waitPakin.setTemp4(detlDto.getTemp4());
-                int countWrk2 = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+                int countWrk2 = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
                 if (countWrk2 > 0) {
                     throw new CoolException("宸ヤ綔妗f潯鐮佹暟鎹凡瀛樺湪===>>" + param.getBarcode());
                 }
@@ -430,6 +461,27 @@
 
     }
 
+
+    public List<CodeDataParam> getData(Map<String, Object> token, CodeParam codeParam) {
+        String response = null;
+        try {
+            response = new HttpHandler.Builder()
+                    .setHeaders(token)
+                    .setUri(url)
+                    .setPath(code)
+                    .setJson(JSON.toJSONString(codeParam))
+                    .build()
+                    .doPost();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        MesResponse jsonObject = JSON.parseObject(response, MesResponse.class);
+        if (jsonObject.getCode().equals(200)) {
+            return JSON.parseArray(jsonObject.getData(), CodeDataParam.class);
+        }
+        throw new CoolException(jsonObject.getMessage());
+    }
+
     @Override
     @Transactional
     public void mergeComb(CombParam param, Long userId) {
@@ -437,7 +489,7 @@
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
         }
-        if(param.getCombMats().stream().anyMatch(obj -> obj.getAnfme() == null)){
+        if (param.getCombMats().stream().anyMatch(obj -> obj.getAnfme() == null)) {
             throw new CoolException("鍏ュ簱鐗╂枡鏁伴噺涓嶈兘涓虹┖");
         }
         Order order = orderService.selectByNo(param.getOrderNo());
@@ -451,15 +503,15 @@
             throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
         }
 
-        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
+        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
         WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
-        if (wrkMast.getWrkSts() != 14 && wrkMast.getIoType() != 104){
+        if (wrkMast.getWrkSts() != 14 && wrkMast.getIoType() != 104) {
             throw new CoolException(param.getBarcode() + "璇ユ潯鐮佹暟鎹笉涓哄苟鏉垮嚭搴�");
         }
 
         //璁剧疆闈瀗ull鎵瑰彿锛�
         for (CombParam.CombMat combMat : param.getCombMats()) {
-            if (combMat.getBatch() == null){
+            if (combMat.getBatch() == null) {
                 combMat.setBatch("");
             }
         }
@@ -501,9 +553,6 @@
         }
 
 
-
-
-
     }
 
     // 鍟嗗搧涓婃灦
@@ -518,15 +567,15 @@
         }
 
         // 鑾峰彇鍟嗗搧鍒楄〃
-        for(CombParam.CombMat combMat : param.getCombMats()){
+        for (CombParam.CombMat combMat : param.getCombMats()) {
             Mat mat = matService.selectByMatnr(combMat.getMatnr());
-            if (Cools.isEmpty(mat)){
+            if (Cools.isEmpty(mat)) {
                 throw new CoolException(combMat.getMatnr() + ":鍟嗗搧妗f涓嶅瓨鍦紒");
             }
-            if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme()==0){
+            if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme() == 0) {
                 throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�");
             }
-            if (Cools.isEmpty(combMat.getBatch())){
+            if (Cools.isEmpty(combMat.getBatch())) {
 //                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�");
             }
             ManLocDetl manLocDetl = new ManLocDetl();
@@ -547,16 +596,16 @@
     @Override
     public void offSale(OffSaleParam offSaleParam) {
         ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
-        if (Cools.isEmpty(manLocDetl)){
+        if (Cools.isEmpty(manLocDetl)) {
             throw new CoolException("鏃犳鍟嗗搧锛�");
         }
         double anfme = manLocDetl.getAnfme() - offSaleParam.getAnfme();
         if (anfme < 0) {
             throw new CoolException("鍟嗗搧搴撳瓨涓嶈冻锛�");
-        } else if (anfme == 0){
+        } else if (anfme == 0) {
             manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
         }
-        manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId());
+        manLocDetlMapper.updateAnfme0(anfme, manLocDetl.getNodeId());
     }
 
     // 鏌ユ壘鍟嗗搧
@@ -615,7 +664,9 @@
 
         // 娣诲姞鏄庣粏
         for (WrkDetl wrkDetl : list) {
-            if (wrkDetl.getAnfme() == 0.0D) { continue; }
+            if (wrkDetl.getAnfme() == 0.0D) {
+                continue;
+            }
             // todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
             String orderNo = wrkDetl.getOrderNo();
             Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
@@ -631,7 +682,7 @@
         }
 
         // 淇敼鐩樼偣浠诲姟涓绘。鐘舵��
-        wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0?"Y":"N");
+        wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0 ? "Y" : "N");
         wrkMast.setModiTime(now);
         wrkMast.setModiUser(userId);
         if (!wrkMastService.updateById(wrkMast)) {
@@ -697,40 +748,40 @@
                 }
                 String response = "";
                 boolean success = false;
-                try {
-                    response = new HttpHandler.Builder()
-                            .setUri(MesConstant.URL)
-                            .setPath(MesConstant.PACK_DOWN_URL)
-                            .setJson(JSON.toJSONString(mesCombParam))
-                            .build()
-                            .doPost();
-                    JSONObject jsonObject = JSON.parseObject(response);
-                    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);
-                        throw new CoolException(jsonObject.getString("msg"));
-                    } else {
-                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
-                        throw new CoolException("涓婃姤mes绯荤粺澶辫触");
-                    }
-                } catch (Exception e) {
-                    log.error("fail", e);
-                    throw new CoolException(e.getMessage());
-                } finally {
-                    try {
-                        // 淇濆瓨鎺ュ彛鏃ュ織
-                        apiLogService.save(
-                                "鎵撳寘涓嬬嚎甯墭涓婃姤",
-                                MesConstant.URL + MesConstant.PACK_DOWN_URL,
-                                null,
-                                "127.0.0.1",
-                                JSON.toJSONString(mesCombParam),
-                                response,
-                                success
-                        );
-                    } catch (Exception e) { log.error("", e); }
-                }
+//                try {
+//                    response = new HttpHandler.Builder()
+//                            .setUri(url)
+//                            .setPath(code)
+//                            .setJson(JSON.toJSONString(mesCombParam))
+//                            .build()
+//                            .doPost();
+//                    JSONObject jsonObject = JSON.parseObject(response);
+//                    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);
+//                        throw new CoolException(jsonObject.getString("msg"));
+//                    } else {
+//                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+//                        throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+//                    }
+//                } catch (Exception e) {
+//                    log.error("fail", e);
+//                    throw new CoolException(e.getMessage());
+//                } finally {
+//                    try {
+//                        // 淇濆瓨鎺ュ彛鏃ュ織
+//                        apiLogService.save(
+//                                "鎵撳寘涓嬬嚎甯墭涓婃姤",
+//                                MesConstant.URL + MesConstant.PACK_DOWN_URL,
+//                                null,
+//                                "127.0.0.1",
+//                                JSON.toJSONString(mesCombParam),
+//                                response,
+//                                success
+//                        );
+//                    } catch (Exception e) { log.error("", e); }
+//                }
 
             }
 
@@ -740,7 +791,7 @@
             openParam.setOrderNo(orderNo);
             openParam.setInboundDate(DateUtils.convert(now));
             openParam.setOrderType("鎵撳寘鍏ュ簱鍗�");
-            openParam.setOrderDetails(detlDtos);
+            openParam.setDetails(detlDtos);
             openService.pakinOrderCreate(openParam);
             Order order = orderService.selectByNo(orderNo);
             if (null == order) {
@@ -806,19 +857,19 @@
         BasDevp sta = basDevpService.checkSiteStatus(staNo);
         //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。
         Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo));
-        if (order.getSettle() != 1 && order.getSettle() != 2){
+        if (order.getSettle() != 1 && order.getSettle() != 2) {
             throw new CoolException("璇ヨ鍗曞凡澶勭悊");
         }
 
         List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
         Date now = new Date();
-        for(OrderDetl orderDetl : orderDetls){
+        for (OrderDetl orderDetl : orderDetls) {
             //鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭�
-            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch(),null,null,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2());
+            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, null, orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2());
             if (locDetls.size() == 0) {
                 throw new CoolException("搴撳瓨涓病鏈夎鐗╂枡");
             }
-            for(LocDetl locDetl : locDetls){
+            for (LocDetl locDetl : locDetls) {
                 //濡傛灉璇ュ簱浣嶅嚭搴撹矾绾挎墍鐢ㄧ殑鍫嗗灈鏈簅ut_enable涓嶄负Y,璺宠繃璇ュ惊鐜�
                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                         .eq("loc_no", locDetl.getLocNo()));
@@ -827,13 +878,13 @@
                 }
                 BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
                         .eq("crn_no", locMast.getCrnNo()));
-                if (Cools.isEmpty(crn_no) || !crn_no.getOutEnable().equals("Y")){
+                if (Cools.isEmpty(crn_no) || !crn_no.getOutEnable().equals("Y")) {
                     continue;
                 }
 
                 //鍙嚭搴撴暟閲� = 璁㈠崟鏁伴噺 - 浣滀笟涓暟閲�
                 Double outQty = orderDetl.getAnfme() - orderDetl.getWorkQty();
-                if(outQty <= 0){
+                if (outQty <= 0) {
                     break;
                 }
                 // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
@@ -845,18 +896,18 @@
                 order.setSettle(2L);
                 order.setUpdateBy(userId);
                 order.setUpdateTime(now);
-                if(!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))){
+                if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))) {
                     throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�");
                 }
                 orderDetl.setWorkQty(orderDetl.getWorkQty() + curOutQty);
                 orderDetl.setUpdateBy(userId);
                 orderDetl.setUpdateTime(now);
                 Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo)
-                        .eq("matnr",orderDetl.getMatnr());
-                if(!Cools.isEmpty(orderDetl.getBatch())){
+                        .eq("matnr", orderDetl.getMatnr());
+                if (!Cools.isEmpty(orderDetl.getBatch())) {
                     wrapper.eq("batch", orderDetl.getBatch());
                 }
-                if(!orderDetlService.update(orderDetl, wrapper)){
+                if (!orderDetlService.update(orderDetl, wrapper)) {
                     throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
                 }
             }
@@ -866,13 +917,13 @@
 
     @Override
 //    @Transactional
-    public void leftoversOut(Map<String, Object> map,Long userId) {
+    public void leftoversOut(Map<String, Object> map, Long userId) {
         String barcode = map.get("barcode").toString();
         String barcode2 = map.get("barcode2").toString();
 
-        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",barcode2));
-        int countWrk = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode",barcode2).ne("io_type",200));
-        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",barcode2));
+        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", barcode2));
+        int countWrk = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", barcode2).ne("io_type", 200));
+        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", barcode2));
         if (countLoc > 0 || countWrk > 0 || countwait > 0) {
             throw new CoolException("璇ユ潯鐮佸凡琚娇鐢�===>>" + barcode2);
         }
@@ -917,7 +968,7 @@
             throw new CoolException("鏈煡璇㈠埌鎷f枡浠诲姟鏄庣粏");
         }
 
-        for(WrkDetl wrkDetl : wrkDetls){
+        for (WrkDetl wrkDetl : wrkDetls) {
             WrkDetl wrkDetl1 = new WrkDetl();
             wrkDetl1.sync(wrkDetl);
             wrkDetl1.setWrkNo(workNo);
@@ -925,33 +976,31 @@
         }
 
 
-
     }
 
     @Override
     public void pdaAdjust(pdaAdjustParam param, Long userId) {
-        if (Cools.isEmpty(param)){
+        if (Cools.isEmpty(param)) {
             throw new CoolException("鐩樼偣鍒楄〃鍙傛暟涓虹┖");
         }
-        for (InventoryCheckOrderDetl orderDetl: param.getParam()){
+        for (InventoryCheckOrderDetl orderDetl : param.getParam()) {
             InventoryCheckOrderDetl inventoryCheckOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>()
                     .eq("order_no", orderDetl.getOrderNo())
                     .eq("matnr", orderDetl.getMatnr())
                     .eq("batch", orderDetl.getBatch()));
-            if (Cools.isEmpty(inventoryCheckOrderDetl)){
+            if (Cools.isEmpty(inventoryCheckOrderDetl)) {
                 throw new CoolException("鏈煡璇㈠埌鐩樼偣淇℃伅");
             }
-            if (!inventoryCheckOrderDetl.getStatus().equals("1")){
+            if (!inventoryCheckOrderDetl.getStatus().equals("1")) {
                 throw new CoolException("璇ヤ换鍔″凡鐩樼偣");
             }
             inventoryCheckOrderDetl.setCheckAnfme(orderDetl.getCheckAnfme());
             inventoryCheckOrderDetl.setStatus("2");
-            if (!checkOrderDetlService.updateById(inventoryCheckOrderDetl)){
+            if (!checkOrderDetlService.updateById(inventoryCheckOrderDetl)) {
                 throw new CoolException("淇濆瓨鐩樼偣淇℃伅澶辫触!");
             }
 
         }
-
 
 
     }
@@ -959,26 +1008,26 @@
     @Override
     @Transactional
     public void inventoryUpload(String orderId) {
-        if (Cools.isEmpty(orderId)){
+        if (Cools.isEmpty(orderId)) {
             throw new CoolException("鐩樼偣鍗昳d涓虹┖");
         }
         InventoryCheckOrder inventoryCheckOrder = checkOrderService.selectById(orderId);
-        if (Cools.isEmpty(inventoryCheckOrder)){
+        if (Cools.isEmpty(inventoryCheckOrder)) {
             throw new CoolException("鏈壘鍒扮洏鐐瑰崟");
         }
-        if (inventoryCheckOrder.getStatus().equals("2")){
+        if (inventoryCheckOrder.getStatus().equals("2")) {
             throw new CoolException("鐩樼偣鍗曞凡鎻愪氦");
         }
         int count = checkOrderDetlService.selectCount(new EntityWrapper<InventoryCheckOrderDetl>()
                 .eq("order_no", inventoryCheckOrder.getOrderNo()).isNull("check_anfme"));
-        if (count>0){
+        if (count > 0) {
             throw new CoolException("鏈夋湭瀹屾垚鐨勭洏鐐逛换鍔�");
         }
 
         List<InventoryCheckOrderDetl> checkOrderProfitDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
                 .eq("order_no", inventoryCheckOrder.getOrderNo())
                 .addFilter("anfme < check_anfme"));
-        if (!checkOrderProfitDetls.isEmpty()){
+        if (!checkOrderProfitDetls.isEmpty()) {
             //鑾峰彇鐩樼泩鍗昿aram
             InventoryErpParam erpProfitParam = getErpProfitParam(inventoryCheckOrder, checkOrderProfitDetls);
             uploadErp(erpProfitParam);
@@ -988,27 +1037,25 @@
                 .eq("order_no", inventoryCheckOrder.getOrderNo())
                 .addFilter("anfme > check_anfme"));
 
-        if (!checkOrderDeficitDetls.isEmpty()){
+        if (!checkOrderDeficitDetls.isEmpty()) {
             //鑾峰彇鐩樹簭鍗昿aram
             InventoryErpParam erpDeficitParam = getErpDeficitParam(inventoryCheckOrder, checkOrderDeficitDetls);
             uploadErp(erpDeficitParam);
         }
 
         inventoryCheckOrder.setStatus("2");
-        if (!checkOrderService.updateById(inventoryCheckOrder)){
+        if (!checkOrderService.updateById(inventoryCheckOrder)) {
             throw new CoolException("鐘舵�佹洿鏂板け璐�");
         }
-
-
 
 
     }
 
     @Override
     @Transactional
-    public void pingKuShelves(CombParam combParam,Long userId) {
+    public void pingKuShelves(CombParam combParam, Long userId) {
         Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", combParam.getLocno()).eq("type", 3));
-        if (Cools.isEmpty(node)){
+        if (Cools.isEmpty(node)) {
             throw new CoolException("鏈壘鍒板簱浣嶄俊鎭�");
         }
 
@@ -1038,8 +1085,8 @@
             }
 
 //                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getManu());
-            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getSuppCode()
-                    , orderDetl.getManu(),orderDetl.getSku(),orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2(),orderDetl.getTemp3(),orderDetl.getTemp4());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), orderDetl.getSuppCode()
+                    , orderDetl.getManu(), orderDetl.getSku(), orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2(), orderDetl.getTemp3(), orderDetl.getTemp4());
             if (DetlDto.has(detlDtos, detlDto)) {
                 DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                 assert one != null;
@@ -1113,12 +1160,12 @@
         String orderNo = combParam.getOrderNo();
 
         Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", combParam.getLocno()).eq("type", 3));
-        if (Cools.isEmpty(node)){
+        if (Cools.isEmpty(node)) {
             throw new CoolException("鏈壘鍒板簱浣嶄俊鎭�");
         }
         //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。
         Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo));
-        if (order.getSettle() != 1 && order.getSettle() != 2){
+        if (order.getSettle() != 1 && order.getSettle() != 2) {
             throw new CoolException("璇ヨ鍗曞凡澶勭悊");
         }
         List<DetlDto> detlDtos = new ArrayList<>();
@@ -1128,10 +1175,10 @@
                     .eq("temp3", elem.getSupp()).eq("temp1", elem.getTemp1()).eq("temp2", elem.getTemp2());
             ManLocDetl manLocDetl = manLocDetlService.selectOne(manLocDetlWrapper);
 
-            if (Cools.isEmpty(manLocDetl)){
+            if (Cools.isEmpty(manLocDetl)) {
                 throw new CoolException("璇ュ簱浣嶆湭鏌ヨ鍒拌揣鐗╀俊鎭�");
             }
-            if (elem.getAnfme()> manLocDetl.getAnfme()){
+            if (elem.getAnfme() > manLocDetl.getAnfme()) {
                 throw new CoolException("鍑哄簱鏁伴噺澶т簬搴撲綅鍓╀綑鏁伴噺");
             }
 
@@ -1147,8 +1194,8 @@
                 throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
             }
 
-            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getSuppCode()
-                    , orderDetl.getManu(),orderDetl.getSku(),orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2(),orderDetl.getTemp3(),orderDetl.getTemp4());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), orderDetl.getSuppCode()
+                    , orderDetl.getManu(), orderDetl.getSku(), orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2(), orderDetl.getTemp3(), orderDetl.getTemp4());
 
 
             int workNo = commonService.getWorkNo(4);
@@ -1204,17 +1251,14 @@
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
             }
 
-            if (new BigDecimal(manLocDetl.getAnfme()).subtract(new BigDecimal(elem.getAnfme())).doubleValue() == 0){
+            if (new BigDecimal(manLocDetl.getAnfme()).subtract(new BigDecimal(elem.getAnfme())).doubleValue() == 0) {
                 manLocDetlService.delete(manLocDetlWrapper);
-            }else {
+            } else {
                 manLocDetl.setAnfme(new BigDecimal(manLocDetl.getAnfme()).subtract(new BigDecimal(elem.getAnfme())).doubleValue());
-                if (!manLocDetlService.update(manLocDetl,manLocDetlWrapper)) {
+                if (!manLocDetlService.update(manLocDetl, manLocDetlWrapper)) {
                     throw new CoolException("鏇存柊鏄庣粏澶辫触");
                 }
             }
-
-
-
 
 
         }
@@ -1223,49 +1267,49 @@
 
     }
 
-    public void uploadErp(InventoryErpParam param){
-        String response = "";
-        boolean success = false;
-        try {
-            HashMap<String, Object> headers = new HashMap<>();
-            headers.put("Content-Type", "application/json");
-            response = new HttpHandler.Builder()
-                    .setHeaders(headers)
-                    .setUri("10.0.100.160:30108")
-                    .setPath("web/apps/gongqi.df.dataTrans/DTInterFace/doJobWithupdateBody")
-                    .setJson(JSON.toJSONString(param))
-                    .build()
-                    .doPost();
-            JSONObject jsonObject = JSON.parseObject(response);
-            if (jsonObject.getInteger("errcode").equals(0)) {
-                success = true;
-            } else if (jsonObject.getInteger("errcode").equals(1)) {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(param), response);
-                throw new CoolException(jsonObject.getString("msg"));
-            } else {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(param), response);
-                throw new CoolException("涓婃姤mes绯荤粺澶辫触");
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
-            throw new CoolException(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "鐩樼偣鍗曚笂鎶�",
-                        MesConstant.URL + MesConstant.PACK_DOWN_URL,
-                        null,
-                        "127.0.0.1",
-                        JSON.toJSONString(param),
-                        response,
-                        success
-                );
-            } catch (Exception e) { log.error("", e); }
-        }
+    public void uploadErp(InventoryErpParam param) {
+//        String response = "";
+//        boolean success = false;
+//        try {
+//            HashMap<String, Object> headers = new HashMap<>();
+//            headers.put("Content-Type", "application/json");
+//            response = new HttpHandler.Builder()
+//                    .setHeaders(headers)
+//                    .setUri("10.0.100.160:30108")
+//                    .setPath("web/apps/gongqi.df.dataTrans/DTInterFace/doJobWithupdateBody")
+//                    .setJson(JSON.toJSONString(param))
+//                    .build()
+//                    .doPost();
+//            JSONObject jsonObject = JSON.parseObject(response);
+//            if (jsonObject.getInteger("errcode").equals(0)) {
+//                success = true;
+//            } else if (jsonObject.getInteger("errcode").equals(1)) {
+//                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(param), response);
+//                throw new CoolException(jsonObject.getString("msg"));
+//            } else {
+//                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(param), response);
+//                throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+//            }
+//        } catch (Exception e) {
+//            log.error("fail", e);
+//            throw new CoolException(e.getMessage());
+//        } finally {
+//            try {
+//                // 淇濆瓨鎺ュ彛鏃ュ織
+//                apiLogService.save(
+//                        "鐩樼偣鍗曚笂鎶�",
+//                        url ,
+//                        null,
+//                        "127.0.0.1",
+//                        JSON.toJSONString(param),
+//                        response,
+//                        success
+//                );
+//            } catch (Exception e) { log.error("", e); }
+//        }
     }
 
-    public InventoryErpParam getErpProfitParam(InventoryCheckOrder inventoryCheckOrder,List<InventoryCheckOrderDetl> checkOrderProfitDetls) {
+    public InventoryErpParam getErpProfitParam(InventoryCheckOrder inventoryCheckOrder, List<InventoryCheckOrderDetl> checkOrderProfitDetls) {
         Date date = new Date();
         InventoryErpParam erpProfitParam = new InventoryErpParam();
         InventoryErpParam.DataJson dataJson = new InventoryErpParam.DataJson();
@@ -1278,7 +1322,7 @@
         updateJson.setOrderNo(inventoryCheckOrder.getOrderNo());
         updateJson.setDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
         List<InventoryErpParam.MatDetails> matDetails = new ArrayList<>();
-        for (InventoryCheckOrderDetl checkOrderProfitDetl: checkOrderProfitDetls){
+        for (InventoryCheckOrderDetl checkOrderProfitDetl : checkOrderProfitDetls) {
             InventoryErpParam.MatDetails matDetail = new InventoryErpParam.MatDetails();
 
             Mat mat = matService.selectByMatnr(checkOrderProfitDetl.getMatnr());
@@ -1290,7 +1334,7 @@
             matDetail.setAnfme(anfme);
             matDetail.setLocNo(checkOrderProfitDetl.getLocNo());
             matDetail.setWarehouse(checkOrderProfitDetl.getArea());
-            matDetail.setSeq(updateJson.getMatDetails() == null?1:updateJson.getMatDetails().size()+1);
+            matDetail.setSeq(updateJson.getMatDetails() == null ? 1 : updateJson.getMatDetails().size() + 1);
             matDetails.add(matDetail);
         }
         updateJson.setMatDetails(matDetails);
@@ -1299,7 +1343,7 @@
         return erpProfitParam;
     }
 
-    public InventoryErpParam getErpDeficitParam(InventoryCheckOrder inventoryCheckOrder,List<InventoryCheckOrderDetl> checkOrderDeficitDetls) {
+    public InventoryErpParam getErpDeficitParam(InventoryCheckOrder inventoryCheckOrder, List<InventoryCheckOrderDetl> checkOrderDeficitDetls) {
         Date date = new Date();
         InventoryErpParam erpDeficitParam = new InventoryErpParam();
         InventoryErpParam.DataJson dataJson = new InventoryErpParam.DataJson();
@@ -1312,7 +1356,7 @@
         updateJson2.setOrderNo(inventoryCheckOrder.getOrderNo());
         updateJson2.setDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
         List<InventoryErpParam.MatDetails> matDetails = new ArrayList<>();
-        for (InventoryCheckOrderDetl checkOrderDeficitDetl: checkOrderDeficitDetls){
+        for (InventoryCheckOrderDetl checkOrderDeficitDetl : checkOrderDeficitDetls) {
             InventoryErpParam.MatDetails matDetail = new InventoryErpParam.MatDetails();
 
             Mat mat = matService.selectByMatnr(checkOrderDeficitDetl.getMatnr());
@@ -1324,7 +1368,7 @@
             matDetail.setAnfme(anfme);
             matDetail.setLocNo(checkOrderDeficitDetl.getLocNo());
             matDetail.setWarehouse(checkOrderDeficitDetl.getArea());
-            matDetail.setSeq(updateJson2.getMatDetails() == null?1:updateJson2.getMatDetails().size()+1);
+            matDetail.setSeq(updateJson2.getMatDetails() == null ? 1 : updateJson2.getMatDetails().size() + 1);
             matDetails.add(matDetail);
         }
         updateJson2.setMatDetails(matDetails);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index aff9cec..22ac4dc 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
-import com.core.common.DateUtils;
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
@@ -107,12 +106,13 @@
                 now,    // 淇敼鏃堕棿
                 null    // 澶囨敞
         );
+        order.setShipCode(param.getQuality());
         if (!orderService.insert(order)) {
             throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
         }
         // 鍗曟嵁鏄庣粏妗�
         List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getOrderDetails();
+        List<DetlDto> orderDetails = param.getDetails();
         for (DetlDto detail : orderDetails) {
             DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo()
                     , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4());
@@ -253,15 +253,17 @@
                 now,    // 淇敼鏃堕棿
                 null    // 澶囨敞
         );
+        order.setShipCode(param.getQuality());
         if (!orderService.insert(order)) {
             throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
         }
         // 鍗曟嵁鏄庣粏妗�
         List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getOrderDetails();
+        List<DetlDto> orderDetails = param.getDetails();
         for (DetlDto detail : orderDetails) {
             DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo()
                     , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4());
+            dto.setTemp1(param.getQuality());
             if (DetlDto.has(list, dto)) {
                 DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                 assert detlDto != null;
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlReportLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlReportLogServiceImpl.java
new file mode 100644
index 0000000..503b085
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlReportLogServiceImpl.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.OrderDetlReportLog;
+import com.zy.asrs.mapper.OrderDetlReportLogMapper;
+import com.zy.asrs.service.OrderDetlReportLogService;
+import org.springframework.stereotype.Service;
+
+@Service("orderDetlReportLogService")
+public class OrderDetlReportLogServiceImpl extends ServiceImpl<OrderDetlReportLogMapper, OrderDetlReportLog> implements OrderDetlReportLogService {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlReportServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlReportServiceImpl.java
new file mode 100644
index 0000000..ad87178
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlReportServiceImpl.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlReport;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.mapper.OrderDetlReportMapper;
+import com.zy.asrs.service.OrderDetlReportService;
+import com.zy.asrs.service.OrderDetlService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("orderDetlReportService")
+public class OrderDetlReportServiceImpl extends ServiceImpl<OrderDetlReportMapper, OrderDetlReport> implements OrderDetlReportService {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index f03b136..3fa481c 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -116,7 +116,7 @@
                 openParam.setOrderNo(orderNo);
                 openParam.setInboundDate(DateUtils.convert(wrkMast.getModiTime()));
                 openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
-                openParam.setOrderDetails(detlDtos);
+                openParam.setDetails(detlDtos);
                 openService.pakinOrderCreate(openParam);
             } else {
                 // 鐢熸垚鍑哄簱鍗曟嵁
@@ -124,7 +124,7 @@
                 openParam.setOrderNo(orderNo);
                 openParam.setInboundDate(DateUtils.convert(wrkMast.getModiTime()));
                 openParam.setOrderType("鎵嬪姩鍑哄簱鍗�");
-                openParam.setOrderDetails(detlDtos);
+                openParam.setDetails(detlDtos);
                 openService.pakoutOrderCreate(openParam);
             }
 
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
index 76ec280..adabcae 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -4,6 +4,10 @@
 import com.core.common.Cools;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlReport;
+import com.zy.asrs.entity.OrderDetlReportLog;
+import com.zy.asrs.service.OrderDetlReportLogService;
+import com.zy.asrs.service.OrderDetlReportService;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
@@ -22,6 +26,10 @@
     private OrderService orderService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderDetlReportLogService orderDetlReportLogService;
+    @Autowired
+    private OrderDetlReportService orderDetlReportService;
 
     public ReturnT<String> start(){
         List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
@@ -30,6 +38,13 @@
             List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
                     .eq("order_no", order.getOrderNo()));
             moveBoth(order,orderDetls);
+            List<OrderDetlReport> orderNo = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("orderNo", order.getOrderNo()));
+            for (OrderDetlReport orderDetlReport : orderNo){
+                OrderDetlReportLog log = new OrderDetlReportLog();
+                log.sync(orderDetlReport);
+                orderDetlReportLogService.insert(log);
+                orderDetlReportService.deleteById(orderDetlReport);
+            }
             log.info("宸插畬鎴愬崟鎹Щ鍔ㄨ嚦鍘嗗彶琛ㄦ垚鍔� =====>" +order);
         }
         return SUCCESS;
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 43b50b1..ade0620 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -2,29 +2,30 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 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.Order;
-import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlReport;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderDetlReportService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.constant.MesConstant;
+import com.zy.asrs.third.TokenUtils;
 import com.zy.common.model.MesPakinParam;
-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.beans.factory.annotation.Value;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by vincent on 2020/7/7
@@ -38,11 +39,17 @@
     @Autowired
     private OrderService orderService;
     @Autowired
-    private OrderDetlService orderDetlService;
+    private OrderDetlReportService orderDetlReportService;
     @Autowired
     private ApiLogService apiLogService;
     @Autowired
     private DocTypeService docTypeService;
+
+    @Value("mes.url")
+    private String url;
+
+    @Value("mes.pakin")
+    private String pakin;
 
     @Transactional
     public ReturnT<String> start(Order order) {
@@ -50,23 +57,32 @@
         if (null == docType) {
             return SUCCESS;
         }
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        List<OrderDetlReport> orderDetls = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("orderNo", order.getOrderNo()));
         // 鍏ュ簱瀹屾垚涓婃姤
         if (docType.getPakin() == 1) {
             MesPakinParam pakinParam = new MesPakinParam();
-            pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
-            pakinParam.setLgortFrom("5008");
-            pakinParam.setLgortTo("5006");
-            for (OrderDetl orderDetl : orderDetls) {
-                String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
-                pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+            pakinParam.setReceiptNumber(order.getOrderNo());
+            pakinParam.setReceiptType(order.getDocType$());
+            pakinParam.setCompleteInd("1");
+            for (OrderDetlReport orderDetl : orderDetls) {
+                MesPakinParam.Detl detl = new MesPakinParam.Detl();
+                detl.setQty(orderDetl.getAnfme());
+                detl.setBarcode(orderDetl.getThreeCode());
+                detl.setPalletBarcode(orderDetl.getBarcode());
+                detl.setProductionCode(orderDetl.getMatnr());
+                pakinParam.getBarcodeList().add(detl);
+            }
+            Map<String, Object> token = TokenUtils.getToken(url);
+            if (Cools.isEmpty(token)) {
+                return FAIL.setMsg("鑾峰彇token澶辫触");
             }
             String response = "";
             boolean success = false;
             try {
                 response = new HttpHandler.Builder()
-                        .setUri(MesConstant.URL)
-                        .setPath(MesConstant.PAKIN_URL)
+                        .setHeaders(token)
+                        .setUri(url)
+                        .setPath(pakin)
                         .setJson(JSON.toJSONString(pakinParam))
                         .build()
                         .doPost();
@@ -78,7 +94,7 @@
                         throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                     }
                 } else {
-                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
+                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url + pakin, JSON.toJSONString(pakinParam), response);
                     throw new CoolException("涓婃姤mes绯荤粺澶辫触");
                 }
             } catch (Exception e) {
@@ -90,70 +106,72 @@
                     // 淇濆瓨鎺ュ彛鏃ュ織
                     apiLogService.save(
                             "鎴愬搧搴撳叆搴撲笂鎶�",
-                            MesConstant.URL + MesConstant.PAKIN_URL,
+                            url +pakin,
                             null,
                             "127.0.0.1",
                             JSON.toJSONString(pakinParam),
                             response,
                             success
                     );
-                } catch (Exception e) { log.error("", e); }
+                } catch (Exception e) {
+                    log.error("", e);
+                }
             }
         }
         // 鍑哄簱瀹屾垚涓婃姤
-        if (docType.getPakout() == 1) {
-            MesPakoutParam pakoutParam = new MesPakoutParam();
-            pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�"));
-            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();
-                pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
-            }
-            String response = "";
-            boolean success = false;
-            try {
-                response = new HttpHandler.Builder()
-                        .setUri(MesConstant.URL)
-                        .setPath(MesConstant.PAKOUT_URL)
-                        .setJson(JSON.toJSONString(pakoutParam))
-                        .build()
-                        .doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
-                    success = true;
-                    // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
-                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                    }
-                } else {
-                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response);
-                    throw new CoolException("涓婃姤mes绯荤粺澶辫触");
-                }
-            } catch (Exception e) {
-                log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg(e.getMessage());
-            } finally {
-                try {
-                    // 淇濆瓨鎺ュ彛鏃ュ織
-                    apiLogService.save(
-                            "鎴愬搧搴撳嚭搴撲笂鎶�",
-                            MesConstant.URL + MesConstant.PAKOUT_URL,
-                            null,
-                            "127.0.0.1",
-                            JSON.toJSONString(pakoutParam),
-                            response,
-                            success
-                    );
-                } catch (Exception e) { log.error("", e); }
-            }
-        }
+//        if (docType.getPakout() == 1) {
+//            MesPakoutParam pakoutParam = new MesPakoutParam();
+//            pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�"));
+//            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();
+//                pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+//            }
+//            String response = "";
+//            boolean success = false;
+//            try {
+//                response = new HttpHandler.Builder()
+//                        .setUri(MesConstant.URL)
+//                        .setPath(MesConstant.PAKOUT_URL)
+//                        .setJson(JSON.toJSONString(pakoutParam))
+//                        .build()
+//                        .doPost();
+//                JSONObject jsonObject = JSON.parseObject(response);
+//                if (jsonObject.getInteger("code").equals(200)) {
+//                    success = true;
+//                    // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+//                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+//                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+//                    }
+//                } else {
+//                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response);
+//                    throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+//                }
+//            } catch (Exception e) {
+//                log.error("fail", e);
+////            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                return FAIL.setMsg(e.getMessage());
+//            } finally {
+//                try {
+//                    // 淇濆瓨鎺ュ彛鏃ュ織
+//                    apiLogService.save(
+//                            "鎴愬搧搴撳嚭搴撲笂鎶�",
+//                            MesConstant.URL + MesConstant.PAKOUT_URL,
+//                            null,
+//                            "127.0.0.1",
+//                            JSON.toJSONString(pakoutParam),
+//                            response,
+//                            success
+//                    );
+//                } catch (Exception e) { log.error("", e); }
+//            }
+//        }
         return SUCCESS;
     }
 
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 ba737c2..8f65b0f 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -37,6 +37,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private WorkService workService;
+    @Autowired
+    private OrderDetlReportService orderDetlReportService;
 
 //    private static final Map<Integer,Integer> sourceSite = new HashMap<>();
 //    static {
@@ -129,6 +131,11 @@
                                 return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
                         }
+                        if (!Cools.isEmpty(wrkDetl.getOrderNo())){
+                            OrderDetlReport orderDetlReport = new OrderDetlReport();
+                            orderDetlReport.sync(wrkDetl);
+                            orderDetlReportService.insert(orderDetlReport);
+                        }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
diff --git a/src/main/java/com/zy/asrs/third/CodeDataParam.java b/src/main/java/com/zy/asrs/third/CodeDataParam.java
new file mode 100644
index 0000000..fa112cc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/third/CodeDataParam.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.third;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class CodeDataParam implements Serializable {
+    private String barcode;
+    private String productionCode;
+    private String productionName;
+    private String productionStandard;
+    private String batchNum;
+    private Double qty;
+    private String quality;
+
+}
diff --git a/src/main/java/com/zy/asrs/third/CodeParam.java b/src/main/java/com/zy/asrs/third/CodeParam.java
new file mode 100644
index 0000000..d56181b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/third/CodeParam.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.third;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class CodeParam implements Serializable {
+    private List<String> barcodeList;
+
+    public CodeParam() {
+    }
+
+    public CodeParam(List<String> threeCodes) {
+        this.barcodeList = threeCodes;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/third/MesResponse.java b/src/main/java/com/zy/asrs/third/MesResponse.java
new file mode 100644
index 0000000..226274e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/third/MesResponse.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.third;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class MesResponse implements Serializable {
+    private String message;
+    private Integer code;
+    private String data;
+}
diff --git a/src/main/java/com/zy/asrs/third/TokenUtils.java b/src/main/java/com/zy/asrs/third/TokenUtils.java
new file mode 100644
index 0000000..f88cfe3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/third/TokenUtils.java
@@ -0,0 +1,44 @@
+package com.zy.asrs.third;
+
+import com.alibaba.fastjson.JSON;
+import com.zy.common.utils.HttpHandler;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+public class TokenUtils {
+    private static String clientId = "xincai";
+
+    private static String clientSecret = "123456";
+
+    private static String erpId = "1130021";
+
+    private static String tokenUrl = "/getMsg/v2/createToken";
+
+    public static Map<String, Object> getToken(String ip) {
+        Map<String, Object> data = new HashMap<>();
+        Map<String, String> tokenData = new HashMap<>();
+        tokenData.put("clientId", clientId);
+        tokenData.put("clientSecret", clientSecret);
+        tokenData.put("erpId", erpId);
+        String response = null;
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(ip)
+                    .setPath(tokenUrl)
+                    .setJson(JSON.toJSONString(tokenData))
+                    .build()
+                    .doPost();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        MesResponse jsonObject = JSON.parseObject(response, MesResponse.class);
+        if (jsonObject.getCode().equals(200)) {
+            data.put("token", JSON.parseObject(jsonObject.getData()).getString("token"));
+        }
+        return null;
+    }
+
+
+}
diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java
deleted file mode 100644
index eb34e04..0000000
--- a/src/main/java/com/zy/common/constant/MesConstant.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.zy.common.constant;
-
-/**
- * Created by vincent on 2022/4/21
- */
-public class MesConstant {
-
-    public static final String URL = "http://192.168.99.130:80";
-
-    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 PAKOUT_URL = "wmsFinprd/api/zy/v1/packOut/sendList";
-
-}
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index d6d2cc3..9837a5b 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -27,11 +27,13 @@
     private String temp2 = "";
     private String temp3 = "";
     private String temp4 = "";
+    private Double actulQty;
+    private Integer danger;
 
     public DetlDto() {
     }
 
-    public DetlDto(String matnr, String batch, Double anfme,String fromOrderNo,String mark,String customer,String suppName,String temp1,String temp2,String temp3,String temp4) {
+    public DetlDto(String matnr, String batch, Double anfme, String fromOrderNo, String mark, String customer, String suppName, String temp1, String temp2, String temp3, String temp4) {
         this.matnr = matnr;
         this.batch = batch;
         this.anfme = anfme;
@@ -60,7 +62,8 @@
         this.batch = batch;
         this.anfme = anfme;
     }
-    public DetlDto(String matnr, String batch, Double anfme,String mark) {
+
+    public DetlDto(String matnr, String batch, Double anfme, String mark) {
         this.matnr = matnr;
         this.batch = batch;
         this.anfme = anfme;
diff --git a/src/main/java/com/zy/common/model/MesPakinParam.java b/src/main/java/com/zy/common/model/MesPakinParam.java
index 4e9b4cf..ef5e796 100644
--- a/src/main/java/com/zy/common/model/MesPakinParam.java
+++ b/src/main/java/com/zy/common/model/MesPakinParam.java
@@ -12,32 +12,30 @@
 public class MesPakinParam {
 
     // 鍏ュ簱鏃堕棿
-    private String pakinTime;
+    private String receiptNumber;
 
-    // 鏉ユ簮鍦� - 鍐欐
-    private String lgortFrom;
+    //
+    private String receiptType;
 
-    // 鐩殑鍦� - 鍐欐
-    private String lgortTo;
+    //
+    private String completeInd;
 
-    private List<Detl> list = new ArrayList<>();
+    private List<Detl> barcodeList = new ArrayList<>();
 
     @Data
     public static class Detl {
 
-        // 鐗╂枡鏉$爜
+        //
         private String barcode;
 
-        // 鏁伴噺
-        private Double anfme;
+        //
+        private String productionCode;
 
-        public Detl() {
-        }
+        private Double qty;
 
-        public Detl(String barcode, Double anfme) {
-            this.barcode = barcode;
-            this.anfme = anfme;
-        }
+        private String palletBarcode;
+
+
     }
 
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c82ac48..ad4b454 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://192.168.10.201:1433;databasename=fyxcasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=fyxcasrs
     username: sa
     password: sa@123
   mvc:
@@ -112,4 +112,9 @@
   crn1: true
   crn2: false
   crn3: false
-  crn4: false
\ No newline at end of file
+  crn4: false
+
+mes:
+  url: http://192.168.10.201:8080/mes/
+  pakin: /getMsg/v2/sync/WMSDeliveryNoteJudgeFinish
+  code: /getMsg/v2/sync/barcodeStatusQuery
\ No newline at end of file

--
Gitblit v1.9.1