14 changed files with 894 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; |
|||
} |
|||
} |
Loading…
Reference in new issue