rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/pdaOutStockController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ContainerWaveDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/api/service/PdaOutStockService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java
@@ -84,13 +84,13 @@ } param.setType(Constants.TASK_TYPE_OUT_STOCK); try { locItemService.generateTask(TaskResouceType.TASK_RESOUCE_STOCK_TYPE.val, param, getLoginUserId()); } catch (Exception e) { throw new RuntimeException(e); } // try { // locItemService.generateTask(TaskResouceType.TASK_RESOUCE_STOCK_TYPE.val, param, getLoginUserId()); // } catch (Exception e) { // throw new RuntimeException(e); // } return R.ok("任务生成成功"); return R.ok(param); } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
New file @@ -0,0 +1,44 @@ package com.vincent.rsf.server.api.controller.pda; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.api.service.PdaOutStockService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.Map; @Api(tags = "PDA出库操作接口") @RequestMapping("/pda") @RestController public class PdaOutStockController { @Autowired private PdaOutStockService pdaOutStockService; @PreAuthorize("hasAuthority('manager:task:list')") @GetMapping("/outStockTaskItem/{barcode}") @ApiOperation("快速拣货查询") public R getOutStockTaskItem(@PathVariable String barcode) { return pdaOutStockService.getOutStockTaskItem(barcode); } @PreAuthorize("hasAuthority('manager:task:list')") @PostMapping("/getWaveList") @ApiOperation("查询波次列表") public R getWaveListItem(@RequestBody Map<String, String> map) { return pdaOutStockService.getWaveListItem(map.get("barcode")); } @PreAuthorize("hasAuthority('manager:task:list')") @PostMapping("/getContainerWaveList") @ApiOperation("根据容器码查询波次及出库单") public R getContainerWaveList(@RequestBody Map<String, String> map) { return pdaOutStockService.getContainerWaveList(map); } } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/pdaOutStockController.java
File was deleted rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ContainerWaveDto.java
New file @@ -0,0 +1,19 @@ package com.vincent.rsf.server.api.entity.dto; import com.vincent.rsf.server.manager.entity.AsnOrderItem; import com.vincent.rsf.server.manager.entity.TaskItem; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.experimental.Accessors; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "ContainerWaveDto", description = "PDA波次拣货") public class ContainerWaveDto { private TaskItem taskItem; private List<AsnOrderItem> asnOrderItems; } rsf-server/src/main/java/com/vincent/rsf/server/api/service/PdaOutStockService.java
@@ -6,4 +6,8 @@ public interface PdaOutStockService { R getOutStockTaskItem(String barcode); R getWaveListItem(String barcode); R getContainerWaveList(Map<String, String> map); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -1,19 +1,18 @@ package com.vincent.rsf.server.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.entity.dto.ContainerWaveDto; import com.vincent.rsf.server.api.service.PdaOutStockService; import com.vincent.rsf.server.manager.entity.AsnOrder; import com.vincent.rsf.server.manager.entity.Task; import com.vincent.rsf.server.manager.entity.TaskItem; import com.vincent.rsf.server.manager.service.AsnOrderService; import com.vincent.rsf.server.manager.service.OutStockService; import com.vincent.rsf.server.manager.service.TaskItemService; import com.vincent.rsf.server.manager.service.TaskService; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -25,6 +24,12 @@ private TaskService taskService; @Resource private TaskItemService taskItemService; @Autowired private WaveService waveService; @Autowired private AsnOrderService asnOrderService; @Autowired private AsnOrderItemService asnOrderItemService; @Override public R getOutStockTaskItem(String barcode) { @@ -42,4 +47,53 @@ return R.ok(taskItems); } @Override public R getWaveListItem(String barcode) { LambdaQueryWrapper<Wave> lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(!Cools.isEmpty(barcode),Wave::getCode,barcode); List<Wave> waveList = waveService.list(lambdaQueryWrapper); return R.ok(waveList); } @Override public R getContainerWaveList(Map<String, String> map) { String barcode = map.get("barcode"); if (Cools.isEmpty(barcode) ){ throw new CoolException("参数有误"); } Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, barcode)); if (null == task){ throw new CoolException("未找到容器号对应任务"); } ArrayList<ContainerWaveDto> containerWaveDtos = new ArrayList<>(); List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); for (TaskItem taskItem : taskItems) { ContainerWaveDto containerWaveDto = new ContainerWaveDto(); containerWaveDto.setTaskItem(taskItem); Wave wave = waveService.getById(taskItem.getSourceId()); if (null == wave){ throw new CoolException("未找到容器号对应波次"); } ArrayList<AsnOrderItem> list = new ArrayList<>(); List<AsnOrder> asnOrderList = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWaveId, wave.getId())); for (AsnOrder asnOrder : asnOrderList) { AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>() .eq(AsnOrderItem::getAsnId, asnOrder.getId()) .eq(AsnOrderItem::getMatnrCode, taskItem.getMatnrCode()) .eq(AsnOrderItem::getBatch, taskItem.getBatch()) ); if (null != orderItem){ list.add(orderItem); } } containerWaveDto.setAsnOrderItems(list); containerWaveDtos.add(containerWaveDto); } return R.ok(containerWaveDtos); } }