Browse Source

Merge remote-tracking branch 'origin/release-sy-v1.0.0' into release-sy-v1.0.0

master_tdsql
hxh 1 year ago
parent
commit
ec6a2417cc
  1. 105
      shuili-system/src/main/java/com/kms/yxgh/df/controller/DfDangerousTaskController.java
  2. 69
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfDangerousTask.java
  3. 49
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfDangerousTaskItemRel.java
  4. 50
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfDangerousTaskProjectRel.java
  5. 83
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousParamDto.java
  6. 24
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskDetailDto.java
  7. 89
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskDto.java
  8. 53
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskItemRelDto.java
  9. 44
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskProjectRelDto.java
  10. 63
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskSearchDto.java
  11. 40
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfDangerousTaskItemRelMapper.java
  12. 73
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfDangerousTaskMapper.java
  13. 9
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfDangerousTaskProjectRelMapper.java
  14. 143
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfDangerousTaskService.java
  15. 83
      shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzDangerousGroupingController.java
  16. 32
      shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzDangerousGrouping.java
  17. 45
      shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzDangerousGroupingRel.java
  18. 55
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzDangerousGroupingDto.java
  19. 52
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzDangerousGroupingRelDto.java
  20. 26
      shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzDangerousGroupingMapper.java
  21. 36
      shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzDangerousGroupingRelMapper.java
  22. 84
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzDangerousGroupingService.java

105
shuili-system/src/main/java/com/kms/yxgh/df/controller/DfDangerousTaskController.java

@ -0,0 +1,105 @@
package com.kms.yxgh.df.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.df.dto.*;
import com.kms.yxgh.df.service.DfDangerousTaskService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
* 堤防病险工程核查任务
* @author hry
* @date 2024/3/12 14:44
*/
@RestController
@AllArgsConstructor
@RequestMapping("/run/df/dangerousTask")
@Api(tags = "堤防病险工程核查任务")
public class DfDangerousTaskController {
private final DfDangerousTaskService dangerousTaskService;
/**
* 查询堤防病险工程核查任务列表
* @param sp
* @return
*/
@ApiOperation("堤防病险工程核查任务列表")
@PostMapping("/page")
public Response<IPage<DfDangerousTaskDto>> listByPage(@RequestBody SearchParam<DfDangerousTaskSearchDto> sp) {
return Response.ok(dangerousTaskService.getListByPage(sp));
}
/**
* 查询堤防病险工程核查任务详情
* @param id
* @return
*/
@ApiOperation("堤防病险工程核查任务详情")
@GetMapping("/{id}")
public Response<DfDangerousTaskDto> detail(@PathVariable String id) {
return Response.ok(dangerousTaskService.getDetailById(id));
}
/**
* 新增堤防病险工程核查任务
*/
@ApiOperation("堤防病险工程核查任务新增")
@Log(title = "堤防病险工程核查任务新增", businessType = BusinessType.INSERT)
@PostMapping()
public Response<DfDangerousTaskDto> add(@RequestBody DfDangerousTaskDto dto) {
return Response.ok(dangerousTaskService.add(dto));
}
/**
* 修改堤防病险工程核查任务
*/
@ApiOperation("堤防病险工程核查任务修改")
@Log(title = "堤防病险工程核查任务修改", businessType = BusinessType.UPDATE)
@PutMapping()
public Response<DfDangerousTaskDto> modify(@RequestBody DfDangerousTaskDto dto) {
return Response.ok(dangerousTaskService.modify(dto));
}
/**
* 删除堤防病险工程核查任务
* @param id
* @return
*/
@ApiOperation("堤防病险工程核查任务删除")
@Log(title = "堤防病险工程核查任务删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public Response<Boolean> deleteData(@PathVariable String id) {
return Response.ok(dangerousTaskService.deleteById(id));
}
/**
* 保存或提交 堤防工程核查
*/
@ApiOperation("堤防工程核查保存或提交")
@Log(title = "堤防工程核查保存或提交", businessType = BusinessType.INSERT)
@PostMapping("/saveOrSubmit")
public Response<DfDangerousParamDto> saveOrSubmit(@RequestBody DfDangerousParamDto dto) {
return Response.ok(dangerousTaskService.saveOrSubmit(dto));
}
/**
* 堤防工程核查详情
* @param id 任务id
* @return
*/
@ApiOperation("堤防工程核查详情")
@GetMapping(value = "/detail/{id}")
public Response<DfDangerousTaskDetailDto> getDetailByTaskId(@PathVariable String id) {
return Response.ok(dangerousTaskService.getDetailByTaskId(id));
}
}

69
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfDangerousTask.java

@ -0,0 +1,69 @@
package com.kms.yxgh.df.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.kms.yxgh.base.SyBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 堤防病险工程核查任务表 bs_sgc_df_bxgcrw
* @author hry
* @date 2024/2/29 13:57
*/
@TableName("bs_sgc_df_bxgcrw")
@Data
@ApiModel("堤防病险工程核查任务")
public class DfDangerousTask extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* 堤防代码
*/
@ApiModelProperty("堤防代码")
private String dikeCode;
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("开始时间")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("结束时间")
private Date doneTime;
/**
* 检查任务背景
*/
@ApiModelProperty(value = "检查任务背景")
private String content;
/**
* 病险工程核查分组ID
*/
@ApiModelProperty(value = "病险工程核查分组ID")
private String groupId;
/**
* 状态巡查报告
*/
@ApiModelProperty(value = "状态")
private String state;
}

49
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfDangerousTaskItemRel.java

@ -0,0 +1,49 @@
package com.kms.yxgh.df.domain;
import com.baomidou.mybatisplus.annotation.TableField;
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_bxgcnrgl
* @author hry
* @date 2024/2/29 13:57
*/
@TableName("bs_sgc_df_bxgcnrgl")
@Data
@ApiModel("堤防病险工程任务问题")
public class DfDangerousTaskItemRel extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 监督检查任务ID
*/
@ApiModelProperty(value = "监督检查任务ID")
private String taskId;
/**
* 监督检查办法项目ID
*/
@ApiModelProperty("监督检查办法项目ID")
private String projectId;
/**
* 监督检查办法项目内容ID
*/
@ApiModelProperty("监督检查办法项目内容ID")
private String projectItemId;
/**
* 问题等级
*/
@ApiModelProperty("问题等级")
private String level;
@TableField(exist = false)
private String remark;
}

50
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfDangerousTaskProjectRel.java

@ -0,0 +1,50 @@
package com.kms.yxgh.df.domain;
import com.baomidou.mybatisplus.annotation.TableField;
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_bxgcxmgl")
@Data
@ApiModel("堤防病险工程任务项目关联")
public class DfDangerousTaskProjectRel 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;
@TableField(exist = false)
private String remark;
}

83
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousParamDto.java

@ -0,0 +1,83 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author hry
* @date 2024/3/2 16:57
*/
@Data
@ApiModel("堤防病险工程参数对象")
public class DfDangerousParamDto {
/**
* 任务ID
*/
@ApiModelProperty(value = "任务ID")
private String id;
/**
* 状态保存提交
*/
@ApiModelProperty(value = "状态")
private String state;
/**
* 项目问题列表
*/
private List<ProblemParam> problemList;
@Data
public static class ProblemParam {
@ApiModelProperty("主键")
private String id;
/**
* 项目ID
*/
@ApiModelProperty("项目ID")
private String projectId;
/**
* 问题描述
*/
@ApiModelProperty(value = "问题描述")
private String problemDescribe;
/**
* 现场记录情况
*/
@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;
}
}

24
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskDetailDto.java

@ -0,0 +1,24 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("堤防病险工程任务详情")
public class DfDangerousTaskDetailDto extends DfDangerousTaskDto{
/**
* 问题描述列表
*/
@ApiModelProperty(value = "问题描述列表")
private List<DfSuperviseEngineeringDto> engineeringList;
/**
* 问题列表
*/
@ApiModelProperty(value = "问题列表")
private List<DfDangerousTaskItemRelDto> problemList;
}

89
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskDto.java

@ -0,0 +1,89 @@
package com.kms.yxgh.df.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 堤防病险工程核查任务dto对象
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("堤防病险工程核查任务")
public class DfDangerousTaskDto extends DfDangerousTaskSearchDto{
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 名称
*/
@ApiModelProperty("名称")
private String name;
/**
* 堤防代码
*/
@ApiModelProperty("堤防代码")
private String dikeCode;
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("开始时间")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("结束时间")
private Date doneTime;
/**
* 检查任务背景
*/
@ApiModelProperty(value = "检查任务背景")
private String content;
/**
* 病险工程核查分组ID
*/
@ApiModelProperty(value = "病险工程核查分组ID")
private String groupId;
/**
* 状态巡查完成
*/
@ApiModelProperty(value = "状态")
private String state;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
private String createTime;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("更新时间")
private String updateTime;
/**
* 病险工程核查分组名称
*/
@ApiModelProperty (value = "病险工程核查分组名称")
private String groupName;
}

53
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskItemRelDto.java

@ -0,0 +1,53 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 堤防监督检查工程问题对象
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("堤防监督检查工程问题")
public class DfDangerousTaskItemRelDto {
@ApiModelProperty(value = "id")
private String id;
/**
* 任务ID
*/
@ApiModelProperty(value = "任务ID")
private String taskId;
/**
* 项目ID
*/
@ApiModelProperty("项目ID")
private String projectId;
/**
* 项目内容ID
*/
@ApiModelProperty("项目内容ID")
private String projectItemId;
/**
* 问题等级
*/
@ApiModelProperty("问题等级")
private String level;
/**
* 核查内容
*/
@ApiModelProperty("核查内容")
private String content;
/**
* 项目名称
*/
@ApiModelProperty("项目名称")
private String projectName;
}

44
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskProjectRelDto.java

@ -0,0 +1,44 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 堤防病险工程任务项目关联管理
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("堤防病险工程任务项目关联管理")
public class DfDangerousTaskProjectRelDto{
@ApiModelProperty(value = "id")
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;
}

63
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfDangerousTaskSearchDto.java

@ -0,0 +1,63 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 堤防病险工程核查任务检索详情
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("堤防病险工程核查任务检索详情")
public class DfDangerousTaskSearchDto {
/**
* 堤防名称
*/
@ApiModelProperty("堤防名称")
private String dikeName;
/**
* 堤防等级
*/
@ApiModelProperty("堤防等级")
private String riverLocation;
/**
* 堤防等级
*/
@ApiModelProperty("堤防等级")
private String dikeGrad;
/**
* 管理单位
*/
@ApiModelProperty("管理单位")
private String engineeringManagementUnit;
/**
* 起点行政区划
*/
@ApiModelProperty("起点行政区划")
private String adcdStart;
/**
* 终点行政区划
*/
@ApiModelProperty("终点行政区划")
private String adcdEnd;
/**
* 堤防型式
*/
@ApiModelProperty("堤防型式")
private String dikePatt;
/**
* 堤防类型
*/
@ApiModelProperty("堤防类型")
private String dikeType;
}

40
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfDangerousTaskItemRelMapper.java

@ -0,0 +1,40 @@
package com.kms.yxgh.df.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.df.domain.DfDangerousTaskItemRel;
import com.kms.yxgh.df.dto.DfDangerousTaskItemRelDto;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DfDangerousTaskItemRelMapper extends BaseMapper<DfDangerousTaskItemRel> {
@Insert({
"<script>",
"insert into bs_sgc_df_bxgcglxm(task_id, project_id, project_item_id, level) values ",
"<foreach collection='problemList' item='item' index='index' separator=','>",
"(#{item.taskId}, #{item.projectId}, #{item.projectItemId}, #{item.level} )",
"</foreach>",
"</script>"
})
int insertBatch(@Param(value = "problemList") List<DfDangerousTaskItemRel> itemRels);
@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 "+
"FROM bs_sgc_df_bxgcglxm wt " +
"LEFT JOIN bs_sgc_df_bxgcxm xm on wt.project_id = xm.id " +
"LEFT JOIN bs_sgc_df_bxgcxmnr nr on wt.project_item_id = nr.id " +
"WHERE 1=1 " +
"<if test='dto.taskId != null and dto.taskId != \"\"'>" +
"AND wt.task_id = #{dto.taskId} " +
"</if>" +
"</script>")
List<DfDangerousTaskItemRelDto> selectByListParam(@Param("dto") DfDangerousTaskItemRelDto dto);
}

73
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfDangerousTaskMapper.java

@ -0,0 +1,73 @@
package com.kms.yxgh.df.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.df.domain.DfDangerousTask;
import com.kms.yxgh.df.dto.DfDangerousTaskDto;
import com.kms.yxgh.df.dto.DfDangerousTaskSearchDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.io.Serializable;
/**
* 堤防病险工程任务Mapper接口
*
* @author hry
* @date 2024/3/12 14:44
*/
@Repository
public interface DfDangerousTaskMapper extends BaseMapper<DfDangerousTask> {
@Select("<script>" +
"SELECT rw.id, rw.NAME, rw.GROUP_ID as groupId, rw.DIKE_CODE as dikeCode, rw.START_TIME as startTime, rw.DONE_TIME as doneTime, rw.CONTENT as content, rw.state, rw.CREATE_TIME as createTime, rw.UPDATE_TIME as updateTime, " +
"df.dike_name as dikeName, df.river_location as riverLocation, gl.engineering_management_unit as engineeringManagementUnit, df.adcd_start as adcdStart, df.adcd_end as adcdEnd , fz.name as groupName " +
"FROM bs_sgc_df_bxgcrw rw " +
"LEFT JOIN bs_sgc_df_gcda df ON df.dike_code = da.dike_code " +
"LEFT JOIN bs_sgc_df_gcgl gl ON rw.dike_code = gl.dike_code " +
"LEFT JOIN bs_sgc_df_bxgcfz fz ON rw.group_id = fz.id " +
"WHERE df.expr_date is null " +
"AND gl.expr_date is null " +
"<if test='dfProject.dikeName != null and dfProject.dikeName != \"\"'>" +
"AND df.dike_name LIKE CONCAT('%', #{dfProject.dikeName}, '%') " +
"</if>" +
"<if test='dfProject.dikeGrad != null and dfProject.dikeGrad != \"\"'>" +
"AND df.dike_grad = #{dfProject.dikeGrad} " +
"</if>" +
"<if test='dfProject.adcdStart != null and dfProject.adcdStart != \"\"'>" +
"AND df.adcd_start = #{dfProject.adcdStart} " +
"</if>" +
"<if test='dfProject.adcdEnd != null and dfProject.adcdEnd != \"\"'>" +
"AND df.adcd_end = #{dfProject.adcdEnd} " +
"</if>" +
"<if test='dto.engineeringManagementUnit != null and dto.engineeringManagementUnit != \"\"'>" +
"AND gl.engineering_management_unit like concat('%', #{dto.engineeringManagementUnit}, '%') " +
"</if>" +
"<if test='dto.dikePatt != null and dto.dikePatt != \"\"'>" +
"AND df.DIKE_PATT = #{dto.dikePatt} " +
"</if>" +
"<if test='dto.id != null and dto.id != \"\"'>" +
"AND rw.id = #{dto.id} " +
"</if>" +
"ORDER BY rw.create_time asc" +
"</script>")
IPage<DfDangerousTaskDto> selectByPage(Page<DfDangerousTaskDto> page, @Param("dto") DfDangerousTaskSearchDto dto);
@Select("<script>" +
"SELECT rw.id, rw.NAME, rw.GROUP_ID as groupId, rw.DIKE_CODE as dikeCode, rw.START_TIME as startTime, rw.DONE_TIME as doneTime, rw.CONTENT as content, rw.state, df.dike_name as dikeName, df.river_location as riverLocation, " +
"gl.engineering_management_unit as engineeringManagementUnit, df.adcd_start as adcdStart, df.adcd_end as adcdEnd, df.dike_grad as dikeGrad, df.DIKE_PATT as dikePatt, df.DIKE_TYPE as dikeType " +
"FROM bs_sgc_df_bxgcrw rw " +
"LEFT JOIN bs_sgc_df_gcda df ON df.dike_code = da.dike_code " +
"LEFT JOIN bs_sgc_df_gcgl gl ON rw.dike_code = gl.dike_code " +
"WHERE df.expr_date is null " +
"AND gl.expr_date is null " +
"<if test='dto.id != null and dto.id != \"\"'>" +
"AND rw.id = #{dto.id} " +
"</if>" +
"</script>")
DfDangerousTaskDto selectByIdDetail(Serializable id);
}

9
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfDangerousTaskProjectRelMapper.java

@ -0,0 +1,9 @@
package com.kms.yxgh.df.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.df.domain.DfDangerousTaskProjectRel;
import org.springframework.stereotype.Repository;
@Repository
public interface DfDangerousTaskProjectRelMapper extends BaseMapper<DfDangerousTaskProjectRel> {
}

143
shuili-system/src/main/java/com/kms/yxgh/df/service/DfDangerousTaskService.java

@ -0,0 +1,143 @@
package com.kms.yxgh.df.service;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.base.SzException;
import com.kms.yxgh.df.domain.DfDangerousTask;
import com.kms.yxgh.df.domain.DfDangerousTaskItemRel;
import com.kms.yxgh.df.domain.DfDangerousTaskProjectRel;
import com.kms.yxgh.df.dto.*;
import com.kms.yxgh.df.mapper.DfDangerousTaskItemRelMapper;
import com.kms.yxgh.df.mapper.DfDangerousTaskMapper;
import com.kms.yxgh.df.mapper.DfDangerousTaskProjectRelMapper;
import com.kms.yxgh.util.BeanCopyUtils;
import com.shuili.common.core.domain.SearchParam;
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;
import java.util.List;
import java.util.stream.Collectors;
/**
* 堤防病险工程核查任务实现类
*
* @author hry
* @date 2024/2/29 14:46
*/
@Service
@AllArgsConstructor
public class DfDangerousTaskService extends BaseService<DfDangerousTaskMapper, DfDangerousTask> {
private final DfDangerousTaskProjectRelMapper projectRelMapper;
private final DfDangerousTaskItemRelMapper taskItemRelMapper;
public IPage<DfDangerousTaskDto> getListByPage(SearchParam<DfDangerousTaskSearchDto> sp) {
Page<DfDangerousTaskDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
return this.getBaseMapper().selectByPage(page, sp.getData());
}
@Transactional(rollbackFor = Exception.class)
public DfDangerousTaskDto add(DfDangerousTaskDto dto) {
DfDangerousTask dfDangerousTask = BeanCopyUtils.copy(dto, DfDangerousTask.class);
// 根据dikeCode循环分割获取批量新增
String[] dikeCodes = dto.getDikeCode().split(",");
String[] dikeNames = dto.getDikeName().split(",");
for (int i = 0; i < dikeCodes.length; i++) {
String name = dto.getName();
if (dikeCodes.length > 1) {
name += "-" + dikeNames[i];
}
dfDangerousTask.setName(name);
dfDangerousTask.setDikeCode(dikeCodes[i]);
this.save(dfDangerousTask);
}
return BeanCopyUtils.copy(dfDangerousTask, DfDangerousTaskDto.class);
}
@Transactional(rollbackFor = Exception.class)
public Boolean deleteById(String id) {
return this.removeById(id);
}
@Transactional(rollbackFor = Exception.class)
public DfDangerousTaskDto modify(DfDangerousTaskDto dto) {
DfDangerousTask dfDangerousTask = BeanCopyUtils.copy(dto, DfDangerousTask.class);
this.updateById(dfDangerousTask);
return BeanCopyUtils.copy(dfDangerousTask, DfDangerousTaskDto.class);
}
public DfDangerousTaskDto getDetailById(String id) {
DfDangerousTaskDto dfDangerousTask = this.baseMapper.selectByIdDetail(id);
return dfDangerousTask;
}
@Transactional(rollbackFor = Exception.class)
public DfDangerousParamDto saveOrSubmit(DfDangerousParamDto dto) {
// 1. 查询任务
DfDangerousTask task = this.getById(dto.getId());
if (task == null) {
throw new SzException("堤防病险工程核查任务不存在,请确认id值是否正确");
}
if (CollectionUtil.isEmpty(dto.getProblemList())) {
return dto;
}
// 批量删除
List<String> ids = dto.getProblemList().stream().filter(level -> StringUtils.isNotBlank(level.getId())).map(DfDangerousParamDto.ProblemParam::getId).collect(Collectors.toList());
if(!ids.isEmpty()){
projectRelMapper.deleteBatchIds(ids);
}
// 2. 新增填报内容
List<DfDangerousTaskItemRel> itemRel = dto.getProblemList().stream().flatMap(v -> {
// 2.1 删除关联数据
List<String> problemIds = v.getLevelList().stream().filter(level -> StringUtils.isNotBlank(level.getId())).map(DfDangerousParamDto.ProblemLevelParam::getId).collect(Collectors.toList());
if (!problemIds.isEmpty()) {
taskItemRelMapper.deleteBatchIds(problemIds);
}
DfDangerousTaskProjectRel engineering = new DfDangerousTaskProjectRel();
BeanCopyUtils.copy(v, engineering);
engineering.setId(null);
engineering.setTaskId(task.getId());
projectRelMapper.insert(engineering);
return v.getLevelList().stream().map(level -> {
DfDangerousTaskItemRel problem = new DfDangerousTaskItemRel();
BeanCopyUtils.copy(level, problem);
problem.setId(null);
problem.setTaskId(task.getId());
return problem;
});
}).collect(Collectors.toList());
// 3. 批量新增
if (!itemRel.isEmpty()) {
taskItemRelMapper.insertBatch(itemRel);
}
// 4. 修改任务状态
task.setState(dto.getState());
this.updateById(task);
return dto;
}
public DfDangerousTaskDetailDto getDetailByTaskId(String taskId){
DfDangerousTaskDetailDto dto = BeanCopyUtils.copy(getDetailById(taskId), DfDangerousTaskDetailDto.class);
// 1.1 获取堤防任务问题描述列表
List<DfDangerousTaskProjectRel> relList = projectRelMapper.selectList(Wrappers.<DfDangerousTaskProjectRel>lambdaQuery()
.eq(DfDangerousTaskProjectRel::getTaskId, taskId));
dto.setEngineeringList(BeanCopyUtils.copyList(relList, DfSuperviseEngineeringDto.class));
DfDangerousTaskItemRelDto relDto= new DfDangerousTaskItemRelDto();
relDto.setTaskId(taskId);
dto.setProblemList(taskItemRelMapper.selectByListParam(relDto));
return dto;
}
}

83
shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzDangerousGroupingController.java

@ -0,0 +1,83 @@
package com.kms.yxgh.sz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.sz.dto.SzDangerousGroupingDto;
import com.kms.yxgh.sz.service.SzDangerousGroupingService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
* 水闸病险工程分组
* @author hry
* @date 2024/3/12 14:44
*/
@RestController
@AllArgsConstructor
@RequestMapping("/run/df/dangerousGrouping")
@Api(tags = "水闸病险工程分组")
public class SzDangerousGroupingController {
private final SzDangerousGroupingService groupingService;
/**
* 查询水闸病险工程分组列表
* @param sp
* @return
*/
@ApiOperation("水闸病险工程分组列表")
@PostMapping("/page")
public Response<IPage<SzDangerousGroupingDto>> page(@RequestBody SearchParam<SzDangerousGroupingDto> sp) {
return Response.ok(groupingService.getListByPage(sp));
}
/**
* 查询水闸病险工程分组详情
* @param id
* @return
*/
@ApiOperation("水闸病险工程分组详情")
@GetMapping("/{id}")
public Response<SzDangerousGroupingDto> detail(@PathVariable String id) {
return Response.ok(groupingService.getDetailById(id));
}
/**
* 新增水闸病险工程分组
*/
@ApiOperation("水闸病险工程分组新增")
@Log(title = "水闸病险工程分组新增", businessType = BusinessType.INSERT)
@PostMapping()
public Response<SzDangerousGroupingDto> add(@RequestBody SzDangerousGroupingDto dto) {
return Response.ok(groupingService.add(dto));
}
/**
* 修改水闸病险工程分组
*/
@ApiOperation("水闸病险工程分组修改")
@Log(title = "水闸病险工程分组修改", businessType = BusinessType.UPDATE)
@PutMapping()
public Response<SzDangerousGroupingDto> update(@RequestBody SzDangerousGroupingDto dto) {
return Response.ok(groupingService.modify(dto));
}
/**
* 删除水闸病险工程分组
* @param id
* @return
*/
@ApiOperation("水闸病险工程分组删除")
@Log(title = "水闸病险工程分组删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public Response<Boolean> deleteData(@PathVariable String id) {
return Response.ok(groupingService.deleteById(id));
}
}

32
shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzDangerousGrouping.java

@ -0,0 +1,32 @@
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_bxgcfz
* @author hry
* @date 2024/2/29 13:57
*/
@TableName("bs_sgc_sz_bxgcfz")
@Data
@ApiModel("水闸病险工程核查分组")
public class SzDangerousGrouping extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 小组名称
*/
@ApiModelProperty("小组名称")
private String name;
/**
* 单位id
*/
@ApiModelProperty("单位id")
private String deptId;
}

45
shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzDangerousGroupingRel.java

@ -0,0 +1,45 @@
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_bxgcfzcy
*
* @author hry
* @date 2024/2/29 13:57
*/
@TableName("bs_sgc_sz_bxgcfzcy")
@Data
@ApiModel("水闸病险工程核查分组成员关联")
public class SzDangerousGroupingRel extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 病险工程核查分组ID
*/
@ApiModelProperty("病险工程核查分组ID")
private String groupId;
/**
* 小组成员ID
*/
@ApiModelProperty("小组成员ID")
private String groupUid;
/**
* 小组成员名称
*/
@ApiModelProperty("小组成员名称")
private String groupName;
/**
* 所属单位ID
*/
@ApiModelProperty("所属单位ID")
private String deptId;
}

55
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzDangerousGroupingDto.java

@ -0,0 +1,55 @@
package com.kms.yxgh.sz.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 水闸病险工程核查分组dto对象
* @author hry
* @date 2024/2/29 13:57
*/
@Data
@ApiModel("水闸病险工程核查分组")
public class SzDangerousGroupingDto {
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 小组名称
*/
@ApiModelProperty("小组名称")
private String name;
/**
* 单位id
*/
@ApiModelProperty("单位id")
private String deptId;
/**
* 创建单位
*/
@ApiModelProperty("创建单位")
private String deptName;
/**
* 小组成员
*/
@ApiModelProperty("小组成员")
private String groupNames;
/**
* 小组成员列表
*/
@ApiModelProperty("小组成员列表")
private List<SzDangerousGroupingRelDto> itemList;
}

52
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzDangerousGroupingRelDto.java

@ -0,0 +1,52 @@
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 SzDangerousGroupingRelDto {
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 病险工程核查分组ID
*/
@ApiModelProperty("病险工程核查分组ID")
private String groupId;
/**
* 小组成员ID
*/
@ApiModelProperty("小组成员ID")
private String groupUid;
/**
* 小组成员名称
*/
@ApiModelProperty("小组成员名称")
private String groupName;
/**
* 所属单位ID
*/
@ApiModelProperty("所属单位ID")
private String deptId;
/**
* 所属单位名称
*/
@ApiModelProperty("所属单位名称")
private String deptName;
}

26
shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzDangerousGroupingMapper.java

@ -0,0 +1,26 @@
package com.kms.yxgh.sz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.sz.domain.SzDangerousGrouping;
import com.kms.yxgh.sz.dto.SzDangerousGroupingDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* 水闸病险工程分组Mapper接口
* @author hry
* @date 2024/3/12 14:44
*/
@Repository
public interface SzDangerousGroupingMapper extends BaseMapper<SzDangerousGrouping> {
@Select("SELECT b.dept_name as deptName,a.id, a.name, a.dept_id as deptId, a.create_time as createTime, a.update_time as updateTime,GROUP_CONCAT(c.groupName) as groupNames" +
" FROM bs_sgc_sz_bxgcfz a " +
" LEFT JOIN bs_sgc_sz_bxgcfzcy c ON c.groupId = g.id "+
" LEFT JOIN sys_dept b ON a.dept_id = b.dept_id" +
"")
IPage<SzDangerousGroupingDto> selectByPage(Page<SzDangerousGroupingDto> page, @Param("dto") SzDangerousGroupingDto dto);
}

36
shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzDangerousGroupingRelMapper.java

@ -0,0 +1,36 @@
package com.kms.yxgh.sz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.sz.domain.SzDangerousGroupingRel;
import com.kms.yxgh.sz.dto.SzDangerousGroupingRelDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 水闸病险工程分组关联Mapper接口
* @author hry
* @date 2024/3/12 14:44
*/
@Repository
public interface SzDangerousGroupingRelMapper extends BaseMapper<SzDangerousGroupingRel> {
/**
* 根据groupId删除
* @param groupId
* @return
*/
int deleteByGroupId(String groupId);
/**
* 根据groupId查询
* @param groupId
* @return
*/
@Select("select dgr.id,dgr.group_id as groupId, dgr.GROUP_UID as groupUid, dgr.GROUP_NAME as groupName,dgr.dept_id as deptId,sd.dept_name as deptName" +
" from bs_sgc_sz_bxgcfzcy dgr " +
" left join sy_dept sd on dgr.dept_id = sd.dept_id where group_id = #{groupId}")
List<SzDangerousGroupingRelDto> selectByGroupId(@Param("groupId") String groupId);
}

84
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzDangerousGroupingService.java

@ -0,0 +1,84 @@
package com.kms.yxgh.sz.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.sz.domain.SzDangerousGrouping;
import com.kms.yxgh.sz.domain.SzDangerousGroupingRel;
import com.kms.yxgh.sz.dto.SzDangerousGroupingDto;
import com.kms.yxgh.sz.dto.SzDangerousGroupingRelDto;
import com.kms.yxgh.sz.mapper.SzDangerousGroupingMapper;
import com.kms.yxgh.sz.mapper.SzDangerousGroupingRelMapper;
import com.kms.yxgh.util.BeanCopyUtils;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.service.BaseService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 水闸病险工程核查分组实现类
*
* @author hry
* @date 2024/2/29 14:46
*/
@Service
@AllArgsConstructor
public class SzDangerousGroupingService extends BaseService<SzDangerousGroupingMapper, SzDangerousGrouping> {
private final SzDangerousGroupingRelMapper relMapper;
public IPage<SzDangerousGroupingDto> getListByPage(SearchParam<SzDangerousGroupingDto> sp) {
Page<SzDangerousGroupingDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
return this.getBaseMapper().selectByPage(page, sp.getData());
}
public SzDangerousGroupingDto getDetailById(String id) {
SzDangerousGrouping dangerousGrouping = this.getById(id);
SzDangerousGroupingDto dto = BeanCopyUtils.copy(dangerousGrouping, SzDangerousGroupingDto.class);
dto.setItemList(relMapper.selectByGroupId(id));
return dto;
}
@Transactional(rollbackFor = Exception.class)
public SzDangerousGroupingDto add(SzDangerousGroupingDto groupingDto) {
// 新增分组
SzDangerousGrouping dangerousGrouping = BeanCopyUtils.copy(groupingDto, SzDangerousGrouping.class);
this.save(dangerousGrouping);
// 新增小组成员列表
handleGroupingRel(groupingDto, dangerousGrouping);
return BeanCopyUtils.copy(dangerousGrouping, SzDangerousGroupingDto.class);
}
@Transactional(rollbackFor = Exception.class)
public SzDangerousGroupingDto modify(SzDangerousGroupingDto groupingDto) {
// 修改分组
SzDangerousGrouping dangerousGrouping = BeanCopyUtils.copy(groupingDto, SzDangerousGrouping.class);
this.updateById(dangerousGrouping);
// 批量删除小组成员列表 重新添加
relMapper.deleteByGroupId(dangerousGrouping.getId());
handleGroupingRel(groupingDto, dangerousGrouping);
return BeanCopyUtils.copy(dangerousGrouping, SzDangerousGroupingDto.class);
}
private void handleGroupingRel(SzDangerousGroupingDto groupingDto, SzDangerousGrouping SzDangerousGrouping) {
for (SzDangerousGroupingRelDto item : groupingDto.getItemList()) {
SzDangerousGroupingRel itemEntity = BeanCopyUtils.copy(item, SzDangerousGroupingRel.class);
itemEntity.setId(null);
itemEntity.setGroupId(SzDangerousGrouping.getId());
relMapper.insert(itemEntity);
}
}
@Transactional(rollbackFor = Exception.class)
public Boolean deleteById(String id) {
if (this.removeById(id)){
// 除掉所配置的数据项
relMapper.delete(Wrappers.<SzDangerousGroupingRel>lambdaQuery().eq(SzDangerousGroupingRel::getGroupId, id));
}
return true;
}
}
Loading…
Cancel
Save