| | |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO; |
| | | import cn.iocoder.yudao.module.mes.service.pro.task.MesProTaskService; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.materialstock.MesWmMaterialStockMapper; |
| | | import cn.iocoder.yudao.module.erp.api.purchase.PurchaseOrderApi; |
| | |
| | | @RequestMapping("/mes/pro/work-order-bom") |
| | | @Validated |
| | | public class MesProWorkOrderBomController { |
| | | |
| | | @Resource |
| | | private MesProTaskService taskService; |
| | | |
| | | @Resource |
| | | private MesProWorkOrderBomService workOrderBomService; |
| | |
| | | @GetMapping("/get") |
| | | @Operation(summary = "获得工单 BOM") |
| | | @Parameter(name = "id", description = "编号", required = true, example = "1024") |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')") |
| | | public CommonResult<MesProWorkOrderBomRespVO> getWorkOrderBom(@RequestParam("id") Long id) { |
| | | MesProWorkOrderBomDO workOrderBom = workOrderBomService.getWorkOrderBom(id); |
| | | if (workOrderBom == null) { |
| | |
| | | |
| | | @GetMapping("/page") |
| | | @Operation(summary = "获得工单 BOM 分页") |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')") |
| | | public CommonResult<PageResult<MesProWorkOrderBomRespVO>> getWorkOrderBomPage(@Valid MesProWorkOrderBomPageReqVO pageReqVO) { |
| | | PageResult<MesProWorkOrderBomDO> pageResult = workOrderBomService.getWorkOrderBomPage(pageReqVO); |
| | | return success(new PageResult<>(buildWorkOrderBomRespVOList(pageResult.getList()), pageResult.getTotal())); |
| | | } |
| | | |
| | | @GetMapping("/list-by-task-id") |
| | | @Operation(summary = "获得生产任务工序的投入物料") |
| | | public CommonResult<List<MesProWorkOrderBomRespVO>> getWorkOrderBomListByTaskId(@RequestParam("taskId") Long taskId) { |
| | | MesProTaskDO task = taskService.validateTaskExists(taskId); |
| | | if (task.getWorkOrderId() == null || task.getProcessId() == null) { |
| | | return success(Collections.emptyList()); |
| | | } |
| | | List<MesProWorkOrderBomDO> list = workOrderBomService.getWorkOrderBomListByWorkOrderId(task.getWorkOrderId()) |
| | | .stream().filter(bom -> Objects.equals(bom.getProcessId(), task.getProcessId())).toList(); |
| | | return success(buildWorkOrderBomRespVOList(list)); |
| | | } |
| | | |
| | | @GetMapping("/item-list-by-work-order-id") |
| | | @Operation(summary = "获得工单物料需求列表") |
| | | @Parameter(name = "workOrderId", description = "工单编号", required = true) |
| | | @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')") |
| | | public CommonResult<List<MesProWorkOrderItemRespVO>> getWorkOrderBomItemListByWorkOrderId( |
| | | @RequestParam("workOrderId") Long workOrderId) { |
| | | // 1. 获取工单 |