From 22bfc5e302e8896154d06642d36410ad0c557e25 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 10 八月 2021 08:32:14 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 137 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 117 insertions(+), 20 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 70383e2..f1ba192 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 @@ -13,6 +13,7 @@ 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.entity.Parameter; import zy.cloud.wms.common.service.erp.entity.*; import zy.cloud.wms.common.utils.VersionUtils; import zy.cloud.wms.manager.entity.*; @@ -34,7 +35,7 @@ @RestController public class ErpScheduler { - public static final String URI = "http://8.133.182.21:8080/api"; + public static final String URI = "http://123.60.34.127:6220/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"; @@ -58,6 +59,14 @@ private OrderDetlService orderDetlService; @Autowired private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private PakoutService pakoutService; + @Autowired + private NodeService nodeService; + @Autowired + private DocLogService docLogService; + @Autowired + private RequestLogService requestLogService; /** * 鍟嗗搧涓嬭浇 @@ -210,7 +219,7 @@ /** * 鍟嗗搧涓嬭浇 */ - @Scheduled(cron = "0/5 * * * * ? ") + @Scheduled(cron = "0 */2 * * * ? ") public void updateMatExecute(){ try { Map<String, Object> param = new HashMap<>(); @@ -418,7 +427,7 @@ /** * 鎸佷箙鍖栭攢鍞鍗� */ - @Scheduled(cron = "0/5 * * * * ? ") + @Scheduled(cron = "0 */1 * * * ?") @Transactional // @PostConstruct public void getOrdersExecute(){ @@ -539,6 +548,7 @@ // @PostConstruct public void finishOrdersExecute(){ try { + Date now = new Date(); List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4).isNotNull("number")); if (!Cools.isEmpty(orders)) { List<String> orderNos = orders.stream().map(Order::getOrderNo).distinct().collect(Collectors.toList()); @@ -547,10 +557,12 @@ List<GetOrderResultDetl0> list = new ArrayList<>(); getOrderResult0.setDetail(list); + // 鏃ュ織 + List<DocLog> docLogs = new ArrayList<>(); // 澶� - getOrderResult0.setNumber(order.getUuid()); - getOrderResult0.setVchType(11); // todo:luxiaotao + getOrderResult0.setNumber(order.getOrderNo()); + getOrderResult0.setVchType(11); getOrderResult0.setBillDate(order.getOrderTime()); getOrderResult0.setBTypeID(order.getTel()); getOrderResult0.setKTypeID("瀹忔尯浠撳簱"); @@ -568,10 +580,21 @@ detl0.setUnit(orderDetl.getUnit()); detl0.setRowNo(Integer.parseInt(orderDetl.getName())); list.add(detl0); + + // 鏃ュ織 + docLogs.add(new DocLog( + order.getOrderNo(), // 鍗曟嵁缂栧彿 + 11L, // 鍗曟嵁绫诲瀷 + "閿�鍞鍗�", // 鍗曟嵁鍚嶇О + orderDetl.getMatnr(), // 鍟嗗搧缂栧彿 + orderDetl.getCount(), // 涓婃姤鏁伴噺 + 1, // 缁撴灉 + now, // 涓婃姤鏃堕棿 + null // 澶囨敞 + )); } - System.out.println(JSON.toJSONString(getOrderResult0)); - + log.warn(JSON.toJSONString(getOrderResult0)); String response = new HttpHandler.Builder() .setUri(URI) @@ -579,23 +602,33 @@ .setJson(JSON.toJSONString(getOrderResult0)) .build() .doPost(); + + try { + for (DocLog docLog : docLogs) { + docLogService.insert(docLog); + } + + RequestLog logInfo = new RequestLog(); + logInfo.setName("鍗曟嵁涓婁紶锛屽崟鎹被鍨�" + 11); + logInfo.setRequest(JSON.toJSONString(getOrderResult0)); // 鍏ュ弬 + logInfo.setResponse(response); // 鍑哄弬 + logInfo.setCreateTime(new Date()); + requestLogService.insert(logInfo); + + } catch (Exception e) { + log.error(e.getMessage()); + } + if (!Cools.isEmpty(response)) { log.warn(response); Result result = JSON.parseObject(response, Result.class); - if (result.getCode() != 1) { + if (result.getCode() != 1 && !result.getMsg().equals("鍗曟嵁宸茬粡瀹℃牳瀹屾垚鎴栧垹闄わ紝涓嶈兘瀹℃牳銆�")) { continue; } if (!orderService.updateSettle(order.getOrderNo(), 6L)) { throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); } -// // 杞巻鍙叉。 -// 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()); -// } + } } @@ -617,6 +650,7 @@ // @PostConstruct public void finishOrders0Execute(){ try { + Date now = new Date(); List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4).eq("doc_type", 6)); if (!Cools.isEmpty(orders)) { List<String> orderNos = orders.stream().map(Order::getOrderNo).distinct().collect(Collectors.toList()); @@ -625,10 +659,12 @@ List<GetOrderResultDetl0> list = new ArrayList<>(); getOrderResult0.setDetail(list); + // 鏃ュ織 + List<DocLog> docLogs = new ArrayList<>(); // 澶� getOrderResult0.setNumber(order.getOrderNo()); - getOrderResult0.setVchType(6); // todo:luxiaotao + getOrderResult0.setVchType(6); getOrderResult0.setBillDate(order.getOrderTime()); getOrderResult0.setBTypeID(order.getTel()); getOrderResult0.setKTypeID("瀹忔尯浠撳簱"); @@ -647,10 +683,21 @@ detl0.setUnit(orderDetl.getUnit()); detl0.setComment(orderDetl.getMemo()); list.add(detl0); + + // 鏃ュ織 + docLogs.add(new DocLog( + order.getOrderNo(), // 鍗曟嵁缂栧彿 + 6L, // 鍗曟嵁绫诲瀷 + "閲囪喘閫�璐ц鍗�", // 鍗曟嵁鍚嶇О + orderDetl.getMatnr(), // 鍟嗗搧缂栧彿 + orderDetl.getCount(), // 涓婃姤鏁伴噺 + 1, // 缁撴灉 + now, // 涓婃姤鏃堕棿 + null // 澶囨敞 + )); } System.out.println(JSON.toJSONString(getOrderResult0)); - String response = new HttpHandler.Builder() .setUri(URI) @@ -658,6 +705,22 @@ .setJson(JSON.toJSONString(getOrderResult0)) .build() .doPost(); + + try { + for (DocLog docLog : docLogs) { + docLogService.insert(docLog); + } + + RequestLog logInfo = new RequestLog(); + logInfo.setName("鍗曟嵁涓婁紶锛屽崟鎹被鍨�" + 6); + logInfo.setRequest(JSON.toJSONString(getOrderResult0)); // 鍏ュ弬 + logInfo.setResponse(response); // 鍑哄弬 + logInfo.setCreateTime(new Date()); + requestLogService.insert(logInfo); + } catch (Exception e) { + log.error(e.getMessage()); + } + if (!Cools.isEmpty(response)) { log.warn(response); Result result = JSON.parseObject(response, Result.class); @@ -772,8 +835,42 @@ Order order = orderService.selectByOrderNo(number); if (order != null) { if (order.getSettle() != 3L && order.getSettle() != 5L) { - if (!orderService.updateSettle(number, 5L)) { -// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); + if (orderService.updateSettle(number, 5L)) { + // 绔嬪簱鍑哄簱璐т綅杞嚦A99 + List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>() + .eq("node_id", -1).eq("doc_num", number).ne("memo", "1")); + Node node = nodeService.selectByUuid(Parameter.get().getUniNode()); + for (Pakout pakout : pakouts) { + // 绔嬪簱鍑哄簱璐т綅 + if (pakout.getLocNo().length() == 7) { + LocDetl locDetl = locDetlService.getLocDetl(node.getId(), pakout.getMatnr()); + if (locDetl == null) { + locDetl = new LocDetl(); + locDetl.setLocNo(node.getName()); + locDetl.setNodeId(node.getId()); + locDetl.setAnfme(pakout.getAnfme()); + VersionUtils.setLocDetl(locDetl, pakout); + locDetl.setStatus(1); + locDetl.setCreateBy(9527L); + locDetl.setCreateTime(now); + locDetl.setUpdateBy(9527L); + locDetl.setUpdateTime(now); + boolean insert = locDetlService.insert(locDetl); + if (!insert) { + throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); + } + } else { + if (!locDetlService.incrementStock(node.getId(), pakout.getMatnr(), pakout.getAnfme())) { + throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); + } + } + if (!pakoutService.updateStep(pakout.getWrkNo(), pakout.getDocNum())) { + throw new CoolException("鍙栨秷璁㈠崟鍚庡洖婊氱珛搴撴嫞璐у崟澶辫触"); + } + } + } + } else { +// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); } } } -- Gitblit v1.9.1