From 1dac1ea1fa04f562a75292070a828ba1a44d143f Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 28 十二月 2023 16:39:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 7 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..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;
@@ -51,17 +60,42 @@
         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",orderNoS);
-        dataJsonObject.put("EntryIds","");
+        dataJsonObject.put("EntryIds",entryIds);
         dataJsonObject.put("RuleId",kingDeeUtilType.ruleId);
         dataJsonObject.put("TargetFormId",kingDeeUtilType.correspondingFormId);
 
@@ -69,7 +103,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 +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());

--
Gitblit v1.9.1