自动化立体仓库 - WMS系统
zhangc
2024-12-20 b17fe3091ae104984347622eb9db40765b5d025c
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -28,7 +28,9 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Slf4j
@Service("orderService")
@@ -88,17 +90,22 @@
    }
    @Override
    public boolean updateTel(Long orderId, String tel) {
        return this.baseMapper.updateTel(orderId, tel) > 0;
    }
    @Override
    public boolean updateSettle(Long orderId, Long settle, Long userId) {
        return this.baseMapper.updateSettle(orderId, settle, userId) > 0;
    }
    @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 +122,7 @@
                break;
            }
        }
        Integer pltType = null;
        //仓库编码
        if (Cools.isEmpty(order.getPltType()) && !Cools.isEmpty(locNo)) {
            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 +133,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.yyyyMMddHHmmsssss_F));
        }
@@ -293,6 +296,7 @@
            response = new HttpHandler.Builder()
                    .setUri(url)
                    .setPath(path)
                    .setTimeout(30, TimeUnit.SECONDS)
                    .setJson(JSONObject.toJSONString(requestParam))
                    .build()
                    .doPost();