| | |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseLocationDO; |
| | | import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderBomService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderProcessService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.Parameter; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | |
| | | private MesProProcessService processService; |
| | | @Resource |
| | | private MesMdItemService itemService; |
| | | @Resource |
| | | private MesWmWarehouseService warehouseService; |
| | | @Resource |
| | | private MesWmWarehouseLocationService warehouseLocationService; |
| | | @Resource |
| | | private MesWmWarehouseAreaService warehouseAreaService; |
| | | |
| | | @PostMapping("/create") |
| | | @Operation(summary = "创建工单工序") |
| | |
| | | } |
| | | Map<Long, MesMdItemDO> itemMap = CollUtil.isNotEmpty(allOutputItemIds) |
| | | ? itemService.getItemMap(allOutputItemIds) : Collections.emptyMap(); |
| | | // 获取报工仓库/库区/库位 |
| | | Set<Long> warehouseIds = convertSet(list, MesProWorkOrderProcessDO::getWarehouseId); |
| | | warehouseIds.removeAll(Collections.singleton(null)); |
| | | Set<Long> locationIds = convertSet(list, MesProWorkOrderProcessDO::getLocationId); |
| | | locationIds.removeAll(Collections.singleton(null)); |
| | | Set<Long> areaIds = convertSet(list, MesProWorkOrderProcessDO::getAreaId); |
| | | areaIds.removeAll(Collections.singleton(null)); |
| | | Map<Long, MesWmWarehouseDO> warehouseMap = CollUtil.isNotEmpty(warehouseIds) |
| | | ? warehouseService.getWarehouseMap(warehouseIds) : Collections.emptyMap(); |
| | | Map<Long, MesWmWarehouseLocationDO> locationMap = CollUtil.isNotEmpty(locationIds) |
| | | ? warehouseLocationService.getWarehouseLocationMap(locationIds) : Collections.emptyMap(); |
| | | Map<Long, MesWmWarehouseAreaDO> areaMap = CollUtil.isNotEmpty(areaIds) |
| | | ? warehouseAreaService.getWarehouseAreaMap(areaIds) : Collections.emptyMap(); |
| | | |
| | | // 2. 查询投料BOM(按工序分组) |
| | | Set<Long> workOrderIds = convertSet(list, MesProWorkOrderProcessDO::getWorkOrderId); |
| | |
| | | MapUtils.findAndThen(processMap, vo.getNextProcessId(), process -> { |
| | | vo.setNextProcessName(process.getName()); |
| | | }); |
| | | // 报工仓库/库区/库位名称 |
| | | MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), |
| | | warehouse -> vo.setWarehouseName(warehouse.getName())); |
| | | MapUtils.findAndThen(locationMap, vo.getLocationId(), |
| | | location -> vo.setLocationName(location.getName())); |
| | | MapUtils.findAndThen(areaMap, vo.getAreaId(), |
| | | area -> vo.setAreaName(area.getName())); |
| | | // 产出物料(支持多选) |
| | | List<Long> ids = voOutputItemIdsMap.getOrDefault((long) i, Collections.emptyList()); |
| | | if (!ids.isEmpty()) { |