rsf-admin/src/page/orders/wave/WaveItemList.jsx
@@ -43,6 +43,7 @@ import { styled } from '@mui/material/styles'; import WaveItemCreate from "./WaveItemCreate"; import WaveItemEdit from "./WaveItemEdit"; import request from '@/utils/request'; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -189,6 +190,7 @@ const BulkStartButton = () => { const { data, selectedIds, onUnselectItems } = useListContext(); const waveId = useGetRecordId(); const notify = useNotify(); const startClick = async () => { onUnselectItems(); const { data: { code, data, msg } } = await request.post('/wave/selects/task', { wave: waveId, waveItem: selectedIds }); rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/WaveItemExceStatus.java
@@ -14,15 +14,14 @@ WAVE_ITEM_EXCE_STATUS_UN("0", "未执行"), WAVE_EXCE_STATUS_ING("1", "执行中"), WAVE_EXCE_STATUS_SEED("2", "已下发"), WAVE_EXCE_STATUS_DONE("3", "完成"), WAVE_EXCE_STATUS_DONE("3", "下发完成"), ; WaveExceStatus(String val, String desc) { WaveItemExceStatus(String val, String desc) { this.val = Short.parseShort(val); this.desc = desc; } public Short val; public String desc; } rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.utils.LocUtils; import com.vincent.rsf.server.common.constant.Constants; import com.vincent.rsf.server.manager.controller.params.LocToTaskParams; import com.vincent.rsf.server.manager.enums.LocStsType; import com.vincent.rsf.server.manager.enums.TaskStsType; @@ -122,7 +123,7 @@ params.setOrgLoc(shallowLoc).setType(TaskType.TASK_TYPE_LOC_MOVE.type + ""); //生成移库任务 Task moveTask = locItemService.genMoveTask(params, loginUserId); moveTask.setSort(task.getSort() + 1); moveTask.setSort(!Objects.isNull(task.getSort()) ? task.getSort() + 1 : Constants.TASK_SORT_DEFAULT_VALUE + 1); if (!taskService.updateById(moveTask)) { throw new Exception("任务优先级更新失败!!"); } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -120,8 +120,8 @@ try { generateOutTask(items, loginUserId, waves); } catch (Exception e) { log.error(e.getMessage()); throw new CoolException("出库任务生成失败!!!"); log.error("UNK", e); throw new CoolException(e.getMessage()); } return null; } @@ -142,16 +142,19 @@ for (WaveItem param : itemParams) { String locs = param.getStockLocs(); List<LocItem> locItems = JSONArray.parseArray(locs, LocItem.class); if (locItems.isEmpty()) { continue; List<Long> list = new ArrayList<>(); if (Objects.isNull(locItems) || locItems.isEmpty()) { //TODO } else { list = locItems.stream().map(LocItem::getLocId).collect(Collectors.toList()); } List<Long> list = locItems.stream().map(LocItem::getLocId).collect(Collectors.toList()); /**根据供应商批次,物料码, 动态字段查询指定的物料库存信息*/ //TODO 这里需要要根据波次规则查找库存信息 List<LocItem> items = locItemService.list(new LambdaQueryWrapper<LocItem>() .eq(LocItem::getSplrBatch, param.getSplrBatch()) .in(LocItem::getLocId, list) .eq(StringUtils.isNotBlank(param.getFieldsIndex()), LocItem::getFieldsIndex, param.getFieldsIndex()) .eq(LocItem::getBatch, param.getSplrBatch()) .in(!list.isEmpty(), LocItem::getLocId, list) // .eq(StringUtils.isNotBlank(param.getFieldsIndex()), LocItem::getFieldsIndex, param.getFieldsIndex()) .eq(LocItem::getMatnrCode, param.getMatnrCode())); if (items.isEmpty()) { throw new CoolException("库存信息有变,请取消当前波次,生新生成新的波次!!"); @@ -190,10 +193,10 @@ throw new CoolException("库位不存在!!"); } List<TaskItem> items = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSourceId, wave.getId())); if (items.isEmpty()) { throw new CoolException("波次任务已生成,不能重复生成!!"); } // List<TaskItem> items = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSourceId, wave.getId())); // if (!items.isEmpty()) { // throw new CoolException("波次任务已生成,不能重复生成!!"); // } task.setTaskCode(ruleCode) .setTaskType(TaskType.TASK_TYPE_OUT.type) @@ -214,7 +217,7 @@ TaskItem taskItem = new TaskItem(); BeanUtils.copyProperties(item, taskItem); taskItem.setTaskId(task.getId()) .setAnfme(waveItem.getAnfme()) .setAnfme(item.getAnfme()) .setId(null) .setSourceCode(wave.getCode()) .setSourceId(wave.getId()) @@ -229,7 +232,7 @@ taskItems.forEach(item -> { boolean update = waveItemService.update(new LambdaUpdateWrapper<WaveItem>() .eq(WaveItem::getId, item.getSource()) .set(WaveItem::getExceStatus, AsnExceStatus) .set(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_EXCE_STATUS_SEED.val) .set(WaveItem::getWorkQty, item.getAnfme())); if (!update) { throw new CoolException("波次执行数量修改失败!!"); rsf-server/src/main/resources/application.yml
@@ -25,7 +25,7 @@ # global-config: # field-strategy: 0 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl map-underscore-to-camel-case: true cache-enabled: true call-setters-on-nulls: true