zhou zhou
9 小时以前 e96aaddc59b17e86beb08cc8f3aa64957cdd57cf
#备货
1个文件已修改
60 ■■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -182,7 +182,7 @@
                TaskItem taskItem = new TaskItem();
                BeanUtils.copyProperties(item, taskItem);
                taskItem.setTaskId(task.getId())
                        .setOrderType(OrderType.ORDER_IN.type)
                        .setOrderType(item.getType().equals(OrderType.ORDER_PRE.type)?OrderType.ORDER_PRE.type:OrderType.ORDER_IN.type)
                        .setSource(item.getId())
                        .setTrackCode(item.getTrackCode())
                        .setCreateBy(loginUserId)
@@ -2510,35 +2510,45 @@
     */
    @Transactional(rollbackFor = Exception.class)
    public synchronized void removeReceiptStock(WaitPakinItem pakinItem, Long loginUserId) {
        WarehouseAreasItem itemServiceOne = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
                .eq(WarehouseAreasItem::getId, pakinItem.getSource()));
        if (Objects.isNull(itemServiceOne)) {
            log.error("数据错误:请查看请货区库存是否存在!!"+pakinItem.getPakinId());
            return;
        if (pakinItem.getType().equals(OrderType.ORDER_PRE.type)){
            if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
                    .set(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_TASK_DONE.val)
                    .set(WaitPakin::getUpdateBy, loginUserId)
                    .eq(WaitPakin::getId, pakinItem.getPakinId()))) {
                throw new CoolException("组拖状态修改失败!!");
            }
        }else {
            WarehouseAreasItem itemServiceOne = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
                    .eq(WarehouseAreasItem::getId, pakinItem.getSource()));
            if (Objects.isNull(itemServiceOne)) {
                log.error("数据错误:请查看请货区库存是否存在!!"+pakinItem.getPakinId());
                return;
//            throw new CoolException("!");
//            throw new CoolException("数据错误:请查看请货区库存是否存在!!");
        }
        Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 1000000) / 1000000.0;
        Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 1000000) / 1000000.0;
        itemServiceOne.setWorkQty(workQty).setQty(qty);
        if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
                .set(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_TASK_DONE.val)
                .set(WaitPakin::getUpdateBy, loginUserId)
                .eq(WaitPakin::getId, pakinItem.getPakinId()))) {
            throw new CoolException("组拖状态修改失败!!");
        }
        if (qty.compareTo(itemServiceOne.getAnfme()) == 0.00) {
            if (!warehouseAreasItemService.removeById(itemServiceOne.getId())) {
                throw new CoolException("收货区物料删除失败!!");
            }
        } else {
            itemServiceOne.setUpdateBy(loginUserId).setUpdateTime(null);
            if (!warehouseAreasItemService.updateById(itemServiceOne)) {
                throw new CoolException("收货区库完成数量修改失败!!");
            Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 1000000) / 1000000.0;
            Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 1000000) / 1000000.0;
            itemServiceOne.setWorkQty(workQty).setQty(qty);
            if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
                    .set(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_TASK_DONE.val)
                    .set(WaitPakin::getUpdateBy, loginUserId)
                    .eq(WaitPakin::getId, pakinItem.getPakinId()))) {
                throw new CoolException("组拖状态修改失败!!");
            }
            if (qty.compareTo(itemServiceOne.getAnfme()) == 0.00) {
                if (!warehouseAreasItemService.removeById(itemServiceOne.getId())) {
                    throw new CoolException("收货区物料删除失败!!");
                }
            } else {
                itemServiceOne.setUpdateBy(loginUserId).setUpdateTime(null);
                if (!warehouseAreasItemService.updateById(itemServiceOne)) {
                    throw new CoolException("收货区库完成数量修改失败!!");
                }
            }
        }
    }
    /**