| | |
| | | if (issue.getWorkOrderId() == null) { |
| | | return success(Collections.emptyList()); |
| | | } |
| | | // 2. 获取工单 BOM 物料(同一物料跨工序多次投料时,需求量按物料汇总) |
| | | List<MesProWorkOrderBomDO> bomList = workOrderBomService.getWorkOrderBomListByWorkOrderId(issue.getWorkOrderId()); |
| | | return success(buildBomItemList(issue.getWorkOrderId())); |
| | | } |
| | | |
| | | @GetMapping("/bom-item-list-by-work-order") |
| | | @Operation(summary = "获得生产工单 BOM 物料列表(按工单编号)", |
| | | description = "用于补领辅料等场景直接按工单获取 BOM 物料,无需先有领料单") |
| | | @Parameter(name = "workOrderId", description = "生产工单编号", required = true, example = "1") |
| | | public CommonResult<List<MesWmProductIssueBomItemRespVO>> getBomItemListByWorkOrderId( |
| | | @RequestParam("workOrderId") Long workOrderId) { |
| | | return success(buildBomItemList(workOrderId)); |
| | | } |
| | | |
| | | private List<MesWmProductIssueBomItemRespVO> buildBomItemList(Long workOrderId) { |
| | | // 1. 获取工单 BOM 物料(同一物料跨工序多次投料时,需求量按物料汇总) |
| | | List<MesProWorkOrderBomDO> bomList = workOrderBomService.getWorkOrderBomListByWorkOrderId(workOrderId); |
| | | if (CollUtil.isEmpty(bomList)) { |
| | | return success(Collections.emptyList()); |
| | | return Collections.emptyList(); |
| | | } |
| | | Map<Long, BigDecimal> requiredQtyMap = new LinkedHashMap<>(); |
| | | for (MesProWorkOrderBomDO bom : bomList) { |
| | |
| | | unit -> vo.setUnitMeasureName(unit.getName())); |
| | | result.add(vo); |
| | | }); |
| | | return success(result); |
| | | return result; |
| | | } |
| | | |
| | | @GetMapping("/returnable-list") |