From f8c80586bfc419db594673b8ea0524a246d596ca Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 13 Sep 2024 21:44:02 +0800
Subject: [PATCH] 湖北水库:审核流修改
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java | 6 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java | 28 ++++++++------
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java | 31 +++++++++++++--
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.java | 2 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml | 9 ++++
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java | 5 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml | 25 +++++++++---
7 files changed, 83 insertions(+), 23 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 a14260f..5a87ab9 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
@@ -129,4 +129,9 @@
*/
private String buildStage;
+ /**
+ * 子类型
+ */
+ private List<String> childTypeList;
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.java
index dfb9ddb..e0917b3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.java
@@ -28,4 +28,6 @@
SgGxDO selectByGxType(@Param("gxType") String gxType);
SgGxVO getById(@Param("id") Long id);
+
+ List<String> childType(@Param("gxType") String gxType);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
index 751e458..3e481e7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
@@ -10,6 +10,12 @@
<if test="dto.gxName != null and dto.gxName != ''">
and gx.gx_name LIKE CONCAT('%', #{dto.gxName}, '%')
</if>
+ <if test="dto.childTypeList>0 and dto.childTypeList != null">
+ and gx.gx_type in
+ <foreach collection="dto.childTypeList" open="(" close=")" separator="," item="id">
+ #{id}
+ </foreach>
+ </if>
</select>
<select id="queryStepByIds" resultType="cn.gistack.sm.sg.DO.SgGxStepDO">
select * from YWXT.SG_GX_STEP step where 1=1
@@ -26,4 +32,7 @@
<select id="getById" resultType="cn.gistack.sm.sg.VO.SgGxVO">
select * from YWXT.SG_GX where id = #{id}
</select>
+ <select id="childType" resultType="java.lang.String">
+ select id from "YWXT"."BLADE_DICT_BIZ" where parent_id = (select id from "YWXT"."BLADE_DICT_BIZ" where dict_key = #{gxType});
+ </select>
</mapper>
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 44aca3e..9cb5afb 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
@@ -66,14 +66,27 @@
#{id}
</foreach>)
</if>
- <if test="dto.projectSort == null or dto.projectSort ==0">
- ORDER BY info.status desc ,info.project_progress desc
+ <if test="dto.projectSort == null">
+ ORDER BY info.status desc ,info.project_progress desc NULLS LAST
</if>
- <if test="dto.projectSort ==1">
- ORDER BY info.project_progress desc NULLS LAST
+ <!--
+ <if test="dto.projectSort ==1">
+ ORDER BY info.project_progress desc NULLS LAST
+ </if>
+ <if test="dto.projectSort != null and dto.projectSort ==2">
+ ORDER BY info.sk_id asc
+ </if>-->
+ <if test="dto.projectSort != null and dto.projectSort ==3">
+ ORDER BY info.surface_progress desc NULLS LAST
</if>
- <if test="dto.projectSort != null and dto.projectSort ==2">
- ORDER BY info.sk_id asc
+ <if test="dto.projectSort != null and dto.projectSort ==4">
+ ORDER BY info.video_progress desc NULLS LAST
+ </if>
+ <if test="dto.projectSort != null and dto.projectSort ==5">
+ ORDER BY info.trans_progress desc NULLS LAST
+ </if>
+ <if test="dto.projectSort != null and dto.projectSort ==6">
+ ORDER BY info.seepage_progress desc NULLS LAST
</if>
</select>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
index 1e0ec2d..7d1c0cd 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
@@ -12,6 +12,7 @@
import cn.gistack.sm.sg.service.SgGxStepService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.log.exception.ServiceException;
@@ -46,7 +47,12 @@
private SgProgressReportMapper sgProgressReportMapper;
@Override
public IPage<SgGxVO> queryPageList(IPage<SgGxVO> page, ProjectSearchDTO searchDTO) {
+ if (StringUtils.isNotBlank(searchDTO.getGxType())){
+ List<String> childType = sgGxMapper.childType(searchDTO.getGxType());
+ searchDTO.setChildTypeList(childType);
+ }
List<SgGxVO> list = sgGxMapper.queryPageList(page,searchDTO);
+
if (CollectionUtils.isNotEmpty(list)){
List<Long> ids = list.stream().map(SgGxDO::getId).collect(Collectors.toList());
List<Long> userIds = list.stream().map(SgGxDO::getCreateUser).collect(Collectors.toList());
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
index 0aabb1c..29f564b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -3,10 +3,7 @@
import cn.gistack.sm.sg.DO.*;
import cn.gistack.sm.sg.DTO.ApprovalDTO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
-import cn.gistack.sm.sg.VO.SgProgressReportVO;
-import cn.gistack.sm.sg.VO.SgProjectInfoVO;
-import cn.gistack.sm.sg.VO.SgReportVO;
-import cn.gistack.sm.sg.VO.SgStepReportVO;
+import cn.gistack.sm.sg.VO.*;
import cn.gistack.sm.sg.mapper.*;
import cn.gistack.sm.sg.service.SgProgressReportService;
import cn.gistack.sm.sg.service.SgProjectInfoService;
@@ -223,10 +220,10 @@
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
-// if (sgGxConfigDO.getSgOrder() == 1) {
-// sgProgressReportDO.setAuditPerson(String.valueOf(sgGxConfigDO.getUser()));
-// sgProgressReportMapper.updateById(sgProgressReportDO);
-// }
+ if (sgGxConfigDO.getSgOrder() == 1) {
+ sgProgressReportDO.setAuditPerson(String.valueOf(sgGxConfigDO.getRoleId()));
+ sgProgressReportMapper.updateById(sgProgressReportDO);
+ }
}
//加个项目及设备的状态判断 方便统计计算
@@ -303,7 +300,7 @@
if (isReject==1){
sgReportUserDO = sgReportUserDOS.get(0);
}else {
- sgReportUserDO = sgReportUserDOS.stream().filter(s -> s.getUserId().equals(Long.parseLong(sgProgressReportDO.getAuditPerson()))).findFirst().get();
+ sgReportUserDO = sgReportUserDOS.stream().filter(s -> s.getRoleId().equals(Long.parseLong(sgProgressReportDO.getAuditPerson()))).findFirst().get();
}
Date date = new Date();
LambdaUpdateChainWrapper<SgProgressReportDO> updateChainWrapper = new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId, id);
@@ -311,12 +308,12 @@
.eq(SgReportUserDO::getId, sgReportUserDO.getId()).set(SgReportUserDO::getApprovalContent,approvalDTO.getApprovalContent()).set(SgReportUserDO::getApprovalTime,date);
if (approvalDTO.getStatus()==1){
Integer approvalOrder = sgReportUserDO.getApprovalOrder();
- userUpdate.set(SgReportUserDO::getApprovalStatus,1).update();
+ userUpdate.set(SgReportUserDO::getApprovalStatus,1).set(SgReportUserDO::getUserId,userId).update();
Optional<SgReportUserDO> next = sgReportUserDOS.stream().filter(s -> s.getApprovalOrder() == approvalOrder + 1).findFirst();
//如果存在下一个审批人,则继续审批
if (next.isPresent()){
SgReportUserDO nextUser = next.get();
- updateChainWrapper.set(SgProgressReportDO::getStatus,1).set(SgProgressReportDO::getAuditPerson,nextUser.getUserId()).update();
+ updateChainWrapper.set(SgProgressReportDO::getStatus,1).set(SgProgressReportDO::getAuditPerson,nextUser.getRoleId()).update();
}else {
updateChainWrapper.set(SgProgressReportDO::getStatus,2).set(SgProgressReportDO::getAuditPerson,null).update();
Long proframId = sgProgressReportMapper.selectById(approvalDTO.getId()).getProframId();
@@ -435,7 +432,14 @@
sgProjectInfoMapper.updateById(project);
}
}
-
+ Map<String, SgOperatingRateVO> deviceTypes = sgProjectInfoService.getDeviceTypes(Arrays.asList(projectId.toString()));
+ SgOperatingRateVO vo = deviceTypes.get(projectId.toString());
+ if (Objects.nonNull(vo)){
+ project.setSurfaceProgress(vo.getSurfaceProgress());
+ project.setVideoProgress(vo.getVideoProgress());
+ project.setTransProgress(vo.getTransProgress());
+ project.setSeepageProgress(vo.getSeepageProgress());
+ }
}
}
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 275f281..1fb2f5e 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
@@ -61,6 +61,7 @@
Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
sgProjectInfoDOS.forEach(s->{
s.setProjectProgress(progressMap.get(s.getId()));
+ setPercentage(s);
});
}
return page.setRecords(sgProjectInfoDOS);
@@ -75,6 +76,7 @@
Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
sgProjectInfoDOS.forEach(s->{
s.setProjectProgress(progressMap.get(s.getId()));
+ setPercentage(s);
});
}
sgProjectInfoDOS.forEach(s->{
@@ -111,6 +113,17 @@
return sgProjectInfoDOS;
}
+ }
+
+ /**
+ * 设置百分号
+ * @param s
+ */
+ private void setPercentage(SgProjectInfoDO s) {
+ s.setSurfaceProgress(s.getSurfaceProgress()==null?null:s.getSurfaceProgress()+"%");
+ s.setVideoProgress(s.getVideoProgress()==null?null:s.getVideoProgress()+"%");
+ s.setTransProgress(s.getTransProgress()==null?null:s.getTransProgress()+"%");
+ s.setSeepageProgress(s.getSeepageProgress()==null?null:s.getSeepageProgress()+"%");
}
/**
@@ -381,13 +394,13 @@
SgOperatingRateVO sVo = deviceTypes.get(vo.getProIds());
if (Objects.nonNull(sVo)){
vo.setSurfaceNum(sVo.getSurfaceNum());
- vo.setSurfaceProgress(sVo.getSurfaceProgress()+"%");
+ vo.setSurfaceProgress(sVo.getSurfaceProgress()==null?null:sVo.getSurfaceProgress()+"%");
vo.setVideoNum(sVo.getVideoNum());
- vo.setVideoProgress(sVo.getVideoProgress()+"%");
+ vo.setVideoProgress(sVo.getVideoProgress()==null?null:sVo.getVideoProgress()+"%");
vo.setTransNum(sVo.getTransNum());
- vo.setTransProgress(sVo.getTransProgress()+"%");
+ vo.setTransProgress(sVo.getTransProgress()==null?null:sVo.getTransProgress()+"%");
vo.setSeepageNum(sVo.getSeepageNum());
- vo.setSeepageProgress(sVo.getSeepageProgress()+"%");
+ vo.setSeepageProgress(sVo.getSeepageProgress()==null?null:sVo.getSeepageProgress()+"%");
}
}
}
@@ -423,7 +436,7 @@
/**
* 统计设备类型开工率
*/
- private Map<String,SgOperatingRateVO> getDeviceTypes(List<String> projectIds) {
+ public Map<String,SgOperatingRateVO> getDeviceTypes(List<String> projectIds) {
Map<String,SgOperatingRateVO> result = new HashMap<>();
if (CollectionUtils.isNotEmpty(projectIds)){
for (String proIds : projectIds) {
@@ -648,6 +661,14 @@
dto.setSgCodeS(sgCodeS);
List<SgProjectTreeVO> list = sgProjectInfoMapper.projectTree(dto);
if (CollectionUtils.isNotEmpty(list)){
+ list.forEach(x->{
+ if (StringUtils.isBlank(x.getCountyNm())){
+ x.setCountyNm(x.getCityNm());
+ }
+ if (StringUtils.isBlank(x.getTownNm())){
+ x.setTownNm(x.getCountyNm());
+ }
+ });
// 按省、片区、市、县、乡镇分组
Map<String, Map<String, Map<String, Map<String, Map<String, List<SgProjectTreeVO>>>>>> groupedProjects = list.stream()
.collect(
--
Gitblit v1.9.3