From 3781b770ab12a34cc7861c4c4905e0ad2d4191db Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期三, 08 一月 2025 16:09:56 +0800
Subject: [PATCH] 完善erp对接: 1.下推-》2.查询-》3.保存-》4.提交-》5.审核
---
src/main/resources/mapper/OrderMapper.xml | 9 +
src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java | 5
src/main/java/com/zy/asrs/service/OrderService.java | 2
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java | 7
src/main/java/com/zy/asrs/entity/OrderDetl.java | 4
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java | 89 ++--------
src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java | 12
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java | 26 +-
src/main/java/com/zy/asrs/entity/Order.java | 4
src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java | 4
src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java | 12
src/main/java/com/zy/asrs/task/kingdee/ExecuteBillQueryScheduler.java | 58 +++++++
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 5
src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java | 7
src/main/java/com/zy/asrs/task/kingdee/handler/ExecuteBillQueryHandler.java | 205 +++++++++++++++++++++++++
src/main/java/com/zy/asrs/mapper/OrderMapper.java | 1
src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java | 7
src/main/resources/application.yml | 10
18 files changed, 360 insertions(+), 107 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java
index b20d224..507e98e 100644
--- a/src/main/java/com/zy/asrs/entity/Order.java
+++ b/src/main/java/com/zy/asrs/entity/Order.java
@@ -170,9 +170,9 @@
private Integer accountDay;
/**
- * 閭垂鏀粯绫诲瀷 1: 鍦ㄧ嚎鏀粯 2: 璐у埌浠樻
+ * ERP涓嬫帹ID
*/
- @ApiModelProperty(value= "閭垂鏀粯绫诲瀷 1: 鍦ㄧ嚎鏀粯 2: 璐у埌浠樻 ")
+ @ApiModelProperty(value= "ERP涓嬫帹ID")
@TableField("post_fee_type")
private Integer postFeeType;
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index cff818e..f3ae21a 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -225,9 +225,9 @@
private String suppCode;
/**
- * 鏄惁鎵规 1: 鏄� 0: 鍚�
+ * 琛孖D
*/
- @ApiModelProperty(value= "鏄惁鎵规 1: 鏄� 0: 鍚� ")
+ @ApiModelProperty(value= "琛孖D")
@TableField("be_batch")
private Integer beBatch;
diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
index 1b30cdd..0c09a6c 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -25,6 +25,7 @@
List<Order> selectCompleteMome1();
List<Order> selectCompleteMome2();
List<Order> selectCompleteMome3();
+ List<Order> selectCompleteMome4();
int addToLogTable(Order order);
Integer checkDetlWorkQtyLess0(@Param("orderNo") String orderNo);
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 3261d8c..ba3f2a4 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -35,6 +35,8 @@
List<Order> selectCompletemEmo3();
+ List<Order> selectCompletemEmo4();
+
List<Order> selectComplete2();
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 6e6f778..d986120 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -184,6 +184,11 @@
}
@Override
+ public List<Order> selectCompletemEmo4() {
+ return this.baseMapper.selectCompleteMome4();
+ }
+
+ @Override
public List<Order> selectComplete2() {
return this.baseMapper.selectComplete2();
}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/ExecuteBillQueryScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/ExecuteBillQueryScheduler.java
new file mode 100644
index 0000000..86d47b2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/kingdee/ExecuteBillQueryScheduler.java
@@ -0,0 +1,58 @@
+package com.zy.asrs.task.kingdee;
+
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.service.OrderService;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.kingdee.handler.ExecuteBillQueryHandler;
+import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by Monkey D. Luffy on 2023.10.21
+ */
+@Slf4j
+@Component
+public class ExecuteBillQueryScheduler {
+ @Autowired
+ private ExecuteBillQueryHandler executeBillQueryHandler;
+ @Autowired
+ private OrderService orderService;
+
+ @Value("${erp.switch.SaveOrderSwitch}")
+ private boolean SaveOrderSwitch;
+
+ /**
+ * 1.鏌ヨ鎺ュ彛
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ @Async("orderThreadPool")
+ public synchronized void completeAndReport() {
+ if (!SaveOrderSwitch) {
+ return;
+ }
+ List<Order> orders = orderService.selectCompletemEmo1();
+ for (Order order : orders) {
+ try {
+
+ ReturnT<String> result = executeBillQueryHandler.start(order);
+ if (!result.isSuccess()) {
+ log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
+ }
+
+ } catch (Exception e) {
+ Order order1 = orderService.selectById(order.getId());
+ order1.setUpdateTime(new Date());
+ orderService.updateById(order1);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java
index b3daf48..63fab2e 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java
@@ -27,8 +27,11 @@
@Value("${erp.switch.PushDowmOrderSwitch}")
private boolean PushDowmOrderSwitch;
+ /**
+ * 0.涓嬫帹鎺ュ彛
+ */
@Scheduled(cron = "0/3 * * * * ? ")
- void login(){
+ synchronized void login(){
if(!PushDowmOrderSwitch){
return;
}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
index f74c57b..62315fe 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
@@ -29,13 +29,16 @@
@Value("${erp.switch.ReviewOrderSwitch}")
private boolean ReviewOrderSwitch;
+ /**
+ * 4.瀹℃牳鎺ュ彛
+ */
@Scheduled(cron = "0/3 * * * * ? ")
@Async("orderThreadPool")
- public void completeAndReport(){
+ public synchronized void completeAndReport(){
if(!ReviewOrderSwitch){
return;
}
- List<Order> orders = orderService.selectCompletemEmo3();
+ List<Order> orders = orderService.selectCompletemEmo4();
for (Order order : orders) {
try{
ReturnT<String> result = reviewOrderSyncHandler.start(order);
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
index b6b2264..678bc1b 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -29,13 +29,16 @@
@Value("${erp.switch.SaveOrderSwitch}")
private boolean SaveOrderSwitch;
+ /**
+ * 2.淇濆瓨鎺ュ彛
+ */
@Scheduled(cron = "0/3 * * * * ? ")
@Async("orderThreadPool")
- public void completeAndReport() {
+ public synchronized void completeAndReport() {
if (!SaveOrderSwitch) {
return;
}
- List<Order> orders = orderService.selectCompletemEmo1();
+ List<Order> orders = orderService.selectCompletemEmo2();
for (Order order : orders) {
try {
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
index 37a7edb..0f45db0 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
@@ -30,13 +30,16 @@
@Value("${erp.switch.SubmitOrderSwitch}")
private boolean SubmitOrderSwitch;
+ /**
+ * 3.鎻愪氦鎺ュ彛
+ */
@Scheduled(cron = "0/3 * * * * ? ")
@Async("orderThreadPool")
- public void completeAndReport(){
+ public synchronized void completeAndReport(){
if(!SubmitOrderSwitch){
return;
}
- List<Order> orders = orderService.selectCompletemEmo2();
+ List<Order> orders = orderService.selectCompletemEmo3();
for (Order order : orders) {
try{
ReturnT<String> result = submitOrderSyncHandler.start(order);
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ExecuteBillQueryHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ExecuteBillQueryHandler.java
new file mode 100644
index 0000000..6c6f976
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/ExecuteBillQueryHandler.java
@@ -0,0 +1,205 @@
+package com.zy.asrs.task.kingdee.handler;
+
+import com.alibaba.fastjson.JSON;
+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;
+import com.zy.common.utils.HttpHandler;
+import com.zy.erp.kingdee.enums.KingDeeUtilType;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * Created by Monkey D. Luffy on 2023.10.21
+ */
+@Slf4j
+@Service
+public class ExecuteBillQueryHandler extends AbstractHandler<String> {
+ @Value("${erp.address.URL}")
+ //绔彛
+ private String URL;
+
+ @Value("${erp.address.executeBillQuery}")
+ //淇濆瓨鍦板潃
+ private String executeBillQuery;
+
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private DocTypeService docTypeService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
+ private LoginAuthenticationHandler loginAuthenticationHandler;
+
+ /**
+ * 鏌ヨ鎺ュ彛
+ * 鑾峰彇璁㈠崟鐗╂枡鐨処D
+ *
+ * @param order
+ * @return
+ */
+ @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());
+ if (null == docType) {
+ return SUCCESS;
+ }
+ KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
+// if (kingDeeUtilType.entryId!=2){
+// return SUCCESS;
+// }
+ Date now = new Date();
+ //鏉′欢鎷兼帴
+ JSONObject data = new JSONObject();
+ JSONObject jsonObject = new JSONObject();
+// jsonObject.put("Ids","100083");
+ jsonObject.put("FormId", kingDeeUtilType.correspondingFormId);
+ data.put("FormId", kingDeeUtilType.correspondingFormId);
+ //鏌ヨ瀛楁 erp涓嬪彂鐨勮鍗旾D銆佽ID銆佺墿鏂欑紪鍙枫�佹暟閲�
+ jsonObject.put("FieldKeys", "fid,FEntity_FEntryID,FMaterialID.FNumber,"+kingDeeUtilType.anfme);
+
+ List<JSONObject> filterStrings = new ArrayList<>();
+ JSONObject filterString = new JSONObject();
+ filterString.put("Left", "");
+ filterString.put("FieldName", "FBILLNO");
+ filterString.put("Compare", "=");
+ filterString.put("Value", order.getShipCode());
+ filterString.put("Right", "");
+ filterString.put("Logic", "AND");
+ filterStrings.add(filterString);
+ jsonObject.put("FilterString", filterStrings);
+
+ jsonObject.put("OrderString", "");
+ jsonObject.put("TopRowCount", 0);
+ jsonObject.put("StartRow", 0);
+ jsonObject.put("Limit", 2000);
+ jsonObject.put("SubSystemId", "");
+
+ data.put("data", jsonObject);
+ String add = data.toJSONString();
+ //涓婃姤
+ String response = "";
+ boolean success = false;
+ try {
+ //鑾峰彇Cookie鍊�
+ HashMap<String, Object> headers = new HashMap<>();
+ headers.put("Cookie", start.getContent());
+ response = new HttpHandler.Builder()
+ .setHeaders(headers)
+ .setUri(URL)
+ .setPath(executeBillQuery)
+ .setJson(add)
+ .setHttps(true)
+ .build()
+ .doPost();
+
+ JSONArray jsonArray = JSON.parseArray(response);
+ //淇濆瓨瀹屾垚鍘熻鍗�1杞�2 2.鏌ヨ瀹屾垚
+ if (jsonArray.size() > 0) {
+ for (int i = 0; i < jsonArray.size(); i++) {
+ for (OrderDetl orderDetl : orderDetls) {
+ JSONArray jsonArray1 = JSON.parseArray(jsonArray.get(i).toString());
+ if (jsonArray1.get(2).equals(orderDetl.getMatnr())) {
+ //璺熸柊璁㈠崟鏄庣粏琛屽彿
+ orderDetl.setBeBatch(Integer.valueOf(jsonArray1.get(1).toString()));
+ 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()));
+ }
+ }
+
+ }
+ }
+ //鎻愪氦瀹屾垚鍘熻鍗�1杞�2 2.鏌ヨ瀹屾垚
+ success = true;
+ order.setMemo("2");
+ 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();
+ return FAIL.setMsg(e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "2.鏌ヨ",
+ URL + executeBillQuery,
+ null,
+ "127.0.0.1",
+ add,
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("", e);
+ }
+ }
+ return SUCCESS;
+ }
+
+ public static Object findValueByKey(JSONObject json, String key) {
+ Set<String> keySet = json.keySet();
+ for (String k : keySet) {
+ Object v = json.get(k);
+ if (k.equals(key)) {
+ return v;
+ } else if (v instanceof JSONArray) {
+ int size = ((JSONArray) v).size();
+ for (int i = 0; i <= size - 1; i++) {
+ Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
+ if (result != null) {
+ return result;
+ }
+ }
+ } else if (v instanceof JSONObject) {
+ Object result = findValueByKey((JSONObject) v, key);
+ if (result != null) {
+ return result;
+ }
+ }
+ }
+ return null;
+ }
+}
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 ce0cf6c..a4205ef 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
@@ -132,10 +132,12 @@
if(bool){
//鑾峰彇涓嬫帹璁㈠崟鍙�
String number=rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Number").asText();
+ int id=Integer.valueOf(rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Id").asText());
success = true;
// order.setSettle(6L);
order.setMemo("1");
order.setShipCode(number);//涓嬫帹璁㈠崟鍙�
+ order.setPostFeeType(id);//涓嬫帹ID
order.setUpdateTime(new Date());
orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
@@ -150,7 +152,7 @@
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- "涓嬫帹",
+ "1.涓嬫帹",
URL+ pushDowmAudit,
null,
"127.0.0.1",
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
index 6ed11ac..f974093 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -64,11 +64,11 @@
//鏉′欢鎷兼帴
JSONObject dataJsonObject = new JSONObject();
- dataJsonObject.put("Numbers", "CGTL10124120003");
+ dataJsonObject.put("ids", order.getPostFeeType());
JSONObject jsonObject = new JSONObject();
jsonObject.put("data", dataJsonObject);
- jsonObject.put("FormId", kingDeeUtilType.ruleId);
+ jsonObject.put("FormId", kingDeeUtilType.correspondingFormId);
String add = jsonObject.toJSONString();
//涓婃姤
String response = "";
@@ -84,7 +84,7 @@
.setJson(add)
.build()
.doPost();
- JSONObject data = JSON.parseObject(response);
+// JSONObject data = JSON.parseObject(response);
Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
String bool1 = IsSuccess.toString();
@@ -93,10 +93,10 @@
JsonNode rootNode = objectMapper.readTree(response);
boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
log.info("瀹℃牳bool:" + bool);
- //瀹℃牳瀹屾垚鍘熻鍗�3杞�4 4.瀹℃牳瀹屾垚
+ //瀹℃牳瀹屾垚鍘熻鍗�4杞�5 5.瀹℃牳瀹屾垚
if (bool) {
success = true;
- order.setMemo("4");//瀹℃牳瀹屾垚
+ order.setMemo("5");//瀹℃牳瀹屾垚
order.setUpdateTime(new Date());
@@ -123,7 +123,7 @@
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- " 瀹℃牳",
+ "5.瀹℃牳",
URL + outaddressAudit,
null,
"127.0.0.1",
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 62b53fa..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
@@ -71,73 +71,29 @@
// }
Date now = new Date();
//鏉′欢鎷兼帴
- JSONObject jsonObjectFBillTypeID = new JSONObject();
- JSONObject jsonObjectFPickerId = new JSONObject();
- if (kingDeeUtilType.pakIn==1){
- jsonObjectFBillTypeID.put("FNUMBER","TLD01_SYS");
- }else {
- jsonObjectFBillTypeID.put("FNUMBER","TLD01_SYS");
- jsonObjectFPickerId.put("FStaffNumber","X0103_GLGW074_1");
- }
+ JSONObject jsonObject=new JSONObject();
+ jsonObject.put("FormId",kingDeeUtilType.correspondingFormId);
- JSONObject jsonObjectFStockOrgId = new JSONObject();
- jsonObjectFStockOrgId.put("FNUMBER","100");
+ JSONObject model=new JSONObject();
+ model.put("fid",order.getPostFeeType());
- 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);
+ JSONArray fEntitys = new JSONArray();
+ for (OrderDetl orderDetl : orderDetls) {
+ JSONObject fEntity = new JSONObject();
+ fEntity.put("FEntryID",orderDetl.getBeBatch());
+ //瀹屾垚鏁伴噺-宸蹭笂鎶ユ暟閲�
if(orderDetl.getQty().equals(0.0)){
- orderedMap.put("FQty", orderDetl.getQty());
+ fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty());
}else{
- orderedMap.put("FQty", orderDetl.getQty()-orderDetl.getPrice()); // 灏�"FQty"鏀惧埌鏈�鍚�
+ fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()-orderDetl.getPrice()); // 灏�"FQty"鏀惧埌鏈�鍚�
}
-
- JSONObject jsonObjectEnd = new JSONObject(orderedMap);
-
- jsonObjects.add(jsonObjectEnd);
+ fEntitys.add(fEntity);
}
-
- JSONObject jsonObject = new JSONObject();
- 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", jsonObjectModel);
- jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId);
- String add = jsonObject1.toJSONString();
+ 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;
@@ -153,20 +109,19 @@
.setHttps(true)
.build()
.doPost();
- JSONObject data = JSON.parseObject(response);
+// JSONObject data = JSON.parseObject(response);
Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
String bool1=IsSuccess.toString();
boolean bool = false;
- //淇濆瓨瀹屾垚鍘熻鍗�1杞�2 2.淇濆瓨瀹屾垚
+ //淇濆瓨瀹屾垚鍘熻鍗�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();
- log.info("淇濆瓨bool:"+bool);
- //鎻愪氦瀹屾垚鍘熻鍗�1杞�2 2.涓婃姤瀹屾垚
+ //鎻愪氦瀹屾垚鍘熻鍗�2杞�3 3.涓婃姤瀹屾垚
if(bool){
success = true;
- order.setMemo("2");
+ order.setMemo("3");
order.setUpdateTime(new Date());
orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
@@ -203,7 +158,7 @@
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- "淇濆瓨",
+ "3.淇濆瓨",
URL+ outaddressSave,
null,
"127.0.0.1",
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
index ced9a06..b0971d8 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
@@ -62,11 +62,11 @@
// }
//鏉′欢鎷兼帴
JSONObject jsonObject = new JSONObject();
-// jsonObject.put("Ids","100083");
- jsonObject.put("Numbers", order.getOrderNo());
+ jsonObject.put("Ids",order.getPostFeeType());
+// jsonObject.put("Numbers", order.getOrderNo());
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("data", jsonObject);
- jsonObject1.put("FormId",kingDeeUtilType.ruleId);
+ jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId);
String add = jsonObject1.toJSONString();
//涓婃姤
String response = "";
@@ -91,11 +91,11 @@
JsonNode rootNode = objectMapper.readTree(response);
boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
log.info("瀹℃牳bool:"+bool);
- //鎻愪氦瀹屾垚鍘熻鍗�2杞�3 3.鎻愪氦瀹屾垚
+ //鎻愪氦瀹屾垚鍘熻鍗�3杞�4 4.鎻愪氦瀹屾垚
if(bool){
success = true;
// order.setSettle(7L);
- order.setMemo("3");
+ order.setMemo("4");
order.setUpdateTime(new Date());
orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
}
@@ -108,7 +108,7 @@
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- "鎻愪氦",
+ "4.鎻愪氦",
URL+ outaddressSubmit,
null,
"127.0.0.1",
diff --git a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
index ec1dfed..bba52dc 100644
--- a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
+++ b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
@@ -2,39 +2,41 @@
public enum KingDeeUtilType {
- SAL_DELIVERYNOTICE1(1, "鍙戣揣閫氱煡鍗�-閿�鍞嚭搴撳崟","SAL_DELIVERYNOTICE","FQty","閿�鍞嚭搴撳崟","SAL_OUTSTOCK",0,"DeliveryNotice-Outstock",0),
+ SAL_DELIVERYNOTICE1(1, "鍙戣揣閫氱煡鍗�-閿�鍞嚭搴撳崟","SAL_DELIVERYNOTICE","FRealQty","閿�鍞嚭搴撳崟","SAL_OUTSTOCK",0,"DeliveryNotice-Outstock",0),
//绫冲闈掑矝
- SAL_DELIVERYNOTICE2(2, "璇曠敤鍝佸彂璐ч�氱煡鍗�-鍏朵粬鍑哄簱鍗�","SAL_DELIVERYNOTICE","","鍏朵粬鍑哄簱鍗�","STK_MisDelivery",0,"731ce15d-c58d-4c21-96f9-d121c0a7b255",0),
+ SAL_DELIVERYNOTICE2(2, "璇曠敤鍝佸彂璐ч�氱煡鍗�-鍏朵粬鍑哄簱鍗�","SAL_DELIVERYNOTICE","FQty","鍏朵粬鍑哄簱鍗�","STK_MisDelivery",0,"731ce15d-c58d-4c21-96f9-d121c0a7b255",0),
/*
* 閫�璐ч�氱煡鍗曡嚦閿�鍞��璐у崟鍗曟嵁鍞竴鏍囪瘑锛氫竴绾э細SalReturnNotice-SalReturnstock 浜岀骇锛歛0ab8e5c-5224-4ba2-b31f-b061e64aa1a2
* */
- SAL_RETURNNOTICE(3, "閫�璐ч�氱煡鍗�-閿�鍞��璐у崟","SAL_RETURNNOTICE","","閿�鍞��璐у崟","SAL_RETURNSTOCK",1,"SalReturnNotice-SalReturnstock",0),
+ SAL_RETURNNOTICE(3, "閫�璐ч�氱煡鍗�-閿�鍞��璐у崟","SAL_RETURNNOTICE","FRealQty","閿�鍞��璐у崟","SAL_RETURNSTOCK",1,"SalReturnNotice-SalReturnstock",0),
/*
* 閲囪喘鏀舵枡鍗曡嚦閲囪喘鍏ュ簱鍗曞敮涓�鏍囪瘑:涓�绾э細PUR_ReceiveBill-STK_InStock 浜岀骇锛歜60e30ca-634c-4f92-b874-db9837496705
* */
- PUR_ReceiveBill(4, "鏀舵枡閫氱煡鍗�-閲囪喘鍏ュ簱鍗�","PUR_ReceiveBill","","閲囪喘鍏ュ簱鍗�","STK_InStock",1,"PUR_ReceiveBill-STK_InStock",0),
+ PUR_ReceiveBill(4, "鏀舵枡閫氱煡鍗�-閲囪喘鍏ュ簱鍗�","PUR_ReceiveBill","FRealQty","閲囪喘鍏ュ簱鍗�","STK_InStock",1,"PUR_ReceiveBill-STK_InStock",0),
/*
* 閫�鏂欑敵璇峰崟鑷抽噰璐��鏂欏崟鍗曟嵁鍞竴鏍囪瘑:PUR_MRAPP-PUR_MRB
* */
- PUR_MRAPP(5, "閫�鏂欑敵璇峰崟-閲囪喘閫�鏂欏崟","PUR_MRAPP","","閲囪喘閫�鏂欏崟","TLD01_SYS",1,"PUR_MRB",0),
+ PUR_MRAPP(5, "閫�鏂欑敵璇峰崟-閲囪喘閫�鏂欏崟","PUR_MRAPP","FRealQty","閲囪喘閫�鏂欏崟","TLD01_SYS",1,"PUR_MRB",0),
/*
* 鐢熶骇鐢ㄦ枡娓呭崟鍒扮敓浜ч鏂欏崟鍞竴鏍囪瘑锛氫竴绾э細PRD_PPBOM2PICKMTRL_NORMAL 浜岀骇锛�3539ff08-0c46-435d-a8cd-b6308b0b57b5
* */
- PRD_PPBOM1(6, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇棰嗘枡鍗�","PRD_PPBOM","","鐢熶骇棰嗘枡鍗�","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1),
+ PRD_PPBOM1(6, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇棰嗘枡鍗�","PRD_PPBOM","FActualQty","鐢熶骇棰嗘枡鍗�","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1),
// PRD_PPBOM2(7, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇琛ユ枡鍗�","PRD_PPBOM","","鐢熶骇琛ユ枡鍗�","PRD_FeedMtrl",1,"PRD_PPBOM2FEEDMTRL",1),
- PRD_PPBOM2(7, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇琛ユ枡鍗�","PRD_PPBOM","","鐢熶骇棰嗘枡鍗�","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1),
+ PRD_PPBOM2(7, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇琛ユ枡鍗�","PRD_PPBOM","FActualQty","鐢熶骇棰嗘枡鍗�","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1),
- PRD_PPBOM3(8, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇閫�鏂欏崟","PRD_PPBOM","","鐢熶骇閫�鏂欏崟","PRD_ReturnMtrl",1,"PRD_PPBOM2RETURNMTRL",11),
+ PRD_PPBOM3(8, "鐢熶骇鐢ㄦ枡娓呭崟-鐢熶骇閫�鏂欏崟","PRD_PPBOM","FQty","鐢熶骇閫�鏂欏崟","PRD_ReturnMtrl",1,"PRD_PPBOM2RETURNMTRL",11),
- PRD_MO(9, "鐢熶骇璁㈠崟-鐢熶骇鍏ュ簱鍗�","PRD_MO","","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1,"PRD_MO2INSTOCK",0),
+ PRD_MO(9, "鐢熶骇璁㈠崟-鐢熶骇鍏ュ簱鍗�","PRD_MO","FRealQty","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1,"PRD_MO2INSTOCK",0),
- PRD_MORPT(10, "鐢熶骇姹囨姤鍗�-鐢熶骇鍏ュ簱鍗�","PRD_MORPT","","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1,"PRD_MORPT2INSTOCK",0),
+ PRD_MORPT(10, "鐢熶骇姹囨姤鍗�-鐢熶骇鍏ュ簱鍗�","PRD_MORPT","FRealQty","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1,"PRD_MORPT2INSTOCK",0),
- STK_TRANSFERAPPLY1(11, "鐩存帴璋冩嫧鍗�","STK_TRANSFERAPPLY","","鐩存帴璋冩嫧鍗�","STK_TransferDirect",0,"StkTransferApply-StkTransferDirect",10),
+ //涓嬮潰鏁伴噺瀛楁娌℃湁鏍¢獙
- STK_OUTSTOCKAPPLY(12, "鐮斿彂棰嗘枡鍑哄簱鐢宠鍗�-鐮斿彂棰嗘枡鍑哄簱鍗�","STK_OUTSTOCKAPPLY","","鐮斿彂棰嗘枡鍑哄簱鍗�","",0,"STK_OutstockApplyTosTK_MisDelivery",0),
+ STK_TRANSFERAPPLY1(11, "鐩存帴璋冩嫧鍗�","STK_TRANSFERAPPLY","FQty","鐩存帴璋冩嫧鍗�","STK_TransferDirect",0,"StkTransferApply-StkTransferDirect",10),
+
+ STK_OUTSTOCKAPPLY(12, "鐮斿彂棰嗘枡鍑哄簱鐢宠鍗�-鐮斿彂棰嗘枡鍑哄簱鍗�","STK_OUTSTOCKAPPLY","FQty","鐮斿彂棰嗘枡鍑哄簱鍗�","",0,"STK_OutstockApplyTosTK_MisDelivery",0),
STK_ASSEMBLY1(13, "缁勮鎷嗗嵏鍗�1","STK_ASSEMBLY","","","",1,"",10),
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index be1f411..a4175b0 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -80,13 +80,15 @@
loginaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc
#鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc
- #鍗曟嵁涓嬫帹鍦板潃
+ #1.鍗曟嵁涓嬫帹鍦板潃
pushDowmAudit: K3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Push.common.kdsvc
- #缁撴灉涓婃姤锛堜繚瀛橈級鍗曞湴鍧�
+ #2.缁撴灉涓婃姤锛堜繚瀛橈級鍗曞湴鍧�
outaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
- #缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧�
+ #3.鏌ヨ鎺ュ彛璋冪敤鍦板潃
+ executeBillQuery: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc
+ #4.缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧�
outaddressSubmit: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc
- #缁撴灉涓婃姤锛堝鏍革級鍗曞湴鍧�
+ #5.缁撴灉涓婃姤锛堝鏍革級鍗曞湴鍧�
outaddressAudit: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc
# 鐧诲綍璐﹀彿绠$悊
login :
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index aa68d52..2e9a051 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -130,6 +130,15 @@
and status = 1
order by update_time asc
</select>
+
+ <select id="selectCompleteMome4" resultMap="BaseResultMap">
+ select top 5 *
+ from man_order
+ where 1=1
+ and memo = '4'
+ and status = 1
+ order by update_time asc
+ </select>
<select id="selectInOrOutOrders" resultMap="BaseResultMap">
SELECT * FROM man_order o left join man_doc_type d on o.doc_type = d.doc_id WHERE d.pakin = #{flag} and o.settle in (1,2)
</select>
--
Gitblit v1.9.1