Bläddra i källkod

重点项目库-项目明细导出新增搜索

Wayne 3 månader sedan
förälder
incheckning
fa457a7a20

+ 4 - 4
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.java

@@ -61,19 +61,19 @@ public interface SubInfoMapper {
 
     List<SubInfoTotalExcel> exportTotalExcelByStatus(@Param("status") String status);
 
-    List<SubInfoFixDetail> exportFixDetailExcel(@Param("stateFix")String stateFix, @Param("year") String year);
+    List<SubInfoFixDetail> exportFixDetailExcel(@Param("stateFix")String stateFix, @Param("year") String year,@Param("subName") String subName, @Param("indusKinds") List<String> indusKinds, @Param("sbdw") String sbdw, @Param("subjectId") String subjectId, @Param("startAmt") String startAmt, @Param("endAmt") String endAmt);
 
     List<SubInfoFixDetailPreNew> selectSubPreNewBySubIds(@Param("subIdList")List<String> subIdList);
 
     List<RptCont> selectNewestMonthReport(@Param("ids") List<String> ids);
 
-    List<SubInfoFixCbDetail> exportFixCbDetailExcel(@Param("stateFix") String stateFix, @Param("year") String year);
+    List<SubInfoFixCbDetail> exportFixCbDetailExcel(@Param("stateFix") String stateFix, @Param("year") String year,@Param("subName") String subName, @Param("indusKinds") List<String> indusKinds, @Param("sbdw") String sbdw, @Param("subjectId") String subjectId, @Param("startAmt") String startAmt, @Param("endAmt") String endAmt);
 
-    List<SubInfoFixZjDetail> exportFixZjDetailExcel(@Param("stateFix") String stateFix, @Param("year") String year);
+    List<SubInfoFixZjDetail> exportFixZjDetailExcel(@Param("stateFix") String stateFix, @Param("year") String year,@Param("subName") String subName, @Param("indusKinds") List<String> indusKinds, @Param("sbdw") String sbdw, @Param("subjectId") String subjectId, @Param("startAmt") String startAmt, @Param("endAmt") String endAmt);
 
     List<MoneyMap> selectYearMoney(@Param("subIdList") List<String> subIdList, @Param("year") String year);
 
-    List<SubInfoFixTcDetail> exportFixTcDetailExcel(@Param("stateFix") String stateFix,@Param("year") String year);
+    List<SubInfoFixTcDetail> exportFixTcDetailExcel(@Param("stateFix") String stateFix,@Param("year") String year,@Param("subName") String subName, @Param("indusKinds") List<String> indusKinds, @Param("sbdw") String sbdw, @Param("subjectId") String subjectId, @Param("startAmt") String startAmt, @Param("endAmt") String endAmt);
 
     List<SubFixGetBeginRateVo> subFixGetBeginRate(@Param("queryVO")SubInfoQueryTzVO queryVO,@Param("indusKinds") List<String> indusKinds);
 

+ 84 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -449,6 +449,27 @@
         FROM sub_fix
                  LEFT JOIN sub_info ON sub_fix.sub_id = sub_info.id
         WHERE sub_fix.cat = #{stateFix} and sub_fix.year = #{year} and sub_info.logic_delete_flag = 0
+        <if test="subName != null and subName != ''">
+            AND sub_info.sub_name LIKE CONCAT('%', #{subName}, '%')
+        </if>
+        <if test="subjectId != null and subjectId != ''">
+            AND sub_info.subject_id = #{subjectId}
+        </if>
+        <if test="indusKinds != null and indusKinds.size() &gt; 0">
+            AND sub_info.indus_kind IN
+            <foreach collection="indusKinds" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="sbdw != null and sbdw != ''">
+            AND sub_info.unit_desc LIKE CONCAT('%', #{sbdw}, '%')
+        </if>
+        <if test="startAmt != null and startAmt !=''">
+            AND sub_info.amt_total &gt;= #{startAmt}
+        </if>
+        <if test="endAmt != null and endAmt != ''">
+            AND sub_info.amt_total &lt;= #{endAmt}
+        </if>
     </select>
 
     <select id="selectSubPreNewBySubIds" resultType="com.rtrh.projects.modules.projects.vo.SubInfoFixDetailPreNew">
@@ -508,6 +529,27 @@
         FROM sub_fix
                  LEFT JOIN sub_info ON sub_fix.sub_id = sub_info.id
         WHERE sub_fix.cat = #{stateFix} and sub_fix.year = #{year} and sub_info.logic_delete_flag = 0
+        <if test="subName != null and subName != ''">
+            AND sub_info.sub_name LIKE CONCAT('%', #{subName}, '%')
+        </if>
+        <if test="subjectId != null and subjectId != ''">
+            AND sub_info.subject_id = #{subjectId}
+        </if>
+        <if test="indusKinds != null and indusKinds.size() &gt; 0">
+            AND sub_info.indus_kind IN
+            <foreach collection="indusKinds" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="sbdw != null and sbdw != ''">
+            AND sub_info.unit_desc LIKE CONCAT('%', #{sbdw}, '%')
+        </if>
+        <if test="startAmt != null and startAmt !=''">
+            AND sub_info.amt_total &gt;= #{startAmt}
+        </if>
+        <if test="endAmt != null and endAmt != ''">
+            AND sub_info.amt_total &lt;= #{endAmt}
+        </if>
     </select>
     <select id="exportFixZjDetailExcel" resultType="com.rtrh.projects.modules.projects.vo.export.SubInfoFixZjDetail">
         SELECT
@@ -528,6 +570,27 @@
             sub_info.logic_delete_flag = 0
           AND sub_fix.cat = #{stateFix}
           AND sub_fix.year = #{year}
+        <if test="subName != null and subName != ''">
+            AND sub_info.sub_name LIKE CONCAT('%', #{subName}, '%')
+        </if>
+        <if test="subjectId != null and subjectId != ''">
+            AND sub_info.subject_id = #{subjectId}
+        </if>
+        <if test="indusKinds != null and indusKinds.size() &gt; 0">
+            AND sub_info.indus_kind IN
+            <foreach collection="indusKinds" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="sbdw != null and sbdw != ''">
+            AND sub_info.unit_desc LIKE CONCAT('%', #{sbdw}, '%')
+        </if>
+        <if test="startAmt != null and startAmt !=''">
+            AND sub_info.amt_total &gt;= #{startAmt}
+        </if>
+        <if test="endAmt != null and endAmt != ''">
+            AND sub_info.amt_total &lt;= #{endAmt}
+        </if>
     </select>
     <select id="selectYearMoney" resultType="com.rtrh.projects.modules.projects.vo.export.MoneyMap">
         SELECT
@@ -563,6 +626,27 @@
             sub_info.logic_delete_flag = 0
           AND sub_fix.cat = #{stateFix}
           AND sub_fix.year = #{year}
+        <if test="subName != null and subName != ''">
+            AND sub_info.sub_name LIKE CONCAT('%', #{subName}, '%')
+        </if>
+        <if test="subjectId != null and subjectId != ''">
+            AND sub_info.subject_id = #{subjectId}
+        </if>
+        <if test="indusKinds != null and indusKinds.size() &gt; 0">
+            AND sub_info.indus_kind IN
+            <foreach collection="indusKinds" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="sbdw != null and sbdw != ''">
+            AND sub_info.unit_desc LIKE CONCAT('%', #{sbdw}, '%')
+        </if>
+        <if test="startAmt != null and startAmt !=''">
+            AND sub_info.amt_total &gt;= #{startAmt}
+        </if>
+        <if test="endAmt != null and endAmt != ''">
+            AND sub_info.amt_total &lt;= #{endAmt}
+        </if>
     </select>
     <select id="subFixGetBeginRate" resultType="com.rtrh.projects.vo.projects.SubFixGetBeginRateVo">
         SELECT

+ 97 - 24
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java

@@ -4790,9 +4790,32 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Override
     public List<SubInfoFixDetail> exportFixDetailExcel(SubInfoQueryTzVO vo) {
 
+        // 获取行业
+        List<SubIndu> subInduList = Optional.ofNullable(
+                subInduService.selectAllSubIndu()
+        ).orElse(Collections.emptyList());
+
+        //保存行业code
+        List<String> indusKinds = new ArrayList<>();
+        //判断搜索条件中是否有行业分类条件
+        if (StringUtils.isNotBlank(vo.getIndusKind())) {
+            //在subInduList中找到code=queryVO.getIndusKinds()的数据
+            SubIndu subIndu = subInduList.stream().filter(item -> item.getCode().equals(vo.getIndusKind())).findFirst().orElse(null);
+
+            if (subIndu != null){
+                //判断这个行业是不是上级行业
+                if (StringUtils.isBlank(subIndu.getLastId())){
+                    // 这个行业是上级行业,需要找到所有下级行业的code
+                    indusKinds = subInduList.stream().filter(item -> item.getLastId() != null && item.getLastId().equals(subIndu.getId())).map(SubIndu::getCode).collect(Collectors.toList());
+                }else {
+                    indusKinds.add(subIndu.getCode());
+                }
+            }
+        }
+
         // 查询所有的重点项目信息,若结果为空则初始化为一个空列表
         List<SubInfoFixDetail> dataList = Optional.ofNullable(
-                subInfoMapper.exportFixDetailExcel(vo.getStateFix(), vo.getYear())
+                subInfoMapper.exportFixDetailExcel(vo.getStateFix(), vo.getYear(),vo.getSubName(),indusKinds,vo.getSbdw(),vo.getSubjectId(),vo.getStartAmt(),vo.getEndAmt())
         ).orElse(Collections.emptyList());
 
         // 收集所有重点项目信息的ID
@@ -4806,11 +4829,6 @@ public class SubInfoServiceImpl implements SubInfoService {
                 subInfoMapper.selectSubPreNewBySubIds(subIdList)
         ).orElse(Collections.emptyList());
 
-        // 获取行业
-        List<SubIndu> subInduList = Optional.ofNullable(
-                subInduService.selectAllSubIndu()
-        ).orElse(Collections.emptyList());
-
 
         //对手续信息按照id进行分组
         Map<String, List<SubInfoFixDetailPreNew>> preNewMap = preNewList.stream().collect(Collectors.groupingBy(SubInfoFixDetailPreNew::getSubId));
@@ -4885,9 +4903,33 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Override
     public List<SubInfoFixCbDetail> exportFixCbDetailExcel(SubInfoQueryTzVO vo) {
 
+        // 获取行业
+        List<SubIndu> subInduList = Optional.ofNullable(
+                subInduService.selectAllSubIndu()
+        ).orElse(Collections.emptyList());
+
+        //保存行业code
+        List<String> indusKinds = new ArrayList<>();
+        //判断搜索条件中是否有行业分类条件
+        if (StringUtils.isNotBlank(vo.getIndusKind())) {
+            //在subInduList中找到code=queryVO.getIndusKinds()的数据
+            SubIndu subIndu = subInduList.stream().filter(item -> item.getCode().equals(vo.getIndusKind())).findFirst().orElse(null);
+
+            if (subIndu != null){
+                //判断这个行业是不是上级行业
+                if (StringUtils.isBlank(subIndu.getLastId())){
+                    // 这个行业是上级行业,需要找到所有下级行业的code
+                    indusKinds = subInduList.stream().filter(item -> item.getLastId() != null && item.getLastId().equals(subIndu.getId())).map(SubIndu::getCode).collect(Collectors.toList());
+                }else {
+                    indusKinds.add(subIndu.getCode());
+                }
+            }
+        }
+
+
         // 查询所有的重点项目信息,若结果为空则初始化为一个空列表
         List<SubInfoFixCbDetail> dataList = Optional.ofNullable(
-                subInfoMapper.exportFixCbDetailExcel(vo.getStateFix(), vo.getYear())
+                subInfoMapper.exportFixCbDetailExcel(vo.getStateFix(), vo.getYear(),vo.getSubName(),indusKinds,vo.getSbdw(),vo.getSubjectId(),vo.getStartAmt(),vo.getEndAmt())
         ).orElse(Collections.emptyList());
 
         // 获取项目建设地点
@@ -4895,11 +4937,6 @@ public class SubInfoServiceImpl implements SubInfoService {
                 tSysTableService.getByKind(SysTableKind.JSDD)
         ).orElse(Collections.emptyList());
 
-        // 获取行业
-        List<SubIndu> subInduList = Optional.ofNullable(
-                subInduService.selectAllSubIndu()
-        ).orElse(Collections.emptyList());
-
         // 遍历重点项目信息,找到对应的前期手续信息,然后拼接手续完成情况为字符串,拼接到对应的重点项目信息中
         dataList.forEach(e->{
             //设置项目所在地
@@ -4936,9 +4973,32 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Override
     public List<SubInfoFixZjDetail> exportFixZjDetailExcel(SubInfoQueryTzVO vo) {
 
+        // 获取行业
+        List<SubIndu> subInduList = Optional.ofNullable(
+                subInduService.selectAllSubIndu()
+        ).orElse(Collections.emptyList());
+
+        //保存行业code
+        List<String> indusKinds = new ArrayList<>();
+        //判断搜索条件中是否有行业分类条件
+        if (StringUtils.isNotBlank(vo.getIndusKind())) {
+            //在subInduList中找到code=queryVO.getIndusKinds()的数据
+            SubIndu subIndu = subInduList.stream().filter(item -> item.getCode().equals(vo.getIndusKind())).findFirst().orElse(null);
+
+            if (subIndu != null){
+                //判断这个行业是不是上级行业
+                if (StringUtils.isBlank(subIndu.getLastId())){
+                    // 这个行业是上级行业,需要找到所有下级行业的code
+                    indusKinds = subInduList.stream().filter(item -> item.getLastId() != null && item.getLastId().equals(subIndu.getId())).map(SubIndu::getCode).collect(Collectors.toList());
+                }else {
+                    indusKinds.add(subIndu.getCode());
+                }
+            }
+        }
+
         // 查询所有的重点项目信息,若结果为空则初始化为一个空列表
         List<SubInfoFixZjDetail> dataList = Optional.ofNullable(
-                subInfoMapper.exportFixZjDetailExcel(vo.getStateFix(), vo.getYear())
+                subInfoMapper.exportFixZjDetailExcel(vo.getStateFix(), vo.getYear(),vo.getSubName(),indusKinds,vo.getSbdw(),vo.getSubjectId(),vo.getStartAmt(),vo.getEndAmt())
         ).orElse(Collections.emptyList());
 
         //获取所有SubInfoFixZjDetail的id
@@ -4963,11 +5023,6 @@ public class SubInfoServiceImpl implements SubInfoService {
                 tSysTableService.getByKind(SysTableKind.JSDD)
         ).orElse(Collections.emptyList());
 
-        // 获取行业
-        List<SubIndu> subInduList = Optional.ofNullable(
-                subInduService.selectAllSubIndu()
-        ).orElse(Collections.emptyList());
-
         // 遍历重点项目信息,找到对应的前期手续信息,然后拼接手续完成情况为字符串,拼接到对应的重点项目信息中
         dataList.forEach(e->{
             //设置项目所在地
@@ -5011,9 +5066,32 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Override
     public List<SubInfoFixTcDetail> exportFixTcDetailExcel(SubInfoQueryTzVO vo) {
 
+        // 获取行业
+        List<SubIndu> subInduList = Optional.ofNullable(
+                subInduService.selectAllSubIndu()
+        ).orElse(Collections.emptyList());
+
+        //保存行业code
+        List<String> indusKinds = new ArrayList<>();
+        //判断搜索条件中是否有行业分类条件
+        if (StringUtils.isNotBlank(vo.getIndusKind())) {
+            //在subInduList中找到code=queryVO.getIndusKinds()的数据
+            SubIndu subIndu = subInduList.stream().filter(item -> item.getCode().equals(vo.getIndusKind())).findFirst().orElse(null);
+
+            if (subIndu != null){
+                //判断这个行业是不是上级行业
+                if (StringUtils.isBlank(subIndu.getLastId())){
+                    // 这个行业是上级行业,需要找到所有下级行业的code
+                    indusKinds = subInduList.stream().filter(item -> item.getLastId() != null && item.getLastId().equals(subIndu.getId())).map(SubIndu::getCode).collect(Collectors.toList());
+                }else {
+                    indusKinds.add(subIndu.getCode());
+                }
+            }
+        }
+
         // 查询所有的重点项目信息,若结果为空则初始化为一个空列表
         List<SubInfoFixTcDetail> dataList = Optional.ofNullable(
-                subInfoMapper.exportFixTcDetailExcel(vo.getStateFix(), vo.getYear())
+                subInfoMapper.exportFixTcDetailExcel(vo.getStateFix(), vo.getYear(),vo.getSubName(),indusKinds,vo.getSbdw(),vo.getSubjectId(),vo.getStartAmt(),vo.getEndAmt())
         ).orElse(Collections.emptyList());
 
         // 获取项目建设地点
@@ -5021,11 +5099,6 @@ public class SubInfoServiceImpl implements SubInfoService {
                 tSysTableService.getByKind(SysTableKind.JSDD)
         ).orElse(Collections.emptyList());
 
-        // 获取行业
-        List<SubIndu> subInduList = Optional.ofNullable(
-                subInduService.selectAllSubIndu()
-        ).orElse(Collections.emptyList());
-
         // 遍历重点项目信息,找到对应的前期手续信息,然后拼接手续完成情况为字符串,拼接到对应的重点项目信息中
         dataList.forEach(e->{
             //设置项目所在地