From 75f553f89590fc616d6f590c253d36d68ca36e05 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 08 六月 2024 21:21:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 98 insertions(+), 9 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..3363251 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,12 +66,72 @@
return SUCCESS;
}
KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
-
+ if (kingDeeUtilType.entryId!=2){
+ return SUCCESS;
+ }
+ Date now = new Date();
//鏉′欢鎷兼帴
+ JSONObject jsonObjectFBillTypeID = new JSONObject();
+ JSONObject jsonObjectFPickerId = new JSONObject();
+ if (kingDeeUtilType.pakIn==1){
+ jsonObjectFBillTypeID.put("FNUMBER","QTRKD01_SYS");
+ }else {
+ jsonObjectFBillTypeID.put("FNUMBER","QTCKD01_SYS");
+ jsonObjectFPickerId.put("FStaffNumber","X0103_GLGW074_1");
+ }
+
+ JSONObject jsonObjectFStockOrgId = new JSONObject();
+ jsonObjectFStockOrgId.put("FNUMBER","100");
+
+ JSONObject jsonObjectFOwnerIdHead = new JSONObject();
+ jsonObjectFOwnerIdHead.put("FNUMBER","100");
+
+ JSONObject jsonObjectFDEPTID = new JSONObject();
+ jsonObjectFDEPTID.put("FNUMBER","CX");
+
+ List<JSONObject> jsonObjects = new ArrayList<>();
+
+ for (OrderDetl orderDetl:orderDetls){
+ JSONObject jsonObjectFMATERIALID = new JSONObject();
+ jsonObjectFMATERIALID.put("FNUMBER",orderDetl.getMatnr());
+
+ JSONObject jsonObjectFSTOCKID = new JSONObject();
+ jsonObjectFSTOCKID.put("FNUMBER","CK001");
+
+ JSONObject jsonObjectFLOT = new JSONObject();
+ jsonObjectFLOT.put("FNUMBER",orderDetl.getBatch());
+
+ // 浣跨敤LinkedHashMap鏉ヤ繚鎸佹彃鍏ラ『搴�
+ Map<String, Object> orderedMap = new LinkedHashMap<>();
+
+ // 鎸夌収鏈熸湜鐨勯『搴忔坊鍔犻敭鍊煎
+ orderedMap.put("FMATERIALID", jsonObjectFMATERIALID);
+ orderedMap.put("FSTOCKID", jsonObjectFSTOCKID);
+ orderedMap.put("FLOT", jsonObjectFLOT);
+ orderedMap.put("FQty", orderDetl.getQty()); // 灏�"FQty"鏀惧埌鏈�鍚�
+
+ JSONObject jsonObjectEnd = new JSONObject(orderedMap);
+
+ jsonObjects.add(jsonObjectEnd);
+ }
+
JSONObject jsonObject = new JSONObject();
- jsonObject.put("Numbers",order.getOrderNo());
+ jsonObject.put("FBillTypeID",jsonObjectFBillTypeID);
+ if (kingDeeUtilType.pakIn==0){
+ jsonObject.put("FPickerId",jsonObjectFPickerId);
+ }
+ jsonObject.put("FDate",DateUtils.convert(now, DateUtils.yyyyMMdd_F));
+ jsonObject.put("FStockOrgId",jsonObjectFStockOrgId);
+ jsonObject.put("FOwnerTypeIdHead","BD_OwnerOrg");
+ jsonObject.put("FOwnerIdHead",jsonObjectFOwnerIdHead);
+ jsonObject.put("FDEPTID",jsonObjectFDEPTID);
+ jsonObject.put("FEntity",jsonObjects);
+
+ JSONObject jsonObjectModel = new JSONObject();
+ jsonObjectModel.put("Model",jsonObject);
+
JSONObject jsonObject1 = new JSONObject();
- jsonObject1.put("data", jsonObject);
+ jsonObject1.put("data", jsonObjectModel);
jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId);
String add = jsonObject1.toJSONString();
//涓婃姤
@@ -74,17 +146,34 @@
.setUri(URL)
.setPath(outaddressSave)
.setJson(add)
+ .setHttps(true)
.build()
.doPost();
JSONObject data = JSON.parseObject(response);
Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
- String bool=IsSuccess.toString();
+ String bool1=IsSuccess.toString();
+ boolean bool = false;
//淇濆瓨瀹屾垚鍘熻鍗�8杞�6
- if(bool.equals("true")){
- success = true;
- order.setSettle(6L);
+ if(bool1.equals("true")){
+ ObjectMapper objectMapper = new ObjectMapper();
+ JsonNode rootNode = objectMapper.readTree(response);
+ bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
+ log.info("瀹℃牳bool:"+bool);
+ //鎻愪氦瀹屾垚鍘熻鍗�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.error("fail", e);
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
--
Gitblit v1.9.1