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 <= #{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 <= #{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 <= #{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