From 5539835ebf980de196b17e02e9ce15ded07eba9b Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 25 七月 2025 08:13:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java |   71 ++++++++++++++++++++++++++++-------
 1 files changed, 57 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
index c9e9340..a4205ef 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
@@ -4,10 +4,15 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.DocTypeService;
+import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -19,7 +24,9 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -39,6 +46,8 @@
     @Autowired
     private OrderService orderService;
     @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
     private ApiLogService apiLogService;
     @Autowired
     private DocTypeService docTypeService;
@@ -51,20 +60,41 @@
         String[] split = orderNo.split("-");
         String orderNoS = split[0];
         //鐧诲綍閲戣澏r
-        log.info("鐧诲綍閲戣澏");
+//        log.info("鐧诲綍閲戣澏");
         ReturnT<String> start = loginAuthenticationHandler.start();
-        log.info("鐧诲綍閲戣澏:start:"+start);
+//        log.info("鐧诲綍閲戣澏:start:"+start);
         DocType docType = docTypeService.selectById(order.getDocType());
         if (null == docType) {
             return SUCCESS;
         }
         KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
 
+//        if (kingDeeUtilType.entryId>1){
+//            Order order1 = orderService.selectById(order.getId());
+//            order1.setUpdateTime(new Date());
+//            orderService.updateById(order1);
+//            return SUCCESS;
+//        }
         //鏉′欢鎷兼帴
-        log.info("鏉′欢鎷兼帴");
+        String entryIds = null;
+        if (kingDeeUtilType.entryId==1){
+            List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+            for (OrderDetl orderDetl:orderDetls){
+                if (Cools.isEmpty(entryIds)){
+                    entryIds = orderDetl.getBeBatch().toString();
+                }else {
+                    entryIds = entryIds+"," +orderDetl.getBeBatch();
+                }
+            }
+            orderNoS = "";
+        }
+        if (Cools.isEmpty(entryIds)){
+            entryIds = "";
+        }
+
         JSONObject dataJsonObject = new JSONObject();
         dataJsonObject.put("Numbers",orderNoS);
-        dataJsonObject.put("EntryIds","");
+        dataJsonObject.put("EntryIds",entryIds);
         dataJsonObject.put("RuleId",kingDeeUtilType.ruleId);
         dataJsonObject.put("TargetFormId",kingDeeUtilType.correspondingFormId);
 
@@ -72,8 +102,6 @@
         jsonObject.put("FormId",kingDeeUtilType.formId);
         jsonObject.put("data", dataJsonObject);
         String add = jsonObject.toJSONString();
-        log.info("鏉′欢鎷兼帴:"+jsonObject);
-
         //涓嬫帹
         log.info("涓嬫帹");
         String response = "";
@@ -90,15 +118,30 @@
                     .setHttps(true)
                     .build()
                     .doPost();
-            JSONObject data = JSON.parseObject(response);
+//            JSONObject data = JSON.parseObject(response);
             log.info("涓嬫帹response:"+response);
             Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
-            String bool=IsSuccess.toString();
-            //涓嬫帹瀹屾垚鍘熻鍗�4杞�6  6.涓婃姤瀹屾垚
-            if(bool.equals("true")){
-                success = true;
-                order.setSettle(6L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+            String bool1=IsSuccess.toString();
+            boolean bool = false;
+            if (bool1.equals("true")){
+                ObjectMapper objectMapper =  new ObjectMapper();
+                JsonNode rootNode = objectMapper.readTree(response);
+                bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
+
+                //涓嬫帹瀹屾垚鍘熻鍗�0杞�1  1.涓嬫帹瀹屾垚
+                if(bool){
+                    //鑾峰彇涓嬫帹璁㈠崟鍙�
+                    String number=rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Number").asText();
+                    int id=Integer.valueOf(rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Id").asText());
+                    success = true;
+//                    order.setSettle(6L);
+                    order.setMemo("1");
+                    order.setShipCode(number);//涓嬫帹璁㈠崟鍙�
+                    order.setPostFeeType(id);//涓嬫帹ID
+                    order.setUpdateTime(new Date());
+
+                    orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+                }
             }
         } catch (Exception e) {
             log.info("涓嬫帹error:"+response);
@@ -109,7 +152,7 @@
             try {
                 // 淇濆瓨鎺ュ彛鏃ュ織
                 apiLogService.save(
-                        "涓嬫帹",
+                        "1.涓嬫帹",
                         URL+ pushDowmAudit,
                         null,
                         "127.0.0.1",

--
Gitblit v1.9.1