查询某个项目今日PM10报警/预警情况

This commit is contained in:
Administrator 2023-03-02 16:16:26 +08:00
parent fbd96a9301
commit 5d8a3706f7
20 changed files with 272 additions and 54 deletions

View File

@ -266,7 +266,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
Integer standardType = MapUtils.getInteger(map, "standardType", 0);
Integer projectType = MapUtils.getInteger(map, "projectType", 1);
if (tempCompany != null) {
if (tempCompany.getCompanyType() == 1) {
if (tempCompany.getCompanyType() == 1) { //总部
map.put("headquartersSn", MapUtils.getString(map, "sn"));
map.put("companyType", "2");
List<EntityMap> fistComapnyList = companyMapper.getFirstCompanyList(map);

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.environment.entity.DustNoiseData;
import com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmInfoVo;
import com.zhgd.xmgl.modules.environment.service.IDustNoiseDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -11,10 +12,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;

View File

@ -3,13 +3,18 @@ package com.zhgd.xmgl.modules.environment.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmInfoDetailQO;
import com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmInfoDetailVo;
import com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmInfoVo;
import com.zhgd.xmgl.modules.environment.service.IEnvironmentAlarmService;
import com.zhgd.xmgl.modules.project.entity.qo.QueryProjectTodayAlarmInfoQO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -86,7 +91,32 @@ public class EnvironmentAlarmController {
@ApiImplicitParam(name = "selectType", value = "查询条件1查询当天", paramType = "query", required = false, dataType = "String"),
})
@PostMapping("/selectEnvironmentAlarmCountTotal")
public Result<Map<String,Object>> selectEnvironmentAlarmCountTotal(@RequestBody Map<String, Object> map) {
public Result<Map<String, Object>> selectEnvironmentAlarmCountTotal(@RequestBody Map<String, Object> map) {
return Result.success(environmentAlarmService.selectEnvironmentAlarmCountTotal(map));
}
}
/**
* 查询项目今日报警/预警情况
*
* @return
*/
@ApiOperation(value = "查询项目今日报警/预警情况", notes = "查询项目今日报警/预警情况", httpMethod = "POST")
@PostMapping(value = "/queryProjectTodayAlarmInfo")
public Result<ProjectTodayAlarmInfoVo> queryProjectTodayAlarmInfo(@RequestBody @Validated QueryProjectTodayAlarmInfoQO qo) {
return Result.success(environmentAlarmService.queryProjectTodayAlarmInfo(qo));
}
/**
* 查询某个项目今日PM10报警/预警情况
*
* @return
*/
@ApiOperation(value = "查询某个项目今日PM10报警/预警情况", notes = "查询某个项目今日PM10报警/预警情况", httpMethod = "POST")
@PostMapping(value = "/queryProjectTodayAlarmInfoDetail")
public Result<ProjectTodayAlarmInfoDetailVo> queryProjectTodayAlarmInfoDetail(ProjectTodayAlarmInfoDetailQO qo) {
return Result.success(environmentAlarmService.queryProjectTodayAlarmInfoDetail(qo));
}
}

View File

@ -0,0 +1,16 @@
package com.zhgd.xmgl.modules.environment.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(description = "今日PM10数据")
public class Pm10TodayData {
@ApiModelProperty(value = "数据上传时间")
private Date uploadDate;
@ApiModelProperty(value = "PM10数据")
private Double pm10;
}

View File

@ -0,0 +1,12 @@
package com.zhgd.xmgl.modules.environment.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("查询某个项目今日PM10报警/预警情况")
public class ProjectTodayAlarmInfoDetailQO {
@ApiModelProperty(value = "所属项目SN")
private String projectSn;
}

View File

@ -0,0 +1,18 @@
package com.zhgd.xmgl.modules.environment.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(description = "查询某个项目今日PM10报警/预警情况")
public class ProjectTodayAlarmInfoDetailVo {
@ApiModelProperty(value = "pm10今日报警次数")
private Integer pm10DeviceTodayAlarmSum;
@ApiModelProperty(value = "pm10今日预警次数")
private Integer pm10DeviceTodayPreAlarmSum;
private List<Pm10TodayData> pm10TodayDataList;
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.environment.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("项目今日报警/预警情况")
public class ProjectTodayAlarmInfoVo {
@ApiModelProperty(value = "项目报警数量")
private Integer projectAlarmNum;
@ApiModelProperty(value = "项目预警数量")
private Integer projectPreAlarmNum;
@ApiModelProperty(value = "项目今日预警/报警数量")
private List<ProjectTodayAlarmNum> projectTodayAlarmNums;
}

View File

@ -0,0 +1,15 @@
package com.zhgd.xmgl.modules.environment.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ProjectTodayAlarmNum {
/**
* 项目名称
*/
@ApiModelProperty(value = "项目名称")
private String projectName;
private Integer todayAlarmNum;
private Integer todayPreAlarmNum;
}

View File

@ -5,9 +5,10 @@ import java.util.Map;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.environment.entity.*;
import com.zhgd.xmgl.modules.project.entity.qo.QueryProjectTodayAlarmInfoQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.environment.entity.EnvironmentAlarm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@ -38,4 +39,11 @@ public interface EnvironmentAlarmMapper extends BaseMapper<EnvironmentAlarm> {
Map<String, Object> selectTodayEnvironmentAlarmCount(Map<String, Object> map);
List<Map<String, Object>> selectEnvironmentDevTodayAlarmCount(Map<String, Object> map);
List<ProjectTodayAlarmNum> queryProjectTodayAlarmNum(QueryProjectTodayAlarmInfoQO qo);
List<Pm10TodayData> queryDeviceTodayAvgData(ProjectTodayAlarmInfoDetailQO qo);
ProjectTodayAlarmInfoDetailVo queryDeviceTodayAlramSum(ProjectTodayAlarmInfoDetailQO qo);
}

View File

@ -3,11 +3,12 @@
<mapper namespace="com.zhgd.xmgl.modules.environment.mapper.EnvironmentAlarmMapper">
<select id="queryEnvironmentAlarmPageList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
SELECT a.*,b.alarm_type alarm_type_name,c.device_name,date_format(a.alarm_time, '%Y-%m-%d %H:%i:%S') temp_alarm_time
SELECT a.*,b.alarm_type alarm_type_name,c.device_name,date_format(a.alarm_time, '%Y-%m-%d %H:%i:%S')
temp_alarm_time
FROM
environment_alarm a
LEFT JOIN environment_alarm_type b ON b.id =a.alarm_type_id
LEFT JOIN environment_dev c ON (a.device_id =c.device_id and a.project_sn=c.project_sn)
environment_alarm a
LEFT JOIN environment_alarm_type b ON b.id =a.alarm_type_id
LEFT JOIN environment_dev c ON (a.device_id =c.device_id and a.project_sn=c.project_sn)
where a.project_sn=#{param.projectSn}
<if test="param.type!=null and param.type!='' or param.type=='0'.toString()">
and a.type=#{param.type}
@ -309,18 +310,53 @@
and w1.project_sn=#{projectSn}
</select>
<select id="selectEnvironmentDevTodayAlarmCount" resultType="java.util.Map">
SELECT COUNT(1) totalAlarm,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=1 THEN 1 ELSE 0 END)),0) pm25Num,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=2 THEN 1 ELSE 0 END)),0) pm10Num,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=3 or w1.alarm_type_id=4 THEN 1 ELSE 0 END)),0) noiseNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=5 THEN 1 ELSE 0 END)),0) windspeedNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=6 THEN 1 ELSE 0 END)),0) tspNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=7 THEN 1 ELSE 0 END)),0) temperatureNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id=8 THEN 1 ELSE 0 END)),0) humidityNum,
w1.device_id deviceId
SELECT COUNT(1) totalAlarm,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 1 THEN 1 ELSE 0 END)), 0) pm25Num,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 2 THEN 1 ELSE 0 END)), 0) pm10Num,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 3 or w1.alarm_type_id = 4 THEN 1 ELSE 0 END)), 0) noiseNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 5 THEN 1 ELSE 0 END)), 0) windspeedNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 6 THEN 1 ELSE 0 END)), 0) tspNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 7 THEN 1 ELSE 0 END)), 0) temperatureNum,
IFNULL(SUM((CASE WHEN w1.alarm_type_id = 8 THEN 1 ELSE 0 END)), 0) humidityNum,
w1.device_id deviceId
from environment_alarm w1
where w1.alarm_time &gt;=CONCAT(DATE_FORMAT(now(),'%Y-%m-%d'),' 00:00:00')
and w1.project_sn=#{projectSn}
where w1.alarm_time &gt;= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
and w1.project_sn = #{projectSn}
group by w1.device_id
</select>
<select id="queryProjectTodayAlarmNum"
resultType="com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmNum">
SELECT SUM(IF(ea.type = 1, 1, 0)) today_pre_alarm_num,
SUM(IF(ea.type = 0, 1, 0)) today_alarm_num,
a.project_name
FROM project a
INNER JOIN company cp ON a.company_sn = cp.company_sn
INNER JOIN company b ON cp.parent_id = b.company_id
LEFT JOIN company f ON b.parent_id = f.company_id
LEFT JOIN environment_alarm ea ON ea.project_sn = a.project_sn
WHERE DATE_FORMAT(ea.alarm_time, "%Y%m%d") = DATE_FORMAT(NOW(), "%Y%m%d")
GROUP BY a.project_sn
</select>
<select id="queryDeviceTodayAvgData" resultType="com.zhgd.xmgl.modules.environment.entity.Pm10TodayData"
parameterType="com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmInfoDetailQO">
SELECT AVG(dnd.pm10),
dnd.upload_date
FROM dust_noise_data dnd
WHERE dnd.project_sn = #{projectSn}
AND DATE_FORMAT(dnd.upload_date, "%Y%m%d") = DATE_FORMAT(NOW(), "%Y%m%d")
GROUP BY dnd.upload_date;
</select>
<select id="queryDeviceTodayAlramSum"
resultType="com.zhgd.xmgl.modules.environment.entity.ProjectTodayAlarmInfoDetailVo">
SELECT IFNULL(SUM(
IF
(ea.type = 1, 1, 0)), 0) pm10_device_today_alarm_sum,
IFNULL(SUM(
IF
(ea.type = 0, 1, 0)), 0) pm10_device_today_pre_alarm_sum
FROM environment_alarm ea
WHERE DATE_FORMAT(ea.alarm_time, "%Y%m%d") = DATE_FORMAT(NOW(), "%Y%m%d")
AND ea.alarm_type_id = 2
AND ea.project_sn = #{projectSn}
</select>
</mapper>

View File

@ -3,10 +3,9 @@ package com.zhgd.xmgl.modules.environment.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.environment.entity.DustNoiseData;
import com.zhgd.xmgl.modules.environment.entity.EnvironmentAlarm;
import com.zhgd.xmgl.modules.environment.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.environment.entity.EnvironmentDev;
import com.zhgd.xmgl.modules.project.entity.qo.QueryProjectTodayAlarmInfoQO;
import java.util.List;
import java.util.Map;
@ -30,4 +29,8 @@ public interface IEnvironmentAlarmService extends IService<EnvironmentAlarm> {
Map<String,Object> selectEnvironmentAlarmCountTotal(Map<String, Object> map);
void saveEnvironmentAlarmImage(JSONObject json);
ProjectTodayAlarmInfoVo queryProjectTodayAlarmInfo(QueryProjectTodayAlarmInfoQO qo);
ProjectTodayAlarmInfoDetailVo queryProjectTodayAlarmInfoDetail(ProjectTodayAlarmInfoDetailQO qo);
}

View File

@ -4,30 +4,27 @@ import cn.xuyanwu.spring.file.storage.FileInfo;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.async.AsyncEnvironment;
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.modules.basicdata.service.UploadFileService;
import com.zhgd.xmgl.modules.bigdevice.mapper.BigDeviceVideoMapper;
import com.zhgd.xmgl.modules.environment.entity.DustNoiseData;
import com.zhgd.xmgl.modules.environment.entity.EnvironmentAlarm;
import com.zhgd.xmgl.modules.environment.entity.EnvironmentDev;
import com.zhgd.xmgl.modules.environment.entity.EnvironmentWarning;
import com.zhgd.xmgl.modules.environment.entity.*;
import com.zhgd.xmgl.modules.environment.mapper.EnvironmentAlarmMapper;
import com.zhgd.xmgl.modules.environment.mapper.EnvironmentWarningMapper;
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
import com.zhgd.xmgl.modules.environment.service.IEnvironmentAlarmService;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.modules.project.entity.qo.QueryProjectTodayAlarmInfoQO;
import com.zhgd.xmgl.util.DateUtil;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.sql.Timestamp;
@ -804,19 +801,19 @@ public class EnvironmentAlarmServiceImpl extends ServiceImpl<EnvironmentAlarmMap
List<String> imageList= (List<String>) json.get("imageList");
StringBuilder imageBuilder=new StringBuilder();
if(imageList!=null&&imageList.size()>0){
for(String base64data:imageList){
for (String base64data : imageList) {
FileInfo fileInfo = uploadFileService.uploadFileBase64Image(base64data);
if (fileInfo != null) {
if(imageBuilder.length()>0){
if (imageBuilder.length() > 0) {
imageBuilder.append(",");
}
imageBuilder.append(fileInfo.getUrl());
}
}
}
List<Long> dataId= (List<Long>) json.get("dataId");
if(dataId!=null&&dataId.size()>0){
for (Long id:dataId){
List<Long> dataId = (List<Long>) json.get("dataId");
if (dataId != null && dataId.size() > 0) {
for (Long id : dataId) {
EnvironmentAlarm environmentAlarm = new EnvironmentAlarm();
environmentAlarm.setId(id);
environmentAlarm.setImageUrl(imageBuilder.toString());
@ -824,4 +821,33 @@ public class EnvironmentAlarmServiceImpl extends ServiceImpl<EnvironmentAlarmMap
}
}
}
@Override
public ProjectTodayAlarmInfoVo queryProjectTodayAlarmInfo(QueryProjectTodayAlarmInfoQO qo) {
List<ProjectTodayAlarmNum> list = environmentAlarmMapper.queryProjectTodayAlarmNum(qo);
ProjectTodayAlarmInfoVo vo = new ProjectTodayAlarmInfoVo();
vo.setProjectTodayAlarmNums(list);
if (!CollectionUtils.isEmpty(list)) {
int projectAlarmNum = 0;
int projectPreAlarmNum = 0;
for (ProjectTodayAlarmNum num : list) {
projectPreAlarmNum += num.getTodayAlarmNum();
}
vo.setProjectAlarmNum(projectAlarmNum);
vo.setProjectPreAlarmNum(projectPreAlarmNum);
}
return vo;
}
@Override
public ProjectTodayAlarmInfoDetailVo queryProjectTodayAlarmInfoDetail(ProjectTodayAlarmInfoDetailQO qo) {
ProjectTodayAlarmInfoDetailVo vo = environmentAlarmMapper.queryDeviceTodayAlramSum(qo);
if (vo == null) {
vo = new ProjectTodayAlarmInfoDetailVo();
}
List<Pm10TodayData> pm10TodayDatas = environmentAlarmMapper.queryDeviceTodayAvgData(qo);
vo.setPm10TodayDataList(pm10TodayDatas);
return vo;
}
}

View File

@ -11,7 +11,7 @@ import com.zhgd.xmgl.modules.project.entity.Project;
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectProgressVo;
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectTypeVo;
import com.zhgd.xmgl.modules.project.entity.vo.ProjectDurationVO;
import com.zhgd.xmgl.modules.project.enums.ProgressSanjiangProjectEnum;
import com.zhgd.xmgl.modules.project.enums.SanjiangProgressProjectEnum;
import com.zhgd.xmgl.modules.project.service.IProjectService;
import com.zhgd.xmgl.util.MessageUtil;
import io.swagger.annotations.Api;
@ -319,8 +319,8 @@ public class ProjectController {
*/
@ApiOperation(value = "查询每个不同项目进度的名称、数量", notes = "查询每个不同项目进度的名称、数量", httpMethod = "GET")
@GetMapping(value = "/groupBy/projectProgress")
public Result<List<GroupByProjectProgressVo>> groupByProjectProgress(Map<String, Object> map) {
return Result.success(projectService.groupByProjectProgress(map));
public Result<List<GroupByProjectProgressVo>> groupByProjectProgress() {
return Result.success(projectService.groupByProjectProgress());
}
/**
@ -331,8 +331,8 @@ public class ProjectController {
*/
@ApiOperation(value = "查询三江的所有项目进度", notes = "查询三江的所有项目进度", httpMethod = "GET")
@GetMapping(value = "/getProjectProgress")
public Result<List<ProgressSanjiangProjectEnum>> getProjectProgress() {
return Result.success(Arrays.asList(ProgressSanjiangProjectEnum.values()));
public Result<List<SanjiangProgressProjectEnum>> getProjectProgress() {
return Result.success(Arrays.asList(SanjiangProgressProjectEnum.values()));
}
}

View File

@ -0,0 +1,18 @@
package com.zhgd.xmgl.modules.project.entity.qo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel(description = "查询项目今日报警/预警情况")
public class QueryProjectTodayAlarmInfoQO {
@ApiModelProperty(value = "账号类型1系统管理员2企业管理员账号3企业区账号4企业市账号5项目账号6项目子账号7项目部账号")
@NotNull
private java.lang.Integer accountType;
@ApiModelProperty(value = "userId")
@NotNull
private java.lang.Long userId;
}

View File

@ -6,5 +6,6 @@ import lombok.Data;
@Data
public class GroupByProjectProgressVo {
private Integer count;
private String projectProgress;
private String projectProgressName;
private Integer projectProgress;
}

View File

@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
* 三江项目进度枚举
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ProgressSanjiangProjectEnum {
public enum SanjiangProgressProjectEnum {
/**
* 三江项目进度总坪施工
*/
@ -76,7 +76,7 @@ public enum ProgressSanjiangProjectEnum {
private Integer id;
private String type;
private ProgressSanjiangProjectEnum(Integer id, String type) {
private SanjiangProgressProjectEnum(Integer id, String type) {
this.id = id;
this.type = type;
}

View File

@ -82,5 +82,5 @@ public interface ProjectMapper extends BaseMapper<Project> {
List<GroupByProjectTypeVo> groupByProjectType(Map<String, Object> map);
List<GroupByProjectProgressVo> groupByProjectProgress(Map<String, Object> map);
List<GroupByProjectProgressVo> groupByProjectProgress();
}

View File

@ -656,8 +656,7 @@
HAVING
p.custom_project_type is NOT null
</select>
<select id="groupByProjectProgress" resultType="com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectProgressVo"
parameterType="java.util.Map">
<select id="groupByProjectProgress" resultType="com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectProgressVo">
SELECT COUNT(p.project_id) AS count,p.project_progress
FROM
`project` p

View File

@ -66,5 +66,5 @@ public interface IProjectService extends IService<Project> {
List<GroupByProjectTypeVo> groupByProjectType(Map<String, Object> map);
List<GroupByProjectProgressVo> groupByProjectProgress(Map<String, Object> map);
List<GroupByProjectProgressVo> groupByProjectProgress();
}

View File

@ -35,6 +35,7 @@ import com.zhgd.xmgl.modules.project.entity.ProjectConfig;
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectProgressVo;
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectTypeVo;
import com.zhgd.xmgl.modules.project.entity.vo.ProjectDurationVO;
import com.zhgd.xmgl.modules.project.enums.SanjiangProgressProjectEnum;
import com.zhgd.xmgl.modules.project.mapper.ProjectConfigMapper;
import com.zhgd.xmgl.modules.project.mapper.ProjectEnterpriseMapper;
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
@ -54,10 +55,12 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 项目
@ -503,8 +506,24 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
}
@Override
public List<GroupByProjectProgressVo> groupByProjectProgress(Map<String, Object> map) {
return projectMapper.groupByProjectProgress(map);
public List<GroupByProjectProgressVo> groupByProjectProgress() {
List<GroupByProjectProgressVo> projectProgressVos = projectMapper.groupByProjectProgress();
if (!CollectionUtils.isEmpty(projectProgressVos)) {
Map<Integer, GroupByProjectProgressVo> idNameMap = projectProgressVos.stream().collect(Collectors.toMap(o -> o.getProjectProgress(), o->o));
for (SanjiangProgressProjectEnum e : SanjiangProgressProjectEnum.values()) {
GroupByProjectProgressVo vo = idNameMap.get(e.getId());
if (vo == null) {
GroupByProjectProgressVo groupByProjectProgressVo = new GroupByProjectProgressVo();
groupByProjectProgressVo.setCount(0);
groupByProjectProgressVo.setProjectProgressName(e.getType());
groupByProjectProgressVo.setProjectProgress(e.getId());
projectProgressVos.add(groupByProjectProgressVo);
} else {
vo.setProjectProgressName(e.getType());
}
}
}
return projectProgressVos;
}
}