skyouc
2025-07-04 49b8b52ae6dfb28e3e9a741bb277c231bd13418d
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -106,7 +106,9 @@
                    .setMatnr(orderdetl.getMatnr())
                    .setDetlId(orderdetl.getDetlId())
                    .setIoStatus(0)
                    .setOrderNo(orderdetl.getOrderNo()).setOrderId(orderdetl.getOrderId()).setStatus(1);
                    .setOrderNo(orderdetl.getOrderNo())
                    .setOrderId(orderdetl.getOrderId())
                    .setStatus(1);
            waitPakins.add(waitPakin);
        });
@@ -115,8 +117,9 @@
            waitPakinService.comb(pakin);
        });
        // UTC入库单据(非平库入库单据)
        if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
        if (!ordersParam.getInType().equals(OrderType.PK_IN_ORDER.id)) {
            /*** 项目下发流程 * 1. PDA组拖通知档* 2. 生成任务档* 3. 通过定时任务下发至ESS** */
            //生成任务档
            GeneratePakInParam generatePakInParam = new GeneratePakInParam();
@@ -202,6 +205,7 @@
            WaitPakinLog pakinLog = new WaitPakinLog();
            BeanUtils.copyProperties(waitPakin, pakinLog);
            pakinLog.setIoStatus(1);
            pakinLog.setId(null);
            if (!waitPakinLogService.saveOrUpdate(pakinLog)) {
                throw new CoolException("组拖历史档更新失败");
            }
@@ -215,13 +219,14 @@
        List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getId, list));
        //订单入历史档
        orders.forEach(order -> {
            if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
                throw new CoolException("当前订单类型:" + order.getOrderType() + ",不可做平库上架操作!!");
            }
//            if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
//                throw new CoolException("当前订单类型:" + order.getOrderType() + ",不可做平库上架操作!!");
//            }
            //修改订单状态为已完成
            order.setOrderSettle(OrderSettleType.COMPLETE.val());
            OrderLog orderLog = new OrderLog();
            BeanUtils.copyProperties(order, orderLog);
            orderLog.setId(null);
            if (!orderLogService.save(orderLog)) {
                throw new CoolException("历史单据更新失败!!");
            }
@@ -239,6 +244,7 @@
            BeanUtils.copyProperties(delt, detlLog);
            detlLog.setQty(delt.getWorkQty());
            detlLog.setWorkQty(0.0);
            detlLog.setId(null);
            detlLogs.add(detlLog);
        });
@@ -391,7 +397,10 @@
            if (Objects.isNull(order)) {
                throw new CoolException("绑定订单不存在!!");
            }
            siteNo.setOrderNo(order.getOrderNo()).setOrderId(order.getId()).setSiteStatus(CacheSiteStatusType.R.id).setBarcode(param.get("barcode").toString());
            siteNo.setOrderNo(order.getOrderNo())
                    .setOrderId(order.getId())
                    .setSiteStatus(CacheSiteStatusType.R.id)
                    .setBarcode(param.get("barcode").toString());
            if (cacheSiteMapper.updateById(siteNo) < 1) {
                throw new CoolException("订单播种位绑定失败!!" );
            }
@@ -407,7 +416,7 @@
            if (StringUtil.isNullOrEmpty(siteNo.getOrderNo())) {
                throw new CoolException("当前播种站点未绑定订单!!");
            }
           siteNo.setOrderId(null).setOrderNo(null).setSiteNo("0");
           siteNo.setOrderId(null).setOrderNo(null).setBarcode(null).setSiteNo("0");
            if (cacheSiteMapper.updateById(siteNo) < 1) {
                throw new CoolException("订单与播种位解绑失败!!" );
            }
@@ -468,6 +477,7 @@
            }
            OrderDetlLog orderDetlLog = new OrderDetlLog();
            BeanUtils.copyProperties(byId, orderDetlLog);
            orderDetlLog.setId(null);
            orderDetlLog.setQty(order.getWorkQty());
            orderDetlLog.setWorkQty(0.0);
            if (!orderDetlLogService.save(orderDetlLog)) {
@@ -511,6 +521,7 @@
        orderList.forEach(one -> {
            OrderLog orderLog = new OrderLog();
            BeanUtils.copyProperties(one, orderLog);
            orderLog.setId(null);
            orderLog.setOrderSettle(OrderSettleType.COMPLETE.val());
            if (!orderLogService.save(orderLog)) {
@@ -528,39 +539,6 @@
                if (orderService.updateById(one));
            }
        });
        Set<Long> waveIds = orderList.stream().map(Order::getWaveId).collect(Collectors.toSet());
        if (waveIds.isEmpty()) {
            throw new CoolException("波次信息为空!!");
        }
        List<Wave> waves = waveService.list(new LambdaQueryWrapper<Wave>().eq(Wave::getId, waveIds));
        for (Wave wave : waves) {
            WaveLog waveLog = new WaveLog();
            waveLog.sync(wave);
            waveLog.setId(null);
            if (!waveLogService.save(waveLog)) {
                throw new CoolException("波次转历史失败");
            }
            List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, wave.getId()));
            for (WaveDetl waveDetl : waveDetls) {
                WaveDetlLog waveDetlLog = new WaveDetlLog();
                waveDetlLog.sync(waveDetl);
                waveDetlLog.setId(null);
                waveDetlLog.setWaveId(waveLog.getId());
                if (!waveDetlLogService.save(waveDetlLog)) {
                    throw new CoolException("波次明细转历史失败");
                }
                if (!waveDetlService.removeById(waveDetl.getId())) {
                    throw new CoolException("波次明细删除失败");
                }
            }
            if (!waveService.removeById(wave.getId())) {
                throw new CoolException("波次删除失败");
            }
        }
        Set<Long> ordersSet = orderList.stream().map(Order::getId).collect(Collectors.toSet());
        List<PlatformDetl> platDetls = platformDetlService.list(new LambdaQueryWrapper<PlatformDetl>().in(PlatformDetl::getOrderId, ordersSet));
@@ -582,4 +560,26 @@
        return R.ok("发货完成!!");
    }
    /**
     * @author Ryan
     * @date 2025/6/28
     * @description: 获取平库推荐库位
     * @version 1.0
     */
    @Override
    public R getRecommendLocs() {
        return locService.getRecommengLocs();
    }
    /**
     * @author Ryan
     * @date 2025/6/28
     * @description: 查询物料信息
     * @version 1.0
     */
    @Override
    public R getMatsByCode(String matnr) {
        return R.ok().add(matService.list(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)));
    }
}