| | |
| | | import com.vincent.rsf.server.manager.enums.OrderWorkType; |
| | | import com.vincent.rsf.server.manager.enums.POExceStatus; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.manager.service.impl.TransferOrderServiceImpl; |
| | | import com.vincent.rsf.server.system.entity.User; |
| | | import com.vincent.rsf.server.system.service.UserService; |
| | | import com.vincent.rsf.server.system.service.impl.UserServiceImpl; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | |
| | | * @description |
| | | * @create 2025/3/19 19:07 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class AsnOrderLogSchedule { |
| | | |
| | |
| | | public void InStockToLog() { |
| | | List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getType, OrderType.ORDER_IN.type) |
| | | .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val) |
| | | ); |
| | | .isNotNull(WkOrder::getPoCode) |
| | | .ne(WkOrder::getPoCode, "") |
| | | .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val)); |
| | | if (wkOrders.isEmpty()) { |
| | | return; |
| | | } |
| | |
| | | public void outStockComplete() { |
| | | List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getType, OrderType.ORDER_OUT.type) |
| | | .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val) |
| | | |
| | | ); |
| | | .isNotNull(WkOrder::getPoCode) |
| | | .ne(WkOrder::getPoCode, "") |
| | | .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val)); |
| | | if (wkOrders.isEmpty()) { |
| | | return; |
| | | } |
| | |
| | | * @description: 上传已完成订单至ERP平台 |
| | | * @version 1.0 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void reportOrders(List<WkOrder> orders) { |
| | | orders.forEach(order -> { |
| | | for (WkOrder order : orders) { |
| | | if (order.getReportOnce() > 4 || order.getNtyStatus() == 1) { |
| | | continue; |
| | | } |
| | | ReportParams params = new ReportParams(); |
| | | List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId())); |
| | | if (orderItems.isEmpty()) { |
| | |
| | | //设置通用参数 |
| | | param.setWMSNO(order.getCode()) |
| | | .setPONO(order.getPoCode()) |
| | | .setOrderNO(order.getPoCode()) |
| | | .setOrderDate(order.getCreateTime()) |
| | | .setItemCode(orderItem.getMatnrCode()) |
| | | .setEditUser(nickName) |
| | |
| | | //生产补料 |
| | | params.setOrderType("WR_Instock_BL").setAction("Update"); |
| | | param.setOutQty(orderItem.getQty()); |
| | | |
| | | } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) { |
| | | params.setOrderType("WO_Outstock_WR").setAction("Update"); |
| | | param.setOutQty(orderItem.getQty()); |
| | | } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) { |
| | | //其它入库单/手动入库单 |
| | | params.setOrderType("In_Instock").setAction("Update"); |
| | |
| | | }); |
| | | params.setData(reportData); |
| | | |
| | | R reported = reportMsgService.reportOrders(params); |
| | | if (reported.get("code").equals(200)) { |
| | | order.setNtyStatus(1); |
| | | if (!asnOrderService.updateById(order)) { |
| | | throw new CoolException("上报状态修改失败!!"); |
| | | } |
| | | R reported = reportMsgService.uploadReportOrders(params); |
| | | |
| | | order.setReportOnce(order.getReportOnce() + 1); |
| | | asnOrderService.updateById(order); |
| | | // if (reported.get("code").equals(200)) { |
| | | // if (!asnOrderService.updateById(order)) { |
| | | // throw new CoolException("上报状态修改失败!!"); |
| | | // } |
| | | // } |
| | | try { |
| | | //休眠3秒 |
| | | Thread.sleep(3000); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void moveOrderToLog(List<WkOrder> wkOrders, String type) { |
| | | //上报已完成订单至ERP、MES等三方系统 |
| | | // reportOrders(wkOrders); |
| | | try { |
| | | reportOrders(wkOrders); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | } |
| | | // |
| | | Set<Long> longSet = wkOrders.stream().map(WkOrder::getId).collect(Collectors.toSet()); |
| | | List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>() |