Browse Source

fix:监督检查-水闸/堤防-修改工程问题结构

master_tdsql
huangrenya 1 year ago
parent
commit
9e8088b7c6
  1. 47
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfSuperviseEngineering.java
  2. 12
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfSuperviseProblem.java
  3. 45
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseEngineeringDto.java
  4. 40
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseEngineeringParamDto.java
  5. 2
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseProblemDetailDto.java
  6. 13
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseProblemDto.java
  7. 6
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseTaskDetailDto.java
  8. 15
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseEngineeringMapper.java
  9. 70
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseProblemMapper.java
  10. 74
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfSuperviseEngineeringService.java
  11. 47
      shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzSuperviseEngineering.java
  12. 13
      shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzSuperviseProblem.java
  13. 45
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseEngineeringDto.java
  14. 39
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseEngineeringParamDto.java
  15. 12
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseProblemDetailDto.java
  16. 14
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseProblemDto.java
  17. 6
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseTaskDetailDto.java
  18. 16
      shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzSuperviseEngineeringMapper.java
  19. 62
      shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzSuperviseProblemMapper.java
  20. 78
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSuperviseEngineeringService.java

47
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfSuperviseEngineering.java

@ -1,47 +0,0 @@
package com.kms.yxgh.df.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kms.yxgh.base.SyBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 堤防监督检查工程管理对象 bs_sgc_df_jdjcgc
* @author hry
* @date 2024/2/29 13:57
*/
@TableName("bs_sgc_df_jdjcgc")
@Data
@ApiModel("堤防监督检查工程管理")
public class DfSuperviseEngineering extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 监督检查任务ID
*/
@ApiModelProperty(value = "监督检查任务ID")
private String taskId;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty(value = "监督检查办法项目ID")
private String projectId;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
}

12
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfSuperviseProblem.java

@ -45,6 +45,18 @@ public class DfSuperviseProblem extends SyBaseEntity {
@ApiModelProperty("问题等级")
private String level;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 状态下发处理确认完成
*/

45
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseEngineeringDto.java

@ -1,45 +0,0 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 堤防监督检查工程管理DTO对象
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("堤防监督检查工程管理")
public class DfSuperviseEngineeringDto {
@ApiModelProperty("主键")
private String id;
/**
* 监督检查任务ID
*/
@ApiModelProperty(value = "监督检查任务ID")
private String taskId;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty(value = "监督检查办法项目ID")
private String projectId;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
}

40
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseEngineeringParamDto.java

@ -56,11 +56,23 @@ public class DfSuperviseEngineeringParamDto {
private String id;
/**
* 监督检查办法项目ID
* 项目ID
*/
@ApiModelProperty("监督检查办法项目ID")
@ApiModelProperty("项目ID")
private String projectId;
/**
* 项目内容ID
*/
@ApiModelProperty("项目内容ID")
private String projectItemId;
/**
* 问题等级
*/
@ApiModelProperty("等级")
private String level;
/**
* 问题描述
*/
@ -72,30 +84,6 @@ public class DfSuperviseEngineeringParamDto {
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 问题填报列表
*/
private List<ProblemLevelParam> levelList;
}
@Data
public static class ProblemLevelParam {
@ApiModelProperty("主键")
private String id;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty("监督检查办法项目ID")
private String projectItemId;
/**
* 问题等级
*/
@ApiModelProperty("等级")
private String level;
}
}

2
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseProblemDetailDto.java

@ -11,7 +11,7 @@ import lombok.Data;
*/
@Data
@ApiModel("堤防监督检查问题详情")
public class DfSuperviseProblemDetailDto extends SzSuperviseTaskCommonDto {
public class DfSuperviseProblemDetailDto extends DfSuperviseTaskCommonDto {
/**
* 检查项目名称

13
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseProblemDto.java

@ -56,6 +56,19 @@ public class DfSuperviseProblemDto {
@ApiModelProperty("问题等级")
private String level;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 状态下发处理确认完成
*/

6
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSuperviseTaskDetailDto.java

@ -14,12 +14,6 @@ import java.util.List;
@ApiModel("堤防监督检查任务管理")
public class DfSuperviseTaskDetailDto extends DfSuperviseTaskCommonDto {
/**
* 问题描述列表
*/
@ApiModelProperty(value = "问题描述列表")
private List<DfSuperviseEngineeringDto> engineeringList;
/**
* 问题列表
*/

15
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseEngineeringMapper.java

@ -1,15 +0,0 @@
package com.kms.yxgh.df.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.df.domain.DfSuperviseEngineering;
import org.springframework.stereotype.Repository;
/**
* 堤防监督检查工程Mapper接口
*
* @author hry
* @date 2024/2/29 14:44
*/
@Repository
public interface DfSuperviseEngineeringMapper extends BaseMapper<DfSuperviseEngineering> {
}

70
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseProblemMapper.java

@ -34,9 +34,9 @@ public interface DfSuperviseProblemMapper extends BaseMapper<DfSuperviseProblem>
*/
@Insert({
"<script>",
"insert into bs_sgc_df_jdjcgcwt(task_id, project_id, project_item_id, level, status) values ",
"insert into bs_sgc_df_jdjcgcwt(task_id, project_id, project_item_id, level, status, PROBLEM_DESCRIBE, SITE_SITUATION_RECORDS ) values ",
"<foreach collection='problemList' item='item' index='index' separator=','>",
"(#{item.taskId}, #{item.projectId}, #{item.projectItemId}, #{item.level}, #{item.status} )",
"(#{item.taskId}, #{item.projectId}, #{item.projectItemId}, #{item.level}, #{item.status}, #{item.problemDescribe}, #{item.siteSituationRecords} )",
"</foreach>",
"</script>"
})
@ -98,52 +98,50 @@ public interface DfSuperviseProblemMapper extends BaseMapper<DfSuperviseProblem>
}
}
// 判断bs_sgc_df_gcda的adcdStart是否等于sys_xzqh的xzqhdm,或者是否等于xzqhdm的parentid,以及根据parentId获取xzqhdm查询是否等于adcdStart
/**
* 监督检查任务统计分析
* @param dto
* @return
*/
@SelectProvider(type = DfSuperviseProblemTotalProvider.class, method = "countProblemTotal")
@Select("<script>" +
"SELECT sum(IF(wt.status is not null, 1, 0)) as problemDispose,sum(IF(wt.status='0', 1, 0)) as distributeCount,sum(IF(wt.status='1', 1, 0)) as handleCount," +
"sum(IF(wt.status='2', 1, 0)) as confirmCount,sum(IF(wt.status='3', 1, 0)) as finishCount,sum(IF(wt.level is not null, 1, 0)) as problemTotal," +
"sum(IF(wt.level='1', 1, 0)) as same,sum(IF(wt.level='2', 1, 0)) as heavy,sum(IF(wt.level='3', 1, 0)) as serious "+
"FROM bs_sgc_df_jdjcgcwt wt " +
"LEFT JOIN bs_sgc_df_jdjcrw rw on wt.TASK_ID = rw.id " +
"LEFT JOIN bs_sgc_df_gcda xx on xx.dike_code = rw.dike_code " +
"<if test='dto.adcdStart != null and dto.adcdStart != \"\"'>" +
"LEFT JOIN sys_xzqh xzqh on xzqh.xzqhdm=#{dto.adcdStart} " +
"</if>" +
"WHERE xx.EXPR_DATE IS NULL " +
"<if test='dto.dikeType != null and dto.dikeType != \"\"'>" +
"AND FIND_IN_SET(#{dto.dikeType} , REPLACE(REPLACE(REPLACE(xx.dike_type, '[', ''), ']', ''), '\"', '')) " +
"</if>" +
"<if test='dto.riverLocation != null and dto.riverLocation != \"\"'>" +
"AND xx.river_location = #{dto.riverLocation} " +
"</if>" +
"<if test='dto.taskId != null and dto.taskId != \"\"'>" +
"AND wt.task_id = #{dto.taskId} " +
"</if>" +
"<if test='dto.adcdStart != null and dto.adcdStart != \"\"'>" +
"AND (xx.ADCD_START = #{dto.adcdStart} OR xx.ADCD_START in (SELECT xzqhdm from sys_xzqh where parentid =#{dto.adcdStart}) " +
" or xx.ADCD_START in (select xzqhdm from sys_xzqh where parentid in(SELECT xzqhdm from sys_xzqh where parentid = #{dto.adcdStart}))) " +
"</if>" +
"</script>")
DfSuperviseProblemTotalDto countProblemTotal(@Param("dto") DfSuperviseProblemListDto dto);
class DfSuperviseProblemTotalProvider {
public String countProblemTotal(final Map<String, Object> param) {
return new SQL() {{
SELECT("sum(IF(wt.status is not null, 1, 0)) as problemDispose,sum(IF(wt.status='0', 1, 0)) as distributeCount,sum(IF(wt.status='1', 1, 0)) as handleCount," +
"sum(IF(wt.status='2', 1, 0)) as confirmCount,sum(IF(wt.status='3', 1, 0)) as finishCount,sum(IF(wt.level is not null, 1, 0)) as problemTotal," +
"sum(IF(wt.level='1', 1, 0)) as same,sum(IF(wt.level='2', 1, 0)) as heavy,sum(IF(wt.level='3', 1, 0)) as serious ");
FROM("bs_sgc_df_jdjcgcwt wt");
LEFT_OUTER_JOIN("bs_sgc_df_jdjcrw rw on wt.TASK_ID = rw.id");
LEFT_OUTER_JOIN("bs_sgc_df_gcda xx on xx.dike_code = rw.dike_code");
LEFT_OUTER_JOIN("bs_sgc_df_gcgl gl on xx.dike_code = gl.dike_code");
WHERE("xx.EXPR_DATE IS NULL AND gl.EXPR_DATE IS NULL");
DfSuperviseProblemListDto dto = (DfSuperviseProblemListDto) param.get("dto");
if (dto != null) {
if (StringUtils.isNotBlank(dto.getRiverLocation())) {
WHERE("xx.river_location = #{dto.riverLocation}");
}
if (StringUtils.isNotBlank(dto.getDikeType())) {
WHERE("FIND_IN_SET(#{dto.dikeType} , REPLACE(REPLACE(REPLACE(xx.dike_type, '[', ''), ']', ''), '\"', ''))");
}
// 行政区划
if (StringUtils.isNotBlank(dto.getAdcd())) {
WHERE("xx.adcd = #{dto.adcd}");
}
// 监督检查任务
if (StringUtils.isNotBlank(dto.getTaskId())) {
WHERE("rw.id = #{dto.taskId}");
}
}
}}.toString();
}
}
@Select("<script>" +
"SELECT xm.name as projectName, nr.project_id as projectId, nr.content, " +
"wt.id, wt.task_id as taskId, wt.PROJECT_ITEM_ID as projectItemId, wt.level, wt.status, wt.HANDLE_RECORD as handleRecord, wt.HANDLE_SITUATION_RECORDS as handleSituationRecords, wt.HANDLE_UID as handleUid, " +
"wt.HANDLE_NAME as handleName, wt.HANDLE_TIME as handleTime, wt.CONFIRM_UID as confirmUid, wt.CONFIRM_NAME as confirmName, wt.CONFIRM_TIME as confirmTime "+
"wt.HANDLE_NAME as handleName, wt.HANDLE_TIME as handleTime, wt.CONFIRM_UID as confirmUid, wt.CONFIRM_NAME as confirmName, wt.CONFIRM_TIME as confirmTime, wt.PROBLEM_DESCRIBE as problemDescribe, wt.SITE_SITUATION_RECORDS as siteSituationRecords "+
"FROM bs_sgc_df_jdjcgcwt wt " +
"LEFT JOIN bs_sgc_df_jdjcbfxm xm on wt.project_id = xm.id " +
"LEFT JOIN bs_sgc_df_jdjcbfxmnr nr on wt.project_item_id = nr.id " +

74
shuili-system/src/main/java/com/kms/yxgh/df/service/DfSuperviseEngineeringService.java

@ -8,11 +8,9 @@ import com.kms.common.utils.UserUtils;
import com.kms.yxgh.base.SzException;
import com.kms.yxgh.base.enums.SuperviseEngineeringStatus;
import com.kms.yxgh.base.enums.SuperviseProblemStatus;
import com.kms.yxgh.df.domain.DfSuperviseEngineering;
import com.kms.yxgh.df.domain.DfSuperviseProblem;
import com.kms.yxgh.df.domain.DfSuperviseTask;
import com.kms.yxgh.df.dto.*;
import com.kms.yxgh.df.mapper.DfSuperviseEngineeringMapper;
import com.kms.yxgh.df.mapper.DfSuperviseProblemMapper;
import com.kms.yxgh.df.mapper.DfSuperviseTaskMapper;
import com.kms.yxgh.df.mapper.DfSuperviseWayProjectItemMapper;
@ -20,7 +18,6 @@ import com.kms.yxgh.util.BeanCopyUtils;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.core.service.BaseService;
import com.shuili.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -38,10 +35,9 @@ import java.util.stream.Collectors;
*/
@Service
@AllArgsConstructor
public class DfSuperviseEngineeringService extends BaseService<DfSuperviseEngineeringMapper, DfSuperviseEngineering> {
public class DfSuperviseEngineeringService extends BaseService<DfSuperviseProblemMapper, DfSuperviseProblem> {
private final DfSuperviseTaskMapper taskMapper;
private final DfSuperviseProblemMapper problemMapper;
private final DfSuperviseWayProjectItemMapper projectItemMapper;
@Transactional(rollbackFor = Exception.class)
@ -57,39 +53,32 @@ public class DfSuperviseEngineeringService extends BaseService<DfSuperviseEngine
task.setWeather(dto.getWeather());
task.setState(dto.getState());
// 1.2 新增工程问题
// 1.2 新增工程问题
if (CollectionUtil.isNotEmpty(dto.getProblemList())) {
List<DfSuperviseProblem> problemList = new ArrayList<>();
dto.getProblemList().stream().forEach(v -> {
v.getLevelList().forEach(level -> {
DfSuperviseProblem problem = new DfSuperviseProblem();
problem.setId(null);
problem.setProjectId(v.getProjectId());
problem.setTaskId(task.getId());
problem.setProjectItemId(level.getProjectItemId());
problem.setLevel(level.getLevel());
// 监督检查工程填报提交后更新问题为下发
if (SuperviseEngineeringStatus.SUBMIT.getValue().equals(dto.getState())) {
problem.setStatus(SuperviseProblemStatus.DISTRIBUTE.getValue());
}
problemList.add(problem);
});
List<String> problemIds = v.getLevelList().stream().map(DfSuperviseEngineeringParamDto.ProblemLevelParam::getId).collect(Collectors.toList());
if (problemIds.size() > 0) {
problemMapper.deleteBatchIds(problemIds);
dto.getProblemList().stream().forEach(level -> {
DfSuperviseProblem problem = new DfSuperviseProblem();
problem.setId(null);
problem.setProjectId(level.getProjectId());
problem.setTaskId(task.getId());
problem.setProjectItemId(level.getProjectItemId());
problem.setLevel(level.getLevel());
problem.setProblemDescribe(level.getProblemDescribe());
problem.setSiteSituationRecords(level.getSiteSituationRecords());
// 监督检查工程填报提交后更新问题为下发
if (SuperviseEngineeringStatus.SUBMIT.getValue().equals(dto.getState())) {
problem.setStatus(SuperviseProblemStatus.DISTRIBUTE.getValue());
}
DfSuperviseEngineering engineering = new DfSuperviseEngineering();
engineering.setId(StringUtils.isNotEmpty(v.getId()) ? v.getId() : null);
engineering.setTaskId(task.getId());
engineering.setProjectId(v.getProjectId());
engineering.setProblemDescribe(v.getProblemDescribe());
engineering.setSiteSituationRecords(v.getSiteSituationRecords());
this.saveOrUpdate(engineering);
problemList.add(problem);
});
List<String> problemIds = dto.getProblemList().stream().map(DfSuperviseEngineeringParamDto.ProblemParam::getId).collect(Collectors.toList());
if (problemIds.size() > 0) {
this.getBaseMapper().deleteBatchIds(problemIds);
}
// 批量新增
if (problemList.size() > 0) {
problemMapper.insertProblem(problemList);
this.getBaseMapper().insertProblem(problemList);
}
}
taskMapper.updateById(task);
@ -100,15 +89,10 @@ public class DfSuperviseEngineeringService extends BaseService<DfSuperviseEngine
public DfSuperviseTaskDetailDto getDetailByTaskId(String taskId) {
DfSuperviseTaskDetailDto dto = BeanCopyUtils.copy(getTaskProblemInfo(taskId), DfSuperviseTaskDetailDto.class);
// 1.1 获取堤防任务问题描述列表
List<DfSuperviseEngineering> engineeringList = this.list(Wrappers.<DfSuperviseEngineering>lambdaQuery()
.eq(DfSuperviseEngineering::getTaskId, taskId));
dto.setEngineeringList(BeanCopyUtils.copyList(engineeringList, DfSuperviseEngineeringDto.class));
// 1.4 获取堤防任务问题列表
DfSuperviseProblemDto dtoProblem = new DfSuperviseProblemDto();
dtoProblem.setTaskId(taskId);
List<DfSuperviseProblemDto> problemList = problemMapper.selectByListParam(dtoProblem);
List<DfSuperviseProblemDto> problemList = this.getBaseMapper().selectByListParam(dtoProblem);
dto.setProblemList(problemList);
return dto;
}
@ -137,19 +121,19 @@ public class DfSuperviseEngineeringService extends BaseService<DfSuperviseEngine
problem.setConfirmTime(now);
}
problemMapper.updateById(problem);
this.getBaseMapper().updateById(problem);
return true;
}
public DfSuperviseProblem getProblemDetailById(String id) {
DfSuperviseProblem problem = problemMapper.selectOne(Wrappers.<DfSuperviseProblem>lambdaQuery()
DfSuperviseProblem problem = this.getBaseMapper().selectOne(Wrappers.<DfSuperviseProblem>lambdaQuery()
.eq(DfSuperviseProblem::getId, id));
return problem;
}
public IPage<DfSuperviseProblemListDto> list(SearchParam<DfSuperviseProblemListDto> sp) {
Page<DfSuperviseProblemListDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
return problemMapper.selectPage(page, sp.getData());
return this.getBaseMapper().selectPage(page, sp.getData());
}
/**
@ -172,19 +156,13 @@ public class DfSuperviseEngineeringService extends BaseService<DfSuperviseEngine
// 获取问题信息
DfSuperviseProblemDto dtoProblem = new DfSuperviseProblemDto();
dtoProblem.setId(id);
List<DfSuperviseProblemDto> problemList = problemMapper.selectByListParam(dtoProblem);
List<DfSuperviseProblemDto> problemList = this.getBaseMapper().selectByListParam(dtoProblem);
if (problemList.size() == 0) {
throw new SzException("问题信息不存在,请确认id值是否正确");
}
DfSuperviseProblemDto problem = problemList.get(0);
dto.setProblemDto(problem);
// 获取问题描述
DfSuperviseEngineering engineering = this.getOne(Wrappers.<DfSuperviseEngineering>lambdaQuery().eq(DfSuperviseEngineering::getTaskId, problem.getTaskId())
.eq(DfSuperviseEngineering::getProjectId, problem.getProjectId()));
dto.setProblemDescribe(engineering.getProblemDescribe());
dto.setSiteSituationRecords(engineering.getSiteSituationRecords());
// 获取堤防和堤防任务信息
DfSuperviseTaskCommonDto commonDto = getTaskProblemInfo(problem.getTaskId());
BeanCopyUtils.copy(commonDto, dto);
@ -203,6 +181,6 @@ public class DfSuperviseEngineeringService extends BaseService<DfSuperviseEngine
public DfSuperviseProblemTotalDto countTotal(DfSuperviseProblemListDto dto) {
return problemMapper.countProblemTotal(dto);
return this.getBaseMapper().countProblemTotal(dto);
}
}

47
shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzSuperviseEngineering.java

@ -1,47 +0,0 @@
package com.kms.yxgh.sz.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kms.yxgh.base.SyBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 水闸监督检查工程管理对象 bs_sgc_sz_jdjcgc
* @author hry
* @date 2024/2/29 13:57
*/
@TableName("bs_sgc_sz_jdjcgc")
@Data
@ApiModel("水闸监督检查工程管理")
public class SzSuperviseEngineering extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 监督检查任务ID
*/
@ApiModelProperty(value = "监督检查任务ID")
private String taskId;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty(value = "监督检查办法项目ID")
private String projectId;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
}

13
shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzSuperviseProblem.java

@ -45,6 +45,19 @@ public class SzSuperviseProblem extends SyBaseEntity {
@ApiModelProperty("问题等级")
private String level;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 状态下发处理确认完成
*/

45
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseEngineeringDto.java

@ -1,45 +0,0 @@
package com.kms.yxgh.sz.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 水闸监督检查工程管理DTO对象
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("水闸监督检查工程管理")
public class SzSuperviseEngineeringDto {
@ApiModelProperty("主键")
private String id;
/**
* 监督检查任务ID
*/
@ApiModelProperty(value = "监督检查任务ID")
private String taskId;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty(value = "监督检查办法项目ID")
private String projectId;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
}

39
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseEngineeringParamDto.java

@ -57,11 +57,23 @@ public class SzSuperviseEngineeringParamDto{
private String id;
/**
* 监督检查办法项目ID
* 项目ID
*/
@ApiModelProperty("监督检查办法项目ID")
@ApiModelProperty("项目ID")
private String projectId;
/**
* 项目内容ID
*/
@ApiModelProperty("项目内容ID")
private String projectItemId;
/**
* 问题等级
*/
@ApiModelProperty("等级")
private String level;
/**
* 问题描述
*/
@ -74,29 +86,6 @@ public class SzSuperviseEngineeringParamDto{
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 问题填报列表
*/
private List<ProblemLevelParam> levelList;
}
@Data
public static class ProblemLevelParam {
@ApiModelProperty("主键")
private String id;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty("监督检查办法项目ID")
private String projectItemId;
/**
* 问题等级
*/
@ApiModelProperty("等级")
private String level;
}
}

12
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseProblemDetailDto.java

@ -24,18 +24,6 @@ public class SzSuperviseProblemDetailDto extends SzSuperviseTaskCommonDto{
@ApiModelProperty("检查内容")
private String content;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 问题对象
*/

14
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseProblemDto.java

@ -55,6 +55,20 @@ public class SzSuperviseProblemDto {
@ApiModelProperty("问题等级")
private String level;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@ApiModelProperty(value = "现场记录情况")
private String siteSituationRecords;
/**
* 状态下发处理确认完成
*/

6
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSuperviseTaskDetailDto.java

@ -14,12 +14,6 @@ import java.util.List;
@ApiModel("水闸监督检查任务管理")
public class SzSuperviseTaskDetailDto extends SzSuperviseTaskCommonDto{
/**
* 问题描述列表
*/
@ApiModelProperty(value = "问题描述列表")
private List<SzSuperviseEngineeringDto> engineeringList;
/**
* 问题列表
*/

16
shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzSuperviseEngineeringMapper.java

@ -1,16 +0,0 @@
package com.kms.yxgh.sz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.sz.domain.SzSuperviseEngineering;
import com.kms.yxgh.sz.domain.SzSuperviseTask;
import org.springframework.stereotype.Repository;
/**
* 水闸监督检查工程Mapper接口
*
* @author hry
* @date 2024/2/29 14:44
*/
@Repository
public interface SzSuperviseEngineeringMapper extends BaseMapper<SzSuperviseEngineering> {
}

62
shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzSuperviseProblemMapper.java

@ -34,9 +34,9 @@ public interface SzSuperviseProblemMapper extends BaseMapper<SzSuperviseProblem>
*/
@Insert({
"<script>",
"insert into bs_sgc_sz_jdjcgcwt(task_id, project_id, project_item_id, level, status) values ",
"insert into bs_sgc_sz_jdjcgcwt(task_id, project_id, project_item_id, level, status, PROBLEM_DESCRIBE, SITE_SITUATION_RECORDS ) values ",
"<foreach collection='problemList' item='item' index='index' separator=','>",
"(#{item.taskId}, #{item.projectId}, #{item.projectItemId}, #{item.level}, #{item.status} )",
"(#{item.taskId}, #{item.projectId}, #{item.projectItemId}, #{item.level}, #{item.status}, #{item.problemDescribe}, #{item.siteSituationRecords} )",
"</foreach>",
"</script>"
})
@ -97,52 +97,40 @@ public interface SzSuperviseProblemMapper extends BaseMapper<SzSuperviseProblem>
}
}
/**
* 监督检查任务统计分析
* @param dto
* @return
*/
@SelectProvider(type = SzSuperviseProblemTotalProvider.class, method = "countProblemTotal")
@Select("<script>" +
"SELECT sum(IF(wt.status is not null, 1, 0)) as problemDispose,sum(IF(wt.status='0', 1, 0)) as distributeCount,sum(IF(wt.status='1', 1, 0)) as handleCount," +
"sum(IF(wt.status='2', 1, 0)) as confirmCount,sum(IF(wt.status='3', 1, 0)) as finishCount,sum(IF(wt.level is not null, 1, 0)) as problemTotal," +
"sum(IF(wt.level='1', 1, 0)) as same,sum(IF(wt.level='2', 1, 0)) as heavy,sum(IF(wt.level='3', 1, 0)) as serious "+
"FROM bs_sgc_sz_jdjcgcwt wt " +
"LEFT JOIN bs_sgc_sz_jdjcrw rw on wt.TASK_ID = rw.id " +
"LEFT JOIN bs_sgc_sz_jbxx xx on xx.WAGA_CODE = rw.WAGA_CODE " +
"<if test='dto.adcd != null and dto.adcd != \"\"'>" +
"LEFT JOIN sys_xzqh xzqh on xzqh.xzqhdm=#{dto.adcd} " +
"</if>" +
"WHERE xx.EXPR_DATE IS NULL " +
"<if test='dto.wagaType != null and dto.wagaType != \"\"'>" +
"AND FIND_IN_SET(#{dto.wagaType} , REPLACE(REPLACE(REPLACE(xx.WAGA_TYPE, '[', ''), ']', ''), '\"', '')) " +
"</if>" +
"<if test='dto.taskId != null and dto.taskId != \"\"'>" +
"AND wt.task_id = #{dto.taskId} " +
"</if>" +
"<if test='dto.adcd != null and dto.adcd != \"\"'>" +
"AND (xx.adcd = #{dto.adcd} OR xx.adcd in (SELECT xzqhdm from sys_xzqh where parentid =#{dto.adcd}) " +
" or xx.adcd in (select xzqhdm from sys_xzqh where parentid in(SELECT xzqhdm from sys_xzqh where parentid = #{dto.adcd}))) " +
"</if>" +
"</script>")
SzSuperviseProblemTotalDto countProblemTotal(@Param("dto") SzSuperviseProblemListDto dto);
class SzSuperviseProblemTotalProvider {
public String countProblemTotal(final Map<String, Object> param) {
return new SQL() {{
SELECT("sum(IF(wt.status is not null, 1, 0)) as problemDispose,sum(IF(wt.status='0', 1, 0)) as distributeCount,sum(IF(wt.status='1', 1, 0)) as handleCount," +
"sum(IF(wt.status='2', 1, 0)) as confirmCount,sum(IF(wt.status='3', 1, 0)) as finishCount,sum(IF(wt.level is not null, 1, 0)) as problemTotal," +
"sum(IF(wt.level='1', 1, 0)) as same,sum(IF(wt.level='2', 1, 0)) as heavy,sum(IF(wt.level='3', 1, 0)) as serious ");
FROM("bs_sgc_sz_jdjcgcwt wt");
LEFT_OUTER_JOIN("bs_sgc_sz_jdjcrw rw on wt.TASK_ID = rw.id");
LEFT_OUTER_JOIN("bs_sgc_sz_jbxx xx on xx.WAGA_CODE = rw.WAGA_CODE");
LEFT_OUTER_JOIN("bs_sgc_sz_gcgl gl on xx.WAGA_CODE = gl.WAGA_CODE");
WHERE("xx.EXPR_DATE IS NULL AND gl.EXPR_DATE IS NULL");
SzSuperviseProblemListDto dto = (SzSuperviseProblemListDto) param.get("dto");
if (dto != null) {
// todo 所属流域
// 工程类型
if(StringUtils.isNotEmpty(dto.getWagaType())){
WHERE("FIND_IN_SET(#{dto.wagaType} , REPLACE(REPLACE(REPLACE(xx.WAGA_TYPE, '[', ''), ']', ''), '\"', ''))");
}
// 行政区划
if (StringUtils.isNotBlank(dto.getAdcd())) {
WHERE("xx.adcd = #{dto.adcd}");
}
// 监督检查任务
if (StringUtils.isNotBlank(dto.getTaskId())) {
WHERE("rw.id = #{dto.taskId}");
}
}
}}.toString();
}
}
@Select("<script>" +
"SELECT xm.name as projectName, nr.project_id as projectId, nr.content, " +
"wt.id, wt.task_id as taskId, wt.PROJECT_ITEM_ID as projectItemId, wt.level, wt.status, wt.HANDLE_RECORD as handleRecord, wt.HANDLE_SITUATION_RECORDS as handleSituationRecords, wt.HANDLE_UID as handleUid, " +
"wt.HANDLE_NAME as handleName, wt.HANDLE_TIME as handleTime, wt.CONFIRM_UID as confirmUid, wt.CONFIRM_NAME as confirmName, wt.CONFIRM_TIME as confirmTime "+
"wt.HANDLE_NAME as handleName, wt.HANDLE_TIME as handleTime, wt.CONFIRM_UID as confirmUid, wt.CONFIRM_NAME as confirmName, wt.CONFIRM_TIME as confirmTime, wt.PROBLEM_DESCRIBE as problemDescribe, wt.SITE_SITUATION_RECORDS as siteSituationRecords "+
"FROM bs_sgc_sz_jdjcgcwt wt " +
"LEFT JOIN bs_sgc_sz_jdjcbfxm xm on wt.project_id = xm.id " +
"LEFT JOIN bs_sgc_sz_jdjcbfxmnr nr on wt.project_item_id = nr.id " +

78
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSuperviseEngineeringService.java

@ -8,11 +8,9 @@ import com.kms.common.utils.UserUtils;
import com.kms.yxgh.base.SzException;
import com.kms.yxgh.base.enums.SuperviseEngineeringStatus;
import com.kms.yxgh.base.enums.SuperviseProblemStatus;
import com.kms.yxgh.sz.domain.SzSuperviseEngineering;
import com.kms.yxgh.sz.domain.SzSuperviseProblem;
import com.kms.yxgh.sz.domain.SzSuperviseTask;
import com.kms.yxgh.sz.dto.*;
import com.kms.yxgh.sz.mapper.SzSuperviseEngineeringMapper;
import com.kms.yxgh.sz.mapper.SzSuperviseProblemMapper;
import com.kms.yxgh.sz.mapper.SzSuperviseTaskMapper;
import com.kms.yxgh.sz.mapper.SzSuperviseWayProjectItemMapper;
@ -20,7 +18,6 @@ import com.kms.yxgh.util.BeanCopyUtils;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.core.service.BaseService;
import com.shuili.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -38,10 +35,9 @@ import java.util.stream.Collectors;
*/
@Service
@AllArgsConstructor
public class SzSuperviseEngineeringService extends BaseService<SzSuperviseEngineeringMapper, SzSuperviseEngineering> {
public class SzSuperviseEngineeringService extends BaseService<SzSuperviseProblemMapper, SzSuperviseProblem> {
private final SzSuperviseTaskMapper taskMapper;
private final SzSuperviseProblemMapper problemMapper;
private final SzSuperviseWayProjectItemMapper projectItemMapper;
@Transactional(rollbackFor = Exception.class)
@ -60,36 +56,28 @@ public class SzSuperviseEngineeringService extends BaseService<SzSuperviseEngine
// 1.2 新增工程问题
if (CollectionUtil.isNotEmpty(dto.getProblemList())) {
List<SzSuperviseProblem> problemList = new ArrayList<>();
dto.getProblemList().stream().forEach(v -> {
v.getLevelList().forEach(level -> {
SzSuperviseProblem problem = new SzSuperviseProblem();
problem.setId(null);
problem.setProjectId(v.getProjectId());
problem.setTaskId(task.getId());
problem.setProjectItemId(level.getProjectItemId());
problem.setLevel(level.getLevel());
// 监督检查工程填报提交后更新问题为下发
if (SuperviseEngineeringStatus.SUBMIT.getValue().equals(dto.getState())) {
problem.setStatus(SuperviseProblemStatus.DISTRIBUTE.getValue());
}
problemList.add(problem);
});
List<String> problemIds = v.getLevelList().stream().map(SzSuperviseEngineeringParamDto.ProblemLevelParam::getId).collect(Collectors.toList());
if (problemIds.size() > 0) {
problemMapper.deleteBatchIds(problemIds);
dto.getProblemList().stream().forEach(level -> {
SzSuperviseProblem problem = new SzSuperviseProblem();
problem.setId(null);
problem.setProjectId(level.getProjectId());
problem.setTaskId(task.getId());
problem.setProjectItemId(level.getProjectItemId());
problem.setLevel(level.getLevel());
problem.setProblemDescribe(level.getProblemDescribe());
problem.setSiteSituationRecords(level.getSiteSituationRecords());
// 监督检查工程填报提交后更新问题为下发
if (SuperviseEngineeringStatus.SUBMIT.getValue().equals(dto.getState())) {
problem.setStatus(SuperviseProblemStatus.DISTRIBUTE.getValue());
}
SzSuperviseEngineering engineering = new SzSuperviseEngineering();
engineering.setId(StringUtils.isNotEmpty(v.getId()) ? v.getId() : null);
engineering.setTaskId(task.getId());
engineering.setProjectId(v.getProjectId());
engineering.setProblemDescribe(v.getProblemDescribe());
engineering.setSiteSituationRecords(v.getSiteSituationRecords());
this.saveOrUpdate(engineering);
problemList.add(problem);
});
List<String> problemIds = dto.getProblemList().stream().map(SzSuperviseEngineeringParamDto.ProblemParam::getId).collect(Collectors.toList());
if (problemIds.size() > 0) {
this.getBaseMapper().deleteBatchIds(problemIds);
}
// 批量新增
if (problemList.size() > 0) {
problemMapper.insertProblem(problemList);
this.getBaseMapper().insertProblem(problemList);
}
}
taskMapper.updateById(task);
@ -99,16 +87,10 @@ public class SzSuperviseEngineeringService extends BaseService<SzSuperviseEngine
public SzSuperviseTaskDetailDto getDetailByTaskId(String taskId) {
SzSuperviseTaskDetailDto dto = BeanCopyUtils.copy(getTaskProblemInfo(taskId), SzSuperviseTaskDetailDto.class);
// 1.1 获取水闸任务问题描述列表
List<SzSuperviseEngineering> engineeringList = this.list(Wrappers.<SzSuperviseEngineering>lambdaQuery()
.eq(SzSuperviseEngineering::getTaskId, taskId));
dto.setEngineeringList(BeanCopyUtils.copyList(engineeringList, SzSuperviseEngineeringDto.class));
// 1.4 获取水闸任务问题列表
// 获取水闸任务问题列表
SzSuperviseProblemDto dtoProblem = new SzSuperviseProblemDto();
dtoProblem.setTaskId(taskId);
List<SzSuperviseProblemDto> problemList = problemMapper.selectByListParam(dtoProblem);
List<SzSuperviseProblemDto> problemList = this.getBaseMapper().selectByListParam(dtoProblem);
dto.setProblemList(problemList);
return dto;
}
@ -136,24 +118,24 @@ public class SzSuperviseEngineeringService extends BaseService<SzSuperviseEngine
problem.setConfirmUid(user.getId());
problem.setConfirmTime(now);
}
problemMapper.updateById(problem);
this.getBaseMapper().updateById(problem);
return true;
}
public SzSuperviseProblem getProblemDetailById(String id) {
SzSuperviseProblem problem = problemMapper.selectOne(Wrappers.<SzSuperviseProblem>lambdaQuery()
SzSuperviseProblem problem = this.getBaseMapper().selectOne(Wrappers.<SzSuperviseProblem>lambdaQuery()
.eq(SzSuperviseProblem::getId, id));
return problem;
}
public IPage<SzSuperviseProblemListDto> list(SearchParam<SzSuperviseProblemListDto> sp) {
Page<SzSuperviseProblemListDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
return problemMapper.selectPage(page, sp.getData());
return this.getBaseMapper().selectPage(page, sp.getData());
}
/**
* 获取水闸任务和水闸基本信息
*
* @param taskId
* @return
*/
@ -172,19 +154,13 @@ public class SzSuperviseEngineeringService extends BaseService<SzSuperviseEngine
// 获取问题信息
SzSuperviseProblemDto dtoProblem = new SzSuperviseProblemDto();
dtoProblem.setId(id);
List<SzSuperviseProblemDto> problemList = problemMapper.selectByListParam(dtoProblem);
List<SzSuperviseProblemDto> problemList = this.getBaseMapper().selectByListParam(dtoProblem);
if (problemList.size() == 0) {
throw new SzException("问题信息不存在,请确认id值是否正确");
}
SzSuperviseProblemDto problem = problemList.get(0);
dto.setProblemDto(problem);
// 获取问题描述
SzSuperviseEngineering engineering = this.getOne(Wrappers.<SzSuperviseEngineering>lambdaQuery().eq(SzSuperviseEngineering::getTaskId, problem.getTaskId()).
eq(SzSuperviseEngineering::getProjectId, problem.getProjectId()));
dto.setProblemDescribe(engineering.getProblemDescribe());
dto.setSiteSituationRecords(engineering.getSiteSituationRecords());
// 获取水闸和水闸任务信息
SzSuperviseTaskCommonDto commonDto = getTaskProblemInfo(problem.getTaskId());
BeanCopyUtils.copy(commonDto, dto);
@ -203,6 +179,6 @@ public class SzSuperviseEngineeringService extends BaseService<SzSuperviseEngine
public SzSuperviseProblemTotalDto countTotal(SzSuperviseProblemListDto dto) {
return problemMapper.countProblemTotal(dto);
return this.getBaseMapper().countProblemTotal(dto);
}
}

Loading…
Cancel
Save