From 5eaeb26b2e5c4318528d0366a4788e4a9b08af5f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <xltys1995>
Date: 星期二, 06 四月 2021 23:24:12 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 108 insertions(+), 9 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
index b721994..a844e3c 100644
--- a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -39,6 +39,8 @@
public static final String GET_BASIS = "cM/basis/getBasis";
public static final String UPLOAD_BILL = "cM/basis/uploadBill";
public static final String UPLOAD_STOCK = "cM/basis/uploadStock";
+ public static final String OVER_BILL = "cM/basis/OverBill";
+ public static final String UPLOAD_CANCEL_RESULT = "cM/basis/cancelOrders";
@Autowired
private CustOrderService custOrderService;
@@ -271,7 +273,7 @@
/**
* 鎸佷箙鍖栭攢鍞鍗�
*/
- @Scheduled(cron = "0/45 * * * * ? ")
+ @Scheduled(cron = "0/5 * * * * ? ")
@Transactional
// @PostConstruct
public void getOrdersExecute(){
@@ -294,13 +296,15 @@
List<GetOrderResult0> list = JSON.parseArray(result.getData(), GetOrderResult0.class);
if (!Cools.isEmpty(list)) {
boolean complete = true;
+ Set<String> existNumbers = new HashSet<>();
for (GetOrderResult0 data : list) {
if (custOrderService.selectCount(new EntityWrapper<CustOrder>()
.eq("number", data.getNumber())
// .ne("bType_id", data.getBTypeID())
) > 0) {
// log.error("{}鍗曞彿宸插瓨鍦�", data.getNumber());
- complete = false;
+// complete = false;
+ existNumbers.add(data.getNumber());
continue;
}
for (GetOrderResultDetl0 detl0 : data.getDetail()) {
@@ -309,17 +313,19 @@
data.getBillDate(), // 鍗曟嵁鏃ユ湡[闈炵┖]
data.getBTypeID(), // 瀹㈡埛缂栧彿
data.getETypeID(), // 缁忔墜浜虹紪鍙穂闈炵┖]
+ data.getVchcode(), // 鍗曟嵁鑷ID
detl0.getUserCode(), // 鍟嗗搧缂栧彿
detl0.getQty(), // 鍟嗗搧鏁伴噺
+ detl0.getQty(), // 鎬绘暟閲�
detl0.getPrice(), // 鍟嗗搧鍗曚环
+ detl0.getRowNo(), // 鍟嗗搧鏄庣粏琛屽彿
detl0.getComment(), // 鍟嗗搧澶囨敞[闈炵┖]
0, // 鐘舵��
now, // 娣诲姞鏃堕棿
now, // 淇敼鏃堕棿
data.getSummary() // 澶囨敞
);
- boolean insert = custOrderService.insert(custOrder);
- if (!insert) {
+ if (!custOrderService.insert(custOrder)) {
complete = false;
log.error("淇濆瓨閿�鍞鍗曞け璐ワ紒");
}
@@ -328,7 +334,9 @@
if (complete) {
List<String> collect = list.stream().map(GetOrderResult0::getNumber).distinct().collect(Collectors.toList());
for (String number : collect) {
- custOrderService.updateStatus(number, 1);
+ if (!existNumbers.contains(number)) {
+ custOrderService.updateStatus(number, 1);
+ }
}
}
@@ -344,12 +352,12 @@
/**
* 瀹屾垚閿�鍞鍗�
*/
-// @Scheduled(cron = "0/10 * * * * ? ")
+ @Scheduled(cron = "0/10 * * * * ? ")
@Transactional
// @PostConstruct
public void finishOrdersExecute(){
try {
- List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 4));
+ List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 4).isNotNull("vch_code"));
if (!Cools.isEmpty(custOrders)) {
List<String> numbers = custOrders.stream().map(CustOrder::getNumber).distinct().collect(Collectors.toList());
for (String number : numbers) {
@@ -368,13 +376,15 @@
getOrderResult0.setBillDate(custOrder.getBillDate());
getOrderResult0.setBTypeID(custOrder.getBTypeId());
getOrderResult0.setKTypeID("瀹忔尯浠撳簱");
+ getOrderResult0.setVchcode(custOrder.getVchcode());
}
// 琛ㄤ綋
GetOrderResultDetl0 detl0 = new GetOrderResultDetl0();
detl0.setUserCode(custOrder.getUserCode());
- detl0.setQty(custOrder.getQty());
+ detl0.setQty(custOrder.getTotal());
detl0.setPrice(custOrder.getPrice());
detl0.setComment(custOrder.getComment());
+ detl0.setRowNo(custOrder.getRowNo());
list.add(detl0);
iterator.remove();
}
@@ -419,7 +429,7 @@
/**
* 搴撳瓨涓婁紶
*/
- @Scheduled(cron = "0/15 * * * * ? ")
+// @Scheduled(cron = "0/15 * * * * ? ")
@GetMapping("test2")
public void uploadStockExecute(){
try {
@@ -466,4 +476,93 @@
}
+ /**
+ * 鑾峰彇鍙栨秷璁㈠崟
+ */
+ @Scheduled(cron = "0/5 * * * * ? ")
+ @Transactional
+// @PostConstruct
+ public void getCancelOrdersExecute(){
+ try {
+ Map<String, Object> json = new HashMap<>();
+ String response = new HttpHandler.Builder()
+ .setUri(URI)
+ .setPath(OVER_BILL)
+ .setJson(JSON.toJSONString(json))
+ .build()
+ .doPost();
+ if (!Cools.isEmpty(response)) {
+// log.info(response);
+ Date now = new Date();
+ Result result = JSON.parseObject(response, Result.class);
+ if (result.getCode() != 1) {
+ return;
+ }
+ List<GetOrderResult0> list = JSON.parseArray(result.getData(), GetOrderResult0.class);
+ if (!Cools.isEmpty(list)) {
+ boolean complete = true;
+ Set<String> existNumbers = new HashSet<>();
+
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException(e.getMessage());
+ }
+
+ }
+
+ /**
+ * 涓婁紶閿�鍞鍗曞彇娑堢粨鏋�
+ */
+ @Scheduled(cron = "0/5 * * * * ? ")
+ @Transactional
+// @PostConstruct
+ public void uploadCancelOrdersExecute(){
+ try {
+ List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 3).isNotNull("vch_code"));
+ if (Cools.isEmpty(custOrders)) {
+ return;
+ }
+ Map<String, Object> json = new HashMap<>();
+ List<UploadCancelResult> list = new ArrayList<>();
+ for (CustOrder custOrder : custOrders) {
+ UploadCancelResult result = new UploadCancelResult();
+ result.setNumber(custOrder.getNumber());
+ result.setUserCode(custOrder.getUserCode());
+ result.setQty(custOrder.getTotal());
+ result.setStatus(1);
+ list.add(result);
+ }
+ json.put("data", list);
+ String response = new HttpHandler.Builder()
+ .setUri(URI)
+ .setPath(UPLOAD_CANCEL_RESULT)
+ .setJson(JSON.toJSONString(json))
+ .build()
+ .doPost();
+ if (!Cools.isEmpty(response)) {
+// log.info(response);
+ Date now = new Date();
+ Result result = JSON.parseObject(response, Result.class);
+ if (result.getCode() != 1) {
+ return;
+ }
+ for (UploadCancelResult result1 : list) {
+ // 杞巻鍙叉。
+ int save = custOrderMapper.saveLog(result1.getNumber(), result1.getUserCode());
+ if (save > 0) {
+ if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", result1.getNumber()).eq("user_code", result1.getUserCode())) == 0) {
+ throw new CoolException("鍒犻櫎閿�鍞鍗曞け璐�");
+ }
+ }
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException(e.getMessage());
+ }
+
+ }
+
}
--
Gitblit v1.9.1