From 3baaad59171ded6aca17340fcc907acbeeb45b7b Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期二, 08 四月 2025 08:14:43 +0800 Subject: [PATCH] Merge branch 'main' of http://lanpucloud.cn:1111/r/eims-master --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsFaultKnowServiceImpl.java | 191 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 191 insertions(+), 0 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsFaultKnowServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsFaultKnowServiceImpl.java new file mode 100644 index 0000000..48c0827 --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsFaultKnowServiceImpl.java @@ -0,0 +1,191 @@ +package org.dromara.eims.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.eims.domain.EimsEquType; +import org.dromara.eims.domain.vo.EimsEquTypeVo; +import org.dromara.eims.mapper.EimsEquTypeMapper; +import org.springframework.stereotype.Service; +import org.dromara.eims.domain.bo.EimsFaultKnowBo; +import org.dromara.eims.domain.vo.EimsFaultKnowVo; +import org.dromara.eims.domain.EimsFaultKnow; +import org.dromara.eims.mapper.EimsFaultKnowMapper; +import org.dromara.eims.service.IEimsFaultKnowService; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 鏁呴殰鐭ヨ瘑Service涓氬姟灞傚鐞� + * + * @author zhuguifei + * @date 2025-03-18 + */ +@RequiredArgsConstructor +@Service +public class EimsFaultKnowServiceImpl implements IEimsFaultKnowService { + + private final EimsFaultKnowMapper baseMapper; + private final EimsEquTypeMapper equTypeMapper; + + /** + * 鏌ヨ鏁呴殰鐭ヨ瘑 + * + * @param id 涓婚敭 + * @return 鏁呴殰鐭ヨ瘑 + */ + @Override + public EimsFaultKnowVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 鍒嗛〉鏌ヨ鏁呴殰鐭ヨ瘑鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 鏁呴殰鐭ヨ瘑鍒嗛〉鍒楄〃 + */ + @Override + public TableDataInfo<EimsFaultKnowVo> queryPageList(EimsFaultKnowBo bo, PageQuery pageQuery) { + QueryWrapper<EimsFaultKnow> qw = buildWrapper(bo); + Page<EimsFaultKnowVo> result = baseMapper.selectFaultKnowList(pageQuery.build(), qw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬晠闅滅煡璇嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 鏁呴殰鐭ヨ瘑鍒楄〃 + */ + @Override + public List<EimsFaultKnowVo> queryList(EimsFaultKnowBo bo) { + LambdaQueryWrapper<EimsFaultKnow> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<EimsFaultKnow> buildQueryWrapper(EimsFaultKnowBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<EimsFaultKnow> lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getEquId() != null, EimsFaultKnow::getEquId, bo.getEquId()); + lqw.eq(bo.getEquType() != null, EimsFaultKnow::getEquType, bo.getEquType()); + lqw.eq(StringUtils.isNotBlank(bo.getEquPart()), EimsFaultKnow::getEquPart, bo.getEquPart()); + lqw.eq(StringUtils.isNotBlank(bo.getFaultCode()), EimsFaultKnow::getFaultCode, bo.getFaultCode()); + lqw.eq(StringUtils.isNotBlank(bo.getFaultType()), EimsFaultKnow::getFaultType, bo.getFaultType()); + lqw.eq(StringUtils.isNotBlank(bo.getFaultReason()), EimsFaultKnow::getFaultReason, bo.getFaultReason()); + lqw.eq(StringUtils.isNotBlank(bo.getReqDesc()), EimsFaultKnow::getReqDesc, bo.getReqDesc()); + lqw.eq(StringUtils.isNotBlank(bo.getResHandle()), EimsFaultKnow::getResHandle, bo.getResHandle()); + return lqw; + } + private QueryWrapper<EimsFaultKnow> buildWrapper(EimsFaultKnowBo bo) { + Map<String, Object> params = bo.getParams(); + QueryWrapper<EimsFaultKnow> qw = Wrappers.query(); + qw.eq(bo.getEquId() != null, "fk.equ_id", bo.getEquId()); + qw.eq(bo.getEquType() != null,"fk.equ_type", bo.getEquType()); + qw.like(bo.getEquName() != null,"eu.equ_name", bo.getEquName()); + qw.like(bo.getAssetNo() != null,"eu.asset_no", bo.getAssetNo()); + qw.eq(StringUtils.isNotBlank(bo.getEquPart()), "fk.equ_part", bo.getEquPart()); + qw.like(StringUtils.isNotBlank(bo.getFaultCode()), "fk.fault_code", bo.getFaultCode()); + qw.eq(StringUtils.isNotBlank(bo.getFaultType()), "fk.fault_type", bo.getFaultType()); + qw.eq(StringUtils.isNotBlank(bo.getFaultReason()), "fk.fault_reason", bo.getFaultReason()); + qw.like(StringUtils.isNotBlank(bo.getReqDesc()),"fk.req_desc", bo.getReqDesc()); + qw.like(StringUtils.isNotBlank(bo.getResHandle()), "fk.res_handle", bo.getResHandle()); + + if (bo.getEquTypeId() != null && bo.getEquTypeId() > 0) { + List<Long> allDescendantIds = getAllDescendantIds(bo.getEquTypeId()); + qw.in("et.equ_type_id", allDescendantIds); + } + + + return qw; + } + + /** + * 鏍规嵁id锛岃幏鍙栨墍鏈夊悗浠d + * + * @param rootId + * @return + */ + public List<Long> getAllDescendantIds(Long rootId) { + List<Long> result = new ArrayList<>(); + result.add(rootId); + collectDescendants(rootId, result); + return result; + } + + private void collectDescendants(Long currentId, List<Long> collector) { + QueryWrapper<EimsEquType> equTypeWrapper = new QueryWrapper<>(); + equTypeWrapper.lambda().eq(EimsEquType::getParentId, currentId); + + List<EimsEquTypeVo> children = equTypeMapper.selectVoList(equTypeWrapper); + if (children != null && !children.isEmpty()) { + for (EimsEquTypeVo child : children) { + Long childId = child.getEquTypeId(); + collector.add(childId); + collectDescendants(childId, collector); + } + } + } + + /** + * 鏂板鏁呴殰鐭ヨ瘑 + * + * @param bo 鏁呴殰鐭ヨ瘑 + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(EimsFaultKnowBo bo) { + EimsFaultKnow add = MapstructUtils.convert(bo, EimsFaultKnow.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 淇敼鏁呴殰鐭ヨ瘑 + * + * @param bo 鏁呴殰鐭ヨ瘑 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(EimsFaultKnowBo bo) { + EimsFaultKnow update = MapstructUtils.convert(bo, EimsFaultKnow.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(EimsFaultKnow entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ晠闅滅煡璇嗕俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} -- Gitblit v1.9.3