自动化立体仓库 - WMS系统
zhangchao
2024-11-02 68de8850d0c2fb4e5efef77ad92275ff05686708
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -28,6 +28,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Slf4j
@@ -93,12 +94,12 @@
    }
    @Override
    public boolean updateSettle2(Long orderId, Long settle, Integer plt) {
        return this.baseMapper.updateSettle2(orderId, settle, plt) > 0;
    public boolean updateSettle2(Long orderId, Long settle, Integer plt, String inTime) {
        return this.baseMapper.updateSettle2(orderId, settle, plt, inTime) > 0;
    }
    @Override
    public void checkComplete(String orderNo, String locNo) {
    public void checkComplete(String orderNo, Integer pltType) {
        Order order = this.selectByNo(orderNo);
        if (Cools.isEmpty(order)) {
            return;
@@ -115,12 +116,7 @@
                break;
            }
        }
        Integer pltType = null;
        //仓库编码
        if (Cools.isEmpty(order.getPltType())) {
            AgvLocMast locNo1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
            pltType = locNo1.getPltType();
        }
        // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据
        int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
        boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
@@ -131,14 +127,15 @@
        boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
        if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
            if (!this.updateSettle2(order.getId(), 4L, pltType)) {
            if (!this.updateSettle2(order.getId(), 4L, pltType, DateUtils.convert(new Date(), DateUtils.yyyyMMdd))) {
                throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败");
            }
        } else {
            if (!Cools.isEmpty(pltType)) {
            if (pltType != null && pltType > 0) {
                order.setPltType(pltType);
                super.updateById(order);
            }
            order.setInTime(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F));
            super.updateById(order);
        }
@@ -230,6 +227,7 @@
        int code = doHttpRequest(reportErpParam, "单据审核", url, orderReportPath, null, "127.0.0.1");
        //int code = doHttpRequest(param, "单据审核", "localhost:8080", "/test/report", null, "127.0.0.1");
        if (code == 0) {
            log.info("单据审核,{}", order);
            order.setSettle(6L);
            this.updateById(order);
        }