From 87f88b6150021429a3a645c6c93a901c174b7dd0 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 18 三月 2021 09:40:15 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 94 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 87 insertions(+), 7 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 a035a39..79d6a86 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 @@ -19,16 +19,14 @@ import zy.cloud.wms.manager.entity.CustOrder; import zy.cloud.wms.manager.entity.Mat; import zy.cloud.wms.manager.entity.Tag; +import zy.cloud.wms.manager.mapper.CustOrderMapper; import zy.cloud.wms.manager.mapper.TagMapper; import zy.cloud.wms.manager.service.*; import zy.cloud.wms.manager.utils.HttpHandler; import zy.cloud.wms.manager.utils.NodeUtils; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -43,6 +41,7 @@ public static final String URI = "http://8.133.182.21:8080/api"; public static final String GET_ORDERS = "cM/basis/getOrders"; 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"; @Autowired @@ -57,6 +56,8 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private CustOrderMapper custOrderMapper; /** * 鍟嗗搧涓嬭浇 @@ -202,6 +203,7 @@ } } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } @@ -264,13 +266,14 @@ } } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } /** * 鎸佷箙鍖栭攢鍞鍗� */ - @Scheduled(cron = "0/5 * * * * ? ") + @Scheduled(cron = "0/45 * * * * ? ") @Transactional // @PostConstruct public void getOrdersExecute(){ @@ -284,7 +287,7 @@ .build() .doPost(); if (!Cools.isEmpty(response)) { - log.info(response); +// log.info(response); Date now = new Date(); Result result = JSON.parseObject(response, Result.class); if (result.getCode() != 1) { @@ -298,7 +301,8 @@ .eq("number", data.getNumber()) // .ne("bType_id", data.getBTypeID()) ) > 0) { - log.error("{}鍗曞彿宸插瓨鍦�", data.getNumber()); +// log.error("{}鍗曞彿宸插瓨鍦�", data.getNumber()); + complete = false; continue; } for (GetOrderResultDetl0 detl0 : data.getDetail()) { @@ -334,10 +338,85 @@ } } catch (IOException e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } + /** + * 瀹屾垚閿�鍞鍗� + */ + @Scheduled(cron = "0/10 * * * * ? ") + @Transactional +// @PostConstruct + public void finishOrdersExecute(){ + try { + List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 4)); + if (!Cools.isEmpty(custOrders)) { + List<String> numbers = custOrders.stream().map(CustOrder::getNumber).distinct().collect(Collectors.toList()); + for (String number : numbers) { + GetOrderResult0 getOrderResult0 = new GetOrderResult0(); + List<GetOrderResultDetl0> list = new ArrayList<>(); + getOrderResult0.setDetail(list); + // 閬嶅巻閫掑噺 + Iterator<CustOrder> iterator = custOrders.iterator(); + while (iterator.hasNext()) { + CustOrder custOrder = iterator.next(); + if (custOrder.getNumber().equals(number)) { + // 琛ㄥご + if (Cools.isEmpty(getOrderResult0.getNumber())) { + getOrderResult0.setNumber(number); + getOrderResult0.setVchType(11); // todo:luxiaotao + getOrderResult0.setBillDate(custOrder.getBillDate()); + getOrderResult0.setBTypeID(custOrder.getBTypeId()); + getOrderResult0.setKTypeID("瀹忔尯浠撳簱"); + } + // 琛ㄤ綋 + GetOrderResultDetl0 detl0 = new GetOrderResultDetl0(); + detl0.setUserCode(custOrder.getUserCode()); + detl0.setQty(custOrder.getQty()); + detl0.setPrice(custOrder.getPrice()); + detl0.setComment(custOrder.getComment()); + list.add(detl0); + iterator.remove(); + } + } + + System.out.println(JSON.toJSONString(getOrderResult0)); + + + String response = new HttpHandler.Builder() + .setUri(URI) + .setPath(UPLOAD_BILL) + .setJson(JSON.toJSONString(getOrderResult0)) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + log.warn(response); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() != 1) { + return; + } + // 杞巻鍙叉。 + int save = custOrderMapper.saveLog(getOrderResult0.getNumber()); + if (save > 0) { + if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", getOrderResult0.getNumber())) == 0) { + throw new CoolException("鍒犻櫎閿�鍞鍗曞け璐�"); + } + log.info("{}閿�鍞鍗曟嫞璐х粨鏉�", getOrderResult0.getNumber()); + } + } + + } + } + + + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e.getMessage()); + } + + } /** * 鏇存柊搴撳瓨 @@ -412,6 +491,7 @@ } } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } -- Gitblit v1.9.1