rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
@@ -5,6 +5,7 @@ import com.vincent.rsf.server.api.entity.params.ContainerWaveParam; import com.vincent.rsf.server.api.entity.params.WavePickItemsParams; import com.vincent.rsf.server.api.service.PdaOutStockService; import com.vincent.rsf.server.manager.entity.TaskItem; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -88,6 +89,16 @@ return pdaOutStockService.getTaskItems(params); } @PreAuthorize("hasAuthority('manager:task:list')") @ApiOperation("波次出库单明细换绑") @PostMapping("/task/item/update") public R modifyTaskItem(@RequestBody List<TaskItem> items) { if (Objects.isNull(items) || items.isEmpty()) { return R.error("参数不能为空!!"); } return pdaOutStockService.modifyTaskItem(items); } } rsf-server/src/main/java/com/vincent/rsf/server/api/service/PdaOutStockService.java
@@ -4,6 +4,7 @@ import com.vincent.rsf.server.api.entity.dto.ContainerWaveDto; import com.vincent.rsf.server.api.entity.params.ContainerWaveParam; import com.vincent.rsf.server.api.entity.params.WavePickItemsParams; import com.vincent.rsf.server.manager.entity.TaskItem; import java.util.List; import java.util.Map; @@ -42,4 +43,12 @@ * @version 1.0 */ R getTaskItems(Map<String, String> params); /** * @author Ryan * @date 2025/11/19 * @description: 修改出库任务档明细票号 * @version 1.0 */ R modifyTaskItem(List<TaskItem> item); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -347,8 +347,9 @@ if (Objects.isNull(params.get("barcode"))) { throw new CoolException("拖盘码不能为空!!"); } List<Integer> integers = Arrays.asList(TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type); Task task = taskService.getOne(new LambdaQueryWrapper<Task>() .eq(Task::getTaskType, TaskType.TASK_TYPE_OUT.type) .in(Task::getTaskType, integers) .eq(Task::getBarcode, params.get("barcode")), false); if (Objects.isNull(task)) { return R.error("托盘所在任务不存在!!"); @@ -363,6 +364,45 @@ return R.ok().add(taskItems); } /** * @author Ryan * @date 2025/11/19 * @description: 修改出库任务档明细票号 * @version 1.0 */ @Override @Transactional(rollbackFor = Exception.class) public R modifyTaskItem(List<TaskItem> items) { if (Objects.isNull(items) || items.isEmpty()) { return R.error("参数不能为空!!"); } for (TaskItem item : items) { if (Objects.isNull(item.getCrushNo())) { continue; } TaskItem byId = taskItemService.getById(item.getId()); if (!Objects.isNull(byId.getFieldsIndex())) { Map<String, String> fields = FieldsUtils.getFields(byId.getFieldsIndex()); byId.setExtendFields(fields); } if (byId.getExtendFields().get("crushNo").equals(item.getCrushNo())) { continue; } FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>() .eq(FieldsItem::getValue, item.getCrushNo()) .last("limit 1")); if (Objects.isNull(fieldsItem)) { throw new CoolException("库存不存在!!"); } String uuid = fieldsItem.getUuid(); item.setFieldsIndex(uuid).setExtendFields(null); if (!taskItemService.updateById(item)) { throw new CoolException("任务明细修改失败"); } } return R.ok(); } /** * @author Ryan rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
@@ -179,6 +179,10 @@ @ApiModelProperty(value= "添加人员") private Long createBy; /**现品票号*/ @TableField(exist = false) private String crushNo; /** * 添加时间 */