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/SaveOrderSyncHandler.java |   99 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 82 insertions(+), 17 deletions(-)

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
index a05c7ca..4c07a88 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -4,10 +4,16 @@
 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.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,8 +25,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.HashMap;
-import java.util.Set;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * Created by Monkey D. Luffy on 2023.10.21
@@ -43,10 +49,16 @@
     @Autowired
     private DocTypeService docTypeService;
     @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
     private LoginAuthenticationHandler loginAuthenticationHandler;
 
     @Transactional
     public ReturnT<String> start(Order order) {
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        if (Cools.isEmpty(orderDetls) || orderDetls.size()==0){
+            return SUCCESS;
+        }
         //鐧诲綍閲戣澏r
         ReturnT<String> start = loginAuthenticationHandler.start();
         DocType docType = docTypeService.selectById(order.getDocType());
@@ -54,14 +66,34 @@
             return SUCCESS;
         }
         KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
-
+//        if (kingDeeUtilType.entryId!=2){
+//            return SUCCESS;
+//        }
+        Date now = new Date();
         //鏉′欢鎷兼帴
-        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();
+        JSONObject jsonObject=new JSONObject();
+        jsonObject.put("FormId",kingDeeUtilType.correspondingFormId);
+
+        JSONObject model=new JSONObject();
+        model.put("fid",order.getPostFeeType());
+
+        JSONArray fEntitys = new JSONArray();
+        for (OrderDetl orderDetl : orderDetls) {
+            JSONObject fEntity = new JSONObject();
+            fEntity.put("FEntryID",orderDetl.getBeBatch());
+            //瀹屾垚鏁伴噺-宸蹭笂鎶ユ暟閲�
+            if(orderDetl.getQty().equals(0.0)){
+                fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty());
+            }else{
+                fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()-orderDetl.getPrice());    // 灏�"FQty"鏀惧埌鏈�鍚�
+            }
+            fEntitys.add(fEntity);
+        }
+        model.put("FEntity",fEntitys);
+        JSONObject  data= new JSONObject();
+        data.put("Model",model);
+        jsonObject.put("data",data);
+        String add = jsonObject.toJSONString();
         //涓婃姤
         String response = "";
         boolean success = false;
@@ -74,17 +106,50 @@
                     .setUri(URL)
                     .setPath(outaddressSave)
                     .setJson(add)
+                    .setHttps(true)
                     .build()
                     .doPost();
-            JSONObject data = JSON.parseObject(response);
+//            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()));
+            String bool1=IsSuccess.toString();
+            boolean bool = false;
+            //淇濆瓨瀹屾垚鍘熻鍗�2杞�3 3.淇濆瓨瀹屾垚
+            if(bool1.equals("true")){
+                ObjectMapper objectMapper =  new ObjectMapper();
+                JsonNode rootNode = objectMapper.readTree(response);
+                bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
+                //鎻愪氦瀹屾垚鍘熻鍗�2杞�3  3.涓婃姤瀹屾垚
+                if(bool){
+                    success = true;
+                    order.setMemo("3");
+                    order.setUpdateTime(new Date());
+                    orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+
+                    for(OrderDetl orderDetl:orderDetls){
+                        orderDetl.setPrice(orderDetl.getQty());
+                        orderDetl.setUpdateTime(new Date());
+                        if(Cools.isEmpty(orderDetl.getBatch())){
+                            orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>()
+                                    .eq("order_no",order.getOrderNo())
+                                    .eq("matnr",orderDetl.getMatnr()));
+                        }else{
+                            orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>()
+                                    .eq("order_no",order.getOrderNo())
+                                    .eq("matnr",orderDetl.getMatnr())
+                                    .eq("batch",orderDetl.getBatch()));
+                        }
+
+                    }
+
+                }
             }
+
+//            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.error("fail", e);
 //            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -93,7 +158,7 @@
             try {
                 // 淇濆瓨鎺ュ彛鏃ュ織
                 apiLogService.save(
-                        "淇濆瓨",
+                        "3.淇濆瓨",
                         URL+ outaddressSave,
                         null,
                         "127.0.0.1",

--
Gitblit v1.9.1