14 changed files with 888 additions and 0 deletions
@ -0,0 +1,108 @@ |
|||
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.SzDangerousParamDto; |
|||
import com.kms.yxgh.sz.dto.SzDangerousTaskDetailDto; |
|||
import com.kms.yxgh.sz.dto.SzDangerousTaskDto; |
|||
import com.kms.yxgh.sz.dto.SzDangerousTaskSearchDto; |
|||
import com.kms.yxgh.sz.service.SzDangerousTaskService; |
|||
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/sz/dangerousTask") |
|||
@Api(tags = "水闸病险工程核查任务") |
|||
public class SzDangerousTaskController { |
|||
|
|||
private final SzDangerousTaskService dangerousTaskService; |
|||
|
|||
/** |
|||
* 查询水闸病险工程核查任务列表 |
|||
* @param sp |
|||
* @return |
|||
*/ |
|||
@ApiOperation("水闸病险工程核查任务列表") |
|||
@PostMapping("/page") |
|||
public Response<IPage<SzDangerousTaskDto>> listByPage(@RequestBody SearchParam<SzDangerousTaskSearchDto> sp) { |
|||
return Response.ok(dangerousTaskService.getListByPage(sp)); |
|||
} |
|||
|
|||
/** |
|||
* 查询水闸病险工程核查任务详情 |
|||
* @param id |
|||
* @return |
|||
*/ |
|||
@ApiOperation("水闸病险工程核查任务详情") |
|||
@GetMapping("/{id}") |
|||
public Response<SzDangerousTaskDto> detail(@PathVariable String id) { |
|||
return Response.ok(dangerousTaskService.getDetailById(id)); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 新增水闸病险工程核查任务 |
|||
*/ |
|||
@ApiOperation("水闸病险工程核查任务新增") |
|||
@Log(title = "水闸病险工程核查任务新增", businessType = BusinessType.INSERT) |
|||
@PostMapping() |
|||
public Response<SzDangerousTaskDto> add(@RequestBody SzDangerousTaskDto dto) { |
|||
return Response.ok(dangerousTaskService.add(dto)); |
|||
} |
|||
|
|||
/** |
|||
* 修改水闸病险工程核查任务 |
|||
*/ |
|||
@ApiOperation("水闸病险工程核查任务修改") |
|||
@Log(title = "水闸病险工程核查任务修改", businessType = BusinessType.UPDATE) |
|||
@PutMapping() |
|||
public Response<SzDangerousTaskDto> modify(@RequestBody SzDangerousTaskDto 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<SzDangerousParamDto> saveOrSubmit(@RequestBody SzDangerousParamDto dto) { |
|||
return Response.ok(dangerousTaskService.saveOrSubmit(dto)); |
|||
} |
|||
|
|||
/** |
|||
* 水闸工程核查详情 |
|||
* @param id 任务id |
|||
* @return |
|||
*/ |
|||
@ApiOperation("水闸工程核查详情") |
|||
@GetMapping(value = "/detail/{id}") |
|||
public Response<SzDangerousTaskDetailDto> getDetailByTaskId(@PathVariable String id) { |
|||
return Response.ok(dangerousTaskService.getDetailByTaskId(id)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,69 @@ |
|||
package com.kms.yxgh.sz.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_sz_bxgcrw |
|||
* @author hry |
|||
* @date 2024/2/29 13:57 |
|||
*/ |
|||
@TableName("bs_sgc_sz_bxgcrw") |
|||
@Data |
|||
@ApiModel("水闸病险工程核查任务") |
|||
public class SzDangerousTask extends SyBaseEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
|
|||
/** |
|||
* 名称 |
|||
*/ |
|||
@ApiModelProperty("名称") |
|||
private String name; |
|||
|
|||
/** |
|||
* 水闸代码 |
|||
*/ |
|||
@ApiModelProperty("水闸代码") |
|||
private String wagaCode; |
|||
|
|||
/** |
|||
* 开始时间 |
|||
*/ |
|||
@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.sz.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_sz_bxgcnrgl |
|||
* @author hry |
|||
* @date 2024/2/29 13:57 |
|||
*/ |
|||
@TableName("bs_sgc_sz_bxgcnrgl") |
|||
@Data |
|||
@ApiModel("水闸病险工程任务问题") |
|||
public class SzDangerousTaskItemRel 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.sz.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_sz_jdjcgc |
|||
* @author hry |
|||
* @date 2024/2/29 13:57 |
|||
*/ |
|||
@TableName("bs_sgc_sz_bxgcxmgl") |
|||
@Data |
|||
@ApiModel("水闸病险工程任务项目关联") |
|||
public class SzDangerousTaskProjectRel 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.sz.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 SzDangerousParamDto { |
|||
/** |
|||
* 任务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.sz.dto; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Data |
|||
@ApiModel("堤防病险工程任务详情") |
|||
public class SzDangerousTaskDetailDto extends SzDangerousTaskDto { |
|||
|
|||
/** |
|||
* 问题描述列表 |
|||
*/ |
|||
@ApiModelProperty(value = "问题描述列表") |
|||
private List<SzDangerousTaskProjectRelDto> engineeringList; |
|||
|
|||
/** |
|||
* 问题列表 |
|||
*/ |
|||
@ApiModelProperty(value = "问题列表") |
|||
private List<SzDangerousTaskItemRelDto> problemList; |
|||
} |
@ -0,0 +1,89 @@ |
|||
package com.kms.yxgh.sz.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 SzDangerousTaskDto extends SzDangerousTaskSearchDto { |
|||
|
|||
/** |
|||
* id |
|||
*/ |
|||
@ApiModelProperty("id") |
|||
private String id; |
|||
|
|||
/** |
|||
* 名称 |
|||
*/ |
|||
@ApiModelProperty("名称") |
|||
private String name; |
|||
|
|||
/** |
|||
* 水闸代码 |
|||
*/ |
|||
@ApiModelProperty("水闸代码") |
|||
private String wagaCode; |
|||
|
|||
/** |
|||
* 开始时间 |
|||
*/ |
|||
@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.sz.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 SzDangerousTaskItemRelDto { |
|||
|
|||
@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.sz.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 SzDangerousTaskProjectRelDto { |
|||
|
|||
@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,57 @@ |
|||
package com.kms.yxgh.sz.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 SzDangerousTaskSearchDto { |
|||
|
|||
/** |
|||
* 水闸名称 |
|||
*/ |
|||
@ApiModelProperty("水闸名称") |
|||
private String wagaName; |
|||
|
|||
/** |
|||
* 水闸等级 |
|||
*/ |
|||
@ApiModelProperty("水闸等级") |
|||
private String riverLocation; |
|||
|
|||
/** |
|||
* 水闸等级 |
|||
*/ |
|||
@ApiModelProperty("水闸等级") |
|||
private String dikeGrad; |
|||
|
|||
/** |
|||
* 管理单位 |
|||
*/ |
|||
@ApiModelProperty("管理单位") |
|||
private String engineeringManagementUnit; |
|||
|
|||
/** |
|||
* 行政区划 |
|||
*/ |
|||
@ApiModelProperty("行政区划") |
|||
private String adcd; |
|||
|
|||
/** |
|||
* 工程规模 |
|||
*/ |
|||
@ApiModelProperty("工程规模") |
|||
private String engScal; |
|||
|
|||
/** |
|||
* 水闸类型 |
|||
*/ |
|||
@ApiModelProperty("水闸类型") |
|||
private String wagaType; |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.kms.yxgh.sz.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.kms.yxgh.sz.domain.SzDangerousTaskItemRel; |
|||
import com.kms.yxgh.sz.dto.SzDangerousTaskItemRelDto; |
|||
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 SzDangerousTaskItemRelMapper extends BaseMapper<SzDangerousTaskItemRel> { |
|||
|
|||
@Insert({ |
|||
"<script>", |
|||
"insert into bs_sgc_sz_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<SzDangerousTaskItemRel> 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_sz_bxgcglxm wt " + |
|||
"LEFT JOIN bs_sgc_sz_bxgcxm xm on wt.project_id = xm.id " + |
|||
"LEFT JOIN bs_sgc_sz_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<SzDangerousTaskItemRelDto> selectByListParam(@Param("dto") SzDangerousTaskItemRelDto dto); |
|||
|
|||
} |
@ -0,0 +1,70 @@ |
|||
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.SzDangerousTask; |
|||
import com.kms.yxgh.sz.dto.SzDangerousTaskDto; |
|||
import com.kms.yxgh.sz.dto.SzDangerousTaskSearchDto; |
|||
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 SzDangerousTaskMapper extends BaseMapper<SzDangerousTask> { |
|||
|
|||
@Select("<script>" + |
|||
"SELECT rw.id, rw.NAME, rw.GROUP_ID as groupId, rw.WAGA_CODE as wagaCode, 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.waga_name as wagaName, gl.engineering_management_unit as engineeringManagementUnit, df.adcd as adcd, df.ENG_SCAL as engScal , df.waga_type as wagaType, fz.name as groupName " + |
|||
"FROM bs_sgc_sz_bxgcrw rw " + |
|||
"LEFT JOIN bs_sgc_sz_jbxx df ON df.waga_code = rw.waga_code " + |
|||
"LEFT JOIN bs_sgc_sz_gcgl gl ON rw.waga_code = gl.waga_code " + |
|||
"LEFT JOIN bs_sgc_sz_bxgcfz fz ON rw.group_id = fz.id " + |
|||
"WHERE df.expr_date is null " + |
|||
"AND gl.expr_date is null " + |
|||
"<if test='dto.wagaName != null and dto.wagaName != \"\"'>" + |
|||
"AND df.waga_name LIKE CONCAT('%', #{dto.wagaName}, '%') " + |
|||
"</if>" + |
|||
"<if test='dto.wagaType != null and dto.wagaType != \"\"'>" + |
|||
"AND df.waga_type = #{dto.wagaType} " + |
|||
"</if>" + |
|||
"<if test='dto.adcd != null and dto.adcd != \"\"'>" + |
|||
"AND df.adcd = #{dto.adcd} " + |
|||
"</if>" + |
|||
"<if test='dto.engineeringManagementUnit != null and dto.engineeringManagementUnit != \"\"'>" + |
|||
"AND gl.engineering_management_unit like concat('%', #{dto.engineeringManagementUnit}, '%') " + |
|||
"</if>" + |
|||
"<if test='dto.engScal != null and dto.engScal != \"\"'>" + |
|||
"AND df.ENG_SCAL = #{dto.ENG_SCAL} " + |
|||
"</if>" + |
|||
"<if test='dto.id != null and dto.id != \"\"'>" + |
|||
"AND rw.id = #{dto.id} " + |
|||
"</if>" + |
|||
"ORDER BY rw.create_time asc" + |
|||
"</script>") |
|||
IPage<SzDangerousTaskDto> selectByPage(Page<SzDangerousTaskDto> page, @Param("dto") SzDangerousTaskSearchDto dto); |
|||
|
|||
|
|||
|
|||
@Select("<script>" + |
|||
"SELECT rw.id, rw.NAME, rw.GROUP_ID as groupId, rw.waga_code as wagaCode, rw.START_TIME as startTime, rw.DONE_TIME as doneTime, rw.CONTENT as content, rw.state, df.waga_name as wagaName, " + |
|||
"df.waga_name as wagaName, gl.engineering_management_unit as engineeringManagementUnit, df.adcd as adcd, df.ENG_SCAL as engScal , df.waga_type as wagaType " + |
|||
"FROM bs_sgc_sz_bxgcrw rw " + |
|||
"LEFT JOIN bs_sgc_sz_jbxx df ON df.waga_code = da.waga_code " + |
|||
"LEFT JOIN bs_sgc_sz_gcgl gl ON rw.waga_code = gl.waga_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>") |
|||
SzDangerousTaskDto selectByIdDetail(Serializable id); |
|||
} |
@ -0,0 +1,9 @@ |
|||
package com.kms.yxgh.sz.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.kms.yxgh.sz.domain.SzDangerousTaskProjectRel; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
@Repository |
|||
public interface SzDangerousTaskProjectRelMapper extends BaseMapper<SzDangerousTaskProjectRel> { |
|||
} |
@ -0,0 +1,143 @@ |
|||
package com.kms.yxgh.sz.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.sz.domain.SzDangerousTask; |
|||
import com.kms.yxgh.sz.domain.SzDangerousTaskItemRel; |
|||
import com.kms.yxgh.sz.domain.SzDangerousTaskProjectRel; |
|||
import com.kms.yxgh.sz.dto.*; |
|||
import com.kms.yxgh.sz.mapper.SzDangerousTaskItemRelMapper; |
|||
import com.kms.yxgh.sz.mapper.SzDangerousTaskMapper; |
|||
import com.kms.yxgh.sz.mapper.SzDangerousTaskProjectRelMapper; |
|||
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 SzDangerousTaskService extends BaseService<SzDangerousTaskMapper, SzDangerousTask> { |
|||
|
|||
private final SzDangerousTaskProjectRelMapper projectRelMapper; |
|||
private final SzDangerousTaskItemRelMapper taskItemRelMapper; |
|||
|
|||
public IPage<SzDangerousTaskDto> getListByPage(SearchParam<SzDangerousTaskSearchDto> sp) { |
|||
Page<SzDangerousTaskDto> page = new Page<>(sp.getPageNum(), sp.getPageSize()); |
|||
return this.getBaseMapper().selectByPage(page, sp.getData()); |
|||
} |
|||
|
|||
@Transactional(rollbackFor = Exception.class) |
|||
public SzDangerousTaskDto add(SzDangerousTaskDto dto) { |
|||
SzDangerousTask dangerousTask = BeanCopyUtils.copy(dto, SzDangerousTask.class); |
|||
// 根据wagaCode循环分割获取批量新增
|
|||
String[] wagaCodes = dto.getWagaCode().split(","); |
|||
String[] wagaNames = dto.getWagaName().split(","); |
|||
for (int i = 0; i < wagaCodes.length; i++) { |
|||
String name = dto.getName(); |
|||
if (wagaCodes.length > 1) { |
|||
name += "-" + wagaNames[i]; |
|||
} |
|||
dangerousTask.setName(name); |
|||
dangerousTask.setWagaCode(wagaCodes[i]); |
|||
this.save(dangerousTask); |
|||
} |
|||
return BeanCopyUtils.copy(dangerousTask, SzDangerousTaskDto.class); |
|||
} |
|||
|
|||
@Transactional(rollbackFor = Exception.class) |
|||
public Boolean deleteById(String id) { |
|||
return this.removeById(id); |
|||
} |
|||
|
|||
@Transactional(rollbackFor = Exception.class) |
|||
public SzDangerousTaskDto modify(SzDangerousTaskDto dto) { |
|||
SzDangerousTask dangerousTask = BeanCopyUtils.copy(dto, SzDangerousTask.class); |
|||
this.updateById(dangerousTask); |
|||
return BeanCopyUtils.copy(dangerousTask, SzDangerousTaskDto.class); |
|||
} |
|||
|
|||
public SzDangerousTaskDto getDetailById(String id) { |
|||
SzDangerousTaskDto dangerousTask = this.baseMapper.selectByIdDetail(id); |
|||
return dangerousTask; |
|||
} |
|||
|
|||
@Transactional(rollbackFor = Exception.class) |
|||
public SzDangerousParamDto saveOrSubmit(SzDangerousParamDto dto) { |
|||
// 1. 查询任务
|
|||
SzDangerousTask 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(SzDangerousParamDto.ProblemParam::getId).collect(Collectors.toList()); |
|||
if(!ids.isEmpty()){ |
|||
projectRelMapper.deleteBatchIds(ids); |
|||
} |
|||
|
|||
// 2. 新增填报内容
|
|||
List<SzDangerousTaskItemRel> itemRel = dto.getProblemList().stream().flatMap(v -> { |
|||
// 2.1 删除关联数据
|
|||
List<String> problemIds = v.getLevelList().stream().filter(level -> StringUtils.isNotBlank(level.getId())).map(SzDangerousParamDto.ProblemLevelParam::getId).collect(Collectors.toList()); |
|||
if (!problemIds.isEmpty()) { |
|||
taskItemRelMapper.deleteBatchIds(problemIds); |
|||
} |
|||
SzDangerousTaskProjectRel engineering = new SzDangerousTaskProjectRel(); |
|||
BeanCopyUtils.copy(v, engineering); |
|||
engineering.setId(null); |
|||
engineering.setTaskId(task.getId()); |
|||
projectRelMapper.insert(engineering); |
|||
|
|||
return v.getLevelList().stream().map(level -> { |
|||
SzDangerousTaskItemRel problem = new SzDangerousTaskItemRel(); |
|||
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 SzDangerousTaskDetailDto getDetailByTaskId(String taskId){ |
|||
SzDangerousTaskDetailDto dto = BeanCopyUtils.copy(getDetailById(taskId), SzDangerousTaskDetailDto.class); |
|||
|
|||
// 1.1 获取水闸任务问题描述列表
|
|||
List<SzDangerousTaskProjectRel> relList = projectRelMapper.selectList(Wrappers.<SzDangerousTaskProjectRel>lambdaQuery() |
|||
.eq(SzDangerousTaskProjectRel::getTaskId, taskId)); |
|||
dto.setEngineeringList(BeanCopyUtils.copyList(relList, SzDangerousTaskProjectRelDto.class)); |
|||
|
|||
SzDangerousTaskItemRelDto relDto= new SzDangerousTaskItemRelDto(); |
|||
relDto.setTaskId(taskId); |
|||
dto.setProblemList(taskItemRelMapper.selectByListParam(relDto)); |
|||
|
|||
return dto; |
|||
} |
|||
} |
Loading…
Reference in new issue