自动化立体仓库 - WMS系统
1
zhangc
2025-02-07 ae21fbe862db214d28b9cea79171a19ff26a0a84
1
3个文件已修改
75 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -25,7 +25,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
@@ -126,20 +125,21 @@
        }
        // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据
        int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
        boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
        boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no", orderNo)) < 1;
        boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no", orderNo)) < 1;
        //int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
        //boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
        //boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no", orderNo)) < 1;
        //boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no", orderNo)) < 1;
        ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
        //ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
        boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
        if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
        //boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
        //if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
        if (complete) {
            if (pltType == null) {
                if (!this.updateSettle(order.getId(), 4L, 9528L)) {
                if (!this.updateSettle(order.getId(), 6L, 9528L)) {
                    throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败");
                }
            } else if (!this.updateSettle2(order.getId(), 4L, pltType, DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F))) {
            } else if (!this.updateSettle2(order.getId(), 6L, pltType, DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F))) {
                throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败");
            }
        } else {
@@ -172,16 +172,17 @@
        }
        // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据
        int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
        boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
        boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no", orderNo)) < 1;
        boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no", orderNo)) < 1;
        ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
        boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
        if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
            if (!this.updateSettle(order.getId(), 4L, 9528L)) {
        //int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
//        boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
//        boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no", orderNo)) < 1;
//        boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no", orderNo)) < 1;
//
//        ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
//
//        boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
//        if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
        if (complete) {
            if (!this.updateSettle(order.getId(), 6L, 9528L)) {
                throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败");
            }
        }
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -47,7 +47,7 @@
    private Integer page = 1;
    private Integer size = 100;
    private Integer size = 200;
    @Scheduled(cron = "0 0 1 * * ? ")
    public void clearApiLog() {
@@ -67,21 +67,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());
src/main/resources/application.yml
@@ -1,4 +1,4 @@
spring:
  profiles:
    #dev loc prod
    active: loc
    active: prod