From 598c9d63f68a8c92b264328c88c1cb4ef25af044 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 02 九月 2025 14:32:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/kingdee/entity/GatewayDto.java                       |   28 +
 src/main/java/com/zy/common/properties/SystemProperties.java              |    2 
 src/main/resources/lib/kingdee-xw-openapi-1.0.0-jar-with-dependencies.jar |    0 
 src/main/java/com/zy/kingdee/entity/ReqParam.java                         |   19 
 src/main/webapp/views/erpReceiving/erpReceiving.html                      |   51 +
 src/main/java/com/zy/asrs/controller/MobileController.java                |   78 ++-
 pom.xml                                                                   |   14 
 src/main/java/com/zy/kingdee/entity/AcctDto.java                          |   59 ++
 /dev/null                                                                 |  119 -----
 src/main/java/com/zy/kingdee/utils/K3ApiUtil.java                         |  502 +++++++++++++++++++++++++
 src/main/java/com/zy/kingdee/utils/KingDeeUtils.java                      |  118 +++++
 src/main/java/com/zy/kingdee/controller/KingdeeContorller.java            |  114 +++++
 src/main/java/com/zy/kingdee/entity/ResDto.java                           |   14 
 src/main/resources/lib/apigwclient-0.1.5.jar                              |    0 
 src/main/resources/application.yml                                        |    6 
 src/main/java/com/zy/kingdee/entity/ResParam.java                         |   63 +++
 16 files changed, 1,013 insertions(+), 174 deletions(-)

diff --git a/pom.xml b/pom.xml
index aa3af82..b7bd3f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -121,6 +121,20 @@
             <artifactId>hutool-all</artifactId>
             <version>5.8.26</version>
         </dependency>
+        <dependency>
+            <groupId>apigwclient</groupId>
+            <artifactId>apigwclient</artifactId>
+            <version>1.0.0</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/src/main/resources/lib/apigwclient-0.1.5.jar</systemPath>
+        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>kingdee-xw-openapi</groupId>-->
+<!--            <artifactId>kingdee-xw-openapi</artifactId>-->
+<!--            <version>1.0.0</version>-->
+<!--            <scope>system</scope>-->
+<!--            <systemPath>${project.basedir}/src/main/resources/lib/kingdee-xw-openapi-1.0.0-jar-with-dependencies.jar</systemPath>-->
+<!--        </dependency>-->
     </dependencies>
 
     <build>
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 37835f9..1242a8c 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -8,6 +8,7 @@
 import com.core.common.Cools;
 import com.core.common.R;
 import com.core.exception.CoolException;
+
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.MobileAdjustResult;
@@ -17,6 +18,7 @@
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
+import com.zy.kingdee.utils.K3ApiUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -594,47 +596,53 @@
     @RequestMapping("/ddd/ddd")
     @ManagerAuth()
     public R ddd() {
-        int w = 99999;
-        for (int i = 17; i <= 37; i++) {
-        for (int j = 8;j<=14;j++){
-            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 1));
-            LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 2));
-            LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 3));
-//            LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 26).eq("bay1", i).eq("lev1", 1));
-            if (locMast.getGro1() == 999){
-                continue;
-            }
-//            locMast.setGro1(w);
-//            locMast.setGro1(locMast.getGro1()+1000);
-            locMast2.setGro1(locMast.getGro1()+1000);
-            locMast3.setGro1(locMast.getGro1()+2000);
-//            locMast4.setGro1(w);
-//            locMastService.updateById(locMast);
-            locMastService.updateById(locMast2);
-            locMastService.updateById(locMast3);
-//            locMastService.updateById(locMast4);
-            w++;
-        }
-        }
-//        for (int i = 17; i <=37; i++) {
-//            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 3).eq("lev1", 1));
-//            LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 8).eq("lev1", 1));
-//            LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 13).eq("lev1", 1));
-////            LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", 1));
-//            if (!Cools.isEmpty(locMast)) {
-//                locMast.setGro1(w);
-//                locMastService.updateById(locMast);
+
+
+
+
+
+
+//        int w = 99999;
+//        for (int i = 17; i <= 37; i++) {
+//        for (int j = 8;j<=14;j++){
+//            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 1));
+//            LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 2));
+//            LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 3));
+////            LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 26).eq("bay1", i).eq("lev1", 1));
+//            if (locMast.getGro1() == 999){
+//                continue;
 //            }
-//
-//            locMast2.setGro1(w);
-//            locMast3.setGro1(w);
+////            locMast.setGro1(w);
+////            locMast.setGro1(locMast.getGro1()+1000);
+//            locMast2.setGro1(locMast.getGro1()+1000);
+//            locMast3.setGro1(locMast.getGro1()+2000);
 ////            locMast4.setGro1(w);
-//
+////            locMastService.updateById(locMast);
 //            locMastService.updateById(locMast2);
 //            locMastService.updateById(locMast3);
 ////            locMastService.updateById(locMast4);
-////            w++;
+//            w++;
 //        }
+//        }
+////        for (int i = 17; i <=37; i++) {
+////            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 3).eq("lev1", 1));
+////            LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 8).eq("lev1", 1));
+////            LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 13).eq("lev1", 1));
+//////            LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", 1));
+////            if (!Cools.isEmpty(locMast)) {
+////                locMast.setGro1(w);
+////                locMastService.updateById(locMast);
+////            }
+////
+////            locMast2.setGro1(w);
+////            locMast3.setGro1(w);
+//////            locMast4.setGro1(w);
+////
+////            locMastService.updateById(locMast2);
+////            locMastService.updateById(locMast3);
+//////            locMastService.updateById(locMast4);
+//////            w++;
+////        }
         return R.ok();
 
     }
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 3530b48..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.acctID}")
-    //璐﹀彿ID
-    private String acctID;
-
-    @Value("${erp.login.username}")
-    //璐﹀彿
-    private String username;
-
-    @Value("${erp.login.password}")
-    //瀵嗙爜
-    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/properties/SystemProperties.java b/src/main/java/com/zy/common/properties/SystemProperties.java
index b693d42..3e9e1ea 100644
--- a/src/main/java/com/zy/common/properties/SystemProperties.java
+++ b/src/main/java/com/zy/common/properties/SystemProperties.java
@@ -64,7 +64,7 @@
 
     // 鐢熸垚婵�娲荤爜
     public static void main(String[] args) {
-        String timeStr = "2021-08-01 17:48:35";
+        String timeStr = "2026-08-12 08:00:00";
         Date exprTime = DateUtils.convert(timeStr);
         String code = AesUtils.encrypt(DateUtils.convert(exprTime, DateUtils.yyyyMMddHHmmss), SystemProperties.SALT);
         System.out.println("婵�娲荤爜锛�"+code);
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/timer/LoginAuthenticationScheduler.java b/src/main/java/com/zy/erp/kingdee/timer/LoginAuthenticationScheduler.java
deleted file mode 100644
index ccdada9..0000000
--- a/src/main/java/com/zy/erp/kingdee/timer/LoginAuthenticationScheduler.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.zy.erp.kingdee.timer;
-
-import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Slf4j
-@Component
-public class LoginAuthenticationScheduler {
-
-    @Autowired
-    private LoginAuthenticationHandler loginAuthenticationHandler;
-    @Scheduled(cron = "0/3 * * * * ? ")
-    void login(){
-        Boolean fig=false;
-        if(fig){
-            return;
-        }
-        loginAuthenticationHandler.start();
-    }
-}
diff --git a/src/main/java/com/zy/erp/kingdee/timer/handler/LoginAuthenticationHandler.java b/src/main/java/com/zy/erp/kingdee/timer/handler/LoginAuthenticationHandler.java
deleted file mode 100644
index 98e9dc2..0000000
--- a/src/main/java/com/zy/erp/kingdee/timer/handler/LoginAuthenticationHandler.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package com.zy.erp.kingdee.timer.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.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 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.acctID}")
-    //璐﹀彿ID
-    private String acctID;
-
-    @Value("${erp.login.username}")
-    //璐﹀彿
-    private String username;
-
-    @Value("${erp.login.password}")
-    //瀵嗙爜
-    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 {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+loginaddress, JSON.toJSONString(loginParam), response);
-                throw new CoolException("鐧诲綍閲戣澏澶辫触");
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
-//            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;
-        }
-
-}
-
-
-
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/java/com/zy/kingdee/controller/KingdeeContorller.java b/src/main/java/com/zy/kingdee/controller/KingdeeContorller.java
new file mode 100644
index 0000000..a338b04
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/controller/KingdeeContorller.java
@@ -0,0 +1,114 @@
+package com.zy.kingdee.controller;
+
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.common.constant.ApiInterfaceConstant;
+import com.zy.common.utils.HttpHandler;
+import com.zy.kingdee.entity.ResDto;
+import com.zy.kingdee.utils.K3ApiUtil;
+import com.zy.kingdee.utils.KingDeeUtils;
+
+import lombok.extern.slf4j.Slf4j;
+
+import okhttp3.internal.http.HttpMethod;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDate;
+import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("kingdee")
+@Slf4j
+public class KingdeeContorller {
+
+    @RequestMapping("/get/manufacturingorder/list")
+    @ManagerAuth()
+    public R getManufacturingorderList(@RequestParam(defaultValue = "1")Integer curr,
+                                       @RequestParam(defaultValue = "10")Integer limit,
+                                       @RequestParam(required = false)String orderByField,
+                                       @RequestParam(required = false)String orderByType,
+                                       @RequestParam(required = false)String condition,
+                                       @RequestParam Map<String, Object> param) {
+        if (null == K3ApiUtil.TokenRes){
+            K3ApiUtil.init();
+        }
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("access_token", K3ApiUtil.TokenRes.getAccessToken());
+
+
+        Map<String, Object> jsonMap = new HashMap<>();
+        jsonMap.put("CurrentPage",curr);
+        jsonMap.put("ItemsOfPage",limit);
+        jsonMap.put("AccountDB","002");
+
+        OffsetDateTime  time = OffsetDateTime.parse(param.get("time").toString());
+
+        HashMap<Object, Object> map1 = new HashMap<>();
+
+        String s = String.valueOf(time.toLocalDate());
+        map1.put("Property","FPlanCommitDate");
+        map1.put("Type","Desc");
+
+        jsonMap.put("OrderBy",map1);
+//        map.put("CurrentPage",1);
+//        map.put("ItemsOfPage",10);
+        String resStr = HttpRequest.post("api.kingdee.com" + "/koas/app007107/api/manufacturingorder/list" + K3ApiUtil.getMapStr(map))
+                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+                .header("KIS-State", "TEST" + K3ApiUtil.getNonce(12))
+                .header("KIS-TraceID", "TEST")
+                .header("KIS-Ver", "1.0")
+                .header("KIS-AuthData", K3ApiUtil.gatewayDto.getData().getAuthData())
+                .header("X-Api-SignHeaders", "X-Api-TimeStamp,X-Api-Nonce")
+                .header("X-GW-Router-Addr", K3ApiUtil.gatewayDto.getData().getGwRouterAddr())
+                .contentType("application/json")
+                .body(JSON.toJSONString(jsonMap))
+                .execute()
+                .body();
+
+        JSONObject parseObject = JSON.parseObject(resStr);
+        if (parseObject.get("errcode").hashCode() != 0) {
+            throw new CoolException(parseObject.get("description").toString());
+        }
+
+//        Map<String, Object> headers = new HashMap<>();
+//
+//        headers.put("KIS-Timestamp",Long.toString(System.currentTimeMillis() / 1000L));
+//        headers.put("KIS-State","TEST" + K3ApiUtil.getNonce(12));
+//        headers.put("KIS-TraceID","TEST");
+//        headers.put("KIS-Ver","1.0");
+//        headers.put("KIS-AuthData",K3ApiUtil.kingDeeRes.getAppToken());
+//
+//        headers.put("X-GW-Router-Addr",K3ApiUtil.kingDeeRes.getDomain());
+//        headers.put("Content-Type", "application/json;charset=utf-8");
+//
+//
+//        try {
+//            String response = new HttpHandler.Builder()
+//                    .setUri("api.kingdee.com")
+//                    .setPath("/koas/app007107/api/manufacturingorder/list")
+//                    .setHeaders(headers)
+//                    .setParams(map)
+//                    .setJson(JSON.toJSONString(jsonMap))
+//                    .build()
+//                    .doPost();
+//        }catch (Exception e){
+//
+//        }
+
+
+
+        return R.ok(parseObject.get("data"));
+    }
+}
diff --git a/src/main/java/com/zy/kingdee/entity/AcctDto.java b/src/main/java/com/zy/kingdee/entity/AcctDto.java
new file mode 100644
index 0000000..58287b2
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/entity/AcctDto.java
@@ -0,0 +1,59 @@
+package com.zy.kingdee.entity;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AcctDto {
+    private Integer errcode;
+    private String description;
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        private String uid;
+        private List<OrglistDTO> orglist;
+
+        @NoArgsConstructor
+        @Data
+        public static class OrglistDTO {
+            private String tid;
+            private String eid;
+            private String orgname;
+            private List<ProdinstlistDTO> prodinstlist;
+
+            @NoArgsConstructor
+            @Data
+            public static class ProdinstlistDTO {
+                private String pid;
+                private String productname;
+                private String productid;
+                private String prodinstname;
+                private String productshortname;
+                private String onlineStatus;
+                private Integer cloudmod;
+                private Integer acctloginnum;
+                private String expire;
+                private String recent;
+                private String openMobappStatus;
+                private List<AccountlistDTO> accountlist;
+
+                @NoArgsConstructor
+                @Data
+                public static class AccountlistDTO {
+                    private String acctnumber;
+                    private String acctname;
+                    private String userid;
+                    private String encid;
+                    private String acctusername;
+                    private String mobile;
+                    private String isdemo;
+                }
+            }
+        }
+    }
+}
diff --git a/src/main/java/com/zy/kingdee/entity/GatewayDto.java b/src/main/java/com/zy/kingdee/entity/GatewayDto.java
new file mode 100644
index 0000000..d399b3f
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/entity/GatewayDto.java
@@ -0,0 +1,28 @@
+package com.zy.kingdee.entity;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@Data
+public class GatewayDto {
+    private Integer errcode;
+    private String description;
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        private String gateway;
+        private String authData;
+        private String gwRouterAddr;
+        private ExtendDataDTO extendData;
+
+        @NoArgsConstructor
+        @Data
+        public static class ExtendDataDTO {
+            private String refreshAuthDataToken;
+            private Integer refreshAuthDataTokenExpireIn;
+        }
+    }
+}
diff --git a/src/main/java/com/zy/kingdee/entity/ReqParam.java b/src/main/java/com/zy/kingdee/entity/ReqParam.java
new file mode 100644
index 0000000..83d267b
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/entity/ReqParam.java
@@ -0,0 +1,19 @@
+package com.zy.kingdee.entity;
+
+import lombok.Data;
+
+@Data
+public class ReqParam {
+
+    private String msg;
+    private String timeStamp;
+    private String nonce;
+    private String sign;
+
+   public static ReqParam init(String timeStamp,String nonce){
+       ReqParam reqParam = new ReqParam();
+       reqParam.setTimeStamp(timeStamp);
+       reqParam.setNonce(nonce);
+       return reqParam;
+   }
+}
diff --git a/src/main/java/com/zy/kingdee/entity/ResDto.java b/src/main/java/com/zy/kingdee/entity/ResDto.java
new file mode 100644
index 0000000..7eb704c
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/entity/ResDto.java
@@ -0,0 +1,14 @@
+package com.zy.kingdee.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ResDto {
+    private Integer code;
+    private String msg;
+    private Integer errcode;
+    private String description;
+    private List<ResParam> data;
+}
diff --git a/src/main/java/com/zy/kingdee/entity/ResParam.java b/src/main/java/com/zy/kingdee/entity/ResParam.java
new file mode 100644
index 0000000..cc666d4
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/entity/ResParam.java
@@ -0,0 +1,63 @@
+package com.zy.kingdee.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ResParam {
+    private Long id;
+    private String appKey;
+    private String appSecret;
+    private String oldAppSecret;
+    private Integer status;
+    private String accessToken;
+    private String appToken;
+    private String authCode;
+
+    private String sessionId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
+    private Date expires;
+
+    private String userNumber;
+    private String serviceId;
+    private String clientId;
+    private String externalNumber;
+    private String outerInstanceId;
+    private String agreementCompanyName;
+    private String agreementAuthProductType;
+    private String agreementAdministratorName;
+    private String agreementAdministratorAccountNumber;
+    private String tenantId;
+    private String accountId;
+    private String uid;
+    private Long tid;
+
+    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
+    private Date createTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
+    private Date openTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
+    private Date secretUpdateTime;
+
+    private Boolean isBrand;
+    private String brandSupplierId;
+    private String groupName;
+    private String accountName;
+    private String domain;
+    private String instanceId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
+    private Date instanceExpiresTime;
+
+    private Boolean isRetainData;
+    private String trialOrderId;
+    private Boolean isEncryptSensitiveData;
+    private String ebxServiceId;
+    private String ebxAccountId;
+
+}
diff --git a/src/main/java/com/zy/kingdee/utils/K3ApiUtil.java b/src/main/java/com/zy/kingdee/utils/K3ApiUtil.java
new file mode 100644
index 0000000..4c9e68b
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/utils/K3ApiUtil.java
@@ -0,0 +1,502 @@
+package com.zy.kingdee.utils;
+
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.Cools;
+
+import com.smecloud.apigw.client.ApigwClient;
+import com.smecloud.apigw.codec.GwURLEncoder;
+import com.smecloud.apigw.constant.HttpMethod;
+import com.smecloud.apigw.exception.ApiException;
+import com.smecloud.apigw.model.ApiRequest;
+import com.smecloud.apigw.model.ApigwConfig;
+import com.smecloud.apigw.util.CommontUtil;
+import com.smecloud.apigw.util.SHAUtil;
+import com.zy.kingdee.entity.*;
+import lombok.SneakyThrows;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.security.SecureRandom;
+import java.util.*;
+import java.util.stream.Collectors;
+
+public class K3ApiUtil {
+    private static final String clientId = "320285";
+    private static final String clientSecret = "bd29825057688ef40b1154057961a13b";
+    private static final String HOST = "api.kingdee.com";
+    private static final String instanceId = "436582290097836032";
+    private static final String appKey = "KidEvrK8";
+    private static final String[] DEFAULT_SIGNHEADERS = new String[]{"X-Api-Nonce", "X-Api-TimeStamp"};
+
+    public static ResParam TokenRes = null;
+    public static ResParam userRes = null;
+    public static String authCode = null;
+    public static String sessionId = null;
+    public static AcctDto acctDto = null;
+    public static GatewayDto gatewayDto = null;
+
+
+    /**
+     * 鑾峰彇Nonce
+     *
+     * @param len
+     * @return
+     */
+    public static String getNonce(int len) {
+        StringBuilder rs = new StringBuilder();
+        for (int i = 0; i < len; ++i) {
+            rs.append(new SecureRandom().nextInt(10));
+        }
+        return rs.toString();
+    }
+
+    /**
+     * 鑾峰彇url杞爜鏍煎紡
+     *
+     * @param path
+     * @return
+     */
+    private static String getPathEncode(String path) {
+        try {
+            return GwURLEncoder.encode(path, StandardCharsets.UTF_8.toString());
+        } catch (Exception var3) {
+            Exception e = var3;
+            throw new ApiException(e);
+        }
+    }
+
+    /**
+     * 鑾峰彇鎷兼帴鍙傛暟杞爜鏍煎紡
+     *
+     * @param querys
+     * @return
+     */
+    private static String getQueryEncode(Map<String, String> querys) {
+        try {
+            if (CommontUtil.isEmpty(querys)) {
+                return "";
+            } else {
+                List<String> list = new ArrayList(querys.size());
+                Iterator var3 = querys.entrySet().iterator();
+
+                while (var3.hasNext()) {
+                    Map.Entry<String, String> entry = (Map.Entry) var3.next();
+                    String key = GwURLEncoder.encode((String) entry.getKey(), StandardCharsets.UTF_8.toString());
+                    String value = URLEncoder.encode((String) entry.getValue(), StandardCharsets.UTF_8.toString());
+                    list.add(key + "=" + value);
+                }
+
+                Collections.sort(list);
+                String rawQueryString = String.join("&", list);
+                String[] queryStrings = rawQueryString.split("&");
+                list.clear();
+                String[] var16 = queryStrings;
+                int var17 = queryStrings.length;
+
+                for (int var7 = 0; var7 < var17; ++var7) {
+                    String param = var16[var7];
+                    int index = param.indexOf("=");
+                    if (index >= 1) {
+                        String key = GwURLEncoder.encode(param.substring(0, index), StandardCharsets.UTF_8.toString());
+                        String value = GwURLEncoder.encode(param.substring(index + 1), StandardCharsets.UTF_8.toString());
+                        list.add(key + "=" + value);
+                    }
+                }
+
+                return String.join("&", list);
+            }
+        } catch (Exception var12) {
+            Exception e = var12;
+            throw new ApiException(e);
+        }
+    }
+
+    /**
+     * 鑾峰彇鍔犲瘑绛惧悕
+     *
+     * @param method
+     * @param path
+     * @param query
+     * @param signatureHeaders
+     * @param headers
+     * @return
+     */
+    private static String getSign(String method, String path, String query, String[] signatureHeaders, Map<String, String> headers) {
+        StringBuilder b = new StringBuilder();
+        b.append(method);
+        b.append("\n");
+        b.append(path);
+        b.append("\n");
+        b.append(query);
+        b.append("\n");
+        String[] var7 = signatureHeaders;
+        int var8 = signatureHeaders.length;
+
+        for (int var9 = 0; var9 < var8; ++var9) {
+            String x = var7[var9];
+            b.append(x.toLowerCase());
+            b.append(":");
+            b.append((String) headers.get(x));
+            b.append("\n");
+        }
+
+        String s = SHAUtil.SHA256HMAC(b.toString(), clientSecret);
+        return s != null ? Base64.getEncoder().encodeToString(s.getBytes()) : "";
+    }
+
+    /**
+     * 鑾峰彇鍔犲瘑鍚庣粨鏋�
+     *
+     * @return
+     */
+    public static String getSecretStr(String key, String secret) {
+        String s = SHAUtil.SHA256HMAC(key, secret);
+        return s != null ? Base64.getEncoder().encodeToString(s.getBytes()) : "";
+    }
+
+    public static String getMapStr(Map<String, String> map) {
+        if (map == null) {
+            return "";
+        }
+        StringBuilder b = new StringBuilder("?");
+        String str = map.keySet().stream().map(key ->
+        {
+            try {
+                return GwURLEncoder.encode(key, StandardCharsets.UTF_8.toString()) + "=" + GwURLEncoder.encode(map.get(key), StandardCharsets.UTF_8.toString());
+            } catch (UnsupportedEncodingException e) {
+                throw new RuntimeException(e);
+            }
+        }).collect(Collectors.joining("&"));
+        b.append(str);
+        return b.toString();
+    }
+
+    /**
+     * 鍒濆鍖栫綉鍏�
+     *
+     * @return
+     */
+    private static ApigwConfig initConfig() {
+        ApigwConfig config = new ApigwConfig();
+        //璁剧疆client_id
+        config.setClientID(clientId);
+        //璁剧疆client_secret
+        config.setClientSecret(clientSecret);
+        ApigwClient apigwClient = ApigwClient.getInstance();
+        //鍒濆鍖朅PI缃戝叧瀹㈡埛绔�
+        apigwClient.init(config);
+        return config;
+    }
+
+    /**
+     * 鑾峰彇绛惧悕
+     *
+     * @param method
+     * @param url
+     * @param querys
+     * @return
+     */
+    public static ReqParam getSignature(HttpMethod method, String url, Map<String, String> querys) {
+        //鍒濆鍖朅PI缃戝叧瀹㈡埛绔�
+        ApigwConfig config = initConfig();
+
+        ApiRequest request = new ApiRequest(method, HOST, url);
+        request.setQuerys(querys);
+        request.setBodyJson(JSONObject.toJSONString("").getBytes());
+        //鍒濆鍥炲弬
+        ReqParam res = ReqParam.init(Long.toString(System.currentTimeMillis()), getNonce(10));
+
+        request.addHeader("X-Api-ClientID", config.getClientID());
+        request.addHeader("X-Api-Auth-Version", "2.0");
+        request.addHeader("X-Api-TimeStamp", res.getTimeStamp());
+        request.addHeader("X-Api-Nonce", res.getNonce());
+        request.addHeader("X-Api-SignHeaders", String.join(",", DEFAULT_SIGNHEADERS));
+        String sign = getSign(request.getMethod().getValue(), getPathEncode(request.getPath()), getQueryEncode(request.getQuerys()), DEFAULT_SIGNHEADERS, request.getHeaders());
+        request.setSignature(sign);
+        request.addHeader("X-Api-Signature", sign);
+        res.setSign(sign);
+
+
+        return res;
+    }
+
+
+    /**
+     * 鑾峰彇楠岃瘉
+     *
+     * @return
+     */
+    @SneakyThrows
+    public static ResParam getAuthorize() {
+        String url = "/jdyconnector/app_management/push_app_authorize";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("outerInstanceId", instanceId);
+        String pathParamStr = getMapStr(map);
+        //鑾峰彇鎺ュ彛鍙傛暟
+        ReqParam req = K3ApiUtil.getSignature(HttpMethod.POST_BODY, url, map);
+        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+                .header("X-Api-ClientID", clientId)
+                .header("X-Api-Auth-Version", "2.0")
+                .header("X-Api-TimeStamp", req.getTimeStamp())
+                .header("X-Api-Nonce", req.getNonce())
+                .header("X-Api-SignHeaders", "X-Api-TimeStamp,X-Api-Nonce")
+                .header("X-Api-Signature", req.getSign())
+                .execute()
+                .body();
+
+        ResDto res = JSONObject.parseObject(resStr, ResDto.class);
+        if (res.getCode() != 200) {
+            throw new RuntimeException(res.getMsg());
+        }
+//        System.out.println("testGetAuth()锛�" + resStr);
+        userRes = res.getData().get(0);
+        return res.getData().get(0);
+
+    }
+
+    /**
+     * 鑾峰彇楠岃瘉
+     *
+     * @return
+     */
+    @SneakyThrows
+    public static ResParam getToken() {
+        //鑾峰彇鎺堟潈
+        ResParam authorizeRes = getAuthorize();
+
+        String url = "/jdyconnector/app_management/kingdee_auth_token";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("app_key", authorizeRes.getAppKey());
+        String secretStr = getSecretStr(authorizeRes.getAppKey(), authorizeRes.getAppSecret());
+        map.put("app_signature", secretStr);
+        String pathParamStr = getMapStr(map);
+        //鑾峰彇鎺ュ彛鍙傛暟
+        ReqParam req = K3ApiUtil.getSignature(HttpMethod.GET, url, map);
+        String resStr = HttpRequest.get(HOST + url + pathParamStr)
+                .header("X-Api-ClientID", clientId)
+                .header("X-Api-Auth-Version", "2.0")
+                .header("X-Api-TimeStamp", req.getTimeStamp())
+                .header("X-Api-Nonce", req.getNonce())
+                .header("X-Api-SignHeaders", "X-Api-TimeStamp,X-Api-Nonce")
+                .header("X-Api-Signature", req.getSign())
+                .execute()
+                .body();
+        ResDto res = JSONObject.parseObject(resStr, ResDto.class);
+        if (res.getErrcode() != 0) {
+            throw new RuntimeException(res.getDescription());
+        }
+        ResParam resParam = res.getData().get(0);
+        resParam.setDomain(authorizeRes.getDomain());
+//        System.out.println("testGetToken()锛�" + resStr);
+        TokenRes = resParam;
+        return resParam;
+    }
+
+    @SneakyThrows
+    public static String getAuthCode() {
+
+        String url = "/koas/user/auth_code";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("access_token", TokenRes.getAccessToken());
+        String pathParamStr = getMapStr(map);
+        //body
+
+        //璇锋眰
+        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+                .header("KIS-State", "vfun" + getNonce(12))
+                .header("KIS-TraceID", "vfun10086")
+                .header("KIS-Ver", "1.0")
+                .contentType("application/json")
+                .execute()
+                .body();
+        ResDto res = JSONObject.parseObject(resStr, ResDto.class);
+        if (res.getErrcode() != 0) {
+            throw new RuntimeException(res.getDescription());
+        }
+    //        System.out.println("testSendMsg()锛�" + resStr);
+        authCode = res.getData().get(0).getAuthCode();
+        return res.getData().get(0).getAuthCode();
+    }
+
+    @SneakyThrows
+    public static String getSessionId() {
+
+        String url = "/koas/user/auth_code_login_access_token";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("client_id", clientId);
+        map.put("client_secret",clientSecret);
+        String pathParamStr = getMapStr(map);
+        //body
+        HashMap<String, Object> bodyMap = new HashMap<>();
+        bodyMap.put("auth_code",authCode);
+        //璇锋眰
+        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+                .header("KIS-State", "WMS" + getNonce(12))
+                .header("KIS-TraceID", "WMS")
+                .header("KIS-Ver", "1.0")
+                .contentType("application/json")
+                .body(JSON.toJSONString(bodyMap))
+                .execute()
+                .body();
+        ResDto res = JSONObject.parseObject(resStr, ResDto.class);
+        if (res.getErrcode() != 0) {
+            throw new RuntimeException(res.getDescription());
+        }
+        sessionId = res.getData().get(0).getSessionId();
+        return res.getData().get(0).getSessionId();
+    }
+    @SneakyThrows
+    public static AcctDto getAcctNumber() {
+
+        String url = "/koas/user/account";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("access_token", TokenRes.getAccessToken());
+        String pathParamStr = getMapStr(map);
+        //body
+        HashMap<String, Object> bodyMap = new HashMap<>();
+        bodyMap.put("session_id",sessionId);
+        //璇锋眰
+        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+                .header("KIS-State", "WMS" + getNonce(12))
+                .header("KIS-TraceID", "WMS")
+                .header("KIS-Ver", "1.0")
+                .contentType("application/json")
+                .body(JSON.toJSONString(bodyMap))
+                .execute()
+                .body();
+        AcctDto res = JSONObject.parseObject(resStr, AcctDto.class);
+        if (res.getErrcode() != 0) {
+            throw new RuntimeException(res.getDescription());
+        }
+        acctDto = res;
+        return res;
+    }
+
+    @SneakyThrows
+    public static String getIcrmId() {
+
+        String url = "/koas/user/account_applist";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("access_token", TokenRes.getAccessToken());
+        String pathParamStr = getMapStr(map);
+        //body
+        HashMap<String, Object> bodyMap = new HashMap<>();
+        bodyMap.put("session_id",sessionId);
+        bodyMap.put("client_id", clientId);
+        bodyMap.put("acctnumber",acctDto.getData().getOrglist().get(0).getProdinstlist().get(0).getAccountlist().get(0).getAcctnumber());
+        //璇锋眰
+        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+                .header("KIS-State", "wmss" + getNonce(12))
+                .header("KIS-TraceID", "wmss")
+                .header("KIS-Ver", "1.0")
+                .contentType("application/json")
+                .body(JSON.toJSONString(bodyMap))
+                .execute()
+                .body();
+        ResDto res = JSONObject.parseObject(resStr, ResDto.class);
+        if (res.getErrcode() != 0) {
+            throw new RuntimeException(res.getDescription());
+        }
+
+        return "";
+    }
+
+    @SneakyThrows
+    public static String getServiceGateway() {
+
+        String url = "/koas/user/get_service_gateway";
+        //URL 锛熸嫾鎺ュ瓧娈�
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("access_token", TokenRes.getAccessToken());
+        String pathParamStr = getMapStr(map);
+        //body
+        HashMap<String, Object> bodyMap = new HashMap<>();
+        bodyMap.put("session_id",sessionId);
+        bodyMap.put("pid", acctDto.getData().getOrglist().get(0).getProdinstlist().get(0).getPid());
+        bodyMap.put("acctnumber",acctDto.getData().getOrglist().get(0).getProdinstlist().get(0).getAccountlist().get(0).getAcctnumber());
+        bodyMap.put("icrmid","2c9223b083cc0f130183e4c32be01544");
+        //璇锋眰
+        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+                .header("KIS-State", "wmss" + getNonce(12))
+                .header("KIS-TraceID", "wmss")
+                .header("KIS-Ver", "1.0")
+                .contentType("application/json")
+                .body(JSON.toJSONString(bodyMap))
+                .execute()
+                .body();
+        GatewayDto res = JSONObject.parseObject(resStr, GatewayDto.class);
+        if (res.getErrcode() != 0) {
+            throw new RuntimeException(res.getDescription());
+        }
+        gatewayDto = res;
+        return "SUCCESS";
+    }
+
+    public static void init(){
+        getToken();
+        getAuthCode();
+        getSessionId();
+        getAcctNumber();
+        getServiceGateway();
+    }
+
+    public static void main(String[] args) {
+        getToken();
+        getAuthCode();
+        getSessionId();
+        getAcctNumber();
+        getServiceGateway();
+//        getIcrmId();
+    }
+
+    /**
+     * 鍗曟嵁瀹℃牳鎺ュ彛
+     * @param FClassTypeID 澶栬喘鍏ュ簱(1001), 閿�鍞嚭搴�(1021),閲囪喘鐢宠(1070) ,閿�鍞鍗�(1081),浜у搧鍏ュ簱(1002),璋冩嫧鍗�(1041) ,鐢熶骇棰嗘枡鍗曪紙1024锛�,閲囪喘璁㈠崟 (1071)
+     * @param FInterID 鍗曟嵁ID
+     * @return
+     */
+//    @SneakyThrows
+//    @Deprecated
+//    public static ResDto checkK3Vouch(Integer FClassTypeID, Integer FInterID) {
+//        ResParam tokenRes = getToken();
+//        String url = "/koas/APP007720/api/approve/submit";
+//        //URL 锛熸嫾鎺ュ瓧娈�
+//        Map<String, String> map = new LinkedHashMap<>();
+//        map.put("access_token", tokenRes.getAccessToken());
+//        String pathParamStr = getMapStr(map);
+//        //body
+//        String bodyJson = VouchCheckDto.convertToQueryJson(FClassTypeID, FInterID);
+//        //璇锋眰
+//        String resStr = HttpRequest.post(HOST + url + pathParamStr)
+//                .header("KIS-Timestamp", Long.toString(System.currentTimeMillis() / 1000L))
+//                .header("KIS-State", "vfun" + getNonce(12))
+//                .header("KIS-TraceID", "vfun10086")
+//                .header("KIS-Ver", "1.0")
+//                .header("KIS-AuthData", tokenRes.getAppToken())
+//                .header("X-Api-SignHeaders", "X-Api-TimeStamp,X-Api-Nonce")
+//                .header("X-GW-Router-Addr", tokenRes.getDomain())
+//                .body(bodyJson)
+//                .execute()
+//                .body();
+//        ResDto res = ObjUtil.parseObject(resStr, ResDto.class);
+//        if (res.getErrcode() != 0) {
+//            throw new RuntimeException(res.getDescription());
+//        }
+////        System.out.println("testSendMsg()锛�" + resStr);
+//        return res;
+//    }
+}
diff --git a/src/main/java/com/zy/kingdee/utils/KingDeeUtils.java b/src/main/java/com/zy/kingdee/utils/KingDeeUtils.java
new file mode 100644
index 0000000..692b52a
--- /dev/null
+++ b/src/main/java/com/zy/kingdee/utils/KingDeeUtils.java
@@ -0,0 +1,118 @@
+package com.zy.kingdee.utils;
+
+
+import com.smecloud.apigw.util.SHAUtil;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+import java.util.Map;
+import java.util.TreeMap;
+
+@Slf4j
+public class KingDeeUtils {
+    public static String generateSignature(String method,
+                                           String path,
+                                           Map<String, String> params,
+                                           Map<String, String> headers,
+                                           String appSecret) throws Exception {
+        // 1. 澶勭悊璇锋眰鏂规硶锛堣浆澶у啓锛�
+        String processedMethod = method.toUpperCase();
+
+        // 2. 澶勭悊璺緞锛圲RL缂栫爜+澶у啓锛�
+        String processedPath = encodePath(path);
+
+        // 3. 澶勭悊璇锋眰鍙傛暟锛堝弻閲峌RL缂栫爜+ASCII鎺掑簭+澶у啓锛�
+        String processedParams = processParams(params);
+
+        // 4. 澶勭悊璇锋眰澶达紙鎻愬彇鐗瑰畾鍙傛暟锛�
+        String nonce = headers.getOrDefault("x-api-nonce", "");
+        String timestamp = headers.getOrDefault("x-api-timestamp", "");
+
+        // 5. 鏋勫缓绛惧悕鍘熸枃
+        String signSource = buildSignSource(processedMethod, processedPath, processedParams, nonce, timestamp);
+
+        log.info("绛惧悕鍘熸枃锛歕n"+signSource);
+        // 6. 璁$畻HMAC-SHA256绛惧悕
+        return hmacSha256(appSecret, signSource);
+    }
+
+    private static String encodePath(String path) {
+        try {
+            // 鍙璺緞閮ㄥ垎杩涜URL缂栫爜锛堜笉鍖呭惈鍗忚/鍩熷悕锛�
+            String[] parts = path.split("://", 2);
+            String toEncode = parts.length > 1 ? parts[1].substring(parts[1].indexOf('/')) : path;
+            return URLEncoder.encode(toEncode, StandardCharsets.UTF_8.name()).toUpperCase();
+        } catch (Exception e) {
+            throw new RuntimeException("Path encoding failed", e);
+        }
+    }
+
+    private static String processParams(Map<String, String> params) {
+        if (params == null || params.isEmpty()) {
+            return "";
+        }
+
+        // 鎸夊弬鏁板悕ASCII鍗囧簭鎺掑簭
+        TreeMap<String, String> sortedParams = new TreeMap<>(params);
+        StringBuilder sb = new StringBuilder();
+
+        try {
+            for (Map.Entry<String, String> entry : sortedParams.entrySet()) {
+                if (sb.length() > 0) {
+                    sb.append('&');
+                }
+                // 鍙岄噸URL缂栫爜锛堟瘡娆$紪鐮佸悗杞ぇ鍐欙級
+                String key = doubleUrlEncode(entry.getKey());
+                String value = doubleUrlEncode(entry.getValue());
+                sb.append(key).append('=').append(value);
+            }
+        } catch (Exception e) {
+            throw new RuntimeException("Parameter encoding failed", e);
+        }
+        return sb.toString();
+    }
+
+    private static String doubleUrlEncode(String s) throws Exception {
+        if (s == null) return "";
+        String firstEncode = URLEncoder.encode(s, StandardCharsets.UTF_8.name());
+        return URLEncoder.encode(firstEncode, StandardCharsets.UTF_8.name());
+    }
+
+    private static String buildSignSource(String method,
+                                          String path,
+                                          String params,
+                                          String nonce,
+                                          String timestamp) {
+        return method + "\n" +
+                path + "\n" +
+                params + "\n" +
+                "x-api-nonce:" + nonce + "\n" +
+                "x-api-timestamp:" + timestamp + "\n";  // 娉ㄦ剰缁撳熬鐨勬崲琛岀
+    }
+
+    private static String hmacSha256(String secret, String message) throws Exception {
+        Mac sha256 = Mac.getInstance("HmacSHA256");
+        SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
+        sha256.init(secretKey);
+        byte[] hash = sha256.doFinal(message.getBytes(StandardCharsets.UTF_8));
+        return Base64.getEncoder().encodeToString(hash);
+    }
+
+    private static String hmacSha256_16(String secret, String message) throws Exception {
+        String appSignature = SHAUtil.SHA256HMAC(message, secret);
+        appSignature = Base64.getEncoder().encodeToString(appSignature.getBytes());
+        return appSignature;
+    }
+
+    // 娴嬭瘯绀轰緥
+    public static void main(String[] args) throws Exception {
+        // 绀轰緥鏁版嵁
+
+
+        System.out.println("X-Api-Signature: " + hmacSha256_16("abc123","abc"));
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 92b084a..93ac966 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -105,4 +105,8 @@
   url: ""
   taskCreatePath: ""
 shuttleWcs:
-  url: "10.0.100.140:8088/wcs"
\ No newline at end of file
+  url: "10.0.100.140:8088/wcs"
+kingdee:
+  client_id: 320285
+  client_secret: bd29825057688ef40b1154057961a13b
+  app_key: KidEvrK8
\ No newline at end of file
diff --git a/src/main/resources/lib/apigwclient-0.1.5.jar b/src/main/resources/lib/apigwclient-0.1.5.jar
new file mode 100644
index 0000000..434a22b
--- /dev/null
+++ b/src/main/resources/lib/apigwclient-0.1.5.jar
Binary files differ
diff --git a/src/main/resources/lib/kingdee-xw-openapi-1.0.0-jar-with-dependencies.jar b/src/main/resources/lib/kingdee-xw-openapi-1.0.0-jar-with-dependencies.jar
new file mode 100644
index 0000000..5bf1661
--- /dev/null
+++ b/src/main/resources/lib/kingdee-xw-openapi-1.0.0-jar-with-dependencies.jar
Binary files differ
diff --git a/src/main/webapp/views/erpReceiving/erpReceiving.html b/src/main/webapp/views/erpReceiving/erpReceiving.html
index a46719e..687495e 100644
--- a/src/main/webapp/views/erpReceiving/erpReceiving.html
+++ b/src/main/webapp/views/erpReceiving/erpReceiving.html
@@ -14,9 +14,21 @@
     <div id="app">
         <el-card>
         <el-form :inline="true">
+            <el-form-item label="寮�宸ユ棩鏈�">
+                <el-date-picker
+                        v-model="tableSearchParam.time"
+                        type="date"
+                        placeholder="閫夋嫨鏃ユ湡"
+                        :default-value="defaultTime"
+
+                />
+            </el-form-item>
             <el-form-item label="鐢熶骇鍗曞彿">
 				<el-input v-model="tableSearchParam.produce_no" placeholder="璇疯緭鍏ョ敓浜у崟鍙�"></el-input>
 			</el-form-item>
+            <el-form-item label="杞﹂棿">
+                <el-input v-model="tableSearchParam.produce_no" placeholder="璇疯緭鍏ョ敓浜у崟鍙�"></el-input>
+            </el-form-item>
             <el-form-item label="">
                 <el-button type="primary" @click="page" circle >
                     <el-icon><Search /></el-icon>
@@ -42,27 +54,27 @@
             </el-table-column>
             <el-table-column type="index" width="50" >
             </el-table-column>
-            <el-table-column prop="produceNo" label="鐢熶骇鍗曞彿" >
+            <el-table-column prop="Head.FSourceBillNo" label="鐢熶骇鍗曞彿" >
             </el-table-column>
-            <el-table-column prop="jobNo" label="浠诲姟鍗曞彿">
+            <el-table-column prop="Head.FBillNo" label="浠诲姟鍗曞彿">
             </el-table-column>
-            <el-table-column prop="matnr" label="鐗╂枡缂栫爜">
+            <el-table-column prop="Head.FItemID" label="鐗╂枡缂栫爜">
             </el-table-column>
-            <el-table-column prop="name" label="鐗╂枡鍚嶇О">
+            <el-table-column prop="Head.FItemID" label="鐗╂枡鍚嶇О">
             </el-table-column>
-            <el-table-column prop="specs" label="瑙勬牸">
+            <el-table-column prop="Head.FSourceBillNo" label="瑙勬牸">
             </el-table-column>
-            <el-table-column prop="workshop" label="杞﹂棿">
+            <el-table-column prop="Head.FWorkShop" label="杞﹂棿">
             </el-table-column>
-            <el-table-column prop="anfme" label="鏁伴噺">
+            <el-table-column prop="Head.Fauxqty" label="鏁伴噺">
             </el-table-column>
-            <el-table-column prop="startTime" label="璁″垝寮�宸ユ椂闂�">
+            <el-table-column prop="Head.FPlanCommitDate" label="璁″垝寮�宸ユ椂闂�">
             </el-table-column>
-            <el-table-column prop="endTime" label="璁″垝瀹屽伐鏃堕棿">
+            <el-table-column prop="Head.FPlanFinishDate" label="璁″垝瀹屽伐鏃堕棿">
             </el-table-column>
-            <el-table-column prop="sync" label="鏄惁鍚屾">
+            <el-table-column prop="Head.FSourceBillNo" label="鏄惁鍚屾">
             </el-table-column>
-            <el-table-column prop="matnrReturn" label="鏄惁閫�鏂�">
+            <el-table-column prop="Head.FSourceBillNo" label="鏄惁閫�鏂�">
             </el-table-column>
         </el-table>
             <div style="margin-top: 10px">
@@ -91,13 +103,15 @@
         const app = createApp({
             setup() {
                 const currentPage = ref(1)
-                const pageSizes = ref([16, 30, 50, 100, 150, 200])
-                const pageSize = ref(16)
+                const pageSizes = ref([10, 20, 30, 50, 100, 200])
+                const pageSize = ref(10)
                 const pageTotal = ref(0)
                 const tableSearchParam = ref({
-                    produce_no: null
+                    produce_no: null,
+                    time: new Date()
                 })
                 const tableData = ref([])
+                const defaultTime = ref(new Date())
                 
                 function page(){
                     let data = JSON.parse(JSON.stringify(tableSearchParam.value))
@@ -108,7 +122,7 @@
                         data.create_time = tableSearchParam.value.datetime[0] + " - " + tableSearchParam.value.datetime[1]
                     }
                     $.ajax({
-                        url: baseUrl + "/erpReceiving/list/auth",
+                        url: baseUrl + "/kingdee/get/manufacturingorder/list",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
@@ -118,12 +132,12 @@
                         method: 'GET',
                         success: function(res) {
                             if (res.code == 200) {
-                                tableData.value = res.data.records
-                                pageTotal.value = res.data.total
+                                tableData.value = res.data.List
+                                pageTotal.value = res.data.TotalItems
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl + "/";
                             } else {
-                                ElMessage({
+                                ElementPlus.ElMessage({
                                     message: res.msg,
                                     type: 'error'
                                 });
@@ -157,6 +171,7 @@
                     pageSize,
                     pageTotal,
                     tableSearchParam,
+                    defaultTime,
                     page,
                     handleSizeChange,
                     handleCurrentChange,

--
Gitblit v1.9.1