rsf-admin/src/i18n/zh.js
@@ -1125,6 +1125,7 @@ batch: '批量操作', confirm: '确认', pick: '拣料', check: '盘点', bulkExport: "批量导出", selectSite: '选择站点', confirmSelect: '确认选择', rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
@@ -101,7 +101,7 @@ if (Objects.isNull(map)) { return R.error("参数不能为空!!"); } return locItemService.gentMoveTask(map); return locItemService.genMoveTask(map); } /** rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -137,7 +137,7 @@ .in(Task::getTaskStatus, longs)); for (Task task : tasks) { task.setTaskStatus(task.getTaskType() < (short) 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id); task.setTaskStatus(task.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id); } if (!taskService.updateBatchById(tasks)) { return R.error("完成任务失败"); rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
@@ -39,9 +39,9 @@ GENERATE_WAVE_SEED("197", "等待容器到达"), WAVE_SEED("198", "播种中/盘点中"), WAVE_SEED("199", "播种中/盘点中"), COMPLETE_OUT("199", "出库完成"), COMPLETE_OUT("198", "出库完成"), UPDATED_OUT("200", "库存更新完成"), ; rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
@@ -10,6 +10,6 @@ R generateTask(Map<String, Object> map); R gentMoveTask(Map<String, Object> map); R genMoveTask(Map<String, Object> map); } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -164,7 +164,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) public R gentMoveTask(Map<String, Object> map) { public R genMoveTask(Map<String, Object> map) { if (Objects.isNull(map.get("targetLoc")) && StringUtils.isNotBlank(map.get("targetLoc").toString())) { throw new CoolException("目标库位不能为空!1"); } @@ -193,10 +193,31 @@ task.setOrgLoc(orgLoc.getCode()) .setTaskCode(ruleCode) .setTaskType(TaskType.TASK_TYPE_LOC_MOVE.type) .setTargLoc(targetLoc.getCode()) .setTaskStatus(TaskStsType.GENERATE_IN.id) .setBarcode(orgLoc.getBarcode()); List<LocItem> locItems = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, orgLoc.getId())); if (locItems.isEmpty()) { throw new CoolException("库位明细不存在!!"); } return null; List<TaskItem> taskItems = new ArrayList<>(); for (LocItem item : locItems) { TaskItem taskItem = new TaskItem(); BeanUtils.copyProperties(item, taskItem); taskItem.setTaskId(task.getId()) .setAnfme(item.getAnfme()) .setBatch(item.getBatch()) .setOrderType(OrderType.ORDER_IN.type) .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)); taskItems.add(taskItem); } if (!taskItemService.saveBatch(taskItems)) { throw new CoolException("任务明细生成失败!!"); } return R.ok(task); } } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -465,12 +465,17 @@ if (Objects.isNull(locWorking)) { throw new CoolException("数据错误,作业中库存数据丢失!!"); } if (locWorking.getAnfme().compareTo(taskItem.getAnfme()) >= 0) { locWorking.setAnfme(Math.round((locWorking.getAnfme() - taskItem.getAnfme()) * 10000) / 10000.0); if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) { locWorking.setWorkQty(0.0); locWorking.setAnfme(taskItem.getAnfme()); } else { continue; if (locWorking.getAnfme().compareTo(taskItem.getAnfme()) >= 0) { locWorking.setWorkQty(0.0); locWorking.setAnfme(Math.round((locWorking.getAnfme() - taskItem.getAnfme()) * 10000) / 10000.0); } else { continue; } } BeanUtils.copyProperties(locWorking, locItem); locItem.setLocCode(loc.getCode()).setLocId(loc.getId()).setId(null); items.add(locItem);