From b388f4e1deb6f4a4680bb74b8a0f074f80df61f8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 09 四月 2021 17:55:56 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 129 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 116 insertions(+), 13 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..d013ee5 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
@@ -9,10 +9,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
import zy.cloud.wms.common.service.erp.entity.*;
import zy.cloud.wms.manager.entity.*;
import zy.cloud.wms.manager.mapper.CustOrderMapper;
@@ -30,8 +28,8 @@
* Created by vincent on 2020/11/27
*/
@Slf4j
-@Component
-@RestController
+//@Component
+//@RestController
public class ErpScheduler {
public static final String URI = "http://8.133.182.21:8080/api";
@@ -39,6 +37,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 +271,7 @@
/**
* 鎸佷箙鍖栭攢鍞鍗�
*/
- @Scheduled(cron = "0/45 * * * * ? ")
+ @Scheduled(cron = "0/5 * * * * ? ")
@Transactional
// @PostConstruct
public void getOrdersExecute(){
@@ -294,13 +294,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 +311,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 +332,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 +350,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 +374,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 +427,7 @@
/**
* 搴撳瓨涓婁紶
*/
- @Scheduled(cron = "0/15 * * * * ? ")
+// @Scheduled(cron = "0/15 * * * * ? ")
@GetMapping("test2")
public void uploadStockExecute(){
try {
@@ -466,4 +474,99 @@
}
+ /**
+ * 鑾峰彇鍙栨秷璁㈠崟
+ */
+ @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<>();
+
+ String cancelNumber = "";
+ if (!custOrderService.updateStatus(cancelNumber, 5)) {
+ throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+ }
+
+
+ }
+ }
+ } 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