fix:修改设备管理-维修项目为多选设备

liutao_branch
HuangHuiKang 2 weeks ago
parent 8d816aefa0
commit fa9d61e75d

@ -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")

@ -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;

@ -42,7 +42,7 @@ public class RepairTemsDO extends BaseDO {
/**
* id
*/
private Long deviceId;
private String deviceId;
/**
* id
*/

@ -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<RepairTemsRespVO> getRepairTemsPage(RepairTemsPageReqVO pageReqVO) {
Page<RepairTemsRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
IPage<RepairTemsRespVO> repairTemsDOIPage = repairTemsMapper.getRepairTemsPage(page,pageReqVO);
// // 收集所有设备 ID
// Set<Long> 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<DeviceLedgerDO> deviceList = allDeviceIds.isEmpty() ? Collections.emptyList() :
// deviceLedgerMapper.selectBatchIds(new ArrayList<>(allDeviceIds));
//
// // 构建设备 ID -> 名称映射
// Map<Long, String> 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<RepairTemsRespVO> repairTemsDOPageResult = new PageResult<>(repairTemsDOIPage.getRecords(), repairTemsDOIPage.getTotal());
return repairTemsDOPageResult;
}

@ -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 @@
<if test="pageReqVO.ids != null and pageReqVO.ids != ''">
AND FIND_IN_SET(mrt.id, #{pageReqVO.ids})
</if>
GROUP BY mrt.id
<!-- <if test="pageReqVO.createTime != null and pageReqVO.createTime.length == 2">-->
<!-- AND create_time BETWEEN #{pageReqVO.createTime[0]} AND #{pageReqVO.createTime[1]}-->
<!-- </if>-->
@ -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}
</if>
<if test="pageReqVO.deviceId != null">
AND mrt.device_id = #{pageReqVO.deviceId}
AND FIND_IN_SET(#{pageReqVO.deviceId}, mrt.device_id) > 0
</if>
<if test="pageReqVO.componentId != null">
AND mrt.component_id = #{pageReqVO.componentId}
@ -146,6 +148,7 @@
<if test="pageReqVO.ids != null and pageReqVO.ids != ''">
AND FIND_IN_SET(mrt.id, #{pageReqVO.ids})
</if>
GROUP BY mrt.id
<!-- <if test="pageReqVO.createTime != null and pageReqVO.createTime.length == 2">-->
<!-- AND create_time BETWEEN #{pageReqVO.createTime[0]} AND #{pageReqVO.createTime[1]}-->
<!-- </if>-->

Loading…
Cancel
Save