From e6bc9cbe21ed6f9de5c5701ab121aca94b2ba194 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期二, 22 十月 2024 00:26:11 +0800
Subject: [PATCH] 及时上报
---
src/main/java/com/zy/asrs/entity/OrderDetl.java | 3 +
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 24 ++++++++++--
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 55 ++++++++++++++++++---------
3 files changed, 60 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 869d7cb..b8fe4c0 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -299,6 +299,9 @@
@TableField("process_sts")
private Integer processSts;
+ @TableField("report_qty")
+ private Double reportQty;
+
public OrderDetl() {}
public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo,Integer processSts) {
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 7cbfb3e..6ac7993 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -3,9 +3,8 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
-import com.zy.asrs.entity.AgvLocDetl;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
import com.zy.asrs.service.AgvLocDetlService;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OrderDetlService;
@@ -81,6 +80,23 @@
}
}
+ @Scheduled(cron = "0/5 * * * * ? ")
+ //@Async("orderThreadPool")
+ public void reportOrder() {
+ List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
+ orderList.forEach(order -> {
+ if (order.getSettle() < 4L) {
+ return;
+ }
+ orderSyncHandler.timelyStart(order);
+ });
+ orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4));
+ orderList.forEach(order -> {
+ orderSyncHandler.timelyStart(order);
+ });
+ }
+
+
/*
瀹氭椂鏌ヨ鐘舵�佷负2.浣滀笟涓殑鍗曟嵁锛屾鏌ユ槸鍚﹀畬鎴�
*/
@@ -88,7 +104,7 @@
public void completeOrder() {
List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
orderList.forEach(order -> {
- orderService.checkComplete(order.getOrderNo(),null);
+ orderService.checkComplete(order.getOrderNo(), null);
});
}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 73bde27..28cc13e 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -49,8 +49,8 @@
@Transactional
public ReturnT<String> start(Order order) {
-
- List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇濮斿鍏ュ簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
+ //List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇濮斿鍏ュ簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
+ List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇濮斿鍏ュ簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
DocType docType = docTypeService.selectById(order.getDocType());
if (!docNames.contains(docType.getDocName())) {
@@ -82,6 +82,38 @@
return SUCCESS;
}
+
+ @Transactional
+ public void timelyStart(Order order) {
+
+ List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�"));
+
+ DocType docType = docTypeService.selectById(order.getDocType());
+ if (docNames.contains(docType.getDocName())) {
+ List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
+ List<OrderDetl> report = new ArrayList<>();
+ for (OrderDetl orderDetl : orderDetlList) {
+ if (orderDetl.getQty() > 0 && orderDetl.getQty() > (orderDetl.getReportQty() == null ? 0D : orderDetl.getReportQty())) {
+ report.add(orderDetl);
+ }
+ }
+ if (!Cools.isEmpty(report)) {
+ ReportErpParam param = new ReportErpParam();
+ mappingParam(order, param);
+ mappingParamChildren(report, param);
+
+ int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1");
+ if (code == 0) {
+ for (OrderDetl orderDetl : orderDetlList) {
+ orderDetl.setReportQty(orderDetl.getQty() - orderDetl.getReportQty());
+ orderDetlService.updateById(orderDetl);
+ }
+ }
+ }
+
+ }
+ }
+
public void mappingParam(Order order, ReportErpParam param) {
param.set鎿嶄綔绯荤粺鍙�(order.getDefNumber());
param.set鎿嶄綔鍗曟嵁(order.getDocType$());
@@ -102,7 +134,7 @@
ReportErpParam.ChildInfo childInfo = new ReportErpParam.ChildInfo();
childInfo.setIrowno(orderDetl.getItemNum());
childInfo.setCInvCode(orderDetl.getMatnr());
- childInfo.setIQuantity(orderDetl.getQty() + "");
+ childInfo.setIQuantity(orderDetl.getQty() - (orderDetl.getReportQty() == null ? 0D : orderDetl.getReportQty()) + "");
childInfo.setCBatch(orderDetl.getBatch());
childInfo.setINum(orderDetl.getLength() + "");
childInfo.setIinvexchrate("");
@@ -122,12 +154,7 @@
boolean success = false;
try {
- response = new HttpHandler.Builder()
- .setUri(url)
- .setPath(path)
- .setJson(JSONObject.toJSONString(requestParam))
- .build()
- .doPost();
+ response = new HttpHandler.Builder().setUri(url).setPath(path).setJson(JSONObject.toJSONString(requestParam)).build().doPost();
JSONObject jsonObject = JSON.parseObject(response);
if (Cools.isEmpty(jsonObject.get("succeed"))) {
@@ -146,15 +173,7 @@
log.error(e.getMessage());
throw new CoolException("璋冪敤鎺ュ彛鍝嶅簲閿欒");
} finally {
- apiLogService.save(
- namespace,
- url + path,
- appkey,
- ip,
- JSON.toJSONString(JSONObject.toJSONString(requestParam)),
- response,
- success
- );
+ apiLogService.save(namespace, url + path, appkey, ip, JSON.toJSONString(JSONObject.toJSONString(requestParam)), response, success);
}
}
--
Gitblit v1.9.1