自动化立体仓库 - WMS系统
zhang
2025-05-19 37c04062d11f97f26ec5a48f5f6adb2f96eca7c5
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -3,8 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.Cools;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
@@ -28,6 +27,15 @@
    private OrderSyncHandler orderSyncHandler;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderLogService orderLogService;
    @Autowired
    private OrderDetlLogService orderDetlLogService;
    @Autowired
    private ApiLogService apiLogService;
@@ -42,6 +50,9 @@
    @Autowired
    private DocTypeService docTypeService;
    @Autowired
    private AgvWrkDetlService agvWrkDetlService;
    private Integer page = 1;
@@ -65,21 +76,21 @@
            List<Order> orders = orderService.selectComplete();
            for (Order order : orders) {
                //如果是调拨单则进行判断
//                if (order.getDocType() == 33) {
//                    //查询库存中是否存在该订单的物料信息,存在则不处理该订单
//                    List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
//                    Boolean flag = false;
//                    for (OrderDetl orderDetl : orderDetlList) {
//                        List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode()));
//                        if (!Cools.isEmpty(agvLocDetls)) {
//                            //只要有一项订单明细存在,则标识为true,跳过该订单
//                            flag = true;
//                        }
//                    }
//                    if (flag) {
//                        continue;
//                    }
//                }
                if (order.getDocType() == 33) {
                    //查询库存中是否存在该订单的物料信息,存在则不处理该订单
                    List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
                    Boolean flag = false;
                    for (OrderDetl orderDetl : orderDetlList) {
                        List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode()));
                        if (!Cools.isEmpty(agvLocDetls) ) {
                            //只要有一项订单明细存在,则标识为true,跳过该订单
                            flag = true;
                        }
                    }
                    if (flag) {
                        continue;
                    }
                }
                ReturnT<String> result = orderSyncHandler.start(order);
                if (!result.isSuccess()) {
                    //log.error("单据[orderNo={}]上报erp失败", order.getOrderNo());
@@ -127,4 +138,5 @@
        }
    }
}