自动化立体仓库 - WMS系统
zwl
2025-10-22 a9f7a73efb4fc132ad2c9a353d300b708430e961
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -2,7 +2,9 @@
import com.core.common.Cools;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.OrderSyncHandler;
@@ -28,6 +30,8 @@
    private OrderService orderService;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Scheduled(cron = "0 0 1 * * ? ")
    public void clearApiLog(){
@@ -48,6 +52,9 @@
        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
            List<Order> orders = orderService.selectComplete();
            for (Order order : orders) {
                if(order.getDocType()== 81){
                    continue;
                }
                try {
                    ReturnT<String> result = orderSyncHandler.start(order);
                    if (!result.isSuccess()) {
@@ -61,4 +68,28 @@
        }
    }
    /**
     * 销售出库订单明细完成上报
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Async("orderThreadPool")
    public void completeAndReport1(){
        String erpReport = Parameter.get().getErpReport();
        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
            List<OrderDetl> orderDetls = orderDetlService.reportERPOrderDetl();
            for (OrderDetl orderDetl : orderDetls) {
                Order order = orderService.selectByNo(orderDetl.getOrderNo());
                try {
                    ReturnT<String> result = orderSyncHandler.start1(order, orderDetl);
                    if (!result.isSuccess()) {
                        log.error("单据明细[orderNo={}],[matnr={}],[batch={}]上报erp失败", orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch());
                    }
                }catch (Exception e){
                    e.printStackTrace();
                    log.error("单据明细[orderNo={}],[matnr={}],[batch={}]上报erp失败", orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch());
                }
            }
        }
    }
}