From b7016b35911f22d9ab7b3285c0a2e745bc124234 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 22 May 2026 15:30:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(eqp):=20=E6=B7=BB=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=A3=80=E9=AA=8C=E6=B8=85=E5=8D=95=E9=83=A8=E4=BD=8D?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=A1=AB=E5=85=85=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在EqpEquipmentChecklistBo中新增partIds字段用于批量查询 - 实现检验清单查询时自动填充检验部位名称的功能 - 重构设备部件服务中的检验清单列表获取逻辑 - 优化设备部件页面数据加载性能通过批量查询方式 - 移除手动设置部位名称的冗余代码实现自动关联 --- .../domain/bo/EqpEquipmentChecklistBo.java | 3 +++ .../EqpEquipmentChecklistServiceImpl.java | 25 ++++++++++++++++++- .../impl/EqpEquipmentPartServiceImpl.java | 17 +++++++------ 3 files changed, 36 insertions(+), 9 deletions(-) diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpEquipmentChecklistBo.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpEquipmentChecklistBo.java index 0d34d6b3..5b11e70b 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpEquipmentChecklistBo.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpEquipmentChecklistBo.java @@ -4,6 +4,7 @@ import com.klp.common.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.*; +import java.util.List; /** @@ -62,5 +63,7 @@ public class EqpEquipmentChecklistBo extends BaseEntity { */ private String remark; + private List partIds; + } diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentChecklistServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentChecklistServiceImpl.java index 2535a45a..e5a164c1 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentChecklistServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentChecklistServiceImpl.java @@ -12,7 +12,9 @@ import org.springframework.stereotype.Service; import com.klp.mes.eqp.domain.bo.EqpEquipmentChecklistBo; import com.klp.mes.eqp.domain.vo.EqpEquipmentChecklistVo; import com.klp.mes.eqp.domain.EqpEquipmentChecklist; +import com.klp.mes.eqp.domain.EqpEquipmentPart; import com.klp.mes.eqp.mapper.EqpEquipmentChecklistMapper; +import com.klp.mes.eqp.mapper.EqpEquipmentPartMapper; import com.klp.mes.eqp.service.IEqpEquipmentChecklistService; import java.util.List; @@ -30,6 +32,7 @@ import java.util.Collection; public class EqpEquipmentChecklistServiceImpl implements IEqpEquipmentChecklistService { private final EqpEquipmentChecklistMapper baseMapper; + private final EqpEquipmentPartMapper eqpEquipmentPartMapper; /** * 查询设备检验清单 @@ -46,6 +49,7 @@ public class EqpEquipmentChecklistServiceImpl implements IEqpEquipmentChecklistS public TableDataInfo queryPageList(EqpEquipmentChecklistBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + fillPartName(result.getRecords()); return TableDataInfo.build(result); } @@ -55,7 +59,26 @@ public class EqpEquipmentChecklistServiceImpl implements IEqpEquipmentChecklistS @Override public List queryList(EqpEquipmentChecklistBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + fillPartName(list); + return list; + } + + /** + * 填充检验清单的检验部位名称 + */ + private void fillPartName(List list) { + if (list == null || list.isEmpty()) { + return; + } + list.forEach(vo -> { + if (vo.getPartId() != null) { + EqpEquipmentPart part = eqpEquipmentPartMapper.selectById(vo.getPartId()); + if (part != null) { + vo.setPartName(part.getInspectPart()); + } + } + }); } private LambdaQueryWrapper buildQueryWrapper(EqpEquipmentChecklistBo bo) { diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentPartServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentPartServiceImpl.java index c04f4a49..36f90973 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentPartServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpEquipmentPartServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import com.klp.mes.eqp.domain.bo.EqpEquipmentChecklistBo; +import com.klp.mes.eqp.service.IEqpEquipmentChecklistService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.mes.eqp.domain.bo.EqpEquipmentPartBo; @@ -21,6 +22,7 @@ import com.klp.mes.eqp.service.IEqpEquipmentPartService; import java.util.*; import java.util.stream.Collectors; + import org.springframework.transaction.annotation.Transactional; /** @@ -34,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional; public class EqpEquipmentPartServiceImpl implements IEqpEquipmentPartService { private final EqpEquipmentPartMapper baseMapper; + private final IEqpEquipmentChecklistService checklistService; private final EqpEquipmentChecklistMapper checklistMapper; /** @@ -54,16 +57,14 @@ public class EqpEquipmentPartServiceImpl implements IEqpEquipmentPartService { List partIds = result.getRecords().stream() .map(EqpEquipmentPartVo::getPartId).collect(Collectors.toList()); if (!partIds.isEmpty()) { - LambdaQueryWrapper checklistLqw = Wrappers.lambdaQuery(); - checklistLqw.in(EqpEquipmentChecklist::getPartId, partIds); - List checklistList = checklistMapper.selectVoList(checklistLqw); + EqpEquipmentChecklistBo eqpEquipmentChecklistBo = new EqpEquipmentChecklistBo(); + eqpEquipmentChecklistBo.setPartIds(partIds); + List checklistList = checklistService.queryList(eqpEquipmentChecklistBo); Map> checklistMap = checklistList.stream() .collect(Collectors.groupingBy(EqpEquipmentChecklistVo::getPartId)); - result.getRecords().forEach(vo -> { - List items = checklistMap.getOrDefault(vo.getPartId(), Collections.emptyList()); - items.forEach(checklist -> checklist.setPartName(vo.getInspectPart())); - vo.setChecklistList(items); - }); + result.getRecords().forEach(vo -> + vo.setChecklistList(checklistMap.getOrDefault(vo.getPartId(), Collections.emptyList())) + ); } return TableDataInfo.build(result); }