From f9a12ecb4ea4b7b103b50634335704140237fef7 Mon Sep 17 00:00:00 2001 From: 朱桂飞 <zhuguifei@zhuguifeideMacBook-Air.local> Date: 星期三, 19 二月 2025 15:11:28 +0800 Subject: [PATCH] 完成工具借用、归还相关 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 7 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java index 6ef4ace..b191443 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java @@ -10,7 +10,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.eims.domain.EimsEqu; +import org.dromara.eims.domain.EimsFixtureBorrow; import org.dromara.eims.domain.vo.EimsInventoryDetailVo; +import org.dromara.eims.utils.DataFilterUtil; +import org.dromara.system.domain.SysDept; +import org.dromara.system.domain.vo.SysDeptVo; +import org.dromara.system.mapper.SysDeptMapper; import org.springframework.stereotype.Service; import org.dromara.eims.domain.bo.EimsRepairReqBo; import org.dromara.eims.domain.vo.EimsRepairReqVo; @@ -18,6 +23,7 @@ import org.dromara.eims.mapper.EimsRepairReqMapper; import org.dromara.eims.service.IEimsRepairReqService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -33,6 +39,7 @@ public class EimsRepairReqServiceImpl implements IEimsRepairReqService { private final EimsRepairReqMapper baseMapper; + private final SysDeptMapper sysDeptMapper; /** * 鏌ヨ鏁呴殰鎶ヤ慨 @@ -41,7 +48,7 @@ * @return 鏁呴殰鎶ヤ慨 */ @Override - public EimsRepairReqVo queryById(Long id){ + public EimsRepairReqVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -61,6 +68,7 @@ @Override public TableDataInfo<EimsRepairReqVo> queryPageListCustom(EimsRepairReqBo bo, PageQuery pageQuery) { + DataFilterUtil.getInstance().filterRepairReq(bo); Page<EimsRepairReqVo> page = baseMapper.selectRepairReqList(pageQuery.build(), buildWrapper(bo)); return TableDataInfo.build(page); } @@ -68,24 +76,62 @@ private QueryWrapper<EimsRepairReq> buildWrapper(EimsRepairReqBo bo) { Map<String, Object> params = bo.getParams(); QueryWrapper<EimsRepairReq> qw = Wrappers.query(); - qw.like(StringUtils.isNotBlank(bo.getCode()),"a.code", bo.getCode()); + qw.like(StringUtils.isNotBlank(bo.getCode()), "a.code", bo.getCode()); qw.eq(StringUtils.isNotBlank(bo.getStatus()), "a.status", bo.getStatus()); qw.eq(bo.getReqTime() != null, "a.req_time", bo.getReqTime()); - qw.eq(bo.getReqDept() != null, "a.req_dept", bo.getReqDept()); - qw.eq(bo.getReqUser() != null,"a.req_user", bo.getReqUser()); + qw.eq(bo.getReqUser() != null, "a.req_user", bo.getReqUser()); qw.eq(StringUtils.isNotBlank(bo.getUrgencyLevel()), "a.urgency_level", bo.getUrgencyLevel()); qw.eq(StringUtils.isNotBlank(bo.getReqType()), "a.req_type", bo.getReqType()); qw.eq(bo.getEquId() != null, "a.equ_id", bo.getEquId()); - qw.eq(bo.getRepairDept() != null,"a.repair_dept", bo.getRepairDept()); + qw.eq(bo.getRepairDept() != null, "a.repair_dept", bo.getRepairDept()); qw.eq(bo.getRepairUser() != null, "a.repair_user", bo.getRepairUser()); qw.eq(StringUtils.isNotBlank(bo.getFaultType()), "a,fault_type", bo.getFaultType()); qw.eq(params.containsKey("createBy"), "a.create_by", params.get("createBy")); qw.eq(params.containsKey("status"), "a.status", params.get("status")); qw.between(params.get("beginReqTime") != null && params.get("endReqTime") != null, "a.req_time", params.get("beginReqTime"), params.get("endReqTime")); + + + qw.eq(bo.getCreateBy()!=null, "a.create_by", bo.getCreateBy()); + qw.eq(StringUtils.isNotEmpty(bo.getStatus()), "a.status", bo.getStatus()); + + /** + * 鏌ヨ閮ㄩ棬涓嬫墍鏈夊瓙閮ㄩ棬 + */ + if (bo.getReqDept() != null) { + List<Long> allDescendantIds = getAllDescendantIds(bo.getReqDept()); + qw.in(bo.getReqDept() != null, "a.req_dept", 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<SysDept> sysDeptWrapper = new QueryWrapper<>(); + sysDeptWrapper.lambda().eq(SysDept::getParentId, currentId); + + List<SysDeptVo> children = sysDeptMapper.selectVoList(sysDeptWrapper); + if (children != null && !children.isEmpty()) { + for (SysDeptVo child : children) { + Long childId = child.getDeptId(); + collector.add(childId); + collectDescendants(childId, collector); + } + } + } /** * 鏌ヨ绗﹀悎鏉′欢鐨勬晠闅滄姤淇垪琛� @@ -149,7 +195,7 @@ /** * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 */ - private void validEntityBeforeSave(EimsRepairReq entity){ + private void validEntityBeforeSave(EimsRepairReq entity) { //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 } @@ -162,7 +208,7 @@ */ @Override public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� } return baseMapper.deleteByIds(ids) > 0; -- Gitblit v1.9.3