Browse Source

feat: 合并代码

master_tdsql
hxh 2 months ago
parent
commit
32d8cb5efa
  1. 74
      shuili-common/src/main/java/com/shuili/common/enums/DfEnum.java
  2. 9
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYhCharHiddenDangerDto.java
  3. 10
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYhHiddenDangerQueDto.java
  4. 9
      shuili-system/src/main/java/com/kms/yxgh/df/dto/SzCharItemDto.java
  5. 155
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfRecordMapper.java
  6. 60
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java
  7. 4
      shuili-system/src/main/java/com/kms/yxgh/model/DfYhHiddenDangerModel.java
  8. 8
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCharInfoItemQueDto.java
  9. 120
      shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java
  10. 6
      shuili-system/src/main/java/com/kms/yxgh/sz/model/SzHiddenDangerModel.java
  11. 1
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordItemService.java
  12. 134
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java

74
shuili-common/src/main/java/com/shuili/common/enums/DfEnum.java

@ -0,0 +1,74 @@
package com.shuili.common.enums;
import lombok.Getter;
/**
* 数字常量
*
* @author laifulin
* @version 1.0
* @since 2022-12-06 15:42
*/
@Getter
public enum DfEnum {
/**
*
*/
NO_HAVE("0", "无"),
/**
* 一般隐患
*/
GENERAL_HAZARDS("1", "一般隐患"),
/**
* 较大至重大
*/
LARGE_TO_SIGNIFICANT("2","较大至重大"),
/**
* 重大隐患
*/
SIGNIFICANT_YH("3","重大隐患"),
/**
* 巡查责任人
*/
PATROL_RESPONSIBLE_PERSON("0","巡查责任人"),
/**
* 行政责任人
*/
ADMINISTRATIVE_RESPONSIBLE_PERSON("2","行政责任人"),
/**
* 技术责任人
*/
TECHNICAL_RESPONSIBLE_PERSON("1","技术责任人"),
/**
* 无异常
*/
No_abnormalities("0","无异常"),
/**
* 未处置
*/
NOT_DISPOSED_OF("1","未处置"),
/**
* 已处置
*/
HANDLED("2","已处置"),
;
private final String value;
private final String msg;
DfEnum(String value, String msg) {
this.value = value;
this.msg = msg;
}
}

9
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYhCharHiddenDangerDto.java

@ -18,13 +18,10 @@ public class DfYhCharHiddenDangerDto {
@ApiModelProperty(value = "堤防数量") @ApiModelProperty(value = "堤防数量")
private int dfNumber; private int dfNumber;
@ApiModelProperty(value = "一般隐患数量") @ApiModelProperty(value = "隐患数量")
private int ybNumber; private int yhNumber;
@ApiModelProperty(value = "重大隐患数量") @ApiModelProperty(value = "处置数量")
private int zdNumber;
@ApiModelProperty(value = "处置状态数量")
private int czNumber; private int czNumber;

10
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYhHiddenDangerQueDto.java

@ -22,11 +22,11 @@ public class DfYhHiddenDangerQueDto implements IAdcd {
private String patrolStart; private String patrolStart;
@ApiModelProperty("查询结束时间") @ApiModelProperty("查询结束时间")
private String patrolEnd; private String patrolEnd;
@ApiModelProperty("隐患类型 无:0、一般隐患:1、较大至重大:2、重大隐患:3 ") @ApiModelProperty("省市地区code")
private String problem;
@ApiModelProperty("地区code")
private String adcd; private String adcd;
@ApiModelProperty("处置状态")
private String handleStatus; @ApiModelProperty("区级标识 1是 0否")
private String districtLevelFlag;
} }

9
shuili-system/src/main/java/com/kms/yxgh/df/dto/SzCharItemDto.java

@ -20,13 +20,10 @@ public class SzCharItemDto {
@ApiModelProperty(value = "堤防数量") @ApiModelProperty(value = "堤防数量")
private int dfNumber; private int dfNumber;
@ApiModelProperty(value = "一般隐患数量") @ApiModelProperty(value = "隐患数量")
private int ybNumber; private int yhNumber;
@ApiModelProperty(value = "重大隐患数量") @ApiModelProperty(value = "处置数量")
private int zdNumber;
@ApiModelProperty(value = "处置状态数量")
private int czNumber; private int czNumber;

155
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfRecordMapper.java

@ -27,32 +27,63 @@ public interface DfRecordMapper extends BaseMapper<DfRecord> {
Date getLastInsertTimeByDikeCode(@Param("dikeCode") String dikeCode); Date getLastInsertTimeByDikeCode(@Param("dikeCode") String dikeCode);
@Select("<script>" + @Select("<script>" +
"select count(*) from bs_sgc_df_xsjhjlz where RECORD_ID " + "SELECT count(DISTINCT(jl.DIKE_CODE)) " +
"in ( "+ "FROM bs_sgc_df_xsjhjl as jl "+
"select jl.id from bs_sgc_df_xsjhjl as jl "+
"left join att_dike_base base on base.dike_code=jl.dike_code "+ "left join att_dike_base base on base.dike_code=jl.dike_code "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+ "<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
" and base.adcd like concat(#{dto.adcdQx}, '%') "+ " and base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+ "</if> "+
"<if test='dto.handleStatus != null and dto.handleStatus != \"\"'> " + "WHERE jl.id IN ( "+
"where jl.handle_status=#{dto.handleStatus} "+ "SELECT RECORD_ID "+
"</if> " + "FROM bs_sgc_df_xsjhjlz "+
"group by jl.DIKE_CODE,jl.id "+
") "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+ "<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+ "where (DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+ "AND DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " + "</if> " +
"<if test='dto.problem != null and dto.problem != \"\"'> " + "and base.adcd is not null "+
"AND status=#{dto.problem} "+ "group by RECORD_ID "+
") "+
"</script>")
int paragraphCountNumber(@Param("dto") DfYhHiddenDangerQueDto dto);
@Select("<script>" +
"select count(1) from bs_sgc_df_xsjhjlz as lz "+
"left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.dike_code "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " + "</if> " +
"and base.adcd is not null "+
"and (lz.PROBLEM is null or lz.PROBLEM = '') "+
"</script>")
int yhCountNumber(@Param("dto") DfYhHiddenDangerQueDto dto);
@Select("<script>" +
"select count(1) from bs_sgc_df_xsjhjlz as lz "+
"left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.dike_code "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"and base.adcd is not null "+
"and (lz.HANDLE_TIME is null ) "+
"</script>") "</script>")
int dfNumber(@Param("dto") DfYhHiddenDangerQueDto dto); int clCountNumber(@Param("dto") DfYhHiddenDangerQueDto dto);
@Select("<script>" + @Select("<script>" +
"select base.adcd,lz.status as problem,count(1) as count from bs_sgc_df_xsjhjlz as lz "+ "select base.adcd,'1' as problem,count(1) as count from bs_sgc_df_xsjhjlz as lz "+
"left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+ "left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.dike_code "+ "left join att_dike_base base on base.dike_code=hj.dike_code "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+ "<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
@ -63,35 +94,105 @@ public interface DfRecordMapper extends BaseMapper<DfRecord> {
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+ "AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+ "AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " + "</if> " +
"<if test='dto.problem != null and dto.problem != \"\"'> " + "and base.adcd is not null "+
"AND lz.status=#{dto.problem} "+ "and (lz.PROBLEM is null or lz.PROBLEM = '') "+
"</if> " + "group by base.adcd "+
"group by base.adcd ,lz.status "+
"</script>") "</script>")
List<DfYhHiddenDangerModel> yhNumberData(@Param("dto") DfYhHiddenDangerQueDto dto); List<DfYhHiddenDangerModel> yhNumberData(@Param("dto") DfYhHiddenDangerQueDto dto);
@Select("<script>" + @Select("<script>" +
"select base.adcd,hj.handle_status,count(1) as count from bs_sgc_df_xsjhjlz as lz "+ "select base.adcd,'1' as problem,count(1) as count from bs_sgc_df_xsjhjlz as lz "+
"left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+ "left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+
"<if test='dto.handleStatus != null and dto.handleStatus != \"\"'> " +
"AND hj.handle_status=#{dto.handleStatus} "+
"</if> " +
"left join att_dike_base base on base.dike_code=hj.dike_code "+ "left join att_dike_base base on base.dike_code=hj.dike_code "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+ "<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
" and base.adcd like concat(#{dto.adcdQx}, '%') "+ "AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if>"+ "</if> "+
"where 1=1 "+ "where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+ "<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+ "AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+ "AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " + "</if> " +
"<if test='dto.problem != null and dto.problem != \"\"'> "+ "and base.adcd is not null "+
"AND lz.status=#{dto.problem} "+ "and (lz.HANDLE_TIME is null ) "+
"</if> " + "group by base.adcd "+
"group by base.adcd ,hj.handle_status "+
"</script>") "</script>")
List<DfYhHiddenDangerModel> clfNumberData(@Param("dto") DfYhHiddenDangerQueDto dto); List<DfYhHiddenDangerModel> clfNumberData(@Param("dto") DfYhHiddenDangerQueDto dto);
// @Select("<script>" +
// "select base.adcd,lz.status as problem,count(1) as count from bs_sgc_df_xsjhjlz as lz "+
// "left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+
// "left join att_dike_base base on base.dike_code=hj.dike_code "+
// "<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
// "AND base.adcd like concat(#{dto.adcdQx}, '%') "+
// "</if> "+
// "where 1=1 "+
// "<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
// "AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
// "AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
// "</if> " +
// "<if test='dto.problem != null and dto.problem != \"\"'> " +
// "AND lz.status=#{dto.problem} "+
// "</if> " +
// "group by base.adcd ,lz.status "+
// "</script>")
// List<DfYhHiddenDangerModel> yhNumberData(@Param("dto") DfYhHiddenDangerQueDto dto);
// @Select("<script>" +
// "select count(*) from bs_sgc_df_xsjhjlz where RECORD_ID " +
// "in ( "+
// "select jl.id from bs_sgc_df_xsjhjl as jl "+
// "left join att_dike_base base on base.dike_code=jl.dike_code "+
// "<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
// " and base.adcd like concat(#{dto.adcdQx}, '%') "+
// "</if> "+
// "<if test='dto.handleStatus != null and dto.handleStatus != \"\"'> " +
// "where jl.handle_status=#{dto.handleStatus} "+
// "</if> " +
// "group by jl.DIKE_CODE,jl.id "+
// ") "+
// "<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
// "AND (DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
// "AND DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
// "</if> " +
// "<if test='dto.problem != null and dto.problem != \"\"'> " +
// "AND status=#{dto.problem} "+
// "</if> " +
//
// "</script>")
// int countNumber(@Param("dto") DfYhHiddenDangerQueDto dto);
// @Select("<script>" +
// "select base.adcd,hj.handle_status,count(1) as count from bs_sgc_df_xsjhjlz as lz "+
// "left join bs_sgc_df_xsjhjl hj on hj.id=lz.RECORD_ID "+
// "<if test='dto.handleStatus != null and dto.handleStatus != \"\"'> " +
// "AND hj.handle_status=#{dto.handleStatus} "+
// "</if> " +
// "left join att_dike_base base on base.dike_code=hj.dike_code "+
// "<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
// " and base.adcd like concat(#{dto.adcdQx}, '%') "+
// "</if>"+
// "where 1=1 "+
// "<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
// "AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
// "AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
// "</if> " +
// "<if test='dto.problem != null and dto.problem != \"\"'> "+
// "AND lz.status=#{dto.problem} "+
// "</if> " +
// "group by base.adcd ,hj.handle_status "+
// "</script>")
// List<DfYhHiddenDangerModel> clfNumberData(@Param("dto") DfYhHiddenDangerQueDto dto);
@Select("<script>" + @Select("<script>" +
"SELECT " + "SELECT " +
"r.id, " + "r.id, " +

60
shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java

@ -33,6 +33,7 @@ import com.kms.yxgh.util.StreamUtils;
import com.shuili.common.core.domain.AjaxResult; import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.service.BaseService; import com.shuili.common.core.service.BaseService;
import com.shuili.common.enums.DfEnum;
import com.shuili.common.utils.StringUtils; import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.poi.ExcelUtil; import com.shuili.common.utils.poi.ExcelUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -65,63 +66,57 @@ public class DfRecordService extends BaseService<DfRecordMapper, DfRecord> {
public DfYhCharHiddenDangerDto hiddenDanger(DfYhHiddenDangerQueDto dto) { public DfYhCharHiddenDangerDto hiddenDanger(DfYhHiddenDangerQueDto dto) {
DfYhCharHiddenDangerDto dfYhCharHiddenDangerDto=new DfYhCharHiddenDangerDto(); DfYhCharHiddenDangerDto dfYhCharHiddenDangerDto=new DfYhCharHiddenDangerDto();
// 堤防数量
int dfNumber = this.baseMapper.dfNumber(dto);
// 一般隐患数量
dto.setProblem("1");
int ybNumber = this.baseMapper.dfNumber(dto);
// 重大隐患数量
dto.setProblem("2");
int zdNumber = this.baseMapper.dfNumber(dto);
// 处置数量
dto.setHandleStatus("2");
int czNumber = this.baseMapper.dfNumber(dto);
dfYhCharHiddenDangerDto.setDfNumber(dfNumber); // 堤防段数
dfYhCharHiddenDangerDto.setYbNumber(ybNumber); dfYhCharHiddenDangerDto.setDfNumber(baseMapper.paragraphCountNumber(dto));
dfYhCharHiddenDangerDto.setZdNumber(zdNumber); // 隐患数
dfYhCharHiddenDangerDto.setCzNumber(czNumber); dfYhCharHiddenDangerDto.setYhNumber(baseMapper.yhCountNumber(dto));
// 处置数
dfYhCharHiddenDangerDto.setCzNumber(baseMapper.clCountNumber(dto));
List<DfYhHiddenDangerModel> list =new ArrayList<>(); List<DfYhHiddenDangerModel> list =new ArrayList<>();
// 隐患数量数据 // 隐患数量数据
dto.setProblem("1");
List<DfYhHiddenDangerModel> yhModel = baseMapper.yhNumberData(dto); List<DfYhHiddenDangerModel> yhModel = baseMapper.yhNumberData(dto);
if (!CollectionUtil.isEmpty(yhModel)) { if (!CollectionUtil.isEmpty(yhModel)) {
list.addAll(yhModel); list.addAll(yhModel);
} }
dto.setProblem("2");
List<DfYhHiddenDangerModel> jdModel = baseMapper.yhNumberData(dto);
if (!CollectionUtil.isEmpty(jdModel)) {
list.addAll(jdModel);
}
dto.setProblem("3");
List<DfYhHiddenDangerModel> zdModel = baseMapper.yhNumberData(dto);
if (!CollectionUtil.isEmpty(zdModel)) {
list.addAll(zdModel);
}
// 处理数量数据 // 处理数量数据
dto.setHandleStatus("2");
List<DfYhHiddenDangerModel> clModel = baseMapper.clfNumberData(dto); List<DfYhHiddenDangerModel> clModel = baseMapper.clfNumberData(dto);
if (CollectionUtil.isEmpty(clModel)) { if (CollectionUtil.isEmpty(list)) {
return dfYhCharHiddenDangerDto; return dfYhCharHiddenDangerDto;
} }
list.addAll(clModel); list.addAll(clModel);
Map<String, List<DfYhHiddenDangerModel>> groupingByList = list.stream() Map<String, List<DfYhHiddenDangerModel>> groupingByList = list.stream()
.filter(s -> !StringUtils.isEmpty(s.getAdcd())) // 过滤掉空字符串 .filter(s -> !StringUtils.isEmpty(s.getAdcd())) // 过滤掉空字符串
.collect(Collectors.groupingBy(DfYhHiddenDangerModel::getAdcd)); .collect(Collectors.groupingBy(DfYhHiddenDangerModel::getAdcd));
if (!CollectionUtil.isEmpty(groupingByList)) { if (!CollectionUtil.isEmpty(groupingByList)) {
List<String> xList =new ArrayList<>(); List<String> xList =new ArrayList<>();
List<DfYhCharHiddenDangerDto.YAxis>yAxisList=new ArrayList<>(); List<DfYhCharHiddenDangerDto.YAxis>yAxisList=new ArrayList<>();
// 是否查询区级
boolean flag = org.springframework.util.StringUtils.isEmpty(dto.getDistrictLevelFlag())
|| Objects.equals("0", dto.getDistrictLevelFlag());
if (!flag) {
SysXzqh xzqhdm = sysXzqhService.getOne(new QueryWrapper<SysXzqh>().eq("XZQHDM", dto.getAdcd()).last(" limit 1"));
if (null != xzqhdm) {
xList.add(xzqhdm.getName());
}
}
for (Map.Entry<String, List<DfYhHiddenDangerModel>> entry : groupingByList.entrySet()) { for (Map.Entry<String, List<DfYhHiddenDangerModel>> entry : groupingByList.entrySet()) {
// 设置 x轴 // 设置 x轴
// 转换名称 // 转换名称
if (flag) {
SysXzqh xzqhdm = sysXzqhService.getOne(new QueryWrapper<SysXzqh>().likeRight("XZQHDM", entry.getKey())); SysXzqh xzqhdm = sysXzqhService.getOne(new QueryWrapper<SysXzqh>().likeRight("XZQHDM", entry.getKey()));
if (null != xzqhdm) { if (null!=xzqhdm) {
xList.add(xzqhdm.getName()); xList.add(xzqhdm.getName());
} }
}
DfYhCharHiddenDangerDto.YAxis yAxisInfo = getyAxis(entry); DfYhCharHiddenDangerDto.YAxis yAxisInfo = getyAxis(entry);
yAxisList.add(yAxisInfo); yAxisList.add(yAxisInfo);
} }
@ -137,10 +132,7 @@ public class DfRecordService extends BaseService<DfRecordMapper, DfRecord> {
for (DfYhHiddenDangerModel it : entry.getValue()) { for (DfYhHiddenDangerModel it : entry.getValue()) {
DfYhCharHiddenDangerDto.Series series=new DfYhCharHiddenDangerDto.Series(); DfYhCharHiddenDangerDto.Series series=new DfYhCharHiddenDangerDto.Series();
series.setCount(it.getCount()); series.setCount(it.getCount());
if (it != null) { series.setType(it.getProblem());
// 如果非处置状态即全部为隐患状态
series.setType(Objects.equals(it.getHandleStatus(),2)?2:1);
}
seriesList.add(series); seriesList.add(series);
} }
// 设置 y轴 // 设置 y轴

4
shuili-system/src/main/java/com/kms/yxgh/model/DfYhHiddenDangerModel.java

@ -21,10 +21,10 @@ public class DfYhHiddenDangerModel {
private String adcd; private String adcd;
@ApiModelProperty("隐患类型") @ApiModelProperty("隐患类型")
private String problem; private int problem;
@ApiModelProperty("数量") @ApiModelProperty("数量")
private Integer count; private int count;
@ApiModelProperty("处置状态") @ApiModelProperty("处置状态")
private Integer handleStatus; private Integer handleStatus;

8
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCharInfoItemQueDto.java

@ -17,11 +17,13 @@ import lombok.Data;
@ApiModel("水闸责任人巡查情况概览隐患统计") @ApiModel("水闸责任人巡查情况概览隐患统计")
public class SzCharInfoItemQueDto implements IAdcd { public class SzCharInfoItemQueDto implements IAdcd {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("查询开始时间 yyyy-MM-dd HH:mm:ss") @ApiModelProperty("查询开始时间")
private String patrolStart; private String patrolStart;
@ApiModelProperty("查询结束时间 yyyy-MM-dd HH:mm:ss") @ApiModelProperty("查询结束时间")
private String patrolEnd; private String patrolEnd;
@ApiModelProperty("地区code") @ApiModelProperty("地区code")
private String adcd; private String adcd;
@ApiModelProperty("区级标识 1是 0否")
private String districtLevelFlag;
} }

120
shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java

@ -2,14 +2,23 @@ package com.kms.yxgh.sz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.yxgh.df.dto.DfYhHiddenDangerQueDto;
import com.kms.yxgh.df.dto.DfYhStatisticsQueDto;
import com.kms.yxgh.model.DfYhHiddenDangerModel;
import com.kms.yxgh.model.DfYhStatisticsModelDto;
import com.kms.yxgh.sz.domain.SzRecord; import com.kms.yxgh.sz.domain.SzRecord;
import com.kms.yxgh.sz.dto.SzCharInfoItemQueDto;
import com.kms.yxgh.sz.dto.SzCharInfoQueDto;
import com.kms.yxgh.sz.dto.SzRecordSearchDto; import com.kms.yxgh.sz.dto.SzRecordSearchDto;
import com.kms.yxgh.sz.dto.SzRecordSimpleDto; import com.kms.yxgh.sz.dto.SzRecordSimpleDto;
import com.kms.yxgh.sz.model.SzHiddenDangerModel;
import com.kms.yxgh.sz.model.SzStatisticsModelDto;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 水闸巡视检查记录Mapper接口 * 水闸巡视检查记录Mapper接口
@ -22,6 +31,117 @@ public interface SzRecordMapper extends BaseMapper<SzRecord> {
@Select("SELECT MAX(create_time) FROM bs_sgc_sz_xsjhjl WHERE waga_code = #{wagaCode} and plan_id = #{planId}") @Select("SELECT MAX(create_time) FROM bs_sgc_sz_xsjhjl WHERE waga_code = #{wagaCode} and plan_id = #{planId}")
Date getLastInsertTimeByWagaCodeAndPlanId(@Param("wagaCode") String wagaCode, @Param("planId") String planId); Date getLastInsertTimeByWagaCodeAndPlanId(@Param("wagaCode") String wagaCode, @Param("planId") String planId);
@Select("<script>" +
"select adb.adcd,sz.duty_holder_type,count(1) as count from bs_sgc_sz_xsjhjl sz "+
"left join att_dike_base adb on adb.dike_CODE = sz.WAGA_CODE "+
" where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(sz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(sz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND adb.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"group by adb.adcd ,sz.duty_holder_type "+
"</script>")
List<SzStatisticsModelDto> szStatistics (@Param("dto") SzCharInfoQueDto dto);
@Select("<script>" +
"SELECT count(DISTINCT(jl.WAGA_CODE)) " +
"FROM bs_sgc_sz_xsjhjl as jl "+
"left join att_dike_base base on base.dike_code=jl.WAGA_CODE "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
" and base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"WHERE jl.id IN ( "+
"SELECT RECORD_ID "+
"FROM bs_sgc_sz_xsjhjlz "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"where (DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"and base.adcd is not null "+
"group by RECORD_ID "+
") "+
"</script>")
int paragraphCountNumber(@Param("dto") SzCharInfoItemQueDto dto);
@Select("<script>" +
"select count(1) from bs_sgc_sz_xsjhjlz as lz "+
"left join bs_sgc_sz_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.WAGA_CODE "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"and base.adcd is not null "+
"and (lz.PROBLEM is null or lz.PROBLEM = '') "+
"</script>")
int yhCountNumber(@Param("dto") SzCharInfoItemQueDto dto);
@Select("<script>" +
"select count(1) from bs_sgc_sz_xsjhjlz as lz "+
"left join bs_sgc_sz_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.WAGA_CODE "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"and base.adcd is not null "+
"and (lz.HANDLE_TIME is null ) "+
"</script>")
int clCountNumber(@Param("dto") SzCharInfoItemQueDto dto);
@Select("<script>" +
"select base.adcd,'1' as problem,count(1) as count from bs_sgc_sz_xsjhjlz as lz "+
"left join bs_sgc_sz_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.WAGA_CODE "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"and base.adcd is not null "+
"and (lz.PROBLEM is null or lz.PROBLEM = '') "+
"group by base.adcd "+
"</script>")
List<SzHiddenDangerModel> yhNumberData(@Param("dto") SzCharInfoItemQueDto dto);
@Select("<script>" +
"select base.adcd,'1' as problem,count(1) as count from bs_sgc_sz_xsjhjlz as lz "+
"left join bs_sgc_sz_xsjhjl hj on hj.id=lz.RECORD_ID "+
"left join att_dike_base base on base.dike_code=hj.WAGA_CODE "+
"<if test='dto.adcdQx != null and dto.adcdQx != \"\"'> "+
"AND base.adcd like concat(#{dto.adcdQx}, '%') "+
"</if> "+
"where 1=1 "+
"<if test='dto.patrolStart != null and dto.patrolEnd != \"\"'> "+
"AND (DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{dto.patrolStart} , '%Y-%m-%d %H:%i:%s') "+
"AND DATE_FORMAT(lz.create_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{dto.patrolEnd} , '%Y-%m-%d %H:%i:%s')) "+
"</if> " +
"and base.adcd is not null "+
"and (lz.HANDLE_TIME is null ) "+
"group by base.adcd "+
"</script>")
List<SzHiddenDangerModel> clfNumberData(@Param("dto") SzCharInfoItemQueDto dto);
@Select("<script>" + @Select("<script>" +
"SELECT " + "SELECT " +
"r.id, " + "r.id, " +

6
shuili-system/src/main/java/com/kms/yxgh/sz/model/SzHiddenDangerModel.java

@ -21,13 +21,13 @@ public class SzHiddenDangerModel {
private String adcd; private String adcd;
@ApiModelProperty("隐患类型") @ApiModelProperty("隐患类型")
private String problem; private int problem;
@ApiModelProperty("数量") @ApiModelProperty("数量")
private Integer count; private int count;
@ApiModelProperty("处置状态") @ApiModelProperty("处置状态")
private Integer handleStatus; private int handleStatus;

1
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordItemService.java

@ -14,4 +14,5 @@ import org.springframework.stereotype.Service;
@Service @Service
public class SzRecordItemService extends BaseService<SzRecordItemMapper, SzRecordItem>{ public class SzRecordItemService extends BaseService<SzRecordItemMapper, SzRecordItem>{
} }

134
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java

@ -2,10 +2,13 @@ package com.kms.yxgh.sz.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysUserService; import com.kms.system.service.SysUserService;
import com.kms.system.service.SysXzqhService;
import com.kms.yxgh.base.SzException; import com.kms.yxgh.base.SzException;
import com.kms.yxgh.df.dto.SzCharItemDto; import com.kms.yxgh.df.dto.SzCharItemDto;
import com.kms.yxgh.sz.domain.SzCheckingItem; import com.kms.yxgh.sz.domain.SzCheckingItem;
@ -24,6 +27,8 @@ import com.kms.yxgh.sz.mapper.SzCheckingItemMapper;
import com.kms.yxgh.sz.mapper.SzCheckingLineMapper; import com.kms.yxgh.sz.mapper.SzCheckingLineMapper;
import com.kms.yxgh.sz.mapper.SzPlanOperatorMapper; import com.kms.yxgh.sz.mapper.SzPlanOperatorMapper;
import com.kms.yxgh.sz.mapper.SzRecordMapper; import com.kms.yxgh.sz.mapper.SzRecordMapper;
import com.kms.yxgh.sz.model.SzHiddenDangerModel;
import com.kms.yxgh.sz.model.SzStatisticsModelDto;
import com.kms.yxgh.util.BeanCopyUtils; import com.kms.yxgh.util.BeanCopyUtils;
import com.kms.yxgh.util.StreamUtils; import com.kms.yxgh.util.StreamUtils;
import com.shuili.common.core.domain.AjaxResult; import com.shuili.common.core.domain.AjaxResult;
@ -34,13 +39,10 @@ import com.shuili.common.utils.poi.ExcelUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.kms.yxgh.sz.service.SzCheckingService.PART_SEPARATOR; import static com.kms.yxgh.sz.service.SzCheckingService.PART_SEPARATOR;
/** /**
* 水闸巡视检查记录Service接口 * 水闸巡视检查记录Service接口
* *
@ -56,17 +58,139 @@ public class SzRecordService extends BaseService<SzRecordMapper, SzRecord> {
private final SysUserService userService; private final SysUserService userService;
private final SzPlanOperatorMapper planOperatorMapper; private final SzPlanOperatorMapper planOperatorMapper;
private final SzCheckingItemMapper szCheckingItemMapper; private final SzCheckingItemMapper szCheckingItemMapper;
private final SysXzqhService sysXzqhService;
public SzCharInfoDto szStatistics(SzCharInfoQueDto dto){ public SzCharInfoDto szStatistics(SzCharInfoQueDto dto){
List<SzStatisticsModelDto> list = baseMapper.szStatistics(dto);
SzCharInfoDto dtoInfo=new SzCharInfoDto();
if (CollectionUtil.isEmpty(list)){
return dtoInfo;
}
Map<String, List<SzStatisticsModelDto>> groupingByList = list.stream()
.collect(Collectors.groupingBy(SzStatisticsModelDto::getAdcd));
return null; List<String> xList =new ArrayList<>();
List<SzCharInfoDto.YAxis>yAxisList=new ArrayList<>();
for (Map.Entry<String, List<SzStatisticsModelDto>> entry : groupingByList.entrySet()) {
// 设置 x轴
// 转换名称
SysXzqh xzqhdm = sysXzqhService.getOne(new QueryWrapper<SysXzqh>()
.likeRight("XZQHDM", entry.getKey()).last(" limit 1"));
if (null != xzqhdm) {
xList.add(xzqhdm.getName());
}
SzCharInfoDto.YAxis yAxisInfo = getSzStatisticsyAxis(entry);
yAxisList.add(yAxisInfo);
}
dtoInfo.setYAxis(yAxisList);
dtoInfo.setXAxis(xList);
return dtoInfo;
} }
private SzCharInfoDto.YAxis getSzStatisticsyAxis(Map.Entry<String, List<SzStatisticsModelDto>> entry) {
List<SzCharInfoDto.Series> seriesList =new ArrayList<>();
for (SzStatisticsModelDto it : entry.getValue()) {
SzCharInfoDto.Series series=new SzCharInfoDto.Series();
series.setCount(it.getCount());
series.setDutyHolderType(it.getDutyHolderType());
seriesList.add(series);
}
// 设置 y轴
SzCharInfoDto.YAxis yAxisInfo=new SzCharInfoDto.YAxis();
yAxisInfo.setName("次数");
yAxisInfo.setUnit("个");
yAxisInfo.setSeries(seriesList);
return yAxisInfo;
}
public SzCharItemDto szHiddenDanger(SzCharInfoItemQueDto dto){ public SzCharItemDto szHiddenDanger(SzCharInfoItemQueDto dto){
SzCharItemDto dfYhCharHiddenDangerDto=new SzCharItemDto();
return null; numberHandle(dto,dfYhCharHiddenDangerDto);
List<SzHiddenDangerModel> list =new ArrayList<>();
// 隐患数量数据
List<SzHiddenDangerModel> yhModel = baseMapper.yhNumberData(dto);
if (!CollectionUtil.isEmpty(yhModel)) {
list.addAll(yhModel);
}
// 处理数量数据
List<SzHiddenDangerModel> clModel = baseMapper.clfNumberData(dto);
if (CollectionUtil.isEmpty(list)) {
return dfYhCharHiddenDangerDto;
}
list.addAll(clModel);
Map<String, List<SzHiddenDangerModel>> groupingByList = list.stream()
.filter(s -> !StringUtils.isEmpty(s.getAdcd())) // 过滤掉空字符串
.collect(Collectors.groupingBy(SzHiddenDangerModel::getAdcd));
if (!CollectionUtil.isEmpty(groupingByList)) {
List<String> xList =new ArrayList<>();
List<SzCharItemDto.YAxis>yAxisList=new ArrayList<>();
// 是否查询区级
boolean flag = org.springframework.util.StringUtils.isEmpty(dto.getDistrictLevelFlag())
|| Objects.equals("0", dto.getDistrictLevelFlag());
if (!flag) {
SysXzqh xzqhdm = sysXzqhService.getOne(new QueryWrapper<SysXzqh>().eq("XZQHDM", dto.getAdcd()).last(" limit 1"));
if (null != xzqhdm) {
xList.add(xzqhdm.getName());
}
}
for (Map.Entry<String, List<SzHiddenDangerModel>> entry : groupingByList.entrySet()) {
// 设置 x轴
// 转换名称
if (flag) {
SysXzqh xzqhdm = sysXzqhService.getOne(new QueryWrapper<SysXzqh>().likeRight("XZQHDM", entry.getKey()));
if (null!=xzqhdm) {
xList.add(xzqhdm.getName());
}
}
SzCharItemDto.YAxis yAxisInfo = getSzHiddenDangeryAxis(entry);
yAxisList.add(yAxisInfo);
}
dfYhCharHiddenDangerDto.setYAxis(yAxisList);
dfYhCharHiddenDangerDto.setXAxis(xList);
}
return dfYhCharHiddenDangerDto;
}
public static String getXZQHName(String code) {
return "";
}
private void numberHandle (SzCharInfoItemQueDto dto,SzCharItemDto itemDto) {
// 堤防数量
int dfNumber = this.baseMapper.paragraphCountNumber(dto);
// 一般隐患数量
int yhNumber = this.baseMapper.yhCountNumber(dto);
// 处置数量
int czNumber = this.baseMapper.clCountNumber(dto);
itemDto.setDfNumber(dfNumber);
itemDto.setYhNumber(yhNumber);
itemDto.setCzNumber(czNumber);
}
private SzCharItemDto.YAxis getSzHiddenDangeryAxis(Map.Entry<String, List<SzHiddenDangerModel>> entry) {
List<SzCharItemDto.Series> seriesList =new ArrayList<>();
for (SzHiddenDangerModel it : entry.getValue()) {
SzCharItemDto.Series series=new SzCharItemDto.Series();
series.setCount(it.getCount());
series.setType(it.getProblem());
seriesList.add(series);
}
// 设置 y轴
SzCharItemDto.YAxis yAxisInfo=new SzCharItemDto.YAxis();
yAxisInfo.setName("次数");
yAxisInfo.setUnit("个");
yAxisInfo.setSeries(seriesList);
return yAxisInfo;
} }
public IPage<SzRecordSimpleDto> search(SearchParam<SzRecordSearchDto> sp) { public IPage<SzRecordSimpleDto> search(SearchParam<SzRecordSearchDto> sp) {

Loading…
Cancel
Save