src/main/java/com/zy/asrs/entity/Order.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/OrderDetl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/Order.java
@@ -315,6 +315,45 @@ this.memo = memo; } public Order(Order order) { this.uuid = order.getUuid(); this.orderNo = order.getOrderNo(); this.orderTime = order.getOrderTime(); this.docType = order.getDocType(); this.itemId = order.getItemId(); this.itemName = order.getItemName(); this.allotItemId = order.getAllotItemId(); this.defNumber = order.getDefNumber(); this.number = order.getNumber(); this.cstmr = order.getCstmr(); this.cstmrName = order.getCstmrName(); this.tel = order.getTel(); this.operMemb = order.getOperMemb(); this.totalFee = order.getTotalFee(); this.discount = order.getDiscount(); this.discountFee = order.getDiscountFee(); this.otherFee = order.getOtherFee(); this.actFee = order.getActFee(); this.payType = order.getPayType(); this.salesman = order.getSalesman(); this.accountDay = order.getAccountDay(); this.postFeeType = order.getPostFeeType(); this.postFee = order.getPostFee(); this.payTime = order.getPayTime(); this.sendTime = order.getSendTime(); this.shipName = order.getShipName(); this.shipCode = order.getShipCode(); this.settle = order.getSettle(); this.status = order.getStatus(); this.createBy = order.getCreateBy(); this.createTime = order.getCreateTime(); this.updateBy = order.getUpdateBy(); this.updateTime = order.getUpdateTime(); this.memo = order.getMemo(); this.moveStatus = order.getMoveStatus(); this.pakinPakoutStatus = order.getPakinPakoutStatus(); } // Order order = new Order( // null, // 编号[非空] // null, // 订单编号 src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -354,6 +354,51 @@ this.memo = memo; } public OrderDetl(OrderDetl orderDetl) { this.orderId = orderDetl.getOrderId(); this.orderNo = orderDetl.getOrderNo(); this.anfme = orderDetl.getAnfme(); this.qty = orderDetl.getQty(); this.matnr = orderDetl.getMatnr(); this.maktx = orderDetl.getMaktx(); this.batch = orderDetl.getBatch(); this.specs = orderDetl.getSpecs(); this.model = orderDetl.getModel(); this.color = orderDetl.getColor(); this.brand = orderDetl.getBrand(); this.unit = orderDetl.getUnit(); this.price = orderDetl.getPrice(); this.sku = orderDetl.getSku(); this.units = orderDetl.getUnits(); this.barcode = orderDetl.getBarcode(); this.origin = orderDetl.getOrigin(); this.manu = orderDetl.getManu(); this.manuDate = orderDetl.getManuDate(); this.itemNum = orderDetl.getItemNum(); this.safeQty = orderDetl.getSafeQty(); this.weight = orderDetl.getWeight(); this.manLength = orderDetl.getManLength(); this.volume = orderDetl.getVolume(); this.threeCode = orderDetl.getThreeCode(); this.supp = orderDetl.getSupp(); this.suppCode = orderDetl.getSuppCode(); this.beBatch = orderDetl.getBeBatch(); this.deadTime = orderDetl.getDeadTime(); this.deadWarn = orderDetl.getDeadWarn(); this.source = orderDetl.getSource(); this.inspect = orderDetl.getInspect(); this.danger = orderDetl.getDanger(); this.status = orderDetl.getStatus(); this.createBy = orderDetl.getCreateBy(); this.createTime = orderDetl.getCreateTime(); this.updateBy = orderDetl.getUpdateBy(); this.updateTime = orderDetl.getUpdateTime(); this.memo = orderDetl.getMemo(); this.pakinPakoutStatus = orderDetl.getPakinPakoutStatus(); this.lineNumber = orderDetl.getLineNumber(); } public String getOrderId$(){ OrderService service = SpringUtils.getBean(OrderService.class); Order order = service.selectById(this.orderId); src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -17,7 +17,7 @@ import java.util.List; /** * Created by vincent on 2020/7/7 * Created by IX on 2024/12/17 */ @Slf4j @Component @@ -31,7 +31,7 @@ private ApiLogService apiLogService; @Scheduled(cron = "0 0 1 * * ? ") public void clearApiLog(){ public void clearApiLog() { try { apiLogService.clearWeekBefore(); } catch (Exception e) { @@ -39,20 +39,33 @@ } } // @Scheduled(cron = "0/5 * * * * ? ") @Async("orderThreadPool") public void completeAndReport(){ public void completeAndReportOrderInAndOutUtil() { String erpReport = Parameter.get().getErpReport(); if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { // List<Order> orders = orderService.selectComplete(); List<Order> orders = OrderInAndOutUtil.selectComplete(null); for (Order order : orders) { ReturnT<String> result = orderSyncHandler.start(order); ReturnT<String> result = orderSyncHandler.startOrderInAndOutUtil(order); if (!result.isSuccess()) { log.error("单据[orderNo={}]转上报表失败", order.getOrderNo()); } } } } // @Scheduled(cron = "0/5 * * * * ? ") @Async("orderThreadPool") public void completeAndReportOrder() { String erpReport = Parameter.get().getErpReport(); if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { List<Order> orders = orderService.selectComplete(); // List<Order> orders = OrderInAndOutUtil.selectComplete(null); for (Order order : orders) { ReturnT<String> result = orderSyncHandler.startOrder(order); if (!result.isSuccess()) { log.error("单据[orderNo={}]上报erp失败", order.getOrderNo()); } } } } } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -44,15 +44,30 @@ private ApiLogService apiLogService; @Autowired private DocTypeService docTypeService; @Transactional public ReturnT<String> start(Order order) { public ReturnT<String> startOrderInAndOutUtil(Order order) { DocType docType = docTypeService.selectById(order.getDocType()); if (null == docType) { return SUCCESS; } // List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); Order orderNew = new Order(order); orderService.insert(orderNew); for (OrderDetl orderDetl : orderDetls){ OrderDetl orderDetlNew = new OrderDetl(orderDetl); orderDetlService.insert(orderDetlNew); } // 修改订单状态 4.完成 ===>> 6.已上报 OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); return SUCCESS; } @Transactional public ReturnT<String> startOrder(Order order) { DocType docType = docTypeService.selectById(order.getDocType()); if (null == docType) { return SUCCESS; } List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); // 入库完成上报 if (docType.getPakin() == 1) { MesPakinParam pakinParam = new MesPakinParam(); @@ -76,10 +91,9 @@ if (jsonObject.getInteger("code").equals(200)) { success = true; // 修改订单状态 4.完成 ===>> 6.已上报 // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("服务器内部错误,请联系管理员"); // } OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); if (!orderService.updateSettle(order.getId(), 6L, null)) { throw new CoolException("服务器内部错误,请联系管理员"); } } else { log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); throw new CoolException("上报mes系统失败"); @@ -131,10 +145,9 @@ if (jsonObject.getInteger("code").equals(200)) { success = true; // 修改订单状态 4.完成 ===>> 6.已上报 // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("服务器内部错误,请联系管理员"); // } OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); if (!orderService.updateSettle(order.getId(), 6L, null)) { throw new CoolException("服务器内部错误,请联系管理员"); } } else { log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response); throw new CoolException("上报mes系统失败");