skyouc
1 天以前 cd8e369a7b3b751527090147798c5b81c30bf2d0
生成任务工作档优化
5个文件已修改
53 ■■■■■ 已修改文件
rsf-admin/.env 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/.env
@@ -1,3 +1,3 @@
VITE_BASE_IP=192.168.4.41
VITE_BASE_IP=192.168.4.43
# VITE_BASE_IP=47.76.147.249
VITE_BASE_PORT=8080
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
@@ -13,6 +13,7 @@
import com.vincent.rsf.server.system.constant.GlobalConfigCode;
import com.vincent.rsf.server.system.entity.Config;
import com.vincent.rsf.server.system.service.ConfigService;
import com.vincent.rsf.server.system.utils.SystemAuthUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -74,13 +75,14 @@
        if (waveItems.isEmpty()) {
            return;
        }
        Long loginUserId = SystemAuthUtils.getLoginUserId();
        Map<Long, List<WaveItem>> listMap = waveItems.stream().collect(Collectors.groupingBy(WaveItem::getWaveId));
        listMap.keySet().forEach(waveId -> {
            List<Long> itemIds = listMap.get(waveId).stream().map(WaveItem::getId).collect(Collectors.toList());
            Map<String, Object> params = new HashMap<>();
            params.put("wave", waveId);
            params.put("waveItem", itemIds);
            waveService.waveToTask(params, waveId);
            waveService.waveToTask(params, loginUserId);
        });
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -217,7 +217,9 @@
                            .setSourceCode(order.getCode())
                            .setSourceId(order.getId());
                } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
                    taskItem.setSourceId(wave.getId()).setSourceCode(wave.getCode());
                    taskItem.setSourceId(wave.getId())
                            .setSourceCode(wave.getCode())
                            .setSource(item.getSource());
                } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) {
                    taskItem.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type))
                            .setSource(item.getId())
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -68,7 +68,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R publicTask(Map<String, Object> map, Long loginUserId) {
        List<WaveItem> itemParams =  JSONArray.parseArray(JSON.toJSONString(map.get("waveItem")), WaveItem.class);
        List<WaveItem> itemParams = JSONArray.parseArray(JSON.toJSONString(map.get("waveItem")), WaveItem.class);
        if (Objects.isNull(itemParams) || itemParams.isEmpty()) {
            throw new CoolException("参数不能为空!!");
        }
@@ -113,6 +113,7 @@
    /**
     * 选择波次明细下发任务
     *
     * @param map
     * @param loginUserId
     * @return
@@ -162,12 +163,24 @@
            throw new CoolException(e.getMessage());
        }
        if (!waveItemService.update(new LambdaUpdateWrapper<WaveItem>()
                .set(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_EXCE_STATUS_ING.val)
                .in(WaveItem::getId, waveItems))) {
            throw new CoolException("下发执行异常,请稍候重试!");
        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSource, waveItems));
        if (Cools.isEmpty(taskItems)) {
            throw new CoolException("数据错误:波次明细已不存在!!");
        }
        for (TaskItem item : taskItems) {
            if (!waveItemService.update(new LambdaUpdateWrapper<WaveItem>()
                    .set(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_EXCE_STATUS_ING.val)
                    .set(WaveItem::getWorkQty, item.getAnfme())
                    .in(WaveItem::getId, waveItems))) {
                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())
                .eq(Wave::getId, waveId))) {
            throw new CoolException("波次状态修改失败!!");
        }
        return R.ok();
    }
@@ -248,16 +261,16 @@
    }
    /**
    * @author Ryan
    * @description 取消波次
    * @param
    * @return
    * @time 2025/6/17 10:04
    */
     * @param
     * @return
     * @author Ryan
     * @description 取消波次
     * @time 2025/6/17 10:04
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R cancelWave(List<Long> ids) {
        return null;
    }
@@ -270,7 +283,7 @@
     * @time 2025/4/27 09:26
     */
    @Synchronized
    private  List<WaveItem> getLocs(List<WaveItem> waveItems) throws Exception {
    private List<WaveItem> getLocs(List<WaveItem> waveItems) throws Exception {
        //TODO  根据物料编码,批次,动态字段 查询符合的库位,再根据库位中物料的数量选择最适合的库位
        waveItems.forEach(waveItem -> {
            List<LocItem> locItems = locItemService.list(new QueryWrapper<LocItem>()
rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
@@ -175,7 +175,7 @@
                            orderOutItemDto.setSiteNo(deviceSite.getSite());
                        }
                        orderOutItemDto.setSource(item.getItemId()).setSource(item.getWaveId());
                        orderOutItemDto.setSource(item.getItemId()).setSourceId(item.getWaveId());
                        list.add(orderOutItemDto);