diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/UseStorageInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/UseStorageInfo.java index bc6e5298..0d7b79c5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/UseStorageInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/UseStorageInfo.java @@ -58,9 +58,12 @@ public class UseStorageInfo { private Date outTime; @ApiModelProperty(value = "领料单号") - @Excel(name = "领料单号") private String code; + @ApiModelProperty(value = "工程名称") + @Excel(name = "工程名称") + private String projectName; + @ApiModelProperty(value = "关键字") private String keyWord; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java index 9da4e220..766e71d4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java @@ -88,4 +88,12 @@ public interface ComplexQueryMapper { * @return */ List selectMaCodeByTaskIdAndTypeId(@Param("taskId") Long taskId, @Param("typeId") Integer typeId); + + /** + * 查询机具编码 + * @param bean + * @return + */ + List selectMaCodeByTypeId(StorageInfo bean); + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java index c048037f..44848598 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.material.basic.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.StringUtils; import com.bonus.common.biz.enums.MaTypeManageTypeEnum; @@ -279,6 +280,19 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { } } } + // 查询在库具体编码code + List codeList = complexQueryMapper.selectMaCodeByTypeId(bean); + // 1. 创建一个 Set 存储 codeList 中的 typeId 和 maCode 的组合键 + Set validCodes = codeList.stream() + .filter(code -> code.getTypeId() != null && code.getMaCode() != null) + .map(code -> code.getTypeId() + "-" + code.getMaCode()) + .collect(Collectors.toSet()); + + if (CollectionUtil.isNotEmpty(codeList) && CollectionUtil.isNotEmpty(list)) { + list = list.stream() + .filter(item -> validCodes.contains(item.getTypeId() + "-" + item.getMaCode())) + .collect(Collectors.toList()); + } if (StringUtils.isNotBlank(bean.getKeyWord())) { String keyword = bean.getKeyWord(); return list.stream().filter(item -> { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index 214b0cdb..7d69ade1 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -553,14 +553,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND bs.type_id = #{typeId} - - AND ( - mt1.type_name like concat('%',#{keyWord},'%') or - mt.type_name like concat('%',#{keyWord},'%') or - bs.creator like concat('%',#{keyWord},'%') or - su.nick_name like concat('%',#{keyWord},'%') - ) - GROUP BY bs.ma_code, mt.type_id, mt1.type_name, mt.type_name, bs.ma_code, bs.in_num, bs.creator, bs.create_time, tt.CODE, mt.buy_price @@ -573,6 +565,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sai.num AS usNum, mm.ma_code AS maCode, lai.`code` AS code, + bp.pro_name AS projectName, GROUP_CONCAT(DISTINCT su.nick_name ORDER BY su.nick_name SEPARATOR ', ') AS maKeeper, lod.create_by AS creator, lod.create_time AS outTime @@ -584,6 +577,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN sys_user su ON mtk.user_id = su.user_id LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id LEFT JOIN lease_apply_info lai ON lai.id = sai.lease_id + LEFT JOIN bm_agreement_info bai ON bai.agreement_id = sai.agreement_id + LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id LEFT JOIN ( SELECT parent_id, create_time, create_by FROM lease_out_details GROUP BY parent_id, create_by ) AS lod ON lod.parent_id = lai.id WHERE sai.end_time IS NULL @@ -598,7 +593,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.ma_code like concat('%',#{keyWord},'%') or lai.`code` like concat('%',#{keyWord},'%') or lod.create_by like concat('%',#{keyWord},'%') or - su.nick_name like concat('%',#{keyWord},'%') + su.nick_name like concat('%',#{keyWord},'%') or + bp.pro_name like concat('%',#{keyWord},'%') ) GROUP BY mm.ma_code,lai.`code`,mt.type_id @@ -725,4 +721,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND pmi.ma_code IS NOT NULL + +