From 287170042ad762d32ca574a5ed692648ea8e002f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 14 四月 2025 08:56:29 +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