自动化立体仓库 - WMS系统
zhangc
2025-03-20 e61f054bf5bf18c8a0095b0ee4b5ff0ea0f0d2f1
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -3,18 +3,19 @@
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;
import com.zy.asrs.task.handler.OrderSyncHandler;
import com.zy.common.entity.Parameter;
import com.zy.common.utils.Synchro;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
/**
@@ -28,6 +29,15 @@
    private OrderSyncHandler orderSyncHandler;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderLogService orderLogService;
    @Autowired
    private OrderDetlLogService orderDetlLogService;
    @Autowired
    private ApiLogService apiLogService;
@@ -65,21 +75,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 +137,6 @@
        }
    }
}