From 0aa9af7bc8e34d539c990c5d714e24092a2d53e7 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 20 Sep 2024 17:35:24 +0800
Subject: [PATCH] 湖北水库:水库分页接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java | 77 ++++++++++++++++++++++++++++++++------
1 files changed, 65 insertions(+), 12 deletions(-)
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..a33dc27 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
@@ -52,6 +52,7 @@
public Object queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) {
List<String> sgCodeS = getSgCodeByUser();
searchDTO.setSgCodeS(sgCodeS);
+// setDeptId(searchDTO);
Boolean isPage = searchDTO.getIsPage();
if (isPage==null) isPage = true;
if (isPage ){
@@ -61,6 +62,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 +77,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 +114,18 @@
return sgProjectInfoDOS;
}
+ }
+
+ /**
+ * 设置百分号
+ * @param s
+ */
+ private void setPercentage(SgProjectInfoDO s) {
+ s.setSurfaceProgress(StringUtils.isNotBlank(s.getSurfaceProgress()) ?null:s.getSurfaceProgress()+"%");
+ s.setVideoProgress(StringUtils.isNotBlank(s.getVideoProgress())?null:s.getVideoProgress()+"%");
+ s.setTransProgress(StringUtils.isNotBlank(s.getTransProgress())?null:s.getTransProgress()+"%");
+ s.setSeepageProgress(StringUtils.isNotBlank(s.getSeepageProgress())?null:s.getSeepageProgress()+"%");
+ s.setProjectAddress(StringUtils.isNotBlank(s.getProjectProgress())?null:s.getProjectProgress()+"%");
}
/**
@@ -288,6 +303,7 @@
*/
@Override
public IPage<SgProjectInfoVO> progressPage(IPage<SgProjectInfoVO> page, ProjectSearchDTO searchDTO) {
+// setDeptId(searchDTO);
List<SgProjectInfoVO> list = new ArrayList<>();
if(StringUtils.isNotBlank(searchDTO.getAdCode())){
list = sgProjectInfoMapper.progressList1(page, searchDTO);
@@ -321,7 +337,23 @@
public List<SgProjectInfoDO> listAll(ProjectSearchDTO searchDTO) {
List<String> sgCodeS = getSgCodeByUser();
searchDTO.setSgCodeS(sgCodeS);
- return sgProjectInfoMapper.queryPageList(null,searchDTO);
+ setDeptId(searchDTO);
+ List<SgProjectInfoDO> list = sgProjectInfoMapper.queryPageList(null, searchDTO);
+ return list;
+ }
+
+ /**
+ * setDeptId
+ * @param searchDTO
+ */
+ private void setDeptId(ProjectSearchDTO searchDTO) {
+ String deptId = AuthUtil.getDeptId();
+ boolean b = Objects.nonNull(searchDTO.getIsUnit()) && searchDTO.getIsUnit() == 1;
+ if (!deptId.equals("420000000000")){
+ if (!b){
+ searchDTO.setDeptId(deptId);
+ }
+ }
}
/**
@@ -381,13 +413,13 @@
SgOperatingRateVO sVo = deviceTypes.get(vo.getProIds());
if (Objects.nonNull(sVo)){
vo.setSurfaceNum(sVo.getSurfaceNum());
- vo.setSurfaceProgress(sVo.getSurfaceProgress()+"%");
+ vo.setSurfaceProgress(sVo.getSurfaceProgress());
vo.setVideoNum(sVo.getVideoNum());
- vo.setVideoProgress(sVo.getVideoProgress()+"%");
+ vo.setVideoProgress(sVo.getVideoProgress());
vo.setTransNum(sVo.getTransNum());
- vo.setTransProgress(sVo.getTransProgress()+"%");
+ vo.setTransProgress(sVo.getTransProgress());
vo.setSeepageNum(sVo.getSeepageNum());
- vo.setSeepageProgress(sVo.getSeepageProgress()+"%");
+ vo.setSeepageProgress(sVo.getSeepageProgress());
}
}
}
@@ -423,7 +455,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) {
@@ -442,7 +474,7 @@
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setSeepageProgress(getBigDecimalPercent(divide));
}else {
- sgOperatingRateVO.setSeepageProgress("0");
+ sgOperatingRateVO.setSeepageProgress("0%");
}
}
//视频
@@ -455,7 +487,7 @@
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setVideoProgress(getBigDecimalPercent(divide));
}else {
- sgOperatingRateVO.setVideoProgress("0");
+ sgOperatingRateVO.setVideoProgress("0%");
}
}
//渗压
@@ -468,7 +500,7 @@
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setTransProgress(getBigDecimalPercent(divide));
}else {
- sgOperatingRateVO.setTransProgress("0");
+ sgOperatingRateVO.setTransProgress("0%");
}
}
//渗流
@@ -481,7 +513,7 @@
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setSeepageProgress(getBigDecimalPercent(divide));
}else {
- sgOperatingRateVO.setSeepageProgress("0");
+ sgOperatingRateVO.setSeepageProgress("0%");
}
}
}
@@ -507,7 +539,11 @@
for (String id : ids) {
projectSearchDTO.setProjectId(id);
List<SgProjectInfoVO> list = sgProjectInfoMapper.queryStepByProject(projectSearchDTO);
- getProjectProgress(list).forEach(ss -> bigDecimals.add(ss.getProjectProgressNum()));
+ getProjectProgress(list).forEach(ss->{
+ if (Objects.nonNull(ss.getProjectProgressNum())){
+ bigDecimals.add(ss.getProjectProgressNum());
+ }
+ });
}
BigDecimal reduce = bigDecimals.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -582,11 +618,13 @@
BigDecimal percentage = bigDecimal.multiply(new BigDecimal("100"));
// 如果不需要保留小数位,可以设置一个scale为0
BigDecimal percentageRounded = percentage.setScale(0, RoundingMode.HALF_UP);
- return percentageRounded.toString();
+ return percentageRounded+"%";
}
@Override
public Map<String, Object> projectCount(ProjectSearchDTO searchDTO) {
+ List<String> sgCodeS = getSgCodeByUser();
+ searchDTO.setSgCodeS(sgCodeS);
Map<String, Object> map = new HashMap<>();
List<SgProjectInfoVO> progressList = progressList(searchDTO);
BigDecimal reduce = progressList.stream().filter(s->s.getProjectProgressNum()!=null).map(SgProjectInfoDO::getProjectProgressNum).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -648,6 +686,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(
@@ -727,4 +773,11 @@
return new ArrayList<>();
}
+ @Override
+ public IPage<ResVO> resList(IPage<ResVO> page, ProjectSearchDTO dto) {
+ List<String> sgCodeByUser = getSgCodeByUser();
+ dto.setSgCodeS(sgCodeByUser);
+ return page.setRecords(baseMapper.resList(page,dto));
+ }
+
}
--
Gitblit v1.9.3