22 changed files with 1307 additions and 0 deletions
@ -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)); |
|||
} |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
|
|||
} |
@ -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; |
|||
} |
@ -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); |
|||
|
|||
} |
@ -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); |
|||
} |
@ -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> { |
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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)); |
|||
} |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
} |
@ -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); |
|||
} |
@ -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); |
|||
} |
@ -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…
Reference in new issue