From 7215d4e27d9eede3bc16f282c957f2356d909c2d Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 30 Aug 2024 17:51:53 +0800
Subject: [PATCH] 湖北水库:工程项目树修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java |   17 +++++++-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java            |    2 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java            |    5 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java          |    2 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java          |   56 +++++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml             |    7 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java    |    4 +-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml          |    3 +
 8 files changed, 88 insertions(+), 8 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
index adda118..a14260f 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
@@ -16,22 +16,73 @@
 @NoArgsConstructor
 @Builder
 public class ProjectSearchDTO {
+	/**
+	 * 项目名称
+	 */
 	private String projectName;
+	/**
+	 * 区域编码
+	 */
 	private String adCode;
+	/**
+	 * 设备名
+	 */
 	private String deviceName;
+	/**
+	 * 水库名
+	 */
 	private String skName;
+	/**
+	 * 工序类型
+	 */
 	private String gxType;
+	/**
+	 * 工序名
+	 */
 	private String gxName;
+	/**
+	 * 创建人
+	 */
 	private String createUser;
+	/**
+	 * 用户名
+	 */
 	private Long userId;
+	/**
+	 *
+	 */
 	private String gxInfoId;
+	/**
+	 *
+	 */
 	private String gxStepNum;
+	/**
+	 *
+	 */
 	private String projectId;
+	/**
+	 *
+	 */
 	private Integer approvalStatus;
+	/**
+	 *
+	 */
 	private Integer status;
+	/**
+	 *
+	 */
 	private Long reportPerson;
+	/**
+	 *
+	 */
 	private List<Long> projectIds;
+	/**
+	 *
+	 */
 	private String startTime;
+	/**
+	 *
+	 */
 	private String endTime;
 	/**
 	 * 工程规模
@@ -73,6 +124,9 @@
 	private Boolean isPage;
 	private List<String> sgCodeS;
 
-
+	/**
+	 * 建设期次
+	 */
+	private String buildStage;
 
 }
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java
index c733cff..c7cb318 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java
@@ -47,4 +47,9 @@
 	 * 子列表
 	 */
 	List<SgProjectTreeVO> childList;
+
+	/**
+	 * 名称
+	 */
+	private String regionName;
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java
index 94c1ed0..20f5ce4 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java
@@ -152,8 +152,8 @@
 	 * 项目树
 	 */
 	@GetMapping("project_tree")
-	public R projectTree() {
-	List<SgProjectTreeVO> tree = sgProjectInfoService.projectTree();
+	public R projectTree(ProjectSearchDTO dto) {
+	List<SgProjectTreeVO> tree = sgProjectInfoService.projectTree(dto);
 		return R.data(tree);
 	}
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
index 84077d9..614bb45 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -31,6 +31,7 @@
         <if test="dto.endTime != null and dto.endTime !='' ">
             and report.report_time &lt;= #{dto.endTime}
         </if>
+        order by report_time desc
     </select>
 
     <select id="queryPageListAll" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
@@ -59,6 +60,7 @@
         <if test="dto.endTime != null and dto.endTime != ''">
             and report.create_time &lt;= #{dto.endTime}
         </if>
+        order by report.report_time desc
     </select>
 
     <select id="queryById" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
@@ -113,6 +115,7 @@
         <if test="dto.endTime != null and dto.endTime !='' ">
             and report.report_time &lt;= #{dto.endTime}
         </if>
+        order by report.report_time desc
         <!--<choose >
             <when test="dto.approvalStatus != null and dto.approvalStatus == 0">
                 and report.audit_person = #{dto.userId} and (report."STATUS" = 0 or report."STATUS" = 1)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
index 95bd0b3..8d442e5 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -55,7 +55,7 @@
 
 	List<SgAllDeptOrUser> queryUser();
 
-	List<SgProjectTreeVO> projectTree();
+	List<SgProjectTreeVO> projectTree(@Param("dto") ProjectSearchDTO dto);
 
 
 	//List<String> getProjectIds(String code,@Param("grad") String grad );
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
index bf46c95..ee7f44f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -39,6 +39,9 @@
         <if test="dto.isBegin != null and dto.isBegin == 2">
             and info.status = 0
         </if>
+        <if test="dto.buildStage != null and dto.buildStage != ''">
+            and info.build_stage = #{dto.buildStage}
+        </if>
         <if test="dto.projectIds != null and dto.projectIds.size > 0">
             and info.id in
          <foreach collection="dto.projectIds" item="id" separator="," open="(" close=")">
@@ -444,6 +447,7 @@
     </select>
     <select id="projectTree" resultType="cn.gistack.sm.sg.VO.SgProjectTreeVO">
         SELECT
+            TOP 100
             info.id,
             dria."city_nm",
             dria."province_nm",
@@ -454,5 +458,8 @@
                 LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
         WHERE
             1 =1
+        <if test="dto.buildStage != null and dto.buildStage != ''">
+            and info.build_stage = #{dto.buildStage}
+        </if>
     </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java
index dd5200b..80e179b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java
@@ -40,5 +40,5 @@
 
 	List<SgStatistccVO> getsgStatisticscc(String code);
 
-	List<SgProjectTreeVO> projectTree();
+	List<SgProjectTreeVO> projectTree(ProjectSearchDTO dto);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
index df3110b..3cbcc14 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -613,8 +613,9 @@
 
 
 	@Override
-	public List<SgProjectTreeVO> projectTree() {
-		List<SgProjectTreeVO> list = 	sgProjectInfoMapper.projectTree();
+	public List<SgProjectTreeVO> projectTree(ProjectSearchDTO dto) {
+		List<SgProjectTreeVO> list = 	sgProjectInfoMapper.projectTree(dto);
+		if (CollectionUtils.isNotEmpty(list)){
 		// 按省、市、县分组
 		Map<String, Map<String, Map<String, List<SgProjectTreeVO>>>> groupedProjects = list.stream()
 			.collect(Collectors.groupingBy(SgProjectTreeVO::getProvinceNm,
@@ -629,6 +630,8 @@
 
 			SgProjectTreeVO provinceNode = new SgProjectTreeVO();
 			provinceNode.setProvinceNm(province);
+			provinceNode.setId(UUID.randomUUID().toString().replace("-",""));
+			provinceNode.setRegionName(province);
 			provinceNode.setChildList(new ArrayList<>());
 
 			for (Map.Entry<String, Map<String, List<SgProjectTreeVO>>> cityEntry : cityMap.entrySet()) {
@@ -638,14 +641,20 @@
 				SgProjectTreeVO cityNode = new SgProjectTreeVO();
 				List<String> cityIds = new ArrayList<>();
 				cityNode.setCityNm(city);
+				cityNode.setId(UUID.randomUUID().toString().replace("-",""));
+				cityNode.setRegionName(city);
 				cityNode.setChildList(new ArrayList<>());
 
 				for (Map.Entry<String, List<SgProjectTreeVO>> countyEntry : countyMap.entrySet()) {
 					String county = countyEntry.getKey();
 					List<SgProjectTreeVO> countyProjects = countyEntry.getValue();
-
+					for (SgProjectTreeVO countyProject : countyProjects) {
+						countyProject.setRegionName(countyProject.getResNm());
+					}
 					SgProjectTreeVO countyNode = new SgProjectTreeVO();
 					countyNode.setCountyNm(county);
+					countyNode.setRegionName(county);
+					countyNode.setId(UUID.randomUUID().toString().replace("-",""));
 					countyNode.setChildList(new ArrayList<>(countyProjects));
 					countyNode.setChildNum((long) countyProjects.size());
 					countyNode.setProjectIds(countyProjects.stream().map(SgProjectTreeVO::getId).collect(Collectors.toList()));
@@ -662,6 +671,8 @@
 			result.add(provinceNode);
 		}
 		return result;
+		}
+		return new ArrayList<>();
 	}
 
 }

--
Gitblit v1.9.3