e7b1e728c611fcf7f1169c0a71d4a3e16c2e2d65..57dcd7df9c71ad54ef4698b34b41cdb69fd35d08
2 天以前 skyouc
添加同步锁
57dcd7 对比 | 目录
2 天以前 skyouc
Merge branch 'devlop_whxrwms' of http://47.97.1.152:5880/r/wms-master into ...
f3a2b0 对比 | 目录
2 天以前 skyouc
波次下发功能优化
026861 对比 | 目录
2 天以前 yy
库存调 整 代码优化
990cf5 对比 | 目录
3个文件已修改
48 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -65,7 +65,7 @@
    @Override
    @Synchronized
    @Transactional(rollbackFor = Exception.class)
    public void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception {
    public synchronized void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception {
        if (Objects.isNull(map.getSiteNo())) {
            throw new CoolException("站点不能为空!");
        }
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
@@ -129,7 +129,7 @@
                throw new CoolException("库位不存在!!");
            }
            List<LocItem> list = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
            if (!list.isEmpty()) {
            if (list.isEmpty()) {
                throw new CoolException("库位:" + loc.getCode() + ", 调整信息为空!!");
            }
            locItemService.remove(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -134,7 +134,9 @@
                throw new CoolException("当前状态无法下发执行!!");
            }
            List<WaveItem> items = waveItemService.list(new LambdaQueryWrapper<WaveItem>().eq(WaveItem::getWaveId, wave.getId()));
            List<WaveItem> items = waveItemService.list(new LambdaQueryWrapper<WaveItem>()
                    .le(WaveItem::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val)
                    .eq(WaveItem::getWaveId, wave.getId()));
            if (items.isEmpty()) {
                throw new CoolException("波次明细不存在!!");
            }
@@ -204,14 +206,29 @@
                    throw new CoolException("下发执行异常,请稍候重试!");
                }
            }
            if (!waveService.update(new LambdaUpdateWrapper<Wave>()
                    .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_TASK.val)
                    .set(Wave::getWorkQty, taskItems.stream().mapToDouble(TaskItem::getAnfme).sum())
                    .set(Wave::getUpdateBy, loginUserId)
                    .set(Wave::getMemo, null)
                    .set(Wave::getUpdateTime, new Date())
                    .eq(Wave::getId, wave.getId()))) {
                throw new CoolException("波次状态修改失败!!");
            Double sum = taskItems.stream().mapToDouble(TaskItem::getAnfme).sum();
            Double v = Math.round((wave.getWorkQty() + sum) * 1000000) / 1000000.0;
            if (wave.getAnfme().compareTo(v) == 0) {
                if (!waveService.update(new LambdaUpdateWrapper<Wave>()
                        .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_TASK.val)
                        .set(Wave::getWorkQty, v)
                        .set(Wave::getUpdateBy, loginUserId)
                        .set(Wave::getMemo, null)
                        .set(Wave::getUpdateTime, new Date())
                        .eq(Wave::getId, wave.getId()))) {
                    throw new CoolException("波次状态修改失败!!");
                }
            } else {
                if (!waveService.update(new LambdaUpdateWrapper<Wave>()
                        .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val)
                        .set(Wave::getWorkQty, v)
                        .set(Wave::getUpdateBy, loginUserId)
                        .set(Wave::getMemo, null)
                        .set(Wave::getUpdateTime, new Date())
                        .eq(Wave::getId, wave.getId()))) {
                    throw new CoolException("波次状态修改失败!!");
                }
            }
        }
@@ -278,7 +295,7 @@
     */
    @Synchronized
    @Transactional(rollbackFor = Exception.class)
    public void generateOutTask(List<OrderOutItemDto> itemParams, Long loginUserId, Wave wave) throws Exception {
    public synchronized void generateOutTask(List<OrderOutItemDto> itemParams, Long loginUserId, Wave wave) throws Exception {
        Map<Long, List<OrderOutItemDto>> listMap = itemParams.stream().collect(Collectors.groupingBy(OrderOutItemDto::getLocId));
        listMap.keySet().forEach(id -> {
//            double sum = listMap.get(id).stream().mapToDouble(OrderOutItemDto::getAnfme).sum();
@@ -304,6 +321,13 @@
            } catch (Exception e) {
                throw new CoolException("出库任务生成失败!");
            }
            //添加300毫秒间隔
            try {
                Thread.sleep(300);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        });
//        for (OrderOutItemDto itemDto : itemParams) {