From 5eb83797abed1a572ca59cb2972171b18e3d46b2 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 13 十一月 2024 15:04:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java |   79 +++++++++++++++++++++++++++++++++++----
 1 files changed, 70 insertions(+), 9 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 7b7092d..dc0bc36 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;
@@ -47,23 +56,57 @@
 
     @Transactional
     public ReturnT<String> start(Order order) {
+        String orderNo = order.getOrderNo();
+        String[] split = orderNo.split("-");
+        String orderNoS = split[0];
         //鐧诲綍閲戣澏r
+        log.info("鐧诲綍閲戣澏");
         ReturnT<String> start = loginAuthenticationHandler.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",order.getOrderNo());
+        dataJsonObject.put("Numbers",orderNoS);
+        dataJsonObject.put("EntryIds",entryIds);
+        dataJsonObject.put("RuleId",kingDeeUtilType.ruleId);
+        dataJsonObject.put("TargetFormId",kingDeeUtilType.correspondingFormId);
 
         JSONObject jsonObject = new JSONObject();
-        jsonObject.put("data", dataJsonObject);
         jsonObject.put("FormId",kingDeeUtilType.formId);
+        jsonObject.put("data", dataJsonObject);
         String add = jsonObject.toJSONString();
+        log.info("鏉′欢鎷兼帴:"+jsonObject);
+
         //涓嬫帹
+        log.info("涓嬫帹");
         String response = "";
         boolean success = false;
         try {
@@ -75,18 +118,36 @@
                     .setUri(URL)
                     .setPath(pushDowmAudit)
                     .setJson(add)
+                    .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);
+            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();
+
+                //涓嬫帹瀹屾垚鍘熻鍗�4杞�6  6.涓婃姤瀹屾垚
+                if(bool){
+                    success = true;
+                    order.setSettle(6L);
+                    order.setUpdateTime(new Date());
+                    orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+                }
+            }
+
+            if (!bool1.equals("true") || !bool){
+                order.setSettle(7L);
+                order.setUpdateTime(new Date());
                 orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
             }
+
         } catch (Exception e) {
+            log.info("涓嬫帹error:"+response);
             log.error("fail", e);
 //            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return FAIL.setMsg(e.getMessage());
@@ -94,7 +155,7 @@
             try {
                 // 淇濆瓨鎺ュ彛鏃ュ織
                 apiLogService.save(
-                        "瀹℃牳",
+                        "涓嬫帹",
                         URL+ pushDowmAudit,
                         null,
                         "127.0.0.1",

--
Gitblit v1.9.1