diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsRespVO.java index b7ed6d192..5ffd65751 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsRespVO.java @@ -35,7 +35,7 @@ public class RepairTemsRespVO { @Schema(description = "设备id", example = "11632") // @ExcelProperty("设备id") - private Long deviceId; + private String deviceId; @Schema(description = "关键件id", example = "29557") // @ExcelProperty("关键件id") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsSaveReqVO.java index 53b2c563f..2bd9167fe 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/repairtems/vo/RepairTemsSaveReqVO.java @@ -26,7 +26,7 @@ public class RepairTemsSaveReqVO { private Integer deviceType; @Schema(description = "设备id", example = "11632") - private Long deviceId; + private String deviceId; @Schema(description = "关键件id", example = "29557") private Long componentId; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/repairtems/RepairTemsDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/repairtems/RepairTemsDO.java index ef4943a21..b0fa641bb 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/repairtems/RepairTemsDO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/repairtems/RepairTemsDO.java @@ -42,7 +42,7 @@ public class RepairTemsDO extends BaseDO { /** * 设备id */ - private Long deviceId; + private String deviceId; /** * 关键件id */ diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/repairtems/RepairTemsServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/repairtems/RepairTemsServiceImpl.java index 47e900815..0634077d9 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/repairtems/RepairTemsServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/repairtems/RepairTemsServiceImpl.java @@ -61,6 +61,7 @@ public class RepairTemsServiceImpl implements RepairTemsService { throw exception(REPAIR_TEMS_CODE_EXISTS); } + // 插入 RepairTemsDO repairTems = BeanUtils.toBean(createReqVO, RepairTemsDO.class); repairTemsMapper.insert(repairTems); @@ -115,6 +116,33 @@ public class RepairTemsServiceImpl implements RepairTemsService { public PageResult getRepairTemsPage(RepairTemsPageReqVO pageReqVO) { Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); IPage repairTemsDOIPage = repairTemsMapper.getRepairTemsPage(page,pageReqVO); + +// // 收集所有设备 ID +// Set allDeviceIds = repairTemsDOIPage.getRecords().stream() +// .flatMap(record -> Arrays.stream(record.getDeviceId().split(","))) +// .map(String::trim) +// .filter(s -> !s.isEmpty()) +// .map(Long::valueOf) +// .collect(Collectors.toSet()); +// +// // 批量查询设备信息 +// List deviceList = allDeviceIds.isEmpty() ? Collections.emptyList() : +// deviceLedgerMapper.selectBatchIds(new ArrayList<>(allDeviceIds)); +// +// // 构建设备 ID -> 名称映射 +// Map deviceIdNameMap = deviceList.stream() +// .collect(Collectors.toMap(DeviceLedgerDO::getId, DeviceLedgerDO::getDeviceName)); +// +// // 给每条记录拼接设备名称 +// for (RepairTemsRespVO record : repairTemsDOIPage.getRecords()) { +// String deviceName = Arrays.stream(record.getDeviceId().split(",")) +// .map(String::trim) +// .filter(s -> !s.isEmpty()) +// .map(idStr -> deviceIdNameMap.getOrDefault(Long.valueOf(idStr), "未知设备")) +// .collect(Collectors.joining(",")); +// record.setDeviceName(deviceName); +// } + PageResult repairTemsDOPageResult = new PageResult<>(repairTemsDOIPage.getRecords(), repairTemsDOIPage.getTotal()); return repairTemsDOPageResult; } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/repairtems/RepairTemsMapper.xml b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/repairtems/RepairTemsMapper.xml index 1143c7ba6..9f6f24a1c 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/repairtems/RepairTemsMapper.xml +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/repairtems/RepairTemsMapper.xml @@ -36,11 +36,11 @@ mrt.deleted, mrt.tenant_id, mrt.project_content, - mdl.device_name as deviceName, + GROUP_CONCAT(DISTINCT mdl.device_name ORDER BY mdl.id) AS deviceName, mcc.name as componentName, CONCAT('(', su.username, ')', su.nickname) as creatorName FROM besure.mes_repair_tems mrt - left join besure.mes_device_ledger mdl on mdl.id = mrt.device_id + left join besure.mes_device_ledger mdl on FIND_IN_SET(mdl.id, mrt.device_id) > 0 left join besure.mes_critical_component mcc on mcc.id = mrt.component_id left join besure.system_users su on su.id = mrt.creator WHERE 1=1 @@ -80,6 +80,7 @@ AND FIND_IN_SET(mrt.id, #{pageReqVO.ids}) + GROUP BY mrt.id @@ -103,11 +104,12 @@ mrt.update_time, mrt.deleted, mrt.tenant_id, - mdl.device_name as deviceName, + mrt.project_content, + GROUP_CONCAT(DISTINCT mdl.device_name ORDER BY mdl.id) AS deviceName, mcc.name as componentName, CONCAT('(', su.username, ')', su.nickname) as creatorName FROM besure.mes_repair_tems mrt - left join besure.mes_device_ledger mdl on mdl.id = mrt.device_id + left join besure.mes_device_ledger mdl on FIND_IN_SET(mdl.id, mrt.device_id) > 0 left join besure.mes_critical_component mcc on mcc.id = mrt.component_id left join besure.system_users su on su.id = mrt.creator WHERE mrt.deleted = 0 @@ -121,7 +123,7 @@ AND mrt.device_type = #{pageReqVO.deviceType} - AND mrt.device_id = #{pageReqVO.deviceId} + AND FIND_IN_SET(#{pageReqVO.deviceId}, mrt.device_id) > 0 AND mrt.component_id = #{pageReqVO.componentId} @@ -146,6 +148,7 @@ AND FIND_IN_SET(mrt.id, #{pageReqVO.ids}) + GROUP BY mrt.id