From 30bb734c3c5de070ab9513128980bfdbe1880857 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 03 十二月 2025 12:54:15 +0800
Subject: [PATCH] 入库流程功能开发

---
 src/main/java/com/zy/api/enums/MatType.java                       |   24 +
 pom.xml                                                           |   15 
 src/main/java/com/zy/api/enums/LocAreaType.java                   |   24 +
 src/main/java/com/zy/api/controller/AgvScheduleController.java    |   14 
 src/main/java/com/zy/api/entity/OrderParams.java                  |   44 +
 src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java |    6 
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java    |  168 +++++++
 src/main/java/com/zy/api/service/KopenApiService.java             |   37 +
 src/main/java/com/zy/api/entity/dto/BaseResponse.java             |   30 +
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java     |   59 ++
 src/main/webapp/static/js/orderPakin/order.js                     |  267 +++++-----
 src/main/java/com/zy/api/entity/OrderItemsParam.java              |   34 +
 src/main/java/com/zy/asrs/service/MobileService.java              |    9 
 src/main/java/com/zy/api/service/AgvScheduleService.java          |    2 
 src/main/webapp/views/orderPakin/order.html                       |    4 
 src/main/java/com/zy/asrs/enums/OrderSettle.java                  |   48 ++
 src/main/java/com/zy/api/entity/BaseRequstParam.java              |   15 
 src/main/java/com/zy/api/enums/OrderWkType.java                   |   36 +
 src/main/java/com/zy/asrs/entity/OrderDetl.java                   |    1 
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java       |  443 +++++++++++------
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java            |    4 
 src/main/java/com/zy/asrs/controller/MobileController.java        |    8 
 src/main/java/com/zy/api/entity/MatnrsParams.java                 |   43 +
 src/main/java/com/zy/asrs/entity/LocDetl.java                     |    2 
 src/main/java/com/zy/asrs/enums/LocAreaType.java                  |   30 +
 src/main/java/com/zy/api/controller/KopenApiController.java       |   70 ++
 26 files changed, 1,117 insertions(+), 320 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9a4e10f..5dd2bcd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,18 +11,22 @@
     <groupId>com.zy</groupId>
     <artifactId>asrs</artifactId>
     <version>1.1.1</version>
-    <packaging>war</packaging>
+    <packaging>jar</packaging>
 
     <properties>
         <java.version>1.8</java.version>
-        <cool.version>3.4.0</cool.version>
+        <cool.version>3.2.0</cool.version>
         <mysql-driver.version>5.1.47</mysql-driver.version>
         <mybatis-plus.version>2.3.2</mybatis-plus.version>
         <fastjson.version>1.2.58</fastjson.version>
         <springfox.version>2.7.0</springfox.version>
     </properties>
-
     <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
@@ -40,10 +44,13 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-aop</artifactId>
         </dependency>
+        <!-- 浣跨敤鏈湴 JAR 瑙e喅缂哄け鐨� cn.cool:framework:jar:3.2.0 -->
         <dependency>
             <groupId>cn.cool</groupId>
             <artifactId>framework</artifactId>
-            <version>${cool.version}</version>
+            <version>3.2.0</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/version/lib/framework-3.2.0.jar</systemPath>
         </dependency>
         <dependency>
             <groupId>org.apache.tika</groupId>
diff --git a/src/main/java/com/zy/api/controller/AgvScheduleController.java b/src/main/java/com/zy/api/controller/AgvScheduleController.java
index 68463b3..3a37a67 100644
--- a/src/main/java/com/zy/api/controller/AgvScheduleController.java
+++ b/src/main/java/com/zy/api/controller/AgvScheduleController.java
@@ -2,7 +2,6 @@
 
 import com.core.common.R;
 import com.zy.api.entity.CallAgvParams;
-import com.zy.api.enums.OrderType;
 import com.zy.api.service.AgvScheduleService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,8 +32,19 @@
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         if (Objects.isNull(params.getType())) {
-            return R.ok("鎼繍绫诲瀷涓嶈兘涓虹┖锛侊紒");
+            return R.error("鎼繍绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
         return agvScheduleService.callAgvCarry(params);
     }
+
+
+    @ApiOperation("agv鎼繍缁撴灉鍥炰紶")
+    @PostMapping("/agv/result/callback")
+    public R agvCarryCallBack(@RequestBody CallAgvParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return agvScheduleService.callback(params);
+
+    }
 }
diff --git a/src/main/java/com/zy/api/controller/KopenApiController.java b/src/main/java/com/zy/api/controller/KopenApiController.java
new file mode 100644
index 0000000..f44fd0f
--- /dev/null
+++ b/src/main/java/com/zy/api/controller/KopenApiController.java
@@ -0,0 +1,70 @@
+package com.zy.api.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.core.common.R;
+import com.zy.api.entity.OrderParams;
+import com.zy.api.service.KopenApiService;
+import com.zy.asrs.entity.Mat;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+@RestController
+@RequestMapping("/kopen")
+public class KopenApiController {
+
+    @Autowired
+    private KopenApiService kopenApiService;
+
+    /**
+     * 涓婃父涓嬪彂娲惧伐鍗�
+     * 
+     * @author Ryan
+     * @date 2025/11/24 15:18
+     * @param params
+     * @return com.core.common.R
+     */
+    @ApiOperation("涓婃灦娲惧伐鍗�")
+    @PostMapping("/order/add")
+    public R receiveOrders(@RequestBody OrderParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getType())) {
+            return R.error("鍗曟嵁绫诲瀷涓嶈兘涓虹┖锛�");
+        }
+        return kopenApiService.receiveOrders(params);
+    }
+
+    /**
+     * 涓婃父涓嬪彂闆朵欢鏁版嵁鍙樻洿
+     * s
+     * @author Ryan
+     * @date 2025/11/24 15:19
+     * @param params
+     * @return com.core.common.R
+     */
+    @ApiOperation("闆朵欢淇℃伅鏁版嵁鏇存柊")
+    @PostMapping("/sync/mat")
+    public R basMatUpdate(@RequestBody Map<String, String> params) {
+        if (Objects.isNull(params.get("matnrs"))) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (params.get("matnrs").isEmpty()) {
+            return R.error("鍙樻洿闆朵欢鏄庣粏涓嶈兘涓虹┖锛侊紒");
+        }
+        List<Mat> mats = JSON.parseArray(params.get("matnrs"), Mat.class);
+
+        return kopenApiService.basMatupdate(mats);
+    }
+
+
+
+}
diff --git a/src/main/java/com/zy/api/entity/BaseRequstParam.java b/src/main/java/com/zy/api/entity/BaseRequstParam.java
new file mode 100644
index 0000000..acd8d03
--- /dev/null
+++ b/src/main/java/com/zy/api/entity/BaseRequstParam.java
@@ -0,0 +1,15 @@
+package com.zy.api.entity;
+
+import java.util.Map;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@ApiModel("鍩虹璇锋眰鍙傛暟")
+@Accessors(chain = true)
+public class BaseRequstParam {
+
+    private Map<String, Object> root;
+}
diff --git a/src/main/java/com/zy/api/entity/MatnrsParams.java b/src/main/java/com/zy/api/entity/MatnrsParams.java
new file mode 100644
index 0000000..c1e72ec
--- /dev/null
+++ b/src/main/java/com/zy/api/entity/MatnrsParams.java
@@ -0,0 +1,43 @@
+package com.zy.api.entity;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "MatnrsParams", description = "鐗╂枡淇℃伅")
+public class MatnrsParams {
+
+    @ApiModelProperty("鍗曟嵁绫诲瀷")
+    private String pro_komcode;
+
+    @ApiModelProperty("宸ュ崟绫诲瀷")
+    private String pro_id;
+
+    @ApiModelProperty("璁㈠崟鍙�")
+    private String company_id;
+
+    @ApiModelProperty("璁㈠崟鏁伴噺")
+    private Double pro_name;
+
+    @ApiModelProperty("鎿嶄綔浜�")
+    private String pro_size;
+
+    @ApiModelProperty("閲嶉噺")
+    private String pro_wet;
+
+    @ApiModelProperty("闆朵欢绫诲瀷")
+    private String pro_type;
+
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String update_time;
+}
diff --git a/src/main/java/com/zy/api/entity/OrderItemsParam.java b/src/main/java/com/zy/api/entity/OrderItemsParam.java
new file mode 100644
index 0000000..bf5cbdc
--- /dev/null
+++ b/src/main/java/com/zy/api/entity/OrderItemsParam.java
@@ -0,0 +1,34 @@
+package com.zy.api.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "OrderItemsParam", description = "璁㈠崟鏄庣粏鍙傛暟")
+public class OrderItemsParam implements Serializable {
+
+    @ApiModelProperty("BS Code")
+    private String total_serial;
+
+    @ApiModelProperty("鐩爣搴撳尯")
+    private String target_location;
+
+    @ApiModelProperty("闆朵欢绫诲瀷")
+    private String pro_type;
+
+    @ApiModelProperty("闆朵欢浠g爜")
+    private String pro_komcode;
+
+    @ApiModelProperty("渚涘簲鍟嗙紪鐮�")
+    private String pro_id;
+
+    @ApiModelProperty("鍏ュ簱閫氱煡鏁伴噺")
+    private Double inv_qty;
+
+
+}
diff --git a/src/main/java/com/zy/api/entity/OrderParams.java b/src/main/java/com/zy/api/entity/OrderParams.java
new file mode 100644
index 0000000..1e084cf
--- /dev/null
+++ b/src/main/java/com/zy/api/entity/OrderParams.java
@@ -0,0 +1,44 @@
+package com.zy.api.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "OrderParams", description = "鍗曟嵁淇℃伅")
+public class OrderParams implements Serializable {
+
+    @ApiModelProperty("娴佹按鍙凤紙鍞竴锛�")
+    private String kopen_id;
+
+    @ApiModelProperty("娲惧伐鍗曞彿")
+    private String dispatch_no;
+
+    @ApiModelProperty("鍏徃ID")
+    private String company_id;
+
+    @ApiModelProperty("鍏ュ簱绫诲瀷 1: 閲囪喘鍏ュ簱锛�2: 璋冩嫧鍏ュ簱锛�3: 閿�鍞��璐у叆搴擄紝4: 濂楀寘鍏ュ簱")
+    private String type;
+
+    @ApiModelProperty("绠卞彿")
+    private String pm_tktid;
+
+    @ApiModelProperty("鍏ュ簱閫氱煡鍗曞彿")
+    private String inv_no;
+
+    @ApiModelProperty("鍏ュ簱鐗╂枡鍒楄〃")
+    List<OrderItemsParam> details;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String update_time;
+}
diff --git a/src/main/java/com/zy/api/entity/dto/BaseResponse.java b/src/main/java/com/zy/api/entity/dto/BaseResponse.java
new file mode 100644
index 0000000..3e39c44
--- /dev/null
+++ b/src/main/java/com/zy/api/entity/dto/BaseResponse.java
@@ -0,0 +1,30 @@
+package com.zy.api.entity.dto;
+
+import java.sql.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "BaseResponse", description = "鍩虹鍝嶅簲")
+public class BaseResponse {
+
+
+    private String message;
+
+    private Boolean success;
+
+    private String returnMessage;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date timestamp;
+
+    
+
+
+}
diff --git a/src/main/java/com/zy/api/enums/LocAreaType.java b/src/main/java/com/zy/api/enums/LocAreaType.java
new file mode 100644
index 0000000..3ac462b
--- /dev/null
+++ b/src/main/java/com/zy/api/enums/LocAreaType.java
@@ -0,0 +1,24 @@
+package com.zy.api.enums;
+/**
+ * 搴撳尯绫诲瀷
+ */
+public enum LocAreaType {
+
+
+    /** 澶у簱鍖� */
+     AUTOMATED("1", "绔嬪簱"),
+    /** 涓簱鍖� */
+    SO_HOLDING("2", "SO绛夊緟鍖�"),
+    /** 灏忎欢搴撳尯 */
+    EO_HOLDING("3", "EO绛夊緟鍖�");
+
+    public String type;
+
+    public String desc;
+
+    LocAreaType(String type, String desc) {
+        this.type = type;
+        this.desc = desc;
+    }
+
+}
diff --git a/src/main/java/com/zy/api/enums/MatType.java b/src/main/java/com/zy/api/enums/MatType.java
new file mode 100644
index 0000000..bd2e45a
--- /dev/null
+++ b/src/main/java/com/zy/api/enums/MatType.java
@@ -0,0 +1,24 @@
+package com.zy.api.enums;
+
+/**
+ * 鐗╂枡绫诲瀷
+ */
+public enum MatType {
+
+    /** 婊よ姱 */
+    LARGE("1", "婊よ姱"),
+    /** 涓欢 */
+    MIDDEL("2", "涓欢"),
+    /** 灏忎欢 */
+    SMALL("3", "灏忎欢");
+
+    public String type;
+
+    public String desc;
+
+    MatType(String type, String desc) {
+        this.type = type;
+        this.desc = desc;
+    }
+
+}
diff --git a/src/main/java/com/zy/api/enums/OrderWkType.java b/src/main/java/com/zy/api/enums/OrderWkType.java
new file mode 100644
index 0000000..2b0efc2
--- /dev/null
+++ b/src/main/java/com/zy/api/enums/OrderWkType.java
@@ -0,0 +1,36 @@
+package com.zy.api.enums;
+
+public enum OrderWkType {
+
+    // 璁㈠崟绫诲瀷
+    ORDER_WK_PUR_IN("1", "閲囪喘鍏ュ簱"),
+    ORDER_WK_TRANSFER_IN("2", "璋冩嫈鍏ュ簱"),
+    ORDER_WK_SALE_IN("锛�", "閿�鍞��璐у叆搴�"),
+    ORDER_WK_BAG_IN("锛�", "濂楀寘鍏ュ簱"),
+    ORDER_WK_ORDER_OUT("29", "澶囪揣鍗�");
+
+    OrderWkType(String val, String desc) {
+        this.val = val;
+        this.desc = desc;
+    }
+
+    public String val;
+    public String desc;
+
+    public static String getTypeVal(String val) {
+        if (val.equals(OrderWkType.ORDER_WK_PUR_IN.val)) {
+            return OrderType.ORDER_IN.type;
+        } else if (val.equals(OrderWkType.ORDER_WK_TRANSFER_IN.val)) {
+            return OrderType.ORDER_IN.type;
+        } else if (val.equals(OrderWkType.ORDER_WK_SALE_IN.val)) {
+            return OrderType.ORDER_IN.type;
+        } else if (val.equals(OrderWkType.ORDER_WK_BAG_IN.val)) {
+            return OrderType.ORDER_IN.type;
+        } else if (val.equals(OrderWkType.ORDER_WK_ORDER_OUT.val)) {
+            return OrderType.ORDER_OUT.type;
+        } else {
+            return OrderType.ORDER_OUT.type;
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/api/service/AgvScheduleService.java b/src/main/java/com/zy/api/service/AgvScheduleService.java
index 9fcd330..0417a0b 100644
--- a/src/main/java/com/zy/api/service/AgvScheduleService.java
+++ b/src/main/java/com/zy/api/service/AgvScheduleService.java
@@ -6,4 +6,6 @@
 public interface AgvScheduleService {
 
     R callAgvCarry(CallAgvParams params);
+
+    R callback(CallAgvParams params);
 }
diff --git a/src/main/java/com/zy/api/service/KopenApiService.java b/src/main/java/com/zy/api/service/KopenApiService.java
new file mode 100644
index 0000000..ac00509
--- /dev/null
+++ b/src/main/java/com/zy/api/service/KopenApiService.java
@@ -0,0 +1,37 @@
+package com.zy.api.service;
+
+import com.core.common.R;
+import com.zy.api.entity.OrderParams;
+import com.zy.asrs.entity.Mat;
+
+import java.util.List;
+
+public interface KopenApiService {
+
+
+    /**
+     * 涓婃灦娲惧伐鍗曚笅鍙�
+     * @author Ryan
+     * @date 2025/11/24 14:42
+     * @param params
+     * @return com.core.common.R
+     */
+    R receiveOrders(OrderParams params);
+
+    /**
+     * 鍩虹闆朵欢鍙樻洿
+     * @author Ryan
+     * @date 2025/11/24 15:04
+     * @param matnrs
+     * @return com.core.common.R
+     */
+    R basMatupdate(List<Mat> matnrs);
+
+
+    /**
+     * 鏂板鎴栦慨鏀瑰崟鎹俊鎭�
+     * @author Ryan
+     * @date 2025/11/24 15:33
+     */
+    void addOrUpdateOrders(OrderParams params, String type) ;
+}
diff --git a/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java b/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
index 636f52f..92c0972 100644
--- a/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
@@ -26,4 +26,10 @@
         }
         return R.ok();
     }
+
+    @Override
+    public R callback(CallAgvParams params) {
+        //TODO 1. 鎼繍瀹屾垚锛屼慨鏀�
+        return null;
+    }
 }
diff --git a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
new file mode 100644
index 0000000..2fe7ea8
--- /dev/null
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -0,0 +1,168 @@
+package com.zy.api.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.api.entity.OrderParams;
+import com.zy.api.enums.OrderType;
+import com.zy.api.enums.OrderWkType;
+import com.zy.api.service.KopenApiService;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.enums.CommonEnum;
+import com.zy.asrs.enums.OrderSettle;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+@Service("kopenApiServiceImpl")
+public class KopenApiServiceImpl implements KopenApiService {
+
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+
+    /**
+     * 鎺ユ敹涓嬪彂璁㈠崟淇℃伅
+     *
+     * @author Ryan
+     * @date 2025/11/24 14:49
+     * @param params
+     * @return com.core.common.R
+     */
+    @Override
+    public R receiveOrders(OrderParams params) {
+        if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
+            return R.error("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
+        }
+        addOrUpdateOrders(params, "add");
+        return R.ok("鍗曟嵁涓嬪彂鎴愬姛锛侊紒");
+    }
+
+    /**
+     * 鍩虹闆朵欢鍙樻洿
+     *
+     * @author Ryan
+     * @date 2025/11/24 15:05
+     * @param matnrs
+     * @return com.core.common.R
+     */
+    @Override
+    public R basMatupdate(List<Mat> matnrs) {
+        return null;
+    }
+
+    /**
+     * 鏂板鎴栦慨鏀硅鍗曚俊鎭�
+     *
+     * @author Ryan
+     * @date 2025/11/24 15:32
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addOrUpdateOrders(OrderParams params, String type) {
+        if (Objects.isNull(params)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getType())) {
+            throw new CoolException("璁㈠崟绫诲瀷涓嶈兘涓虹┖锛侊紒");
+        }
+
+        OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class);
+        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getInv_no()));
+        if (type.equals("add") && !Objects.isNull(order)) {
+            throw new CoolException("鍗曟嵁宸插瓨鍦�, 涓嶅彲閲嶅娣诲姞锛侊紒");
+        }
+        // 鍒ゆ柇璁㈠崟鏄惁瀛樺湪
+        if (Objects.isNull(order)) {
+            /** 涓嶅瓨鍦紝鏂板璁㈠崟 */
+            generateOrders(params);
+        } else {
+            /** 瀛樺湪锛屽垹闄よ�佽鍗曪紝鏇存柊鎻掑叆鏂拌鍗� */
+            // 鍒犻櫎鏃ц鍗曟槑缁�
+            if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
+                throw new CoolException("璁㈠崟鏄庣粏鍒犻櫎澶辫触锛侊紒");
+            };
+            if (!orderService.deleteById(order.getId())) {
+                throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
+            }
+            generateOrders(params);
+        }
+    }
+
+    public static String generateUUID(OrderParams params) {
+        return java.util.UUID.randomUUID().toString();
+    }
+    
+
+    /**
+     * 鐢熸垚璁㈠崟淇℃伅
+     * @param params
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void generateOrders(OrderParams params) {
+        // 灏嗘暟鎹綋鏂拌鍗曟彃鍏�
+        Order newOrder = new Order();
+        if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+            // 鍏ュ簱
+            newOrder.setPakinPakoutStatus(1);
+        } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+            // 鍑哄簱
+            newOrder.setPakinPakoutStatus(2);
+        }
+        newOrder.setDocType(Long.parseLong(params.getType()));
+        newOrder.setOrderNo(params.getInv_no());
+        newOrder.setUuid(generateUUID(params));
+        // 娴佹按鍙凤紙鍞竴锛�
+        newOrder.setDefNumber(params.getKopen_id());
+        // 娲惧伐鍗曞彿
+        newOrder.setNumber(params.getDispatch_no());
+        // 绠卞彿
+        newOrder.setItemName(params.getPm_tktid());
+        newOrder.setSettle(OrderSettle.ORDER_SETTLE_INIT.type);
+        newOrder.setStatus(CommonEnum.COMMON_ENUM_Y.type);
+        // 璁㈠崟鏃堕棿
+        newOrder.setOrderTime(DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm:ss"));
+        // 鍏徃ID
+        newOrder.setCstmrName(params.getCompany_id());
+        newOrder.setCreateTime(new Date());
+        newOrder.setUpdateTime(new Date());
+        if (!orderService.insert(newOrder)) {
+            throw new RuntimeException("鏂板璁㈠崟澶辫触锛侊紒");
+        }
+        if (!Objects.isNull(params.getDetails()) && !params.getDetails().isEmpty()) {
+            params.getDetails().forEach(item -> {
+                OrderDetl orderItem = new OrderDetl();
+                BeanUtils.copyProperties(item, orderItem);
+                orderItem.setOrderId(newOrder.getId());
+                orderItem.setOrderNo(newOrder.getOrderNo());
+                orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+                orderItem.setMatnr(item.getPro_komcode());
+                orderItem.setBatch(1 + "");
+                orderItem.setStandby1(item.getPro_id());
+                //鍏宠仈涓婂姞娲惧伐鍗曞彿+闆朵欢浠g爜+渚涘簲鍟嗕唬鐮�
+                orderItem.setThreeCode(item.getTotal_serial());
+                // 渚涘簲鍟嗕唬鐮�
+                orderItem.setSuppCode(item.getPro_id());
+                orderItem.setCreateTime(new Date());
+                orderItem.setUpdateTime(new Date());
+                if (!orderDetlService.insert(orderItem)) {
+                    throw new CoolException("璁㈠崟鏄庣粏鏂板澶辫触锛侊紒");
+                }
+            });
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 506cf88..cca516c 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -164,7 +164,7 @@
 
 
     @PostMapping("/cache/agv/call")
-    @ApiOperation("鍛煎彨AGV鎼繍")
+    @ApiOperation("鍛煎彨绌鸿溅")
     @ManagerAuth
     public R callAgvMove(@RequestBody AgvCallParams params) {
         if (Objects.isNull(params)) {
@@ -174,6 +174,12 @@
     }
 
 
+    /**
+     * @author Ryan
+     * @date 2025/11/3
+     * @description: 鍛煎彨AGV鎼繍缂撳瓨鍖�/EO/SO
+     * @version 1.0
+     */
     @PostMapping("/cache/out/call")
     @ApiOperation("鍛煎彨AGV鎼繍")
     @ManagerAuth
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 12178a7..6f95e0b 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -18,7 +18,6 @@
 import com.zy.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -27,7 +26,6 @@
 
 @Data
 @TableName("asr_loc_detl")
-@Accessors(chain = true)
 @ExcelIgnoreUnannotated
 public class LocDetl implements Serializable {
 
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 006c610..743578e 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -10,7 +10,6 @@
 import com.zy.asrs.service.BasProcessProceduresService;
 import com.zy.asrs.service.BasQualityTestingService;
 import com.zy.asrs.service.OrderService;
-import com.zy.common.utils.Synchro;
 import com.zy.system.entity.User;
 import com.zy.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
diff --git a/src/main/java/com/zy/asrs/enums/LocAreaType.java b/src/main/java/com/zy/asrs/enums/LocAreaType.java
new file mode 100644
index 0000000..c7e5091
--- /dev/null
+++ b/src/main/java/com/zy/asrs/enums/LocAreaType.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.enums;
+
+/**
+ * 搴撳尯绫诲瀷
+ * @author Ryan
+ * @date 2025/12/3 9:59
+ * @return null
+ */
+public enum LocAreaType {
+
+    //鍏ュ簱缂撳瓨鍖�
+    LOC_AREA_TYPE_IN_CACHE("5", "鍏ュ簱缂撳瓨鍖�"),
+    //鍫嗗灈鏈�
+    LOC_AREA_TYPE_CRN("1", "绔嬪簱鍖�"),
+
+    LOC_AREA_TYPE_SO("2", "鍑哄簱SO鍖�"),
+
+    LOC_AREA_TYPE_EO("3", "鍑哄簱EO鍖�")
+    ;
+
+    public Long type;
+
+    public String desc;
+
+    LocAreaType(String type, String desc) {
+        this.type = Long.valueOf(type);
+        this.desc = desc;
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/enums/OrderSettle.java b/src/main/java/com/zy/asrs/enums/OrderSettle.java
new file mode 100644
index 0000000..f92dfd5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/enums/OrderSettle.java
@@ -0,0 +1,48 @@
+package com.zy.asrs.enums;
+
+/**
+ * 鍗曟嵁鐘舵��
+ * @author Ryan
+ * @date 2025/12/1 12:41
+ * @return null
+ */
+public enum OrderSettle {
+    //鍒濆鍖�
+    ORDER_SETTLE_INIT("0", "鍒濆鍖�"),
+    //寰呭鐞�
+    ORDER_SETTLE_HOLDING("1", "寰呭鐞�"),
+
+    ORDER_SETTLE_WORKING("2", "浣滀笟涓�"),
+
+    ORDER_SETTLE_CANCEL("3", "宸插彇娑�"),
+
+    ORDER_SETTLE_DONE("4", "宸插畬鎴�"),
+
+    ORDER_SETTLE_UN_CANCEL("5", "鍑嗗鍙栨秷"),
+
+    ORDER_SETTLE_REPORTED("6", "涓婃姤瀹屾垚"),
+
+    ORDER_SETTLE_DATA_EX("7", "鏁版嵁寮傚父"),
+
+    ORDER_SETTLE_CHECKED("8", "瀹℃牳瀹屾垚"),
+
+    ORDER_SETTLE_SUBMITED("8", "鎻愪氦瀹屾垚"),
+
+    ORDER_SETTLE_SAVED("10", "淇濆瓨瀹屾垚"),
+
+    ORDER_SETTLE_CHECKED_TASKED("11", "宸茬敓鎴愮洏鐐逛换鍔�"),
+
+    ORDER_SETTLE_SECTION_TASKED("12", "宸茬敓鎴愰儴鍒嗕换鍔�"),
+
+    ;
+
+    public Long type;
+
+    public String desc;
+
+    OrderSettle(String type, String desc) {
+        this.type = Long.valueOf(type);
+        this.desc = desc;
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index e0b38c2..f1d2985 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.core.common.R;
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.LocCache;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.param.*;
@@ -101,5 +102,13 @@
      */
     R OutCallAgv(AgvCallParams params, Long userId);
 
+    /**
+     * 鐢熸垚绔嬪簱鍑哄簱浠诲姟
+     * @author Ryan
+     * @date 2025/12/3 8:07
+     * @param locCaches
+     */
+    void generateCRNOutTask(LocCache locCaches);
+
     R callEmptyCar(AgvCallParams params);
 }
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 5587732..2f151ef 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -11,7 +11,9 @@
 import com.zy.asrs.entity.result.ForwardAGVTaskDTO;
 import com.zy.asrs.entity.result.HIKApiDTO;
 import com.zy.asrs.entity.result.HIKResultDTO;
+import com.zy.asrs.enums.LocAreaType;
 import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.enums.OrderSettle;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
@@ -117,6 +119,8 @@
     private BasStationService basStationService;
     @Autowired
     private BasContainerService basContainerService;
+    @Autowired
+    private BasAreasService basAreasService;
 
     @Override
     @Transactional
@@ -959,7 +963,6 @@
                         log.error("", e);
                     }
                 }
-
             }
 
             // 鐢熸垚鍏ュ簱鍗曟嵁
@@ -1187,13 +1190,12 @@
                 .eq("frozen", 0)
                 .ne("full_plt", "Y")
                 .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type).orderAsc(Arrays.asList("row1"))));
-
     }
 
     /**
      * @author Ryan
      * @date 2025/9/22
-     * @description: 鍛煎彨AGV鎼繍
+     * @description: 鍛煎彨绌鸿溅
      * @version 1.0
      */
     @Override
@@ -1255,6 +1257,7 @@
      */
     @Override
     public R OutCallAgv(AgvCallParams params, Long userId) {
+        /**鑾峰彇鍏ュ簱鏈�鏃╃殑涓�鏉℃暟鎹�**/
         LocCache locCaches = locCacheService.selectOne(new EntityWrapper<LocCache>()
                 .eq("loc_sts", LocStsType.LOC_STS_TYPE_F.type)
                 .eq("frozen", 0)
@@ -1270,14 +1273,17 @@
             throw new CoolException("绔欑偣姝e湪鎵ц浠诲姟锛侊紒");
         }
 
-        generateOutTask(station, locCaches, userId);
+        /**鐢熸垚缂撳瓨鍖哄嚭搴撲换鍔�*/
+        generateCacheOutTask(station, locCaches, userId);
+
+        /**鐢熸垚绔嬪簱鍑哄簱浠诲姟*/
+        generateCRNOutTask(locCaches);
 
         return R.ok();
     }
 
     @Override
     public R callEmptyCar(AgvCallParams params) {
-
         List<LocCache> locSts = locCacheService.selectList(new EntityWrapper<LocCache>().eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type));
         if (locSts.isEmpty()){
             throw new CoolException("鏆傛棤绌烘澘搴撲綅");
@@ -1301,13 +1307,48 @@
     }
 
     /**
+     * 鐢熸垚绔嬪簱鍑哄簱浠诲姟
+     * @author Ryan
+     * @date 2025/12/3 8:06
+     * @param locCaches
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void generateCRNOutTask(LocCache locCaches) {
+        if (Objects.isNull(locCaches)) {
+            throw new CoolException("搴撲綅涓嶈兘涓虹┖锛侊紒");
+        }
+        BasAreas basAreas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", LocAreaType.LOC_AREA_TYPE_IN_CACHE.type));
+        if (Objects.isNull(basAreas)) {
+            throw new CoolException("搴撳尯涓嶅瓨鍦紒锛�");
+        }
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+                .eq("area_id", basAreas.getAreaNo())
+                .eq("loc_id", locCaches.getId()));
+
+        if (Objects.isNull(locDetls)) {
+            throw new CoolException("搴撳瓨鏄庣粏涓嶅瓨鍦紒锛�");
+        }
+
+        //鎸夌墿鏂欑紪鐮佸垎绫�
+        Map<String, List<LocDetl>> listMap = locDetls.stream().collect(Collectors.groupingBy(LocDetl::getMatnr));
+        listMap.forEach((key, detls) -> {
+
+        });
+
+        locDetls.forEach(locDetl -> {
+
+        });
+    }
+
+    /**
      * @author Ryan
      * @date 2025/9/25
      * @description: 鍛煎彨AGV鐢熸垚鍑哄簱浠诲姟
      * @version 1.0
      */
     @Transactional(rollbackFor = Exception.class)
-    public void generateOutTask(BasStation station, LocCache loc, Long userId) {
+    public void generateCacheOutTask(BasStation station, LocCache loc, Long userId) {
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
         // 淇濆瓨宸ヤ綔妗�
@@ -1356,6 +1397,8 @@
                     .setModiUser(userId);
             taskDetls.add(wrkDetl);
         });
+
+
 
         //淇濆瓨宸ヤ綔妗f槑缁�
         if (!taskDetlService.insertBatch(taskDetls)) {
@@ -1446,8 +1489,8 @@
             throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
         }
         // 淇敼鐩爣搴撲綅鐘舵��
-        if (loc.getLocSts().equals("O")) {
-            loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+        if (loc.getLocSts().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+            loc.setLocSts(LocStsType.LOC_STS_TYPE_S.type); // S.鍏ュ簱棰勭害
             loc.setModiTime(new Date());
             loc.setModiUser(userId);
             if (!locCacheService.updateById(loc)) {
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index ef69df3..a797915 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -81,7 +81,7 @@
 //        }
     }
 
-//    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/5 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReportOrderInAndOutUtil() {
 //        String erpReport = Parameter.get().getErpReport();
@@ -101,7 +101,7 @@
 //        }
     }
 
-//    @Scheduled(cron = "0/30 * * * * ? ")
+    @Scheduled(cron = "0/30 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReportOrderReport() {
         if (!ErpReportOld){
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 5ed6a71..d72be91 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -71,13 +71,13 @@
         return SUCCESS;
     }
 
-
     public ReturnT<String> doIn(WrkMast wrkMast) {
         Date now = new Date();
         LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
         try {
             if (null == locMast) {
-//                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(),
+                // wrkMast.getLocNo());
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
             }
@@ -94,37 +94,48 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            // exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     break;
                 // 鍏ㄦ澘鍏ュ簱
                 case 1:
                     // 娓呴櫎鎵�灞炲簱浣嶄箣鍓嶇殑搴撳瓨鏄庣粏
-                    List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
+                    List<LocDetl> locDetls = locDetlService
+                            .selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
                     if (!locDetls.isEmpty()) {
                         locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
                     }
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls.isEmpty()) {
-//                        exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo());
+                        // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                        return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getLocNo() + "]");
                     }
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
-                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
+                                wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                                wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
+                                wrkDetl.getBoxType3());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
-                                    , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
-//                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(),
+                                    wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
+                                    wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
+                                // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]",
+                                // wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         } else {
                             locDetl = new LocDetl();
@@ -135,31 +146,39 @@
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
                             if (!locDetlService.insert(locDetl)) {
-//                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]",
+                                // wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem
-                                (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(),
+                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         if (orderDetlPakin == null) {
-                            orderDetlPakin = orderDetlPakinService.selectItem
-                                    (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),
-                                            wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                            wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                            orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                    wrkDetl.getBatch(),
+                                    wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                                    wrkDetl.getStandby3(),
+                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         }
                         try {
                             if (!Cools.isEmpty(orderDetlPakin)) {
-                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
-//                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+                                        wrkDetl.getMatnr(),
+                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                        wrkDetl.getAnfme())) {
+                                    // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+                                    // wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                    return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                            + "],[locNo=" + wrkMast.getLocNo() + "]");
                                 }
                             }
                         } catch (Exception ignore) {
@@ -173,29 +192,38 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     break;
                 // 鎷f枡閫斾腑骞舵澘
                 case 8:
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls8 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls8 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls8.isEmpty()) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                        return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getLocNo() + "]");
                     }
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls8) {
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
-                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
+                                wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                                wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
+                                wrkDetl.getBoxType3());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme() + locDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
-                                    , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme() + locDetl.getAnfme(), wrkMast.getLocNo(),
+                                    wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
+                                    wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         } else {
                             locDetl = new LocDetl();
@@ -207,17 +235,21 @@
                             locDetl.setAppeTime(now);
                             if (!locDetlService.insert(locDetl)) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         }
 
                         if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                             // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                             if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                    wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
+                                    wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                    wrkDetl.getAnfme())) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                        + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
                         }
                     }
@@ -225,44 +257,57 @@
                 // 鎷f枡鍏ュ簱
                 case 53:
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls53 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls53.isEmpty()) {
-//                        exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+                        // exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                        return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls53) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
-                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
+                                wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                                wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
+                                wrkDetl.getBoxType3());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
-                                    , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
-//                                exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(),
+                                    wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
+                                    wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
+                                // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+                                // wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem
-                                (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
-                                        wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(),
+                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
+                                wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         if (orderDetlPakin == null) {
-                            orderDetlPakin = orderDetlPakinService.selectItem
-                                    (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                            wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                            orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                    wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                    wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         }
                         try {
                             if (!Cools.isEmpty(orderDetlPakin)) {
-                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
-//                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+                                        wrkDetl.getMatnr(),
+                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                        wrkDetl.getAnfme())) {
+                                    // exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+                                    // wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                    return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                            + "],[locNo=" + wrkMast.getLocNo() + "]");
                                 }
                             }
                         } catch (Exception ignore) {
@@ -276,32 +321,42 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     break;
                 // 骞舵澘鍏ュ簱
                 case 54:
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls54 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls54.isEmpty()) {
-//                        exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+                        // exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                        return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getLocNo() + "]");
                     }
                     // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
                     for (WrkDetl wrkDetl : wrkDetls54) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
-                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
+                                wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                                wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
+                                wrkDetl.getBoxType3());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
-                                    , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
-//                                exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(),
+                                    wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
+                                    wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
+                                // exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]",
+                                // wrkMast.getWrkNo(), wrkDetl.getMatnr());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         } else {
                             locDetl = new LocDetl();
@@ -313,19 +368,27 @@
                             locDetl.setAppeTime(now);
                             if (!locDetlService.insert(locDetl)) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(),
+                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
+                                wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         try {
                             if (!Cools.isEmpty(orderDetlPakin)) {
-                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
+                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+                                        wrkDetl.getMatnr(),
+                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                        wrkDetl.getAnfme())) {
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                    return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                            + "],[locNo=" + wrkMast.getLocNo() + "]");
                                 }
                             }
                         } catch (Exception ignore) {
@@ -340,20 +403,24 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            // exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     break;
                 // 鐩樼偣鍏ュ簱
                 case 57:
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls57 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls57.isEmpty()) {
-//                        exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+                        // exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                        return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls57) {
                         if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
@@ -362,15 +429,17 @@
                             LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId());
                             BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme());
                             locDetl.setAnfme(checkOrderDetl.getDiffQty()
-                                    .compareTo(BigDecimal.ZERO) == 0 || checkOrderDetl.getDiffQty()
-                                    .compareTo(BigDecimal.ZERO) > 0
-                                    ? oriAnfme.doubleValue()
-                                    : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue());
+                                    .compareTo(BigDecimal.ZERO) == 0
+                                    || checkOrderDetl.getDiffQty()
+                                            .compareTo(BigDecimal.ZERO) > 0
+                                                    ? oriAnfme.doubleValue()
+                                                    : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue());
                             locDetl.setBookQty(oriAnfme);
                             locDetl.setDiffQty(checkOrderDetl.getDiffQty());
-                            if (!locDetlService.updateById(locDetl)){
+                            if (!locDetlService.updateById(locDetl)) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撳瓨宸紓鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撳瓨宸紓鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                        + wrkMast.getLocNo() + "]");
                             }
 
                         }
@@ -382,9 +451,11 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                            // exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     break;
@@ -397,9 +468,11 @@
                         locSts = "F";
                         // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
                         if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
-//                            exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
+                            // exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]",
+                            // wrkMast.getSourceLocNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     // 淇敼婧愬簱浣嶇姸鎬� ==> O
@@ -410,9 +483,11 @@
                         sourceLoc.setModiTime(now);
                         sourceLoc.setIoTime(now);
                         if (!locMastService.updateById(sourceLoc)) {
-//                            exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+                            // exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getLocNo() + "]");
                         }
                     }
                     // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
@@ -421,9 +496,11 @@
                     locMast.setIoTime(now);
                     locMast.setModiTime(now);
                     if (!locMastService.updateById(locMast)) {
-//                        exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                        // exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
+                        // wrkMast.getWrkNo(), wrkMast.getLocNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                        return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getLocNo() + "]");
                     }
                     break;
                 default:
@@ -433,9 +510,10 @@
             wrkMast.setWrkSts(5L);
             wrkMast.setModiTime(now);
             if (!wrkMastService.updateById(wrkMast)) {
-//                exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
+                // exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                return FAIL
+                        .setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
             }
         } catch (Exception e) {
             log.error("fail", e);
@@ -452,7 +530,8 @@
         LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
         try {
             if (null == locMast) {
-//                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+                // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(),
+                // wrkMast.getLocNo());
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
             }
@@ -460,32 +539,42 @@
             switch (wrkMast.getIoType()) {
                 // 鍏ㄦ澘鍑哄簱
                 case 101:
-//                    // 鍑哄簱纭淇″彿浣�
-//                    if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
-//                        return SUCCESS;
-//                    }
+                    // // 鍑哄簱纭淇″彿浣�
+                    // if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
+                    // return SUCCESS;
+                    // }
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls101 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls101.isEmpty()) {
-//                        exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+                        // exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                        return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getSourceLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                wrkDetl.getStandby2(), wrkDetl.getStandby3(),
                                 wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         if (orderDetlPakout == null) {
-                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+                                    wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(),
                                     wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         }
                         try {
                             if (!Cools.isEmpty(orderDetlPakout)) {
-                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
+                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+                                        wrkDetl.getMatnr(),
+                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                        wrkDetl.getAnfme())) {
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                            + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                 }
                             }
                         } catch (Exception ignore) {
@@ -495,7 +584,8 @@
                     // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
                     if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                        return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getSourceLocNo() + "]");
                     }
                     // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
                     if (locMast.getLocSts().equals("R")) {
@@ -505,38 +595,52 @@
                         locMast.setIoTime(now);
                         if (!locMastService.updateById(locMast)) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                            return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getSourceLocNo() + "]");
                         }
                     }
                     break;
                 // 骞舵澘閫斾腑鎹℃枡
                 case 108:
                     // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
-                    List<WrkDetl> wrkDetls108 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                    List<WrkDetl> wrkDetls108 = wrkDetlService
+                            .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     if (wrkDetls108.isEmpty()) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                        return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                + wrkMast.getSourceLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls108) {
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
-                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
+                                wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                                wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
+                                wrkDetl.getBoxType3());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
-                                    , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(),
+                                    wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                    wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
+                                    wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                        + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
                         }
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+                                wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                wrkDetl.getStandby2(), wrkDetl.getStandby3(),
                                 wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         try {
                             if (!Cools.isEmpty(orderDetlPakout)) {
-                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
+                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+                                        wrkDetl.getMatnr(),
+                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                        wrkDetl.getAnfme())) {
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                                    return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+                                            + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                 }
                             }
                         } catch (Exception ignore) {
@@ -552,9 +656,11 @@
                         locMast.setModiTime(now);
                         locMast.setIoTime(now);
                         if (!locMastService.updateById(locMast)) {
-//                            exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+                            // exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]",
+                            // wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                            return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+                                    + wrkMast.getSourceLocNo() + "]");
                         }
                     }
                     break;
@@ -565,9 +671,10 @@
             wrkMast.setWrkSts(15L);
             wrkMast.setModiTime(now);
             if (!wrkMastService.updateById(wrkMast)) {
-//                exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
+                // exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                return FAIL.setMsg(
+                        "鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
             }
         } catch (Exception e) {
             log.error("fail", e);
@@ -596,7 +703,6 @@
         return SUCCESS;
     }
 
-
     /**
      * @author Ryan
      * @date 2025/9/25
@@ -606,30 +712,40 @@
     public ReturnT<String> agvDoOut(Task task) {
         if (task.getIoType().equals(101)) {
             Date now = new Date();
-            LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no" ,task.getSourceLocNo()));
+            LocCache locMast = locCacheService
+                    .selectOne(new EntityWrapper<LocCache>().eq("loc_no", task.getSourceLocNo()));
             if (Objects.isNull(locMast)) {
                 throw new RuntimeException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉鑳戒负绌猴紒锛�");
             }
-            List<TaskDetl> wrkDetls101 = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
+            List<TaskDetl> wrkDetls101 = taskDetlService
+                    .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
             if (wrkDetls101.isEmpty()) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
+                return FAIL.setMsg(
+                        "鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
             }
             for (TaskDetl wrkDetl : wrkDetls101) {
                 // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+                        wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                        wrkDetl.getStandby2(), wrkDetl.getStandby3(),
                         wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                 if (orderDetlPakout == null) {
-                    orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                    orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                            wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+                            wrkDetl.getStandby3(),
                             wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                 }
                 try {
                     if (!Cools.isEmpty(orderDetlPakout)) {
                         if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
-                                wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
+                                orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+                                wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+                                wrkDetl.getAnfme())) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
+                            return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo() + "],[locNo="
+                                    + task.getSourceLocNo() + "]");
                         }
                     }
                 } catch (Exception ignore) {
@@ -638,7 +754,8 @@
             // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
             if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", task.getSourceLocNo()))) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
+                return FAIL.setMsg(
+                        "鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
             }
             // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
             if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) {
@@ -648,13 +765,15 @@
                 locMast.setIoTime(now);
                 if (!locCacheService.updateById(locMast)) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
+                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo="
+                            + task.getSourceLocNo() + "]");
                 }
             } else {
                 throw new CoolException("褰撳墠搴撲綅鐘舵��" + locMast.getLocSts() + ", 鏃犳硶鎵ц鍑哄簱鎿嶄綔锛侊紒");
             }
 
-            BasStation devNo = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
+            BasStation devNo = basStationService
+                    .selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
             if (Objects.isNull(devNo)) {
                 throw new CoolException("绔欑偣锛�" + task.getSourceStaNo() + ", 涓嶅瓨鍦紒锛�");
             }
@@ -673,7 +792,6 @@
         return SUCCESS;
     }
 
-
     @Transactional(rollbackFor = Exception.class)
     public ReturnT<String> agvDoIn(Task wrkMast) {
         LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
@@ -681,27 +799,30 @@
             throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒");
         }
         if (!locCache.getLocSts().equals(LocStsType.LOC_STS_TYPE_S.type)) {
-            throw new CoolException("褰撳墠搴撲綅鐘舵�佷负锛�" + LocStsType.LOC_STS_TYPE_S.type + "." + LocStsType.LOC_STS_TYPE_S.desc + "锛屼笉鏄嚭搴撻绾︾姸鎬�");
+            throw new CoolException(
+                    "褰撳墠搴撲綅鐘舵�佷负锛�" + LocStsType.LOC_STS_TYPE_S.type + "." + LocStsType.LOC_STS_TYPE_S.desc + "锛屼笉鏄嚭搴撻绾︾姸鎬�");
         }
-        List<WaitPakin> apallet = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
+        List<WaitPakin> apallet = waitPakinService
+                .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
         if (Objects.isNull(apallet)) {
             throw new CoolException("鏁版嵁閿欒锛氱粍鎵樻暟鎹笉瀛樺湪锛侊紒");
         }
         apallet.forEach(pakin -> {
             LocDetl detl = new LocDetl();
             BeanUtils.copyProperties(pakin, detl);
-            detl.setBarcode(pakin.getBarcode())
-                    .setAnfme(pakin.getAnfme())
-                    .setBrand(pakin.getBrand())
-                    .setAppeTime(new Date())
-                    .setSpecs(pakin.getSpecs())
-                    .setColor(pakin.getColor())
-                    .setLocId(locCache.getId())
-                    .setLocNo(locCache.getLocNo())
-                    .setAreaId(locCache.getAreaId())
-                    .setAreaName(locCache.getAreaName())
-                    .setUnit(pakin.getUnit())
-                    .setBatch(pakin.getBatch());
+
+            detl.setBarcode(pakin.getBarcode());
+            detl.setAnfme(pakin.getAnfme());
+            detl.setBrand(pakin.getBrand());
+            detl.setAppeTime(new Date());
+            detl.setSpecs(pakin.getSpecs());
+            detl.setColor(pakin.getColor());
+            detl.setLocId(locCache.getId());
+            detl.setLocNo(locCache.getLocNo());
+            detl.setAreaId(locCache.getAreaId());
+            detl.setAreaName(locCache.getAreaName());
+            detl.setUnit(pakin.getUnit());
+            detl.setBatch(pakin.getBatch());
             if (!locDetlService.insert(detl)) {
                 throw new CoolException("搴撲綅鏄庣粏淇濆瓨澶辫触锛侊紒");
             }
diff --git a/src/main/webapp/static/js/orderPakin/order.js b/src/main/webapp/static/js/orderPakin/order.js
index 6b38ea5..c9c0414 100644
--- a/src/main/webapp/static/js/orderPakin/order.js
+++ b/src/main/webapp/static/js/orderPakin/order.js
@@ -14,21 +14,21 @@
 
     // 娓叉煋鎼滅储妯℃澘
     $.ajax({
-        url: baseUrl+"/docType/list/auth",
-        headers: {'token': localStorage.getItem('token')},
+        url: baseUrl + "/docType/list/auth",
+        headers: { 'token': localStorage.getItem('token') },
         data: {
             limit: 9999
         },
         method: 'POST',
         success: function (res) {
-            if (res.code === 200){
+            if (res.code === 200) {
                 let template = Handlebars.compile($('#docTypeTpl').html());
                 $('#docType-query').html(template(res.data));
                 layui.form.render('select');
-            } else if (res.code === 403){
-                top.location.href = baseUrl+"/";
+            } else if (res.code === 403) {
+                top.location.href = baseUrl + "/";
             } else {
-                layer.msg(res.msg, {icon: 2})
+                layer.msg(res.msg, { icon: 2 })
             }
         }
     })
@@ -36,19 +36,19 @@
     // 娓叉煋琛ㄦ牸
     var insTb = table.render({
         elem: '#order',
-        url: baseUrl+'/order/pakin/order/head/page/auth',
-        headers: {token: localStorage.getItem('token')},
+        url: baseUrl + '/order/pakin/order/head/page/auth',
+        headers: { token: localStorage.getItem('token') },
         page: true,
         cellMinWidth: 100,
         cols: [[
-            {type: 'numbers'},
-            {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
-            {field: 'docType$', align: 'center', title: '绫诲瀷',  minWidth: 160, width: 160},
-            {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
-            {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
-            {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl',  minWidth: 160, width: 160},
-            {field: 'memo', align: 'center',title: '澶囨敞', hide: true},
-            {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180}
+            { type: 'numbers' },
+            { field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl' },
+            { field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160 },
+            { align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160 },
+            { field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200 },
+            { field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160 },
+            { field: 'memo', align: 'center', title: '澶囨敞', hide: true },
+            { align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180 }
         ]],
         request: {
             pageName: 'curr',
@@ -68,7 +68,7 @@
         done: function (res, curr, count) {
             limit();
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
             insTbCount = count;
         }
@@ -76,7 +76,7 @@
 
     // 鎼滅储
     form.on('submit(tbSearch)', function (data) {
-        insTb.reload({where: data.field, page: {curr: 1}});
+        insTb.reload({ where: data.field, page: { curr: 1 } });
     });
 
     // 娣诲姞
@@ -98,45 +98,33 @@
             doModify(data.id, data.orderNo, 4);
         } else if (layEvent === 'look') {
             var $a = $(obj.tr).find('a[lay-event="look"]');
-            var offset = $a.offset();
-            var top = offset.top;
-            var left = offset.left;
-            layer.open({
+            admin.open({
                 type: 1,
-                title: false,
-                area: '820px',
-                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
-                shade: .01,
-                shadeClose: true,
-                fixed: false,
-                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
-                success: function (layero) {
+                title: '鍗曟嵁鏄庣粏',
+                height: '450px',
+                content: $('#orderItem').html(),
+                area: '78%',
+                success: function (layero, dIndex) {
                     table.render({
-                        elem: '#lookSSXMTable',
-                        headers: {token: localStorage.getItem('token')},
-                        url: baseUrl+'/order/pakin/orderDetl/list/auth',
+                        elem: '#itemTable',
+                        headers: { token: localStorage.getItem('token') },
+                        url: baseUrl + '/order/pakin/orderDetl/list/auth',
                         where: {
                             order_id: data.id
                         },
                         page: true,
+                        height: '450px;',
                         cellMinWidth: 100,
                         cols: [[
-                            {type: 'numbers'},
-                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
-                            {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
-                            {field: 'batch', title: '鎵瑰彿'},
-                            {field: 'anfme', title: '鏁伴噺'},
-                            {field: 'workQty', title: '浣滀笟鏁伴噺'},
-                            {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
-                            // {field: 'unit', title: '鍗曚綅'},
-                            // {
-                            //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
-                            //         return util.toDateString(d.createTime);
-                            //     },  width: 180
-                            // },
-                            // {field: 'inQty', title: '宸插叆搴撻噺'},
-                            // {field: 'color', title: '棰滆壊'},
-                            {field: 'specs', title: '瑙勬牸'}
+                            { type: 'numbers' },
+                            { field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
+                            { field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160 },
+                            { field: 'suppCode', title: '渚涘簲鍟嗙紪鐮�', width: 160 },
+                            { field: 'batch', title: '鎵瑰彿' },
+                            { field: 'anfme', title: '鏁伴噺' },
+                            { field: 'workQty', title: '浣滀笟鏁伴噺' },
+                            { field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold' },
+                            { field: 'specs', title: '瑙勬牸' }
                         ]],
                         request: {
                             pageName: 'curr',
@@ -182,42 +170,42 @@
                 form.on('submit(orderEditSubmit)', function (data) {
                     // 缁勮鏁版嵁
                     if (xxDataList.length <= 0) {
-                        layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
+                        layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', { tips: [1, '#ff4c4c'] });
                         return false;
                     }
                     let nList = admin.util.deepClone(xxDataList);
                     for (let xi = 0; xi < nList.length; xi++) {
-                        if (nList[xi].anfme <= 0){
-                            layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+                        if (nList[xi].anfme <= 0) {
+                            layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', { icon: 2 });
                             return false;
                         }
-                        if (nList[xi].anfme < nList[xi].workQty){
-                            layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
+                        if (nList[xi].anfme < nList[xi].workQty) {
+                            layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', { icon: 2 });
                             return false;
                         }
                     }
                     layer.load(2);
                     $.ajax({
-                        url: baseUrl+"/order/pakin/order/form/" + (isExpAdd?"add":"modify") + "/auth",
-                        headers: {'token': localStorage.getItem('token')},
+                        url: baseUrl + "/order/pakin/order/form/" + (isExpAdd ? "add" : "modify") + "/auth",
+                        headers: { 'token': localStorage.getItem('token') },
                         data: JSON.stringify({
                             orderId: Number(data.field.id),
                             docType: Number(data.field.docType),
                             orderNo: data.field.orderNo,
                             orderDetlPakinList: nList
                         }),
-                        contentType:'application/json;charset=UTF-8',
+                        contentType: 'application/json;charset=UTF-8',
                         method: 'POST',
                         success: function (res) {
                             layer.closeAll('loading');
-                            if (res.code === 200){
+                            if (res.code === 200) {
                                 layer.close(dIndex);
                                 $(".layui-laypage-btn")[0].click();
-                                layer.msg(res.msg, {icon: 1});
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
-                            }else {
-                                layer.msg(res.msg, {icon: 2});
+                                layer.msg(res.msg, { icon: 1 });
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl + "/";
+                            } else {
+                                layer.msg(res.msg, { icon: 2 });
                             }
                         }
                     })
@@ -227,22 +215,23 @@
                 var xxDataList = [];
                 var tbOptions = {
                     elem: '#formSSXMTable',
-                    headers: {token: localStorage.getItem('token')},
+                    headers: { token: localStorage.getItem('token') },
                     data: xxDataList,
                     page: true,
                     height: '350px;',
                     cellMinWidth: 100,
                     cols: [[
-                        {type: 'numbers', title: '#'},
-                        {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
-                        {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
-                        {field: 'batch', title: '鎵瑰彿', edit: true},
-                        {field: 'specs', title: '瑙勬牸'},
-                        {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
-                        {field: 'workQty', title: '浣滀笟鏁伴噺',  minWidth: 100, width: 100},
+                        { type: 'numbers', title: '#' },
+                        { field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
+                        { field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200 },
+                        { field: 'suppCode', title: '渚涘簲鍟嗙紪鐮�', width: 160 },
+                        { field: 'batch', title: '鎵瑰彿', edit: true },
+                        { field: 'specs', title: '瑙勬牸' },
+                        { field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110 },
+                        { field: 'workQty', title: '浣滀笟鏁伴噺', minWidth: 100, width: 100 },
                         // {field: 'unit', title: '鍗曚綅', width: 80},
-                        {field: 'memo', title: '澶囨敞' , edit: true},
-                        {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
+                        { field: 'memo', title: '澶囨敞', edit: true },
+                        { align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right' }
                     ]],
                     done: function (res) {
                         $(layero).find('.layui-table-view').css('margin', '0');
@@ -251,18 +240,18 @@
                 };
                 if (!isExpAdd) {
                     $.ajax({
-                        url: baseUrl+"/order/pakin/order/detl/all/auth?orderId=" + expTpe.id,
-                        headers: {'token': localStorage.getItem('token')},
+                        url: baseUrl + "/order/pakin/order/detl/all/auth?orderId=" + expTpe.id,
+                        headers: { 'token': localStorage.getItem('token') },
                         method: 'GET',
                         async: false,
                         success: function (res) {
-                            if (res.code === 200){
+                            if (res.code === 200) {
                                 xxDataList = res.data;
                                 tbOptions.data = xxDataList;
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
-                            }else {
-                                layer.msg(res.msg, {icon: 2})
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl + "/";
+                            } else {
+                                layer.msg(res.msg, { icon: 2 })
                             }
                         }
                     })
@@ -275,8 +264,8 @@
                     if (layEvent === 'edit') {
                         showEditModel2(data);
                     } else if (layEvent === 'del') {
-                        if(data.workQty > 0){
-                            layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2});
+                        if (data.workQty > 0) {
+                            layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", { icon: 2 });
                             return;
                         }
                         layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
@@ -290,7 +279,7 @@
                                     break;
                                 }
                             }
-                            insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                            insTbSSXM.reload({ data: xxDataList, page: { curr: 1 } });
                         });
                     }
                 });
@@ -298,20 +287,20 @@
                 table.on('edit(formSSXMTable)', function (obj) {
                     let index = obj.tr.attr("data-index");
                     let data = xxDataList[index];
-                    if (obj.field === 'anfme'){
+                    if (obj.field === 'anfme') {
                         let vle = Number(obj.value);
                         if (isNaN(vle)) {
-                            layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+                            layer.msg("璇疯緭鍏ユ暟瀛�", { icon: 2 });
                             return false;
                         } else {
                             if (vle <= 0) {
-                                layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                layer.msg("鏁伴噺蹇呴』澶т簬闆�", { icon: 2 });
                                 // data[obj.field] = 0;
                                 // insTbSSXM.reload({data: xxDataList});
                                 return false;
                             }
-                            if(obj.value < data.workQty){
-                                layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+                            if (obj.value < data.workQty) {
+                                layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", { icon: 2 });
                                 // data[obj.field] = 0;
                                 // insTbSSXM.reload({data: xxDataList});
                                 return false;
@@ -319,7 +308,7 @@
                         }
                     }
                     data[obj.field] = obj.value;
-                    insTbSSXM.reload({data: xxDataList});
+                    insTbSSXM.reload({ data: xxDataList });
                 });
 
                 $('#matAddBtnComment').click(function () {
@@ -340,22 +329,22 @@
                             // 琛ㄥ崟鎻愪氦浜嬩欢
                             form.on('submit(matEditSubmit)', function (data) {
                                 let selectList = matXmSelect.getValue();
-                                for (let i = 0; i<selectList.length; i++) {
+                                for (let i = 0; i < selectList.length; i++) {
                                     let item = selectList[i];
                                     // 鏌ヨ鐗╂枡璇︽儏
                                     $.ajax({
-                                        url: baseUrl+"/mat/covert/"+item.value+"/auth",
-                                        headers: {'token': localStorage.getItem('token')},
+                                        url: baseUrl + "/mat/covert/" + item.value + "/auth",
+                                        headers: { 'token': localStorage.getItem('token') },
                                         method: 'GET',
                                         async: false,
                                         success: function (res) {
-                                            if (res.code === 200){
+                                            if (res.code === 200) {
                                                 xxDataList.push(res.data);
-                                                insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
-                                            } else if (res.code === 403){
-                                                top.location.href = baseUrl+"/";
-                                            }else {
-                                                layer.msg(res.msg, {icon: 2})
+                                                insTbSSXM.reload({ data: xxDataList, page: { curr: 1 } });
+                                            } else if (res.code === 403) {
+                                                top.location.href = baseUrl + "/";
+                                            } else {
+                                                layer.msg(res.msg, { icon: 2 })
                                             }
                                         }
                                     })
@@ -373,20 +362,20 @@
                                 toolbar: { show: true },
                                 filterable: true,
                                 remoteSearch: true,
-                                remoteMethod: function(val, cb, show){
+                                remoteMethod: function (val, cb, show) {
                                     $.ajax({
-                                        url: baseUrl+"/mat/all/get/kv",
-                                        headers: {'token': localStorage.getItem('token')},
+                                        url: baseUrl + "/mat/all/get/kv",
+                                        headers: { 'token': localStorage.getItem('token') },
                                         data: {
                                             condition: val
                                         },
                                         method: 'POST',
                                         success: function (res) {
-                                            if (res.code === 200){
+                                            if (res.code === 200) {
                                                 cb(res.data)
                                             } else {
                                                 cb([]);
-                                                layer.msg(res.msg, {icon: 2});
+                                                layer.msg(res.msg, { icon: 2 });
                                             }
                                         }
                                     });
@@ -412,25 +401,25 @@
             layer.close(i);
             layer.load(2);
             $.ajax({
-                url: baseUrl+"/order/pakin/order/delete/auth",
-                headers: {'token': localStorage.getItem('token')},
+                url: baseUrl + "/order/pakin/order/delete/auth",
+                headers: { 'token': localStorage.getItem('token') },
                 data: {
                     orderId: orderId
                 },
                 method: 'POST',
                 success: function (res) {
                     layer.closeAll('loading');
-                    if (res.code === 200){
+                    if (res.code === 200) {
                         if (insTbCount === 0) {
-                            insTb.reload({page: {curr: 1}});
+                            insTb.reload({ page: { curr: 1 } });
                         } else {
                             $(".layui-laypage-btn")[0].click();
                         }
-                        layer.msg(res.msg, {icon: 1});
-                    } else if (res.code === 403){
-                        top.location.href = baseUrl+"/";
-                    }else {
-                        layer.msg(res.msg, {icon: 2});
+                        layer.msg(res.msg, { icon: 1 });
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
+                        layer.msg(res.msg, { icon: 2 });
                     }
                 }
             })
@@ -448,8 +437,8 @@
             console.log(orderId);
             console.log(settle);
             $.ajax({
-                url: baseUrl+"/order/pakin/order/update/auth",
-                headers: {'token': localStorage.getItem('token')},
+                url: baseUrl + "/order/pakin/order/update/auth",
+                headers: { 'token': localStorage.getItem('token') },
                 data: {
                     id: orderId,
                     orderNo: orderNo,
@@ -458,17 +447,17 @@
                 method: 'POST',
                 success: function (res) {
                     layer.closeAll('loading');
-                    if (res.code === 200){
+                    if (res.code === 200) {
                         if (insTbCount === 0) {
-                            insTb.reload({page: {curr: 1}});
+                            insTb.reload({ page: { curr: 1 } });
                         } else {
                             $(".layui-laypage-btn")[0].click();
                         }
-                        layer.msg(res.msg, {icon: 1});
-                    } else if (res.code === 403){
-                        top.location.href = baseUrl+"/";
-                    }else {
-                        layer.msg(res.msg, {icon: 2});
+                        layer.msg(res.msg, { icon: 1 });
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
+                        layer.msg(res.msg, { icon: 2 });
                     }
                 }
             })
@@ -477,17 +466,17 @@
 
     // 浠诲姟杩芥函
     function showWrkTrace(orderId) {
-        let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+        let loadIndex = layer.msg('璇锋眰涓�...', { icon: 16, shade: 0.01, time: false });
         $.ajax({
-            url: baseUrl+"/order/pakin/order/wrk/trace/auth",
-            headers: {'token': localStorage.getItem('token')},
+            url: baseUrl + "/order/pakin/order/wrk/trace/auth",
+            headers: { 'token': localStorage.getItem('token') },
             data: {
                 orderId: orderId
             },
             method: 'POST',
             success: function (res) {
                 layer.close(loadIndex);
-                if (res.code === 200){
+                if (res.code === 200) {
                     laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
                         admin.open({
                             type: 1,
@@ -502,26 +491,26 @@
                                 var traceOptions = {
                                     title: {
                                         text: '鎬婚噺/浣滀笟/瀹屾垚', x: 'center', y: '38%',
-                                        textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'},
-                                        subtextStyle: {fontSize: 36, color: '#10B4E8'},
+                                        textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' },
+                                        subtextStyle: { fontSize: 36, color: '#10B4E8' },
                                         itemGap: 20
                                     },
                                     color: ['#10B4E8', '#E0E0E0', '#FF0000'],
-                                    tooltip: {trigger: 'item'},
-                                    series: [{name: '鏁伴噺', type: 'pie', radius: ['75%', '80%'], label: {normal: {show: false}}}]
+                                    tooltip: { trigger: 'item' },
+                                    series: [{ name: '鏁伴噺', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }]
                                 };
                                 traceCharts.setOption(traceOptions);
                                 // 璧嬪��
                                 traceCharts.setOption({
                                     title: {
-                                        subtext: res.data.totalQty+"/"+res.data.wrkQty+"/"+res.data.endQty
+                                        subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty
                                     },
                                     series: [
                                         {
                                             data: [
-                                                {name: '宸蹭綔涓�', value: res.data.wrkQty},
-                                                {name: '鏈綔涓�', value: res.data.totalQty-res.data.wrkQty-res.data.lackQty},
-                                                {name: '搴撳瓨涓嶈冻', value: res.data.lackQty},
+                                                { name: '宸蹭綔涓�', value: res.data.wrkQty },
+                                                { name: '鏈綔涓�', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty },
+                                                { name: '搴撳瓨涓嶈冻', value: res.data.lackQty },
                                             ]
                                         }
                                     ]
@@ -529,10 +518,10 @@
                             }
                         });
                     });
-                } else if (res.code === 403){
-                    top.location.href = baseUrl+"/";
-                }else {
-                    layer.msg(res.msg, {icon: 2});
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
+                    layer.msg(res.msg, { icon: 2 });
                 }
             }
         })
@@ -540,7 +529,7 @@
 
     layDate.render({
         elem: '.layui-laydate-range'
-        ,type: 'datetime'
-        ,range: true
+        , type: 'datetime'
+        , range: true
     });
 });
diff --git a/src/main/webapp/views/orderPakin/order.html b/src/main/webapp/views/orderPakin/order.html
index 5b15330..715d2b9 100644
--- a/src/main/webapp/views/orderPakin/order.html
+++ b/src/main/webapp/views/orderPakin/order.html
@@ -140,6 +140,10 @@
           {{# } }}
     >{{d.settle$}}</span>
 </script>
+<!--鍗曟嵁鏄庣粏鏌ヨ-->
+<script type="text/html" id="orderItem">
+    <table id="itemTable" lay-filter="itemTable"></table>
+</script>
 <!-- 琛ㄥ崟寮圭獥 -->
 <script type="text/html" id="editDialog">
     <form id="editForm" lay-filter="editForm" class="layui-form model-form">

--
Gitblit v1.9.1