diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java index 23b5e6a..1e0a77b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java @@ -1,10 +1,14 @@ package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineRespVO; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.dv.machinery.MesDvMachineryDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; +import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService; import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationMachineService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Collections; import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; @Tag(name = "管理后台 - MES 设备资源") @RestController @@ -28,6 +35,9 @@ public class MesMdWorkstationMachineController { @Resource private MesMdWorkstationMachineService workstationMachineService; + @Resource + private MesDvMachineryService machineryService; + @PostMapping("/create") @Operation(summary = "创建设备资源") @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") @@ -51,8 +61,23 @@ public class MesMdWorkstationMachineController { public CommonResult> getWorkstationMachineList( @RequestParam("workstationId") Long workstationId) { List list = workstationMachineService.getWorkstationMachineListByWorkstationId(workstationId); - // TODO @芋艿:拼装设备编码/名称,等 DV 设备模块完成后对接 - return success(BeanUtils.toBean(list, MesMdWorkstationMachineRespVO.class)); + return success(buildWorkstationMachineRespVOList(list)); + } + + // ==================== 拼接 VO ==================== + + private List buildWorkstationMachineRespVOList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + // 1. 批量获取设备信息 + Map machineryMap = machineryService.getMachineryMap( + convertSet(list, MesMdWorkstationMachineDO::getMachineryId)); + // 2. 拼接 VO + return BeanUtils.toBean(list, MesMdWorkstationMachineRespVO.class, vo -> { + MapUtils.findAndThen(machineryMap, vo.getMachineryId(), + machinery -> vo.setMachineryCode(machinery.getCode()).setMachineryName(machinery.getName())); + }); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java index 8dbacfa..36fee75 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java @@ -1,11 +1,15 @@ package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolRespVO; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolTypeDO; import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationToolService; +import cn.iocoder.yudao.module.mes.service.tm.tool.MesTmToolTypeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Collections; import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; @Tag(name = "管理后台 - MES 工装夹具资源") @RestController @@ -28,6 +35,9 @@ public class MesMdWorkstationToolController { @Resource private MesMdWorkstationToolService workstationToolService; + @Resource + private MesTmToolTypeService toolTypeService; + @PostMapping("/create") @Operation(summary = "创建工装夹具资源") @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") @@ -59,8 +69,22 @@ public class MesMdWorkstationToolController { public CommonResult> getWorkstationToolList( @RequestParam("workstationId") Long workstationId) { List list = workstationToolService.getWorkstationToolListByWorkstationId(workstationId); - // TODO @芋艿:拼装工具类型名称,等 TM 工具模块完成后对接 - return success(BeanUtils.toBean(list, MesMdWorkstationToolRespVO.class)); + return success(buildWorkstationToolRespVOList(list)); + } + + // ==================== 拼接 VO ==================== + + private List buildWorkstationToolRespVOList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + // 1. 批量获取工具类型信息 + Map toolTypeMap = toolTypeService.getToolTypeMap( + convertSet(list, MesMdWorkstationToolDO::getToolTypeId)); + // 2. 拼接 VO + return BeanUtils.toBean(list, MesMdWorkstationToolRespVO.class, vo -> + MapUtils.findAndThen(toolTypeMap, vo.getToolTypeId(), + toolType -> vo.setToolTypeName(toolType.getName()))); } }