From 9b14697f5146ade2e81db8269824f79c9bc6ac62 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 27 十二月 2023 12:47:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 5 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 7bc72b9..0a4b81e 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,7 +60,9 @@
         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;
@@ -59,9 +70,26 @@
         KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
 
         //鏉′欢鎷兼帴
+        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);
 
@@ -69,7 +97,10 @@
         jsonObject.put("FormId",kingDeeUtilType.formId);
         jsonObject.put("data", dataJsonObject);
         String add = jsonObject.toJSONString();
+        log.info("鏉′欢鎷兼帴:"+jsonObject);
+
         //涓嬫帹
+        log.info("涓嬫帹");
         String response = "";
         boolean success = false;
         try {
@@ -81,18 +112,27 @@
                     .setUri(URL)
                     .setPath(pushDowmAudit)
                     .setJson(add)
+                    .setHttps(true)
                     .build()
                     .doPost();
-            JSONObject data = JSON.parseObject(response);
-            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
-            String bool=IsSuccess.toString();
+//            JSONObject data = JSON.parseObject(response);
+            log.info("涓嬫帹response:"+response);
+//            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
+//            String bool=IsSuccess.toString();
+            ObjectMapper objectMapper =  new ObjectMapper();
+            JsonNode rootNode = objectMapper.readTree(response);
+            boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
+            log.info("涓嬫帹bool:"+bool);
+
             //涓嬫帹瀹屾垚鍘熻鍗�4杞�6  6.涓婃姤瀹屾垚
-            if(bool.equals("true")){
+            if(bool){
                 success = true;
                 order.setSettle(6L);
+                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());

--
Gitblit v1.9.1