From 34c674d503e23c0cf6d0b6dec063f3049885e5f8 Mon Sep 17 00:00:00 2001 From: 朱桂飞 <zhuguifei@zhuguifeideMacBook-Air.local> Date: 星期一, 10 二月 2025 13:17:10 +0800 Subject: [PATCH] 新增盘点明细 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryDetailServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryDetailServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryDetailServiceImpl.java index 16528cb..f0a9401 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryDetailServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryDetailServiceImpl.java @@ -9,6 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.eims.domain.EimsEqu; +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.EimsInventoryDetailBo; import org.dromara.eims.domain.vo.EimsInventoryDetailVo; @@ -16,6 +20,7 @@ import org.dromara.eims.mapper.EimsInventoryDetailMapper; import org.dromara.eims.service.IEimsInventoryDetailService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -31,6 +36,7 @@ public class EimsInventoryDetailServiceImpl implements IEimsInventoryDetailService { private final EimsInventoryDetailMapper baseMapper; + private final EimsEquTypeMapper equTypeMapper; /** * 鏌ヨ鐩樼偣鏄庣粏 @@ -82,10 +88,49 @@ qw.eq(StringUtils.isNotBlank(bo.getStatus()), "a.status", bo.getStatus()); qw.like(StringUtils.isNotBlank(bo.getEquName()), "c.equ_name", bo.getEquName()); + qw.like(StringUtils.isNotBlank(bo.getEquCode()), "c.equ_code", bo.getEquCode()); + qw.like(StringUtils.isNotBlank(bo.getEquAssetNo()), "c.asset_no", bo.getEquAssetNo()); + qw.like(StringUtils.isNotBlank(bo.getLocation()), "c.location", bo.getLocation()); + qw.like(StringUtils.isNotBlank(bo.getEquStatus()), "c.status", bo.getEquStatus()); + /** + * equTypeId = 0 鏃舵煡璇㈡墍鏈夎澶囷紙榛樿鏍圭洰褰昳d涓�0锛岃瑙丼ysEquTypeServiceImpl涓璼electEquTypeTreeList锛� + * equTypeId 涓哄叾浠栧�兼椂鍙煡褰撳墠璁惧绫诲瀷id鍜屽悗浠h澶囩被鍨媔d + */ + if (bo.getEquTypeId() != null && bo.getEquTypeId() > 0) { + List<Long> allDescendantIds = getAllDescendantIds(bo.getEquTypeId()); + qw.in("c.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 鐩樼偣鏄庣粏 -- Gitblit v1.9.3