From 57f9a55581343a805cd589bbdc00e4d28a28aa97 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 28 七月 2025 13:26:42 +0800
Subject: [PATCH] erp对接

---
 src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java |    8 
 src/main/java/com/zy/asrs/entity/OrderDetl.java                  |   45 +
 src/main/java/com/zy/asrs/controller/OpenController.java         |    2 
 src/main/java/com/zy/asrs/entity/result/OrderRsult.java          |   50 ++
 src/main/java/com/zy/asrs/controller/OrderDetlController.java    |   77 +++
 src/main/java/com/zy/asrs/entity/Order.java                      |    8 
 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java         |   17 
 src/main/webapp/static/js/orderDetl/orderDetl.js                 |  266 +++++++++---
 src/main/java/com/zy/asrs/service/OpenService.java               |    2 
 src/main/resources/mapper/OrderDetlMapper.xml                    |    1 
 /dev/null                                                        |  119 -----
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    4 
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java     |  124 ++---
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |  138 ++++++
 src/main/java/com/zy/asrs/task/AutoReportingScheduler.java       |   40 ++
 src/main/webapp/views/orderDetl/orderDetl.html                   |  111 ++++-
 src/main/java/com/zy/common/model/DetlDto.java                   |   47 ++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java      |   72 +-
 src/main/resources/application.yml                               |   43 -
 src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java  |   12 
 20 files changed, 796 insertions(+), 390 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 5a442c2..6424fbb 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -121,7 +121,7 @@
     @PostMapping("/pakout/execute/auth/v1")
     @AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱")
     public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
-                                            @RequestBody OpenOrderPakoutParam param,
+                                            @RequestBody OpenOrderPakinParam param,
                                             HttpServletRequest request) {
         auth(appkey, param, request);
         if (Cools.isEmpty(param)) {
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 9b2e3d5..651099f 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -9,22 +9,30 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.service.DocTypeService;
 import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
+import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 public class OrderDetlController extends BaseController {
 
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderService orderService;
+
+    @Autowired
+    private DocTypeService docTypeService;
 
     @RequestMapping(value = "/orderDetl/{id}/auth")
     @ManagerAuth
@@ -45,7 +53,7 @@
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
             wrapper.orderBy("create_time", false);
         }
-        wrapper.eq("status", 1);
+//        wrapper.eq("status", 1);
         Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
         return R.ok(orderDetlPage);
     }
@@ -88,15 +96,68 @@
         return R.ok();
     }
 
+    /**
+     * 璁㈠崟鏄庣粏鎵嬪姩涓婃姤
+     * @param ids 璁㈠崟鏄庣粏id
+     * @return
+     */
+    @RequestMapping(value = "/orderDetl/manualReporting/auth")
+    @ManagerAuth
+    public R manualReporting(@RequestParam(value="ids[]") Long[] ids){
+        R r = R.ok();
+        for (Long id : ids){
+            OrderDetl orderDetl = orderDetlService.selectById(id);
+            if(orderDetl.getAnfme().equals(orderDetl.getWorkQty())){
+                return R.error("鐗╂枡缂栧彿={"+orderDetl.getMatnr()+"}瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忎笉鐩稿悓鏃犳硶鎵嬪姩涓婃姤");
+            }
+            if(!Cools.isEmpty(orderDetl.getUnits())&&orderDetl.getUnits().equals(orderDetl.getAnfme())){
+                r= R.error("涓婃姤鏁伴噺鍜屽畬鎴愭暟閲忎竴鑷寸姝笂鎶�");
+            }
+            r = orderDetlService.U8Reporting(id, 1);
+        }
+        return r;
+    }
+
+    /**
+     * 璁㈠崟鏄庣粏鍏抽棴
+     * @param ids 璁㈠崟鏄庣粏id
+     * @return
+     */
     @RequestMapping(value = "/orderDetl/delete/auth")
     @ManagerAuth
     public R delete(@RequestParam(value="ids[]") Long[] ids){
+        R r = R.ok();
          for (Long id : ids){
-            orderDetlService.deleteById(id);
-        }
-        return R.ok();
+             OrderDetl orderDetl = orderDetlService.selectById(id);
+             if(orderDetl.getAnfme().equals(orderDetl.getWorkQty())){
+                 return R.error("鐗╂枡缂栧彿={"+orderDetl.getMatnr()+"}瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忎笉鐩稿悓鏃犳硶鍏抽棴");
+             }
+             r = orderDetlService.U8Reporting(id, 0);
+         }
+        return r;
     }
 
+    /**
+     * 璁㈠崟鏄庣粏鍚敤
+     * @param ids 璁㈠崟鏄庣粏id
+     * @return
+     */
+    @RequestMapping(value = "/orderDetl/enable/auth")
+    @ManagerAuth
+    public R enable(@RequestParam(value="ids[]") Long[] ids){
+        R r = R.ok();
+        for (Long id : ids){
+//            OrderDetl orderDetl = orderDetlService.selectById(id);
+//            if(orderDetl.getAnfme().equals(orderDetl.getWorkQty())){
+//                return R.error("鐗╂枡缂栧彿={"+orderDetl.getMatnr()+"}瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忎笉鐩稿悓鏃犳硶鍚敤");
+//            }
+            r = orderDetlService.U8Reporting(id, 1);
+        }
+        return r;
+    }
+
+
+
     @RequestMapping(value = "/orderDetl/export/auth")
     @ManagerAuth
     public R export(@RequestBody JSONObject param){
diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java
index 5aebc90..c5a8bed 100644
--- a/src/main/java/com/zy/asrs/entity/Order.java
+++ b/src/main/java/com/zy/asrs/entity/Order.java
@@ -200,16 +200,16 @@
     private Date sendTime;
 
     /**
-     * 鐗╂祦鍚嶇О
+     * 鐩爣浠撳簱
      */
-    @ApiModelProperty(value= "鐗╂祦鍚嶇О")
+    @ApiModelProperty(value= "鐩爣浠撳簱")
     @TableField("ship_name")
     private String shipName;
 
     /**
-     * 鐗╂祦鍗曞彿
+     * 婧愪粨搴�
      */
-    @ApiModelProperty(value= "鐗╂祦鍗曞彿")
+    @ApiModelProperty(value= "婧愪粨搴�")
     @TableField("ship_code")
     private String shipCode;
 
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index f08621d..3c740bb 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.enums.IdType;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
+import com.zy.asrs.service.DocTypeService;
 import com.zy.asrs.service.OrderService;
 import com.zy.common.utils.Synchro;
 import com.zy.system.entity.User;
@@ -17,6 +18,7 @@
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.Objects;
 
 @Data
 @TableName("man_order_detl")
@@ -132,9 +134,9 @@
     private String sku;
 
     /**
-     * 鍗曚綅閲�
+     * 涓婃姤鏁伴噺
      */
-    @ApiModelProperty(value= "鍗曚綅閲�")
+    @ApiModelProperty(value= "涓婃姤鏁伴噺")
     private Double units;
 
     /**
@@ -242,9 +244,9 @@
     private Integer source;
 
     /**
-     * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�
+     * 鏄惁涓婃姤 1: 鏄�  0: 鍚�   2: 绛夊緟涓婃姤
      */
-    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value= "鏄惁涓婃姤 1: 鏄�  0: 鍚�   2: 绛夊緟涓婃姤")
     private Integer inspect;
 
     /**
@@ -386,18 +388,6 @@
         }
     }
 
-    public String getDanger$(){
-        if (null == this.danger){ return null; }
-        switch (this.danger){
-            case 1:
-                return "鏄�";
-            case 0:
-                return "鍚�";
-            default:
-                return String.valueOf(this.danger);
-        }
-    }
-
     public String getStatus$(){
         if (null == this.status){ return null; }
         switch (this.status){
@@ -463,4 +453,27 @@
         Synchro.Copy(source, this);
     }
 
+    public String getAnfme$(){
+        if(Objects.equals(this.qty, this.anfme)){
+            return "宸插畬鎴�";
+        }else if(this.workQty==0){
+            return "寰呭鐞�";
+        }else if(this.anfme>this.qty){
+            return "浣滀笟涓�";
+        }else if(this.anfme<this.qty){
+            return "寮傚父";
+        }
+        return "";
+    }
+
+    public String getDanger$(){
+        DocTypeService service = SpringUtils.getBean(DocTypeService.class);
+        OrderService orderServicer=SpringUtils.getBean(OrderService.class);
+        Order order = orderServicer.selectByNo(this.orderNo);
+        DocType docType = service.selectById(order.getDocType());
+        if (!Cools.isEmpty(docType)){
+            return String.valueOf(docType.getDocName());
+        }
+        return null;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
index 7ed973a..d9b16b4 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -1,7 +1,11 @@
 package com.zy.asrs.entity.param;
 
+import com.baomidou.mybatisplus.annotations.TableField;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -146,7 +150,7 @@
         private  String color;
 
         /**
-         * 鍝佺墝
+         * 閫氱敤
          */
         private String brand;
 
@@ -251,7 +255,7 @@
         private Integer source;
 
         /**
-         * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�
+         * 鏄惁鍚敤 1: 鏄�  0: 鍚�
          */
         private Integer inspect;
 
@@ -284,6 +288,15 @@
          * 鏁伴噺
          */
         private Double anfme;
+
+        /**
+         * 鍚敤鏃堕棿
+         */
+        @ApiModelProperty(value= "鍚敤鏃堕棿")
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+        private Date suspensionDate;
+
+
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java
index 36282b2..837d505 100644
--- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java
@@ -12,18 +12,26 @@
  */
 @Data
 public class OpenOrderPakinParam {
+    private String billType;
 
     private String orderNo;
 
     private String orderType;
-
-    private String billType;
 
     private String orderTime;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
+    /**
+     * 鐩爣浠撳簱
+     */
+    private  String targetWarehouse;
+
+    /**
+     * 婧愪粨搴�
+     */
+    private  String sourceWarehouse;
 
     private List<DetlDto> matList;
 
diff --git a/src/main/java/com/zy/asrs/entity/result/OrderRsult.java b/src/main/java/com/zy/asrs/entity/result/OrderRsult.java
new file mode 100644
index 0000000..8237e2f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/result/OrderRsult.java
@@ -0,0 +1,50 @@
+package com.zy.asrs.entity.result;
+
+import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderRsult {
+    public OrderRsult.Login login;
+    public String vouchName;
+    public String commandType;
+    public String verifier;
+    public List<OrderRsult.HeadTable> headTable;
+    public List<OrderRsult.BodyTable> bodyTable;
+
+    @Data
+    public static class Login {
+        public String sAccID;
+        public String sUserID;
+        public String sPassword;
+        public String sServer;
+    }
+
+    @Data
+    public static class HeadTable {
+        public String ctvcode;
+        public String dtvdate;
+        public String cmaker;
+        public String vt_id;
+        public String ciwhcode;
+        public String cowhcode;
+        public String cordcode;
+        public String cirdcode;
+        public String codepcode;
+        public String cidepcode;
+    }
+
+    @Data
+    public static class BodyTable {
+        public String irowno;
+        public String cinvcode;
+        public String ctvbatch;
+        public String itvquantity;
+        public String cinposcode;
+        public String coutposcode;
+        public String itrsid;
+        public String editprop;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 318c3d4..b11d48b 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -21,7 +21,7 @@
     /**
      * 娣诲姞鍏ュ簱鍗�
      */
-    void pakoutOrderCreate(OpenOrderPakoutParam param);
+    void pakoutOrderCreate(OpenOrderPakinParam param);
 
     /**
      * 鍏ュ簱鍗曞洖鍐�
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index ecf08d2..78f0625 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.IService;
+import com.core.common.R;
 import com.zy.asrs.entity.OrderDetl;
 
 import java.util.List;
@@ -37,4 +38,7 @@
      * @return
      */
     boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+
+    R U8Reporting(long id,Integer sts);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java
index b2e31d1..503bf9a 100644
--- a/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java
@@ -10,7 +10,6 @@
 import com.zy.asrs.mapper.CheckDetlMapper;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.CheckDetlService;
-import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
 import com.zy.common.utils.HttpHandler;
 import javafx.print.Printer;
 import lombok.extern.slf4j.Slf4j;
@@ -28,18 +27,15 @@
 @Service
 @Slf4j
 public class CheckDetlServiceImpl extends ServiceImpl<CheckDetlMapper, CheckDetl> implements CheckDetlService {
-    @Value("${erp.newaddress.UPLOADURL}")
+    @Value("${erp.address.URL}")
     //绔彛
     private String URL;
-    @Value("${erp.newaddress.uploadaddressSubmit}")
+    @Value("${erp.address.outaddressSave}")
     private String uploadAddress;
     @Autowired
     private CheckDetlService checkDetlService;
     @Autowired
     private ApiLogService apiLogService;
-
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
 
 
     @Override
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index d0bba2e..fbc71c2 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -87,8 +87,8 @@
                 null,    // 閭垂
                 null,    // 浠樻鏃堕棿
                 null,    // 鍙戣揣鏃堕棿
-                null,    // 鐗╂祦鍚嶇О
-                null,    // 鐗╂祦鍗曞彿
+                param.getTargetWarehouse(),    // 鐩爣浠撳簱
+                param.getSourceWarehouse(),    // 婧愪粨搴�
                 1L,    // 璁㈠崟鐘舵��
                 1,    // 鐘舵��
                 9527L,    // 娣诲姞浜哄憳
@@ -101,19 +101,19 @@
             throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
         }
         // 鍗曟嵁鏄庣粏妗�
-        List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getMatList();
-        for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
-            if (DetlDto.has(list, dto)) {
-                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
-                assert detlDto != null;
-                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
-            } else {
-                list.add(dto);
-            }
-        }
-        for (DetlDto detlDto : list) {
+//        List<DetlDto> list = new ArrayList<>();
+//        List<DetlDto> orderDetails = param.getMatList();
+//        for (DetlDto detail : orderDetails) {
+//            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
+//            if (DetlDto.has(list, dto)) {
+//                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+//                assert detlDto != null;
+//                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+//            } else {
+//                list.add(dto);
+//            }
+//        }
+        for (DetlDto detlDto : param.getMatList()) {
             Mat mat = matService.selectByMatnr(detlDto.getMatnr());
             if (Cools.isEmpty(mat)) {
                 throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
@@ -130,6 +130,8 @@
             orderDetl.setUpdateTime(now);
             orderDetl.setStatus(1);
             orderDetl.setQty(0.0D);
+            orderDetl.setWorkQty(0.0D);
+            orderDetl.setUnits(0.0);
             if (!orderDetlService.insert(orderDetl)) {
                 throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
             }
@@ -184,7 +186,7 @@
 
     @Override
     @Transactional
-    public void pakoutOrderCreate(OpenOrderPakoutParam param) {
+    public void pakoutOrderCreate(OpenOrderPakinParam param) {
         Order order = orderService.selectByNo(param.getOrderNo());
         // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹�
         if (!Cools.isEmpty(order)) {
@@ -222,8 +224,8 @@
                 null,    // 閭垂
                 null,    // 浠樻鏃堕棿
                 null,    // 鍙戣揣鏃堕棿
-                null,    // 鐗╂祦鍚嶇О
-                null,    // 鐗╂祦鍗曞彿
+                param.getTargetWarehouse(),    // 鐗╂祦鍚嶇О
+                param.getSourceWarehouse(),    // 鐗╂祦鍗曞彿
                 1L,    // 璁㈠崟鐘舵��
                 1,    // 鐘舵��
                 9527L,    // 娣诲姞浜哄憳
@@ -236,19 +238,19 @@
             throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
         }
         // 鍗曟嵁鏄庣粏妗�
-        List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getMatList();
-        for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
-            if (DetlDto.has(list, dto)) {
-                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
-                assert detlDto != null;
-                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
-            } else {
-                list.add(dto);
-            }
-        }
-        for (DetlDto detlDto : list) {
+//        List<DetlDto> list = new ArrayList<>();
+//        List<DetlDto> orderDetails = param.getMatList();
+//        for (DetlDto detail : orderDetails) {
+//            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
+//            if (DetlDto.has(list, dto)) {
+//                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+//                assert detlDto != null;
+//                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+//            } else {
+//                list.add(dto);
+//            }
+//        }
+        for (DetlDto detlDto : param.getMatList()) {
             Mat mat = matService.selectByMatnr(detlDto.getMatnr());
             if (Cools.isEmpty(mat)) {
                 throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
@@ -265,6 +267,8 @@
             orderDetl.setUpdateTime(now);
             orderDetl.setStatus(1);
             orderDetl.setQty(0.0D);
+            orderDetl.setWorkQty(0.0D);
+            orderDetl.setUnits(0.0);
             if (!orderDetlService.insert(orderDetl)) {
                 throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
             }
@@ -584,9 +588,9 @@
                         mat.sync(matParam);  //
 
                         mat.setTagId(tagId);
-                        mat.setStatus(1);
+                        mat.setStatus(matParam.getInspect());
                         mat.setCreateTime(now);
-                        mat.setUpdateTime(now);
+                        mat.setUpdateTime(matParam.getSuspensionDate());//鍚敤鏃堕棿
                         if (!matService.insert(mat)) {
                             throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                         } else {
@@ -596,6 +600,8 @@
                         Tag priTag = tagService.selectByName(matParam.getTagIdName(), 2);
                         matParam.setTagId(priTag.getId());
                         mat.sync(matParam);  // 鈿狅笍 鍚屼笂
+                        mat.setUpdateTime(matParam.getSuspensionDate());//鍚敤鏃堕棿
+                        mat.setStatus(matParam.getInspect());
                         if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) {
                             throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
                         }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 327edbb..693b9b9 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -1,18 +1,54 @@
 package com.zy.asrs.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.Cools;
+import com.core.common.R;
+import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.result.OrderRsult;
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OrderDetlService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.service.OrderService;
+import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.text.Format;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
+@Slf4j
 @Service("orderDetlService")
 public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
+
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+
+    @Autowired
+    private ApiLogService apiLogService;
+    @Value("${erp.switch.ReviewOrderSwitch}")
+    private Boolean switchReviewOrderSwitch;
+    @Value("${erp.address.URL}")
+    private String URL;
+    @Value("${erp.address.inaddressSave}")
+    private String inaddressSave;
+    @Value("${erp.address.outaddressSave}")
+    private String outaddressSave;
 
     @Override
     public List<OrderDetl> selectByOrderId(Long orderId) {
@@ -90,4 +126,106 @@
     public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
         return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
     }
+
+    @Override
+    public R U8Reporting(long id, Integer sts) {
+        String ERPPath=inaddressSave;
+        String ERPName="";
+        OrderDetl orderDetl = orderDetlService.selectById(id);
+        Order order = orderService.selectByNo(orderDetl.getOrderNo());
+        if (order==null){
+            return R.error("娌℃湁鎵惧埌鏀硅鍗� id="+id);
+        }
+        OrderRsult orderRsult = new OrderRsult();
+        OrderRsult.Login login = new OrderRsult.Login();
+        OrderRsult.HeadTable headTable = new OrderRsult.HeadTable();
+        OrderRsult.BodyTable bodyTable = new OrderRsult.BodyTable();
+        login.setSAccID("999"); //璐﹀鍙�    鍥哄畾
+        login.setSUserID("sys");//U8鐧婚檰璐﹀彿 鍥哄畾
+        login.setSPassword("123456");//U8鐧婚檰瀵嗙爜 鍥哄畾
+        login.setSServer("10.1.9.20");//U8鏈嶅姟鍣ㄥ湴鍧�銆�鍥哄畾
+        orderRsult.setLogin(login);
+        orderRsult.setVerifier("sys");//鍗曟嵁绫诲瀷銆� 鍥哄畾
+        orderRsult.setCommandType(sts.equals(1) ? "鏂板" : "鍏抽棴");//鎿嶄綔绫诲瀷 銆�鍥哄畾
+        orderRsult.setVouchName("璋冩嫧鍗�");//瀹℃牳浜� 濉啓鍒欒嚜鍔ㄥ鏍�
+
+        headTable.setCtvcode(order.getOrderNo());//璋冩嫧鍗曞彿銆� 榛樿
+        //鏃堕棿
+        Date date=new Date();
+        Format formatter = new SimpleDateFormat("yyyy-MM-dd");
+        String format = formatter.format(date);
+        headTable.setDtvdate(format);//鍗曟嵁鏃ユ湡
+        headTable.setCmaker("sys");//鍒跺崟浜哄悕绉�
+        headTable.setVt_id("89");//妯℃澘鍙�		榛樿
+
+        headTable.setCiwhcode("");//杞叆浠撳簱缂栫爜
+        headTable.setCowhcode("");//杞嚭浠撳簱缂栫爜
+        headTable.setCordcode("");//鍑哄簱绫诲埆缂栫爜      榛樿
+        headTable.setCirdcode("");//鍏ュ簱绫诲埆缂栫爜      榛樿
+        headTable.setCodepcode("");//杞嚭閮ㄩ棬缂栫爜
+        headTable.setCidepcode("");//杞叆閮ㄩ棬缂栫爜
+
+
+
+        bodyTable.setIrowno(orderDetl.getModel());//琛屽彿
+        bodyTable.setCinvcode(orderDetl.getMatnr());//瀛樿揣缂栫爜
+        bodyTable.setCtvbatch(Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch());//鎵瑰彿锛堢壒娈婅鏄庯級
+        Double qty = orderDetl.getQty()-(Cools.isEmpty(orderDetl.getUnits())?0:orderDetl.getUnits());
+        bodyTable.setItvquantity(String.valueOf(qty));//瀹屾垚浠舵暟
+        bodyTable.setCinposcode("1-1");//绔嬪簱婧愯揣浣�
+        bodyTable.setCoutposcode("");//鐩爣璐т綅
+        bodyTable.setItrsid(orderDetl.getMemo());//琛屼富閿�
+        bodyTable.setEditprop(sts.equals(1) ? "A" : "B");//鐘舵�� A 鏂板
+
+
+        if (order.getDocType()>10L) {
+            ERPPath=outaddressSave;
+        }
+        ERPName=order.getDocType$();
+        String response = "";
+        boolean success = false;
+        try {
+
+            response = new HttpHandler.Builder()
+//                        .setHeaders(map)
+                    .setUri(URL)
+                    .setPath(ERPPath)
+                    .setJson(JSON.toJSONString(orderRsult))
+                    .build()
+                    .doPost();
+            System.out.println("response:"+response);
+            JSONObject jsonObject = JSON.parseObject(response);
+
+            if (jsonObject.getInteger("code").equals(200)) {
+                orderDetl.setUnits(qty+orderDetl.getUnits());
+                orderDetl.setStatus(sts);
+                orderDetlService.updateById(orderDetl);
+                success = true;
+            } else {
+                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+ERPPath, JSON.toJSONString(orderRsult), response);
+            }
+        } catch (Exception e) {
+            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+ERPPath, JSON.toJSONString(orderRsult), response);
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+                apiLogService.save(
+                        "涓婃姤"+ERPName,
+                        URL +"/"+ ERPPath,
+                        null,
+                        "127.0.0.1",
+                        JSON.toJSONString(orderRsult),
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("", e);
+            }
+        }
+        if (!success) {
+            return R.error();
+        }
+        return R.ok();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index ea85279..2d7c4fa 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -19,6 +19,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Slf4j
 @Service("orderService")
@@ -70,31 +71,16 @@
                 break;
             }
         }
-        if (complete) {
-            // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏
-            DocType docType = docTypeService.selectById(order.getDocType());
-            if (null != docType && docType.getPakout() == 1) {
-                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
-                    throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-                }
-                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
-                for (WrkDetl wrkDetl : wrkDetls) {
-                    OrderDetl orderDetl = new OrderDetl();
-                    orderDetl.sync(wrkDetl);
-                    orderDetl.setQty(orderDetl.getAnfme());
-                    orderDetl.setOrderId(order.getId());
-                    orderDetl.setOrderNo(orderNo);
-                    orderDetl.setStatus(1);
-                    orderDetl.setCreateTime(order.getCreateTime());
-                    orderDetl.setCreateBy(order.getCreateBy());
-                    orderDetl.setUpdateTime(order.getUpdateTime());
-                    orderDetl.setUpdateBy(order.getUpdateBy());
-                    if (!orderDetlService.insert(orderDetl)) {
-                        throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-                    }
-                }
+        //褰撹璁㈠崟鏄庣粏鏁伴噺==瀹屾垚鏁伴噺涓�>涓婃姤鏁伴噺锛屼笂鎶ョ姸鎬佷负 鍚� 鎴栬�� 鏄� 鏃堕兘鏀规垚绛夊緟涓婃姤锛屽畾鏃跺櫒杞绛夊緟涓婃姤杩涜涓婃姤
+        for (OrderDetl orderDetl : orderDetls) {
+            if (Objects.equals(orderDetl.getAnfme(), orderDetl.getQty())&&
+                    orderDetl.getQty()>orderDetl.getUnits()
+                    &&orderDetl.getInspect()<2) {
+                orderDetl.setInspect(2);//绛夊緟涓婃姤
+                orderDetlService.updateById(orderDetl);
             }
-
+        }
+        if (complete) {
             if (!this.updateSettle(order.getId(), 4L, null)) {
                 throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�");
             }
@@ -104,51 +90,51 @@
 
     @Override
     public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) {
-        try {
-            List<DetlDto> detlDtos = new ArrayList<>();
-            wrkDetls.forEach(wrkDetl -> {
-                detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()));
-            });
-            String orderNo = "HAND" + snowflakeIdWorker.nextId();
-            if (pakin) {
-                // 鐢熸垚鍏ュ簱鍗曟嵁
-                OpenOrderPakinParam openParam = new OpenOrderPakinParam();
-                openParam.setOrderNo(orderNo);
-                openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
-                openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
-                openParam.setMatList(detlDtos);
-                openService.pakinOrderCreate(openParam);
-            } else {
-                // 鐢熸垚鍑哄簱鍗曟嵁
-                OpenOrderPakoutParam openParam = new OpenOrderPakoutParam();
-                openParam.setOrderNo(orderNo);
-                openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
-                openParam.setOrderType("鎵嬪姩鍑哄簱鍗�");
-                openParam.setOrderDetails(detlDtos);
-                openService.pakoutOrderCreate(openParam);
-            }
-
-            Order order = this.selectByNo(orderNo);
-            if (null == order) {
-                throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
-            }
-            if (!this.updateSettle(order.getId(), 4L, null)) {
-                throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
-            }
-            for (DetlDto detlDto : detlDtos) {
-                // 淇敼璁㈠崟鏄庣粏鏁伴噺
-                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
-                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
-                }
-                // 淇敼璁㈠崟浣滀笟鏁伴噺
-                if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
-                    throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
-                }
-            }
-        } catch (Exception e) {
-            log.error("saveHandlerOrder===>>", e);
-            return false;
-        }
+//        try {
+//            List<DetlDto> detlDtos = new ArrayList<>();
+//            wrkDetls.forEach(wrkDetl -> {
+//                detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()));
+//            });
+//            String orderNo = "HAND" + snowflakeIdWorker.nextId();
+//            if (pakin) {
+//                // 鐢熸垚鍏ュ簱鍗曟嵁
+//                OpenOrderPakinParam openParam = new OpenOrderPakinParam();
+//                openParam.setOrderNo(orderNo);
+//                openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
+//                openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
+//                openParam.setMatList(detlDtos);
+//                openService.pakinOrderCreate(openParam);
+//            } else {
+//                // 鐢熸垚鍑哄簱鍗曟嵁
+//                OpenOrderPakoutParam openParam = new OpenOrderPakoutParam();
+//                openParam.setOrderNo(orderNo);
+//                openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
+//                openParam.setOrderType("鎵嬪姩鍑哄簱鍗�");
+//                openParam.setOrderDetails(detlDtos);
+//                openService.pakoutOrderCreate(openParam);
+//            }
+//
+//            Order order = this.selectByNo(orderNo);
+//            if (null == order) {
+//                throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
+//            }
+//            if (!this.updateSettle(order.getId(), 4L, null)) {
+//                throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
+//            }
+//            for (DetlDto detlDto : detlDtos) {
+//                // 淇敼璁㈠崟鏄庣粏鏁伴噺
+//                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+//                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+//                }
+//                // 淇敼璁㈠崟浣滀笟鏁伴噺
+//                if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+//                    throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+//                }
+//            }
+//        } catch (Exception e) {
+//            log.error("saveHandlerOrder===>>", e);
+//            return false;
+//        }
         return true;
     }
 
diff --git a/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java b/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java
new file mode 100644
index 0000000..ae1b1d7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java
@@ -0,0 +1,40 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.task.handler.WorkMastHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class AutoReportingScheduler {
+
+    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
+
+    private OrderService orderService;
+
+    private OrderDetlService orderDetlService;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        List< OrderDetl> orderDetls=orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+                .eq("status",1)
+                .eq("inspect",2));
+        if(Cools.isEmpty(orderDetls)){
+            return;
+        }
+        for (OrderDetl orderDetl : orderDetls) {
+            orderDetlService.U8Reporting(orderDetl.getId(),1);
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/task/OrderReportScheduler.java b/src/main/java/com/zy/asrs/task/OrderReportScheduler.java
deleted file mode 100644
index e29a65d..0000000
--- a/src/main/java/com/zy/asrs/task/OrderReportScheduler.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.zy.asrs.task;
-import com.zy.asrs.task.handler.OrderMoveHistoryHandler;
-import com.zy.asrs.task.handler.OrderReportHander;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Component
-public class OrderReportScheduler {
-
-    @Autowired
-    private OrderReportHander orderReportHander;
-    /**
-     * 灏嗗凡浣滀笟鏁伴噺涓庡畬鎴愭暟閲忕浉鍚岀殑璁㈠崟鏄庣粏涓婃姤锛岃嫢宸蹭笂鎶ュ皢鏍囪瘑鏀逛负2
-     */
-//    @Scheduled(cron = "0/30 * * * * ?")
-    public void execute(){
-        orderReportHander.startPakIn();
-        orderReportHander.startPakOut();
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderReportHander.java b/src/main/java/com/zy/asrs/task/handler/OrderReportHander.java
deleted file mode 100644
index 8f8d70c..0000000
--- a/src/main/java/com/zy/asrs/task/handler/OrderReportHander.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package com.zy.asrs.task.handler;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
-import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.enums.KingDeeUtilType;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-
-@Service
-@Slf4j
-public class OrderReportHander extends AbstractHandler<String> {
-
-    @Value("${erp.address.URL}")
-    //绔彛
-    private String URL;
-
-//    @Value("${erp.address.inaddressSave}")
-//    //涓婃姤鍏ュ簱鍦板潃
-//    private String inaddressSave;
-    @Value("${erp.address.outaddressSave}")
-    //涓婃姤鍑哄叆搴撳湴鍧�
-    private String outaddressSave;
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private OrderDetlService orderDetlService;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private DocTypeService docTypeService;
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-
-    public ReturnT<String> startPakIn() {
-        // 鏌ュ嚭鎵�鏈夋暟鎹叆搴撳崟
-        List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("doc_type", 34));
-        for(Order order : orderList){
-            List<OrderDetl> orderMemoList = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
-                    .isNull("memo")
-                    .eq("order_No", order.getOrderNo()));//memo涓虹┖琛ㄧず浠嶆湭涓婃姤
-
-            List<OrderDetl> toReportList = new ArrayList<>();
-
-            // 寰幆鍒ゆ柇 anfme 鍜� qty 鏄惁鐩哥瓑锛岀浉绛夊垯琛ㄧず宸插畬鎴愬叆搴�
-            for (OrderDetl orderDetl : orderMemoList) {
-                if (orderDetl.getAnfme() != null && orderDetl.getQty() != null
-                        && orderDetl.getAnfme().doubleValue() == orderDetl.getQty().doubleValue()) {
-                    toReportList.add(orderDetl);
-                }
-            }
-
-            // 濡傛灉鏈夌鍚堟潯浠剁殑鏁版嵁锛屾墽琛屼笂鎶�
-            if (!toReportList.isEmpty()) {
-                boolean flag = reportPakIn(toReportList);
-                if(flag){
-                    for (OrderDetl detl : toReportList) {
-                        detl.setMemo("1");
-                        orderDetlService.updateById(detl);
-                        log.info("宸插畬鎴愬崟鎹笂鎶� =====> " + detl);
-                    }
-                } else {
-                    log.warn("鍏ュ簱涓婃姤澶辫触锛屾湭鏇存柊鏄庣粏 memo涓婃姤 鏍囧織");
-                }
-            }
-        }
-
-        return SUCCESS;
-    }
-
-    private boolean reportPakIn(List<OrderDetl> orderDetls) {
-
-        Date now = new Date();
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-        // 鏋勫缓涓诲崟 JSON 鏁版嵁
-        JSONObject requestBody = new JSONObject();
-        requestBody.put("billType", "鍏ュ簱鍗�");
-
-        // 浠庣涓�涓槑缁嗕腑鎻愬彇璁㈠崟鍙风瓑淇℃伅
-        if (!orderDetls.isEmpty()) {
-            OrderDetl first = orderDetls.get(0);
-            requestBody.put("orderNo", first.getOrderNo());
-        }
-
-        requestBody.put("createTime", sdf.format(now));
-
-        // 鏋勫缓鐗╂枡鍒楄〃
-        JSONArray matList = new JSONArray();
-        for (OrderDetl detl : orderDetls) {
-            JSONObject mat = new JSONObject();
-            mat.put("matnr", detl.getMatnr());
-            mat.put("maktx", detl.getMaktx());
-            mat.put("batch", detl.getBatch());
-            mat.put("qty", detl.getQty());
-            mat.put("anfme", detl.getAnfme());
-            mat.put("units", detl.getUnits());
-            matList.add(mat);
-        }
-
-        requestBody.put("matList", matList);
-
-        // 鍙戦�� POST 璇锋眰
-        String response = "";
-        boolean success = false;
-        try {
-            HashMap<String, Object> headers = new HashMap<>();
-            //  cookie
-            headers.put("Cookie", loginAuthenticationHandler.start().getContent());
-
-            response = new HttpHandler.Builder()
-                    .setHeaders(headers)
-                    .setUri(URL)
-                    .setPath(outaddressSave) // 璁剧疆浣犵殑鎺ュ彛璺緞
-                    .setJson(requestBody.toJSONString())
-                    .build()
-                    .doPost();
-
-            JSONObject data = JSON.parseObject(response);
-            Object isSuccess = findValueByKey(data, "IsSuccess");
-            String bool = isSuccess != null ? isSuccess.toString() : "false";
-
-            if ("true".equals(bool)) {
-                success = true;
-            }
-        } catch (Exception e) {
-            log.error("涓婃姤ERP澶辫触", e);
-        } finally {
-            try {
-                apiLogService.save(
-                        "鍏ュ簱涓婃姤",
-                        URL + outaddressSave,
-                        null,
-                        "127.0.0.1",
-                        requestBody.toJSONString(),
-                        response,
-                        success
-                );
-            } catch (Exception e) {
-                log.error("鏃ュ織淇濆瓨澶辫触", e);
-            }
-        }
-        return success;
-    }
-
-    public ReturnT<String> startPakOut() {
-        // 鎵�鏈夋暟鎹嚭搴撳崟
-        List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("doc_type", 33));
-        for(Order order : orderList){
-            List<OrderDetl> orderMemoList = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
-                    .isNull("memo")
-                    .eq("order_No", order.getOrderNo()));
-
-            List<OrderDetl> toReportList = new ArrayList<>();
-
-            // 寰幆鍒ゆ柇 anfme 鍜� qty 鏄惁鐩哥瓑
-            for (OrderDetl orderDetl : orderMemoList) {
-                if (orderDetl.getAnfme() != null && orderDetl.getQty() != null
-                        && orderDetl.getAnfme().doubleValue() == orderDetl.getQty().doubleValue()) {
-                    toReportList.add(orderDetl);
-                }
-            }
-
-            // 濡傛灉鏈夌鍚堟潯浠剁殑鏁版嵁锛屾墽琛屼笂鎶�
-            if (!toReportList.isEmpty()) {
-                boolean flag = reportPakOut(toReportList);
-                if(flag){
-                    for (OrderDetl detl : toReportList) {
-                        detl.setMemo("1");
-                        orderDetlService.updateById(detl);
-                        log.info("宸插畬鎴愬崟鎹笂鎶� =====> " + detl);
-                    }
-                } else {
-                    log.warn("鍑哄簱涓婃姤澶辫触锛屾湭鏇存柊鏄庣粏 memo 鏍囧織");
-                }
-            }
-        }
-
-        return SUCCESS;
-    }
-
-    private boolean reportPakOut(List<OrderDetl> orderDetls) {
-
-        Date now = new Date();
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-        // 鏋勫缓涓诲崟 JSON 鏁版嵁
-        JSONObject requestBody = new JSONObject();
-        requestBody.put("billType", "鍑哄簱鍗�");
-
-        // 浠庣涓�涓槑缁嗕腑鎻愬彇璁㈠崟鍙风瓑淇℃伅
-        if (!orderDetls.isEmpty()) {
-            OrderDetl first = orderDetls.get(0);
-            requestBody.put("orderNo", first.getOrderNo());
-        }
-
-        requestBody.put("createTime", sdf.format(now));
-
-        // 鏋勫缓鐗╂枡鍒楄〃
-        JSONArray matList = new JSONArray();
-        for (OrderDetl detl : orderDetls) {
-            JSONObject mat = new JSONObject();
-            mat.put("matnr", detl.getMatnr());
-            mat.put("maktx", detl.getMaktx());
-            mat.put("batch", detl.getBatch());
-            mat.put("qty", detl.getQty());
-            mat.put("anfme", detl.getAnfme());
-            mat.put("units", detl.getUnits());
-            matList.add(mat);
-        }
-
-        requestBody.put("matList", matList);
-
-        // 鍙戦�� POST 璇锋眰
-        String response = "";
-        boolean success = false;
-        try {
-            HashMap<String, Object> headers = new HashMap<>();
-            //cookie
-            headers.put("Cookie", loginAuthenticationHandler.start().getContent());
-
-            response = new HttpHandler.Builder()
-                    .setHeaders(headers)
-                    .setUri(URL)
-                    .setPath(outaddressSave) // 璁剧疆浣犵殑鎺ュ彛璺緞
-                    .setJson(requestBody.toJSONString())
-                    .build()
-                    .doPost();
-
-            JSONObject data = JSON.parseObject(response);
-            Object isSuccess = findValueByKey(data, "IsSuccess");
-            String bool = isSuccess != null ? isSuccess.toString() : "false";
-
-            if ("true".equals(bool)) {
-                success = true;
-            }
-        } catch (Exception e) {
-            log.error("涓婃姤ERP澶辫触", e);
-        } finally {
-            try {
-                apiLogService.save(
-                        "鍑哄簱涓婃姤",
-                        URL + outaddressSave,
-                        null,
-                        "127.0.0.1",
-                        requestBody.toJSONString(),
-                        response,
-                        success
-                );
-            } catch (Exception e) {
-                log.error("鏃ュ織淇濆瓨澶辫触", e);
-            }
-        }
-        return success;
-    }
-
-    public static Object findValueByKey(JSONObject json, String key) {
-        Set<String> keySet = json.keySet();
-        for (String k : keySet) {
-            Object v = json.get(k);
-            if (k.equals(key)) {
-                return v;
-            } else if (v instanceof JSONArray) {
-                int size = ((JSONArray) v).size();
-                for (int i = 0; i <= size - 1; i++) {
-                    Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
-                    if (result != null){
-                        return result;
-                    }
-                }
-            } else if (v instanceof JSONObject){
-                Object result = findValueByKey((JSONObject) v, key);
-                if (result != null){
-                    return result;
-                }
-            }
-        }
-        return null;
-    }
-
-
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
deleted file mode 100644
index 2955277..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.zy.asrs.task.kingdee;
-
-import com.zy.asrs.task.kingdee.handler.InboundOrderHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Slf4j
-@Component
-public class InboundOrderScheduler {
-
-    @Autowired
-    private InboundOrderHandler inboundOrderHandler;
-    @Value("${erp.switch.InboundOrderSwitch}")
-    private boolean InboundOrderSwitch;
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    void login(){
-        if(!InboundOrderSwitch){
-            return;
-        }
-        inboundOrderHandler.start();
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java
deleted file mode 100644
index 8b7be90..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.zy.asrs.task.kingdee;
-
-import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-@Slf4j
-@Component
-public class LoginAuthenticationScheduler {
-
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-    @Value("${erp.switch.LoginAuthenticationSwitch}")
-    private boolean LoginAuthenticationSwitch;
-
-    //@Scheduled(cron = "0/3 * * * * ? ")
-    void login(){
-        if(!LoginAuthenticationSwitch){
-            return;
-        }
-        loginAuthenticationHandler.start();
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
deleted file mode 100644
index 2767e9f..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.zy.asrs.task.kingdee;
-
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.kingdee.handler.ReviewOrderSyncHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * Created by vincent on 2023/10/21
- */
-@Slf4j
-@Component
-public class ReviewOrderSyncScheduler {
-
-    @Autowired
-    private ReviewOrderSyncHandler reviewOrderSyncHandler;
-    @Autowired
-    private OrderService orderService;
-
-    @Value("${erp.switch.ReviewOrderSwitch}")
-    private boolean ReviewOrderSwitch;
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    @Async("orderThreadPool")
-    public void completeAndReport(){
-        if(!ReviewOrderSwitch){
-            return;
-        }
-        List<Order> orders = orderService.selectComplete();
-        for (Order order : orders) {
-            ReturnT<String> result = reviewOrderSyncHandler.start(order);
-            if (!result.isSuccess()) {
-                log.error("鍗曟嵁[orderNo={}]鍚慹rp瀹℃牳澶辫触", order.getOrderNo());
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
deleted file mode 100644
index 932bca7..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.zy.asrs.task.kingdee;
-
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * Created by Monkey D. Luffy on 2023.10.21
- */
-@Slf4j
-@Component
-public class SaveOrderSyncScheduler {
-
-    @Autowired
-    private SubmitOrderSyncHandler submitOrderSyncHandler;
-    @Autowired
-    private OrderService orderService;
-
-    @Value("${erp.switch.ReviewOrderSwitch}")
-    private boolean ReviewOrderSwitch;
-
-//    @Scheduled(cron = "0/3 * * * * ? ")
-    @Async("orderThreadPool")
-    public void completeAndReport(){
-        if (1==1) return;
-        if(!ReviewOrderSwitch){
-            return;
-        }
-        List<Order> orders = orderService.selectComplete8();
-        for (Order order : orders) {
-            ReturnT<String> result = submitOrderSyncHandler.start(order);
-            if (!result.isSuccess()) {
-                log.error("鍗曟嵁[orderNo={}]鎻愪氦鑷砮rp澶辫触", order.getOrderNo());
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
deleted file mode 100644
index 069489a..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.zy.asrs.task.kingdee;
-
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.kingdee.handler.ReviewOrderSyncHandler;
-import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler;
-import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * Created by Monkey D. Luffy on 2023.10.21
- */
-@Slf4j
-@Component
-public class SubmitOrderSyncScheduler {
-
-    @Autowired
-    private SaveOrderSyncHandler saveOrderSyncHandler;
-    @Autowired
-    private OrderService orderService;
-
-    @Value("${erp.switch.ReviewOrderSwitch}")
-    private boolean ReviewOrderSwitch;
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    @Async("orderThreadPool")
-    public void completeAndReport(){
-        if(!ReviewOrderSwitch){
-            return;
-        }
-        List<Order> orders = orderService.selectComplete8();
-        for (Order order : orders) {
-            ReturnT<String> result = saveOrderSyncHandler.start(order);
-            if (!result.isSuccess()) {
-                log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
deleted file mode 100644
index c98e298..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ /dev/null
@@ -1,290 +0,0 @@
-package com.zy.asrs.task.kingdee.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.SnowflakeIdWorker;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.*;
-import com.zy.asrs.service.*;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.erp.kingdee.entity.param.InFormIdParam;
-import com.zy.erp.kingdee.enums.KingDeeUtilType;
-import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.utils.KingDeeUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-
-@Service
-@Slf4j
-public class InboundOrderHandler extends AbstractHandler<String> {
-    @Value("${erp.address.URL}")
-    //绔彛
-    private String URL;
-
-    @Value("${erp.address.inaddress}")
-    //鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
-    private String inaddress;
-
-    @Autowired
-    private ApiLogService apiLogService;
-
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-
-    @Autowired
-    private MatService matService;
-
-    @Autowired
-    private TagService tagService;
-
-    @Autowired
-    private DocTypeService docTypeService;
-
-    @Autowired
-    private OrderService orderService;
-
-    @Autowired
-    private OrderDetlService orderDetlService;
-
-    @Autowired
-    private SnowflakeIdWorker snowflakeIdWorker;
-
-    @Transactional
-    public synchronized ReturnT<String> start() {
-        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        //鐧诲綍閲戣澏
-        ReturnT<String> start = loginAuthenticationHandler.start();
-        for(KingDeeUtilType kingDeeUtilType : KingDeeUtilType.values()) {
-            InFormIdParam inFormIdParam = new InFormIdParam();
-            DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", kingDeeUtilType.desc));
-            if (Cools.isEmpty(docType) && !kingDeeUtilType.formId.equals("BD_MATERIAL")){
-                docType = docTypeService.selectOrAdd(kingDeeUtilType.desc, kingDeeUtilType.pakIn.equals(1));
-            }
-            inFormIdParam.setFormId(kingDeeUtilType.formId);
-            inFormIdParam.setLimit(100);
-            inFormIdParam.setStartRow("0");
-            String FDocumentStatus=null;
-
-            //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("FormId", inFormIdParam.getFormId());
-            jsonObject.put("Limit", inFormIdParam.getLimit());
-            jsonObject.put("StartRow", inFormIdParam.getStartRow());
-            //鐗╂枡妗f鏌ヨ
-            if(kingDeeUtilType.formId.equals("BD_MATERIAL")){
-                Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
-                //鐗╂枡鐘舵�� FUseOrgId .FNumber
-                FDocumentStatus="C";
-                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(tag.getUpdateTime())+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='100'");
-                jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus");
-                // FName : 鐗╂枡鍚嶇О 锛�
-                // FNumber 锛氱墿鏂欑紪鍙凤紱
-                // FCreateDate 锛氱墿鏂欏垱寤烘椂闂达紱
-                // FSpecification 锛氱墿鏂欒鏍硷紱
-                // FDocumentStatus 锛氱墿鏂欑姸鎬�
-            }else{
-                //鑾峰彇鏈�鏂版椂闂�
-                //鍗曟嵁鐘舵��
-                FDocumentStatus="B";
-                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"'"+" and FStockId.Fname='绔嬪簱'"+" and FDocumentStatus='"+FDocumentStatus+"'");
-                jsonObject.put("FieldKeys", "FBillNo,FCreateDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.FSpecification,"+kingDeeUtilType.anfme+",FDocumentStatus");
-                // FBillNo :鍗曟嵁缂栧彿锛�
-                // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱
-                // FMaterialId.FNumber : 鐗╂枡缂栫爜锛�
-                // FMaterialName 锛氱墿鏂欏悕绉帮紱
-                // FMaterialId.FSpecification锛氱墿鏂欒鏍�
-                // anfme : 鐗╂枡鏁伴噺
-                // FDocumentStatus 锛氬崟鎹姸鎬侊紱
-
-            }
-            JSONObject jsonObject1 = new JSONObject();
-            jsonObject1.put("data", jsonObject);
-            String add = jsonObject1.toJSONString();
-            //涓婃姤
-            String response = "";
-            boolean success = false;
-            try {
-                //鑾峰彇Cookie鍊�
-                HashMap<String, Object> headers = new HashMap<>();
-                headers.put("Cookie", start.getContent());
-                response = new HttpHandler.Builder()
-                        .setHeaders(headers)
-                        .setUri(URL)
-                        .setPath(inaddress)
-                        .setJson(add)
-                        .build()
-                        .doPost();
-                JSONArray data = JSON.parseArray(response);
-                if(data.size()<=0)  continue;
-                if (data.getJSONArray(0).get(0).toString().length()>=20) continue;
-                if (kingDeeUtilType.formId.equals("BD_MATERIAL")) {//鐗╂枡妗f
-                    Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
-                    for (int j = 0; j < data.size(); j++) {
-                        JSONArray jsonArray = data.getJSONArray(j);
-                        //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
-                        Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString());
-                        //鐢熸垚鍟嗗搧妗f
-                        //鍟嗗搧缂栧彿
-                        Mat mat = matService.selectByMatnr(jsonArray.get(1).toString());
-                        if (mat == null) {
-                            mat = new Mat();
-                            mat.setMatnr(jsonArray.get(1).toString());
-                            mat.setMaktx(jsonArray.get(0).toString());
-                            mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
-                            mat.setTagId(tag.getId());
-                            mat.setCreateTime(jsonDate);//鍟嗗搧鍒涘缓鏃堕棿
-                            mat.setUpdateTime(new Date());
-                            mat.setStatus(1);
-                            //鏈�鏂版姄鍙栧晢鍝佹椂闂�
-                            if (!matService.insert(mat)) {
-//                                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                                callApiLogSaveMat(mat,kingDeeUtilType, "鍚屾鏂扮墿鏂欏嚭閿欙紒锛侊紒"+mat, false);
-                                log.info("鍚屾鏂扮墿鏂欏嚭閿欙紒锛侊紒鍙傛暟锛歔{}]銆乕{}]",mat,jsonArray);
-                            } else {
-                                callApiLogSaveMat(mat,kingDeeUtilType, "鍚屾鏂扮墿鏂欙紒", true);
-//                                log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
-                            }
-                        }else {
-                            if (!jsonDate.equals(tag.getUpdateTime())){
-                                callApiLogSaveMat(mat,kingDeeUtilType, "鍟嗗搧缂栧彿閲嶅:"+mat.getMatnr(), false);
-                                log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}],鍟嗗搧缂栧彿閲嶅锛侊紒锛�", mat.getMatnr());
-                            }
-                        }
-                        tag.setUpdateTime(jsonDate);
-                    }
-                    tagService.updateById(tag);
-                } else {
-                    for (int j = 0; j < data.size(); j++) {
-                        JSONArray jsonArray = data.getJSONArray(j);
-                        //鏈�鏂版姄鍙栨椂闂�
-                        Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString());
-                        docType.setCreateTime(jsonDate);
-                        Order order = orderService.selectByNo(jsonArray.get(0).toString());
-                        if (Cools.isEmpty(order)) {
-                            Date now = new Date();
-                            // 鍗曟嵁涓绘。
-                            order = new Order(
-                                    String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                                    jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
-                                    DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
-                                    docType.getDocId(),    // 鍗曟嵁绫诲瀷
-                                    null,    // 椤圭洰缂栧彿
-                                    null,    //
-                                    null,    // 璋冩嫧椤圭洰缂栧彿
-                                    null,    // 鍒濆绁ㄦ嵁鍙�
-                                    null,    // 绁ㄦ嵁鍙�
-                                    null,    // 瀹㈡埛缂栧彿
-                                    null,    // 瀹㈡埛
-                                    null,    // 鑱旂郴鏂瑰紡
-                                    null,    // 鎿嶄綔浜哄憳
-                                    null,    // 鍚堣閲戦
-                                    null,    // 浼樻儬鐜�
-                                    null,    // 浼樻儬閲戦
-                                    null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
-                                    null,    // 瀹炰粯閲戦
-                                    null,    // 浠樻绫诲瀷
-                                    null,    // 涓氬姟鍛�
-                                    null,    // 缁撶畻澶╂暟
-                                    null,    // 閭垂鏀粯绫诲瀷
-                                    null,    // 閭垂
-                                    null,    // 浠樻鏃堕棿
-                                    null,    // 鍙戣揣鏃堕棿
-                                    null,    // 鐗╂祦鍚嶇О
-                                    null,    // 鐗╂祦鍗曞彿
-                                    1L,    // 璁㈠崟鐘舵��
-                                    1,    // 鐘舵��
-                                    9527L,    // 娣诲姞浜哄憳
-                                    now,    // 娣诲姞鏃堕棿
-                                    9527L,    // 淇敼浜哄憳
-                                    now,    // 淇敼鏃堕棿
-                                    null    // 澶囨敞
-                            );
-
-                            if (!orderService.insert(order)) {
-                                if (!jsonDate.equals(docType.getCreateTime())){
-                                    callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"+order, false);
-                                }
-                                continue;
-//                                throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-                            }
-                        }
-                        //鐗╂枡缂栫爜
-                        Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
-                        if (Cools.isEmpty(mat)) {
-                            if (!jsonDate.equals(docType.getCreateTime())){
-                                callApiLogSaveOrder(order,kingDeeUtilType, "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"+jsonArray.get(2).toString(), false);
-                            }
-                            continue;
-                        }
-                        OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
-                        if (!Cools.isEmpty(orderDetl1)) {
-                            continue;
-                        }
-                        OrderDetl orderDetl = new OrderDetl();
-                        orderDetl.sync(mat);
-                        orderDetl.setBatch(null);
-                        orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
-                        orderDetl.setOrderId(order.getId());
-                        orderDetl.setOrderNo(order.getOrderNo());
-                        orderDetl.setCreateBy(9527L);
-                        orderDetl.setCreateTime(new Date());
-                        orderDetl.setUpdateBy(9527L);
-                        orderDetl.setUpdateTime(new Date());
-                        orderDetl.setStatus(1);
-                        orderDetl.setQty(0.0D);
-                        if (!orderDetlService.insert(orderDetl)) {
-                            callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�!璁㈠崟鍙凤細"+order.getOrderNo(), false);
-//                            throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
-                        }
-                    }
-                    docTypeService.updateById(docType);
-                }
-            } catch (Exception e) {
-                log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg(e.getMessage());
-            } finally {
-//                try {
-//                    // 淇濆瓨鎺ュ彛鏃ュ織
-//                    apiLogService.save(
-//                            "杞鏁版嵁",
-//                            URL + inaddress,
-//                            null,
-//                            "127.0.0.1",
-//                            add,
-//                            response,
-//                            success
-//                    );
-//                } catch (Exception e) {
-//                    log.error("", e);
-//                }
-            }
-        }
-        return SUCCESS;
-    }
-
-    public void callApiLogSaveMat(Mat mat, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
-        apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
-                "鐗╂枡缂栧彿锛�" + mat.getMatnr() + "銆佺墿鏂欏悕绉帮細" + mat.getName() + "銆佺被鍨嬶細" + mat.getTagId$() + "銆佺姸鎬侊細" + mat.getStatus$(),
-                response, bool);
-    }
-
-    public void callApiLogSaveOrder(Order order, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
-        apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
-                "鍗曟嵁缂栧彿锛�" + order.getId() +  "銆佺姸鎬侊細" + order.getStatus$(),
-                response, bool);
-    }
-
-}
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java
deleted file mode 100644
index e6bf092..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package com.zy.asrs.task.kingdee.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.core.common.Cools;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.entity.param.LoginParam;
-import com.zy.erp.kingdee.enums.KingDeeUtilType;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Set;
-
-@Service
-@Slf4j
-@Transactional
-public class LoginAuthenticationHandler extends AbstractHandler<String> {
-
-    @Value("${erp.address.URL}")
-    //绔彛
-    private String URL;
-
-    @Value("${erp.address.loginaddress}")
-    //鐧诲綍鍦板潃
-    private String loginaddress;
-
-    @Value("${erp.login.sAcctID}")
-    //璐﹀彿ID
-    private String acctID;
-
-    @Value("${erp.login.sUserId}")
-    //璐﹀彿
-    private String username;
-
-    @Value("${erp.login.sPassword}")
-    //瀵嗙爜
-    private String password;
-
-    @Value("${erp.login.lcid}")
-    //
-    private Integer lcid;
-
-    @Autowired
-    private ApiLogService apiLogService;
-
-    /**
-     * 45鍒嗛挓鐧诲綍涓�娆¢噾铦剁郴缁�
-     * @return
-     */
-    @Transactional
-    public synchronized ReturnT<String> start() {
-
-        LoginParam loginParam =new LoginParam();
-        loginParam.setAcctID(acctID);
-        loginParam.setUsername(username);
-        loginParam.setPassword(password);
-        loginParam.setLcid(lcid);
-        //涓婃姤
-        String response = "";
-        String cookie = "";
-        boolean success = false;
-        try {
-            response = new HttpHandler.Builder()
-                    .setUri(URL)
-                    .setPath(loginaddress)
-                    .setJson(JSON.toJSONString(loginParam))
-                    .build()
-                    .doPost();
-            JSONObject jsonObject = JSON.parseObject(response);
-            Object sessionId = findValueByKey(JSON.parseObject(response), "SessionId");
-            cookie="ASP.NET_SessionId="+sessionId+";"+"kdservice-sessionid="+jsonObject.getString("KDSVCSessionId");
-            if (Cools.isEmpty(jsonObject.getString("Message"))) {
-                success = true;
-            } else {
-                callApiLogSaveLog(JSON.toJSONString(loginParam),false);
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+loginaddress, JSON.toJSONString(loginParam), response);
-//                throw new CoolException("鐧诲綍閲戣澏澶辫触");
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
-            callApiLogSaveLog(JSON.toJSONString(loginParam),false);
-            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+loginaddress, JSON.toJSONString(loginParam), response);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-//            try {
-//                // 淇濆瓨鎺ュ彛鏃ュ織
-//                apiLogService.save(
-//                        "鐧诲綍閲戣澏",
-//                        URL + loginaddress,
-//                        null,
-//                        "127.0.0.1",
-//                        JSON.toJSONString(loginParam),
-//                        response,
-//                        success
-//                );
-//            } catch (Exception e) { log.error("", e); }
-        }
-        return SUCCESS.setContent(cookie);
-    }
-
-
-    public static Object findValueByKey(JSONObject json, String key) {
-        Set<String> keySet = json.keySet();
-        for (String k : keySet) {
-            Object v = json.get(k);
-            if (k.equals(key)) {
-                return v;
-            } else if (v instanceof JSONArray) {
-                int size = ((JSONArray) v).size();
-                for (int i = 0; i <= size - 1; i++) {
-                    Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
-                    if (result != null){
-                        return result;
-                    }
-                }
-            } else if (v instanceof JSONObject){
-                Object result = findValueByKey((JSONObject) v, key);
-                if (result != null){
-                    return result;
-                }
-            }
-        }
-        return null;
-    }
-
-    public void callApiLogSaveLog(String response, Boolean bool) {
-        apiLogService.save("鐧诲綍閲戣澏澶辫触", URL, "null", loginaddress,
-                "濂楄处ID锛�"+acctID+"銆佽处鍙凤細"+username+"銆佸瘑鐮侊細"+password,
-                response, bool);
-    }
-
-
-}
-
-
-
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
deleted file mode 100644
index 313ebc8..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.zy.asrs.task.kingdee.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.enums.KingDeeUtilType;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.HashMap;
-import java.util.Set;
-
-/**
- * Created by vincent on 2023/10/21
- */
-@Slf4j
-@Service
-public class ReviewOrderSyncHandler extends AbstractHandler<String> {
-    @Value("${erp.address.URL}")
-    //绔彛
-    private String URL;
-
-    @Value("${erp.address.outaddressAudit}")
-    //瀹℃牳鍦板潃
-    private String outaddressAudit;
-
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private DocTypeService docTypeService;
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-
-    @Transactional
-    public ReturnT<String> start(Order order) {
-        //鐧诲綍閲戣澏r
-        ReturnT<String> start = loginAuthenticationHandler.start();
-        DocType docType = docTypeService.selectById(order.getDocType());
-        if (null == docType) {
-            return SUCCESS;
-        }
-        KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
-
-        //鏉′欢鎷兼帴
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Numbers",order.getOrderNo());
-        JSONObject jsonObject1 = new JSONObject();
-        jsonObject1.put("data", jsonObject);
-        jsonObject1.put("FormId",kingDeeUtilType.formId);
-        String add = jsonObject1.toJSONString();
-        //涓婃姤
-        String response = "";
-        boolean success = false;
-        try {
-            //鑾峰彇Cookie鍊�
-            HashMap<String, Object> headers = new HashMap<>();
-            headers.put("Cookie", start.getContent());
-            response = new HttpHandler.Builder()
-                    .setHeaders(headers)
-                    .setUri(URL)
-                    .setPath(outaddressAudit)
-                    .setJson(add)
-                    .build()
-                    .doPost();
-            JSONObject data = JSON.parseObject(response);
-            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
-            String bool=IsSuccess.toString();
-            //瀹℃牳瀹屾垚鍘熻鍗�4杞�8  8.瀹℃牳瀹屾垚
-            if(bool.equals("true")){
-                success = true;
-                order.setSettle(8L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "瀹℃牳",
-                        URL+ outaddressAudit,
-                        null,
-                        "127.0.0.1",
-                        add,
-                        response,
-                        success
-                );
-            } catch (Exception e) {
-                log.error("", e);
-            }
-        }
-        return SUCCESS;
-    }
-    public static Object findValueByKey(JSONObject json, String key) {
-        Set<String> keySet = json.keySet();
-        for (String k : keySet) {
-            Object v = json.get(k);
-            if (k.equals(key)) {
-                return v;
-            } else if (v instanceof JSONArray) {
-                int size = ((JSONArray) v).size();
-                for (int i = 0; i <= size - 1; i++) {
-                    Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
-                    if (result != null){
-                        return result;
-                    }
-                }
-            } else if (v instanceof JSONObject){
-                Object result = findValueByKey((JSONObject) v, key);
-                if (result != null){
-                    return result;
-                }
-            }
-        }
-        return null;
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
deleted file mode 100644
index 88134a3..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.zy.asrs.task.kingdee.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.enums.KingDeeUtilType;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.HashMap;
-import java.util.Set;
-
-/**
- * Created by Monkey D. Luffy on 2023.10.21
- */
-@Slf4j
-@Service
-public class SaveOrderSyncHandler extends AbstractHandler<String> {
-    @Value("${erp.address.URL}")
-    //绔彛
-    private String URL;
-
-    @Value("${erp.address.outaddressSave}")
-    //瀹℃牳鍦板潃
-    private String outaddressSave;
-
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private DocTypeService docTypeService;
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-
-    @Transactional
-    public ReturnT<String> start(Order order) {
-        //鐧诲綍閲戣澏r
-        ReturnT<String> start = loginAuthenticationHandler.start();
-        DocType docType = docTypeService.selectById(order.getDocType());
-        if (null == docType) {
-            return SUCCESS;
-        }
-        KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
-
-        //鏉′欢鎷兼帴
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Numbers",order.getOrderNo());
-        JSONObject jsonObject1 = new JSONObject();
-        jsonObject1.put("data", jsonObject);
-        jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId);
-        String add = jsonObject1.toJSONString();
-        //涓婃姤
-        String response = "";
-        boolean success = false;
-        try {
-            //鑾峰彇Cookie鍊�
-            HashMap<String, Object> headers = new HashMap<>();
-            headers.put("Cookie", start.getContent());
-            response = new HttpHandler.Builder()
-                    .setHeaders(headers)
-                    .setUri(URL)
-                    .setPath(outaddressSave)
-                    .setJson(add)
-                    .build()
-                    .doPost();
-            JSONObject data = JSON.parseObject(response);
-            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
-            String bool=IsSuccess.toString();
-            //淇濆瓨瀹屾垚鍘熻鍗�8杞�6
-            if(bool.equals("true")){
-                success = true;
-                order.setSettle(6L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "淇濆瓨",
-                        URL+ outaddressSave,
-                        null,
-                        "127.0.0.1",
-                        add,
-                        response,
-                        success
-                );
-            } catch (Exception e) {
-                log.error("", e);
-            }
-        }
-        return SUCCESS;
-    }
-    public static Object findValueByKey(JSONObject json, String key) {
-        Set<String> keySet = json.keySet();
-        for (String k : keySet) {
-            Object v = json.get(k);
-            if (k.equals(key)) {
-                return v;
-            } else if (v instanceof JSONArray) {
-                int size = ((JSONArray) v).size();
-                for (int i = 0; i <= size - 1; i++) {
-                    Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
-                    if (result != null){
-                        return result;
-                    }
-                }
-            } else if (v instanceof JSONObject){
-                Object result = findValueByKey((JSONObject) v, key);
-                if (result != null){
-                    return result;
-                }
-            }
-        }
-        return null;
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
deleted file mode 100644
index 7e922d6..0000000
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.zy.asrs.task.kingdee.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.enums.KingDeeUtilType;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.HashMap;
-import java.util.Set;
-
-/**
- * Created by Monkey D. Luffy on 2023.10.21
- */
-@Slf4j
-@Service
-public class SubmitOrderSyncHandler extends AbstractHandler<String> {
-    @Value("${erp.address.URL}")
-    //绔彛
-    private String URL;
-
-    @Value("${erp.address.outaddressSubmit}")
-    //瀹℃牳鍦板潃
-    private String outaddressSubmit;
-
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private DocTypeService docTypeService;
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-
-    @Transactional
-    public ReturnT<String> start(Order order) {
-        //鐧诲綍閲戣澏r
-        ReturnT<String> start = loginAuthenticationHandler.start();
-        DocType docType = docTypeService.selectById(order.getDocType());
-        if (null == docType) {
-            return SUCCESS;
-        }
-        KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
-
-        //鏉′欢鎷兼帴
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Numbers",order.getOrderNo());
-        JSONObject jsonObject1 = new JSONObject();
-        jsonObject1.put("data", jsonObject);
-        jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId);
-        String add = jsonObject1.toJSONString();
-        //涓婃姤
-        String response = "";
-        boolean success = false;
-        try {
-            //鑾峰彇Cookie鍊�
-            HashMap<String, Object> headers = new HashMap<>();
-            headers.put("Cookie", start.getContent());
-            response = new HttpHandler.Builder()
-                    .setHeaders(headers)
-                    .setUri(URL)
-                    .setPath(outaddressSubmit)
-                    .setJson(add)
-                    .build()
-                    .doPost();
-            JSONObject data = JSON.parseObject(response);
-            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
-            String bool=IsSuccess.toString();
-            //瀹℃牳瀹屾垚鍘熻鍗�8杞�6
-            if(bool.equals("true")){
-                success = true;
-                order.setSettle(6L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "鎻愪氦",
-                        URL+ outaddressSubmit,
-                        null,
-                        "127.0.0.1",
-                        add,
-                        response,
-                        success
-                );
-            } catch (Exception e) {
-                log.error("", e);
-            }
-        }
-        return SUCCESS;
-    }
-    public static Object findValueByKey(JSONObject json, String key) {
-        Set<String> keySet = json.keySet();
-        for (String k : keySet) {
-            Object v = json.get(k);
-            if (k.equals(key)) {
-                return v;
-            } else if (v instanceof JSONArray) {
-                int size = ((JSONArray) v).size();
-                for (int i = 0; i <= size - 1; i++) {
-                    Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
-                    if (result != null){
-                        return result;
-                    }
-                }
-            } else if (v instanceof JSONObject){
-                Object result = findValueByKey((JSONObject) v, key);
-                if (result != null){
-                    return result;
-                }
-            }
-        }
-        return null;
-    }
-}
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 7af15f2..8890207 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -13,14 +13,59 @@
 @Data
 public class DetlDto {
 
-    private String orderNo;
+    /**
+     * 1锛氭甯�   0锛氬叧闂�
+     */
+    private Integer sts;
 
+    /**
+     * 琛屽彿
+     */
+    private String model;
+
+    /**
+     * 鐗╂枡缂栫爜
+     */
     private String matnr;
 
+    /**
+     * 鐗╂枡缂栫爜
+     */
+    private String maktx;
+
+    /**
+     * 鐗规畩璇存槑
+     */
     private String batch;
 
+    /**
+     * 瀹屾垚鏁伴噺
+     */
     private Double anfme;
 
+    /**
+     * 瑙勬牸
+     */
+    private String specs;
+
+    /**
+     * 绔嬪簱婧愯揣浣嶏紙榛樿1-1锛�
+     */
+    private String sourceStaNo = "1-1";
+
+    /**
+     * 鐩爣璐т綅
+     */
+    private String locNo = "2-2";
+
+    /**
+     * 琛屼富閿�
+     */
+    private String memo;
+
+    private String orderNo;
+
+
     private Double units;
 
     public DetlDto() {
diff --git a/src/main/java/com/zy/erp/kingdee/entity/param/InFormIdParam.java b/src/main/java/com/zy/erp/kingdee/entity/param/InFormIdParam.java
deleted file mode 100644
index 89c6f06..0000000
--- a/src/main/java/com/zy/erp/kingdee/entity/param/InFormIdParam.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.zy.erp.kingdee.entity.param;
-
-import lombok.Data;
-
-@Data
-public class InFormIdParam {
-
-    //鏌ユ壘琛ㄥ崟鍞竴鏍囪瘑
-    private String FormId;
-
-    //鏈�澶氬厑璁告煡璇㈢殑鏁伴噺锛�0鎴栬�呬笉瑕佹灞炴�ф爣璇嗕笉闄愬埗
-    private String TopRowCount;
-
-    private Integer Limit;
-
-    private String StartRow;
-
-    //杩囨护鏉′欢锛坋g:\"FNumber>'0301010120001' and FCreateDate>'2023-07-05' \"锛�
-    //1銆丩eft锛氬乏鎷彿
-    //3銆丆ompare锛氭瘮杈冭繍绠楃锛屽銆�澶т簬">"銆佸皬浜�"<"銆佺瓑浜�"="銆佸寘鍚�"like"銆佸乏鍖呭惈"llike"銆佸彸鍖呭惈"rlike"
-    //4銆乂alue锛氭瘮杈冨��
-    //5銆丷ight锛氬彸鎷彿
-    //6銆丩ogic锛氶�昏緫杩愮畻绗︼紝濡� "and"銆�"or"
-    private Integer Filterstring;
-
-    //鎺掑簭鏉′欢
-    private Integer OrderString;
-
-    //寰呮煡璇㈣〃鍗曠殑瀛楁鍒楋紙鏈熸湜杩斿洖鍊硷級
-    private Integer FieldKeys;
-
-
-
-
-
-
-
-}
diff --git a/src/main/java/com/zy/erp/kingdee/entity/param/LoginParam.java b/src/main/java/com/zy/erp/kingdee/entity/param/LoginParam.java
deleted file mode 100644
index 1eb3ee4..0000000
--- a/src/main/java/com/zy/erp/kingdee/entity/param/LoginParam.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.zy.erp.kingdee.entity.param;
-
-import lombok.Data;
-
-@Data
-public class LoginParam {
-    //璐﹀彿ID
-    private String acctID;
-
-    //璐﹀彿
-    private String username;
-
-    //瀵嗙爜
-    private String password;
-
-    //
-    private Integer lcid;
-
-}
diff --git a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
deleted file mode 100644
index 77d827b..0000000
--- a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.zy.erp.kingdee.enums;
-
-public enum KingDeeUtilType {
-    BD_MATERIAL(0, "鐗╂枡妗f","BD_MATERIAL","","","",1),
-//    STK_InStock(1, "閲囪喘鍏ュ簱鍗�","STK_InStock","FRealQty","","",1),
-//    PUR_MRB(2, "閲囪喘閫�鏂欏崟","PUR_MRB","FRMREALQTY","","",1),
-//    PRD_PickMtrl(3, "鐢熶骇棰嗘枡鍗�","PRD_PickMtrl","FActualQty","","",1),
-//    PRD_ReturnMtrl(4, "鐢熶骇閫�鏂欏崟","PRD_ReturnMtrl","FQty","","",1),
-//    PRD_FeedMtrl(5, "鐢熶骇琛ユ枡鍗�","PRD_FeedMtrl","FActualQty","","",1),
-//    STK_TransferDirect(6, "鐩存帴璋冩嫧鍗�","STK_TransferDirect","","FQty","",1),
-//    STK_StockCountGain(7, "鐩樼泩鍗�","STK_StockCountGain","FGainQty","","",1),
-//    STK_StockCountLoss(8, "鐩樹簭鍗�","STK_StockCountLoss","FLossQty","","",1),
-//    STK_MisDelivery(9, "鍏朵粬鍑哄簱鍗�","STK_MisDelivery","FQty","","",1),
-//    SP_PickMtrl(10, "绠�鍗曠敓浜ч鏂欏崟","SP_PickMtrl","FActualQty","","",1),
-//    SP_ReturnMtrl(11, "绠�鍗曠敓浜ч��鏂欏崟","SP_ReturnMtrl","FQty","","",1),
-//    SAL_OUTSTOCK(12, "閿�鍞嚭搴撳崟","SAL_OUTSTOCK","FRealQty","","",1),
-//    SAL_RETURNSTOCK(13, "閿�鍞��璐у崟","SAL_RETURNSTOCK","FRealQty","","",1),
-    SAL_DELIVERYNOTICE(14, "鍙戣揣閫氱煡鍗�","SAL_DELIVERYNOTICE","FQty","閿�鍞嚭搴撳崟","SAL_OUTSTOCK",0),
-    STK_MISCELLANEOUS(15, "鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS","FQty","鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS",1),
-//    BD_Supplier(16, "渚涘簲鍟�","BD_Supplier","","","",1),
-    PUR_ReceiveBill(17, "鏀舵枡閫氱煡鍗�","PUR_ReceiveBill","FPOQTY","閲囪喘鍏ュ簱鍗�","STK_InStock",1),
-    PRD_MORPT(18, "鐢熶骇姹囨姤鍗�","PRD_MORPT","FFinishQty","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1),
-//    PRD_INSTOCK(19, "鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK","","","",1),
-    SAL_RETURNNOTICE(20, "閫�璐ч�氱煡鍗�","SAL_RETURNNOTICE","FBaseJunkedQty","閿�鍞��璐у崟","SAL_RETURNSTOCK",1),
-    STK_OutStockApply(21, "鍑哄簱鐢宠鍗�","STK_OutStockApply","FTotalSecQty","鍏朵粬鍑哄簱鍗�","STK_MisDelivery",0),
-    ;
-    public Integer id;
-    public String desc;
-    public String formId;
-    public String anfme;
-    public String correspondingName;
-    public String correspondingFormId;
-    public Integer pakIn;
-
-    KingDeeUtilType(Integer id, String desc,String formId,String anfme,String correspondingName,String correspondingFormId,int pakIn){
-        this.id = id;
-        this.desc = desc;
-        this.formId = formId;
-        this.anfme = anfme;
-        this.correspondingName = correspondingName;
-        this.correspondingFormId = correspondingFormId;
-        this.pakIn = pakIn;   //1鍏ュ簱  0鍑哄簱
-    }
-
-    public static KingDeeUtilType get(Short id) {
-        if (null == id) {
-            return null;
-        }
-        for (KingDeeUtilType type : KingDeeUtilType.values()) {
-            if (type.id.equals(id.intValue())) {
-                return type;
-            }
-        }
-        return null;
-    }
-
-    public static KingDeeUtilType get(String desc) {
-        if (null == desc) {
-            return null;
-        }
-        for (KingDeeUtilType type : KingDeeUtilType.values()) {
-            if (type.desc.equals(desc)) {
-                return type;
-            }
-        }
-        return null;
-    }
-
-    public static KingDeeUtilType get(KingDeeUtilType type) {
-        if (null == type) {
-            return null;
-        }
-        for (KingDeeUtilType crnLiftPosType : KingDeeUtilType.values()) {
-            if (crnLiftPosType == type) {
-                return crnLiftPosType;
-            }
-        }
-        return null;
-    }
-}
diff --git a/src/main/java/com/zy/erp/kingdee/utils/KingDeeUtil.java b/src/main/java/com/zy/erp/kingdee/utils/KingDeeUtil.java
deleted file mode 100644
index 3373421..0000000
--- a/src/main/java/com/zy/erp/kingdee/utils/KingDeeUtil.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.zy.erp.kingdee.utils;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.Date;
-
-public class KingDeeUtil {
-
-    //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
-    public static Date KingDeeDate(String jsonArrayDate) throws ParseException {
-        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
-        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
-        LocalDateTime dateTime = LocalDateTime.parse(jsonArrayDate, formatter);
-        String format = dateFormat.format(dateTime);
-        return sdf.parse(format);
-    }
-
-
-
-}
diff --git a/src/main/java/com/zy/erp/kingdee/utils/PostMesDataUtils.java b/src/main/java/com/zy/erp/kingdee/utils/PostMesDataUtils.java
deleted file mode 100644
index 1b89571..0000000
--- a/src/main/java/com/zy/erp/kingdee/utils/PostMesDataUtils.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package com.zy.erp.kingdee.utils;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.core.common.SpringUtils;
-import com.core.exception.CoolException;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
-import lombok.extern.slf4j.Slf4j;
-
-import java.util.Map;
-
-@Slf4j
-public class PostMesDataUtils extends AbstractHandler<String> {
-
-    public ReturnT<String> postMesData(String name, String URL, String mesPath, Object combParam){
-//        if (true){
-//            System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam);
-//            return SUCCESS;
-//        }
-        if(combParam != null){
-            String response = "";
-            boolean success = false;
-            try {
-//                Map<String, Object> map = new HashMap<>()
-//                map.put("appkey","ea1f0459efc02a79f046f982767939ae");
-                response = new HttpHandler.Builder()
-//                        .setHeaders(map)
-                        .setUri(URL)
-                        .setPath(mesPath)
-                        .setJson(JSON.toJSONString(combParam))
-                        .build()
-                        .doPost();
-                System.out.println("response:"+response);
-                JSONObject jsonObject = JSON.parseObject(response);
-
-                if (jsonObject.getInteger("code").equals(200)) {
-                    success = true;
-                } else {
-                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
-                    throw new CoolException("涓婃姤"+name);
-                }
-            } catch (Exception e) {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
-//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg(e.getMessage());
-            } finally {
-                try {
-                    // 淇濆瓨鎺ュ彛鏃ュ織
-                    ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
-                    apiLogService.save(
-                            "涓婃姤"+name,
-                            URL +"/"+ mesPath,
-                            null,
-                            "127.0.0.1",
-                            JSON.toJSONString(combParam),
-                            response,
-                            success
-                    );
-                } catch (Exception e) {
-                    log.error("", e); }
-            }
-        }
-        return SUCCESS;
-    }
-
-    public ReturnT<String> postMesData(String name, String URL, String mesPath, Object combParam,Map<String, Object> map){
-//        if (true){
-//            System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam);
-//            return SUCCESS;
-//        }
-        if(combParam != null){
-            String response = "";
-            boolean success = false;
-            try {
-//                Map<String, Object> map = new HashMap<>();
-//                map.put("appkey","ea1f0459efc02a79f046f982767939ae");
-                response = new HttpHandler.Builder()
-                        .setHeaders(map)
-                        .setUri(URL)
-                        .setPath(mesPath)
-                        .setJson(JSON.toJSONString(combParam))
-                        .build()
-                        .doPost();
-                System.out.println("response:"+response);
-                JSONObject jsonObject = JSON.parseObject(response);
-
-                if (jsonObject.getInteger("code").equals(200)) {
-                    success = true;
-                } else {
-                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
-                    throw new CoolException("涓婃姤"+name);
-                }
-            } catch (Exception e) {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response);
-//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg(e.getMessage());
-            } finally {
-                try {
-                    // 淇濆瓨鎺ュ彛鏃ュ織
-                    ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
-                    apiLogService.save(
-                            "涓婃姤"+name,
-                            URL +"/"+ mesPath,
-                            null,
-                            "127.0.0.1",
-                            JSON.toJSONString(combParam),
-                            response,
-                            success
-                    );
-                } catch (Exception e) {
-                    log.error("", e); }
-            }
-        }
-        return SUCCESS;
-    }
-}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c2ed14c..8219a60 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://127.0.0.1:1433;databasename=tzglasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=dlzasrs
     username: sa
     password: sa@123
   mvc:
@@ -75,41 +75,14 @@
 erp:
   #  寮�鍏�
   switch:
-    #鑾峰彇鍗曟嵁寮�鍏�
-    InboundOrderSwitch: false
-    #鐧诲綍鎺ュ彛寮�鍏�
-    LoginAuthenticationSwitch: false
     #涓婃姤銆佸鏍稿崟鎹紑鍏�
     ReviewOrderSwitch: false
   #  鍦板潃
   address:
-    URL: http://58.210.10.90:28090
-    #鐧诲綍鍦板潃
-    loginaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc
-    #鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
-    inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc
-    #缁撴灉涓婃姤锛堜繚瀛橈級鍗曞湴鍧�
-    outaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
-    #缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧�
-    outaddressSubmit: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc
-    #缁撴灉涓婃姤锛堝鏍革級鍗曞湴鍧�
-    outaddressAudit: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc
-  #  鍦板潃
-  newaddress:
-    #鍗曟嵁涓婃姤鍦板潃
-    URL: http://10.10.0.59:33117
-    #鍗曟嵁鎻愪氦
-    orderaddressSubmit: api/U8Voucher
-    #鐩樼偣涓婃姤鍦板潃
-    UPLOADURL: http://10.10.0.10:2501
-    # 鐩樼偣鍦板潃
-    uploadaddressSubmit: api/CheckVouch/pypk
-
-
-  #  鐧诲綍璐﹀彿绠$悊
-  login :
-    sAcctID: "999"
-    sUserId: "demo"
-    sPassword: "DEMO"
-    sServer: "10.1.9.20"
-    lcid: 1234
+    URL: http://158.210.10.90:28090
+#    #鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
+#    inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc
+    #鍏ュ簱缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧�
+    inaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
+    #鍑哄簱缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧�
+    outaddressSave: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc
\ No newline at end of file
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 74ebaf0..7ed07e6 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -108,6 +108,7 @@
             and mo.settle &lt;= 2
             and mo.status = 1
             and mdt.pakout = 1
+            and mod.status = 1
             <include refid="pakOutPageCondition"></include>
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
diff --git a/src/main/webapp/static/js/orderDetl/orderDetl.js b/src/main/webapp/static/js/orderDetl/orderDetl.js
index caef270..7b9fe3e 100644
--- a/src/main/webapp/static/js/orderDetl/orderDetl.js
+++ b/src/main/webapp/static/js/orderDetl/orderDetl.js
@@ -9,6 +9,27 @@
     var form = layui.form;
     var admin = layui.admin;
 
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl+"/docType/list/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: {
+            limit: 9999
+        },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200){
+                let template = Handlebars.compile($('#docTypeTpl').html());
+                $('#docType-query').html(template(res.data));
+                layui.form.render('select');
+            } else if (res.code === 403){
+                top.location.href = baseUrl+"/";
+            } else {
+                layer.msg(res.msg, {icon: 2})
+            }
+        }
+    })
+
     // 鏁版嵁娓叉煋
     tableIns = table.render({
         elem: '#orderDetl',
@@ -22,30 +43,31 @@
         height: 'full-120',
         cols: [[
             {type: 'checkbox'}
-            ,{field: 'id', align: 'center',title: 'ID'}
-            ,{field: 'orderId$', align: 'center',title: '璁㈠崟鍐呯爜'}
+            // ,{field: 'id', align: 'center',title: 'ID'}
+            ,{field: 'orderNo', align: 'center',title: '璁㈠崟缂栫爜',sort:true, width: 160}
+            ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜',sort:true, width: 160}
+            ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О',sort:true, width: 160}
             ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
-            ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜'}
-            ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
-            ,{field: 'name', align: 'center',title: '鍚嶇О'}
-            ,{field: 'specs', align: 'center',title: '瑙勬牸'}
-            ,{field: 'model', align: 'center',title: '鍨嬪彿'}
-            ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
-            ,{field: 'unit', align: 'center',title: '鍗曚綅'}
-            ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜'}
-            ,{field: 'supplier', align: 'center',title: '渚涘簲鍟�'}
-            ,{field: 'unitPrice', align: 'center',title: '鍗曚环'}
-            ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
-            ,{field: 'count', align: 'center',title: '鏁伴噺'}
-            ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+            ,{field: 'qty', align: 'center',title: '瀹屾垚鏁伴噺'}
+            // ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+            ,{field: 'batch', align: 'center',title: '鐗规畩璇存槑'}
+            // ,{field: 'unit', align: 'center',title: '鍗曚綅'}
+            ,{field: 'danger$', align: 'center',title: '璁㈠崟绫诲瀷'}
+            ,{field: 'anfme$', align: 'center', title: '璁㈠崟鐘舵��', templet: '#settleTpl',  minWidth: 120, width: 160},
+            // ,{field: 'unitPrice', align: 'center',title: '鍗曚环'}
+            // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
+            // ,{field: 'count', align: 'center',title: '鏁伴噺'}
+            // ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+            // ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
+            // {field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            {field: 'workQty', align: 'center',title: '宸ヤ綔鏁伴噺'}
+            // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿',width:200}
+            ,{field: 'inspect$', align: 'center',title: '鏄惁涓婃姤'}
+            ,{field: 'units', align: 'center',title: '涓婃姤鏁伴噺'}
             ,{field: 'status$', align: 'center',title: '鐘舵��'}
-            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
-            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
-            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
-            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
-            ,{field: 'memo', align: 'center',title: '澶囨敞'}
-
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:200}
         ]],
         request: {
             pageName: 'curr',
@@ -93,14 +115,14 @@
                 showEditModel();
                 break;
             case 'deleteData':
-               if (checkStatus.length === 0) {
-                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
-                   return;
-               }
-               del(checkStatus.map(function (d) {
-                   return d.id;
-               }));
-               break;
+                if (checkStatus.length === 0) {
+                    layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                    return;
+                }
+                del(checkStatus.map(function (d) {
+                    return d.id;
+                }));
+                break;
             case 'exportData':
                 admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
                     var titles=[];
@@ -146,56 +168,49 @@
     table.on('tool(orderDetl)', function(obj){
         var data = obj.data;
         switch (obj.event) {
-            case 'edit':
-                showEditModel(data);
+            case 'manualReporting':
+                manualReporting([data.id]);
                 break;
             case "del":
                 del([data.id]);
                 break;
+            case "enable":
+                enable([data.id]);
+                break;
         }
     });
 
-    /* 寮圭獥 - 鏂板銆佷慨鏀� */
-    function showEditModel(mData) {
-        admin.open({
-            type: 1,
-            area: '600px',
-            title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
-            content: $('#editDialog').html(),
-            success: function (layero, dIndex) {
-                layDateRender(mData);
-                form.val('detail', mData);
-                form.on('submit(editSubmit)', function (data) {
-                    var loadIndex = layer.load(2);
-                    $.ajax({
-                        url: baseUrl+"/orderDetl/"+(mData?'update':'add')+"/auth",
-                        headers: {'token': localStorage.getItem('token')},
-                        data: data.field,
-                        method: 'POST',
-                        success: function (res) {
-                            layer.close(loadIndex);
-                            if (res.code === 200){
-                                layer.close(dIndex);
-                                layer.msg(res.msg, {icon: 1});
-                                tableReload();
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
-                            }else {
-                                layer.msg(res.msg, {icon: 2});
-                            }
-                        }
-                    })
-                    return false;
-                });
-                $(layero).children('.layui-layer-content').css('overflow', 'visible');
-                layui.form.render('select');
-            }
+    /* 鎵嬪姩涓婃姤 */
+    function manualReporting(ids) {
+        layer.confirm('纭畾瑕佹墜鍔ㄤ笂鎶ラ�変腑鏁版嵁鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/orderDetl/manualReporting/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {ids: ids},
+                method: 'POST',
+                success: function (res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                        tableReload();
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
         });
     }
 
     /* 鍒犻櫎 */
     function del(ids) {
-        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+        layer.confirm('纭畾瑕佸叧闂�変腑鏁版嵁鍚楋紵', {
             skin: 'layui-layer-admin',
             shade: .1
         }, function (i) {
@@ -221,6 +236,89 @@
         });
     }
 
+    /* 鍚敤 */
+    function enable(ids) {
+        layer.confirm('纭畾瑕佸惎鐢ㄩ�変腑鏁版嵁鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/orderDetl/enable/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {ids: ids},
+                method: 'POST',
+                success: function (res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                        tableReload();
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
+    // 鏃堕棿閫夋嫨鍣�
+    layDate.render({
+        elem: '#ymd\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#wrkDate\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#ioTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#crnStrTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#crnEndTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#plcStrTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#crnPosTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#refIotime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#modiTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#appeTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#errorTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#logErrTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
+    });
+
     // 鎼滅储
     form.on('submit(search)', function (data) {
         pageCurr = 1;
@@ -233,6 +331,30 @@
         clearFormVal($('#search-box'));
         tableReload(false);
     });
+    // 寮傚父
+    form.on('submit(abnormal)', function (data) {
+        pageCurr = 1;
+        tableReload(true);
+        // console.log("abnormal");
+        // $.ajax({
+        //     url: baseUrl+"/orderDetl/abnormal",
+        //     headers: {'token': localStorage.getItem('token')},
+        //     method: 'GET',
+        //     success: function (res) {
+        //         layer.close(loadIndex);
+        //         if (res.code === 200){
+        //             layer.msg(res.msg, {icon: 1});
+        //             tableReload();
+        //         } else if (res.code === 403){
+        //             top.location.href = baseUrl+"/";
+        //         } else {
+        //             layer.msg(res.msg, {icon: 2});
+        //         }
+        //     }
+        // })
+
+    });
+
 
     // 鏃堕棿閫夋嫨鍣�
     function layDateRender(data) {
@@ -264,8 +386,14 @@
     $.each($('#search-box [name]').serializeArray(), function() {
         searchData[this.name] = this.value;
     });
+    // if(child){
+    //     searchData["abnormal"] = 1;
+    // }else {
+    //     searchData["abnormal"] = 0;
+    // }
+
     tableIns.reload({
         where: searchData,
         page: {curr: pageCurr}
-     });
+    });
 }
diff --git a/src/main/webapp/views/orderDetl/orderDetl.html b/src/main/webapp/views/orderDetl/orderDetl.html
index 2f890dd..0c96fe5 100644
--- a/src/main/webapp/views/orderDetl/orderDetl.html
+++ b/src/main/webapp/views/orderDetl/orderDetl.html
@@ -18,9 +18,33 @@
             <div class="layui-form toolbar" id="search-box">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-                        <label class="layui-form-label">缂栧彿:</label>
                         <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+                            <input class="layui-input" type="text" name="order_no" placeholder="璁㈠崟缂栧彿"
+                                   autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="matnr" placeholder="鐗╂枡缂栫爜"
+                                   autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="be_batch" id="docType-query">
+                            </select>
+                        </div>
+                    </div>
+                    <div class="layui-inline" style="width: 300px">
+                        <div class="layui-input-inline">
+                            <input class="layui-input layui-laydate-range" name="create_time" type="text"
+                                   placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿"
+                                   autocomplete="off" style="width: 300px">
                         </div>
                     </div>
                     <div class="layui-inline">&emsp;
@@ -38,24 +62,52 @@
     </div>
 </div>
 
+<script type="text/html" id="settleTpl">
+    <span name="anfme"
+          {{# if( d.qty=== d.anfme){ }}
+          class="layui-badge layui-badge-green"
+          {{# }else if(d.workQty=== 0){ }}
+          class="layui-badge layui-badge-yellow"
+          {{# }else if(d.anfme> d.qty){ }}
+          class="layui-badge layui-badge-blue"
+          {{# }else if(d.anfme < d.qty){ }}
+          class="layui-badge layui-badge-red"
+          {{# }else if(d.workQty> 0){ }}
+          class="layui-badge layui-badge-blue"
+          {{# }else if(d.source === 6){ }}
+          class="layui-badge layui-badge-gray"
+          {{# } }}
+    >{{d.anfme$}}</span>
+</script>
+
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
-        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
-        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
-        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+<!--        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>-->
+<!--        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>-->
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData"
+                style="float: right">瀵煎嚭
+        </button>
     </div>
 </script>
 
 <script type="text/html" id="operate">
-    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
-    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="manualReporting">鎵嬪姩涓婃姤</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍏抽棴</a>
+    <a class="layui-btn layui-btn-sm layui-btn-xs btn-edit" lay-event="enable">鍚敤</a>
 </script>
-
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/orderDetl/orderDetl.js" charset="utf-8"></script>
+
+<script type="text/template" id="docTypeTpl">
+    <option value="">閫夋嫨绫诲瀷</option>
+    {{#each records}}
+    <option value="{{docId}}">{{docName}}</option>
+    {{/each}}
+</script>
 </body>
 <!-- 琛ㄥ崟寮圭獥 -->
 <script type="text/html" id="editDialog">
@@ -67,10 +119,13 @@
                     <label class="layui-form-label">璁㈠崟鍐呯爜: </label>
                     <div class="layui-input-block cool-auto-complete">
                         <input class="layui-input" name="orderId" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" style="display: none">
-                        <input id="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" onfocus=this.blur()>
+                        <input id="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+                               type="text" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" onfocus=this.blur()>
                         <div class="cool-auto-complete-window">
-                            <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                            <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId"
+                                   onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect"
+                                    onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                             </select>
                         </div>
                     </div>
@@ -94,21 +149,21 @@
                     </div>
                 </div>
                 <div class="layui-form-item">
-                    <label class="layui-form-label">鍚嶇О: </label>
+                    <label class="layui-form-label">璁㈠崟鏁伴噺: </label>
                     <div class="layui-input-block">
-                        <input class="layui-input" name="name" placeholder="璇疯緭鍏ュ悕绉�">
+                        <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ュ悕绉�">
                     </div>
                 </div>
                 <div class="layui-form-item">
-                    <label class="layui-form-label">瑙勬牸: </label>
+                    <label class="layui-form-label">宸ヤ綔鏁伴噺: </label>
                     <div class="layui-input-block">
-                        <input class="layui-input" name="specs" placeholder="璇疯緭鍏ヨ鏍�">
+                        <input class="layui-input" name="workQty" placeholder="璇疯緭鍏ヨ鏍�">
                     </div>
                 </div>
                 <div class="layui-form-item">
-                    <label class="layui-form-label">鍨嬪彿: </label>
+                    <label class="layui-form-label">瀹屾垚鏁伴噺: </label>
                     <div class="layui-input-block">
-                        <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">
+                        <input class="layui-input" name="qty" placeholder="璇疯緭鍏ュ瀷鍙�">
                     </div>
                 </div>
                 <div class="layui-form-item">
@@ -173,10 +228,13 @@
                     <label class="layui-form-label">娣诲姞浜哄憳: </label>
                     <div class="layui-input-block cool-auto-complete">
                         <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">
-                        <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>
+                        <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+                               type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>
                         <div class="cool-auto-complete-window">
-                            <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                            <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy"
+                                   onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect"
+                                    onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                             </select>
                         </div>
                     </div>
@@ -191,10 +249,13 @@
                     <label class="layui-form-label">淇敼浜哄憳: </label>
                     <div class="layui-input-block cool-auto-complete">
                         <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">
-                        <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
+                        <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+                               type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
                         <div class="cool-auto-complete-window">
-                            <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                            <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy"
+                                   onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect"
+                                    onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                             </select>
                         </div>
                     </div>
@@ -212,7 +273,7 @@
                     </div>
                 </div>
 
-             </div>
+            </div>
         </div>
         <hr class="layui-bg-gray">
         <div class="layui-form-item text-right">
@@ -221,5 +282,7 @@
         </div>
     </form>
 </script>
+
+
 </html>
 

--
Gitblit v1.9.1