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 | package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | 1 | package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineRespVO; | 7 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineRespVO; |
| 6 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.MesMdWorkstationMachineSaveReqVO; | 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 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; | 10 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; |
| 11 | +import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService; | ||
| 8 | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationMachineService; | 12 | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationMachineService; |
| 9 | import io.swagger.v3.oas.annotations.Operation; | 13 | import io.swagger.v3.oas.annotations.Operation; |
| 10 | import io.swagger.v3.oas.annotations.Parameter; | 14 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; | @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; | ||
| 15 | import org.springframework.validation.annotation.Validated; | 19 | import org.springframework.validation.annotation.Validated; |
| 16 | import org.springframework.web.bind.annotation.*; | 20 | import org.springframework.web.bind.annotation.*; |
| 17 | 21 | ||
| 22 | +import java.util.Collections; | ||
| 18 | import java.util.List; | 23 | import java.util.List; |
| 24 | +import java.util.Map; | ||
| 19 | 25 | ||
| 20 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 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 | @Tag(name = "管理后台 - MES 设备资源") | 29 | @Tag(name = "管理后台 - MES 设备资源") |
| 23 | @RestController | 30 | @RestController |
| @@ -28,6 +35,9 @@ public class MesMdWorkstationMachineController { | @@ -28,6 +35,9 @@ public class MesMdWorkstationMachineController { | ||
| 28 | @Resource | 35 | @Resource |
| 29 | private MesMdWorkstationMachineService workstationMachineService; | 36 | private MesMdWorkstationMachineService workstationMachineService; |
| 30 | 37 | ||
| 38 | + @Resource | ||
| 39 | + private MesDvMachineryService machineryService; | ||
| 40 | + | ||
| 31 | @PostMapping("/create") | 41 | @PostMapping("/create") |
| 32 | @Operation(summary = "创建设备资源") | 42 | @Operation(summary = "创建设备资源") |
| 33 | @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | 43 | @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") |
| @@ -51,8 +61,23 @@ public class MesMdWorkstationMachineController { | @@ -51,8 +61,23 @@ public class MesMdWorkstationMachineController { | ||
| 51 | public CommonResult<List<MesMdWorkstationMachineRespVO>> getWorkstationMachineList( | 61 | public CommonResult<List<MesMdWorkstationMachineRespVO>> getWorkstationMachineList( |
| 52 | @RequestParam("workstationId") Long workstationId) { | 62 | @RequestParam("workstationId") Long workstationId) { |
| 53 | List<MesMdWorkstationMachineDO> list = workstationMachineService.getWorkstationMachineListByWorkstationId(workstationId); | 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 | package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | 1 | package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolRespVO; | 7 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolRespVO; |
| 6 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; | 8 | import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; |
| 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; | 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 | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationToolService; | 11 | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationToolService; |
| 12 | +import cn.iocoder.yudao.module.mes.service.tm.tool.MesTmToolTypeService; | ||
| 9 | import io.swagger.v3.oas.annotations.Operation; | 13 | import io.swagger.v3.oas.annotations.Operation; |
| 10 | import io.swagger.v3.oas.annotations.Parameter; | 14 | import io.swagger.v3.oas.annotations.Parameter; |
| 11 | import io.swagger.v3.oas.annotations.tags.Tag; | 15 | import io.swagger.v3.oas.annotations.tags.Tag; |
| @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; | @@ -15,9 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize; | ||
| 15 | import org.springframework.validation.annotation.Validated; | 19 | import org.springframework.validation.annotation.Validated; |
| 16 | import org.springframework.web.bind.annotation.*; | 20 | import org.springframework.web.bind.annotation.*; |
| 17 | 21 | ||
| 22 | +import java.util.Collections; | ||
| 18 | import java.util.List; | 23 | import java.util.List; |
| 24 | +import java.util.Map; | ||
| 19 | 25 | ||
| 20 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 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 | @Tag(name = "管理后台 - MES 工装夹具资源") | 29 | @Tag(name = "管理后台 - MES 工装夹具资源") |
| 23 | @RestController | 30 | @RestController |
| @@ -28,6 +35,9 @@ public class MesMdWorkstationToolController { | @@ -28,6 +35,9 @@ public class MesMdWorkstationToolController { | ||
| 28 | @Resource | 35 | @Resource |
| 29 | private MesMdWorkstationToolService workstationToolService; | 36 | private MesMdWorkstationToolService workstationToolService; |
| 30 | 37 | ||
| 38 | + @Resource | ||
| 39 | + private MesTmToolTypeService toolTypeService; | ||
| 40 | + | ||
| 31 | @PostMapping("/create") | 41 | @PostMapping("/create") |
| 32 | @Operation(summary = "创建工装夹具资源") | 42 | @Operation(summary = "创建工装夹具资源") |
| 33 | @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | 43 | @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") |
| @@ -59,8 +69,22 @@ public class MesMdWorkstationToolController { | @@ -59,8 +69,22 @@ public class MesMdWorkstationToolController { | ||
| 59 | public CommonResult<List<MesMdWorkstationToolRespVO>> getWorkstationToolList( | 69 | public CommonResult<List<MesMdWorkstationToolRespVO>> getWorkstationToolList( |
| 60 | @RequestParam("workstationId") Long workstationId) { | 70 | @RequestParam("workstationId") Long workstationId) { |
| 61 | List<MesMdWorkstationToolDO> list = workstationToolService.getWorkstationToolListByWorkstationId(workstationId); | 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 | } |