Commit b9ea7937e8d9204522e50efe5969cceea48a65e6
1 parent
71ef24a2
✨ feat(mes): 更新工作站表单,添加工序和设备选择功能
Showing
2 changed files
with
53 additions
and
4 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java
| 1 | 1 | package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | |
| 4 | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | 7 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineRespVO; |
| 6 | 8 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineSaveReqVO; |
| 9 | +import cn.iocoder.yudao.module.mes.dal.dataobject.dv.machinery.MesDvMachineryDO; | |
| 7 | 10 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; |
| 11 | +import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService; | |
| 8 | 12 | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationMachineService; |
| 9 | 13 | import io.swagger.v3.oas.annotations.Operation; |
| 10 | 14 | import io.swagger.v3.oas.annotations.Parameter; |
| ... | ... | @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; |
| 15 | 19 | import org.springframework.validation.annotation.Validated; |
| 16 | 20 | import org.springframework.web.bind.annotation.*; |
| 17 | 21 | |
| 22 | +import java.util.Collections; | |
| 18 | 23 | import java.util.List; |
| 24 | +import java.util.Map; | |
| 19 | 25 | |
| 20 | 26 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 27 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | |
| 21 | 28 | |
| 22 | 29 | @Tag(name = "管理后台 - MES 设备资源") |
| 23 | 30 | @RestController |
| ... | ... | @@ -28,6 +35,9 @@ public class MesMdWorkstationMachineController { |
| 28 | 35 | @Resource |
| 29 | 36 | private MesMdWorkstationMachineService workstationMachineService; |
| 30 | 37 | |
| 38 | + @Resource | |
| 39 | + private MesDvMachineryService machineryService; | |
| 40 | + | |
| 31 | 41 | @PostMapping("/create") |
| 32 | 42 | @Operation(summary = "创建设备资源") |
| 33 | 43 | @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") |
| ... | ... | @@ -51,8 +61,23 @@ public class MesMdWorkstationMachineController { |
| 51 | 61 | public CommonResult<List<MesMdWorkstationMachineRespVO>> getWorkstationMachineList( |
| 52 | 62 | @RequestParam("workstationId") Long workstationId) { |
| 53 | 63 | List<MesMdWorkstationMachineDO> list = workstationMachineService.getWorkstationMachineListByWorkstationId(workstationId); |
| 54 | - // TODO @芋艿:拼装设备编码/名称,等 DV 设备模块完成后对接 | |
| 55 | - return success(BeanUtils.toBean(list, MesMdWorkstationMachineRespVO.class)); | |
| 64 | + return success(buildWorkstationMachineRespVOList(list)); | |
| 65 | + } | |
| 66 | + | |
| 67 | + // ==================== 拼接 VO ==================== | |
| 68 | + | |
| 69 | + private List<MesMdWorkstationMachineRespVO> buildWorkstationMachineRespVOList(List<MesMdWorkstationMachineDO> list) { | |
| 70 | + if (CollUtil.isEmpty(list)) { | |
| 71 | + return Collections.emptyList(); | |
| 72 | + } | |
| 73 | + // 1. 批量获取设备信息 | |
| 74 | + Map<Long, MesDvMachineryDO> machineryMap = machineryService.getMachineryMap( | |
| 75 | + convertSet(list, MesMdWorkstationMachineDO::getMachineryId)); | |
| 76 | + // 2. 拼接 VO | |
| 77 | + return BeanUtils.toBean(list, MesMdWorkstationMachineRespVO.class, vo -> { | |
| 78 | + MapUtils.findAndThen(machineryMap, vo.getMachineryId(), | |
| 79 | + machinery -> vo.setMachineryCode(machinery.getCode()).setMachineryName(machinery.getName())); | |
| 80 | + }); | |
| 56 | 81 | } |
| 57 | 82 | |
| 58 | 83 | } | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java
| 1 | 1 | package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | |
| 4 | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | 7 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolRespVO; |
| 6 | 8 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; |
| 7 | 9 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; |
| 10 | +import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolTypeDO; | |
| 8 | 11 | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationToolService; |
| 12 | +import cn.iocoder.yudao.module.mes.service.tm.tool.MesTmToolTypeService; | |
| 9 | 13 | import io.swagger.v3.oas.annotations.Operation; |
| 10 | 14 | import io.swagger.v3.oas.annotations.Parameter; |
| 11 | 15 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; |
| 15 | 19 | import org.springframework.validation.annotation.Validated; |
| 16 | 20 | import org.springframework.web.bind.annotation.*; |
| 17 | 21 | |
| 22 | +import java.util.Collections; | |
| 18 | 23 | import java.util.List; |
| 24 | +import java.util.Map; | |
| 19 | 25 | |
| 20 | 26 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 27 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | |
| 21 | 28 | |
| 22 | 29 | @Tag(name = "管理后台 - MES 工装夹具资源") |
| 23 | 30 | @RestController |
| ... | ... | @@ -28,6 +35,9 @@ public class MesMdWorkstationToolController { |
| 28 | 35 | @Resource |
| 29 | 36 | private MesMdWorkstationToolService workstationToolService; |
| 30 | 37 | |
| 38 | + @Resource | |
| 39 | + private MesTmToolTypeService toolTypeService; | |
| 40 | + | |
| 31 | 41 | @PostMapping("/create") |
| 32 | 42 | @Operation(summary = "创建工装夹具资源") |
| 33 | 43 | @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") |
| ... | ... | @@ -59,8 +69,22 @@ public class MesMdWorkstationToolController { |
| 59 | 69 | public CommonResult<List<MesMdWorkstationToolRespVO>> getWorkstationToolList( |
| 60 | 70 | @RequestParam("workstationId") Long workstationId) { |
| 61 | 71 | List<MesMdWorkstationToolDO> list = workstationToolService.getWorkstationToolListByWorkstationId(workstationId); |
| 62 | - // TODO @芋艿:拼装工具类型名称,等 TM 工具模块完成后对接 | |
| 63 | - return success(BeanUtils.toBean(list, MesMdWorkstationToolRespVO.class)); | |
| 72 | + return success(buildWorkstationToolRespVOList(list)); | |
| 73 | + } | |
| 74 | + | |
| 75 | + // ==================== 拼接 VO ==================== | |
| 76 | + | |
| 77 | + private List<MesMdWorkstationToolRespVO> buildWorkstationToolRespVOList(List<MesMdWorkstationToolDO> list) { | |
| 78 | + if (CollUtil.isEmpty(list)) { | |
| 79 | + return Collections.emptyList(); | |
| 80 | + } | |
| 81 | + // 1. 批量获取工具类型信息 | |
| 82 | + Map<Long, MesTmToolTypeDO> toolTypeMap = toolTypeService.getToolTypeMap( | |
| 83 | + convertSet(list, MesMdWorkstationToolDO::getToolTypeId)); | |
| 84 | + // 2. 拼接 VO | |
| 85 | + return BeanUtils.toBean(list, MesMdWorkstationToolRespVO.class, vo -> | |
| 86 | + MapUtils.findAndThen(toolTypeMap, vo.getToolTypeId(), | |
| 87 | + toolType -> vo.setToolTypeName(toolType.getName()))); | |
| 64 | 88 | } |
| 65 | 89 | |
| 66 | 90 | } | ... | ... |