diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfPlanController.java b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfPlanController.java index 454d2108..8217f5ae 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfPlanController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfPlanController.java @@ -2,10 +2,10 @@ package com.kms.yxgh.df.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.kms.yxgh.base.Response; -import com.kms.yxgh.df.domain.DfPlan; import com.kms.yxgh.df.dto.DfPlanDetailDto; import com.kms.yxgh.df.dto.DfPlanSearchDto; import com.kms.yxgh.df.dto.DfPlanSimpleDto; +import com.kms.yxgh.df.dto.DfSubPlanSimpleDto; import com.kms.yxgh.df.service.DfPlanService; import com.shuili.common.annotation.Log; import com.shuili.common.core.domain.SearchParam; @@ -39,6 +39,11 @@ public class DfPlanController { return dfPlanService.search(sp); } + @PostMapping("/sub/list") + @ApiOperation("堤防巡视检查子计划列表") + public IPage subList(@RequestBody SearchParam sp) { + return dfPlanService.searchSub(sp); + } /** * 获取堤防巡视检查计划详细信息 diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanSearchDto.java index e867db1d..e9f1cb1f 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanSearchDto.java @@ -11,17 +11,17 @@ import java.util.List; @ApiModel(value = "堤防巡视检查计划查询") public class DfPlanSearchDto { + @ApiModelProperty(value = "计划名称") + private String planName; + @ApiModelProperty("巡查计划类型") + private String planType; @ApiModelProperty(value = "堤防编号") private String dikeCode; - @ApiModelProperty(value = "名称") - private String name; - @ApiModelProperty(value = "状态") - private String status; @ApiModelProperty(value = "记录状态") private String recordStatus; private String user; - @ApiModelProperty(value = "巡查人员id") - private List userIds; + @ApiModelProperty("路线类型") + private String lineType; @ApiModelProperty(value = "开始时间") private Date startTime; @ApiModelProperty(value = "结束时间") diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSubPlanSimpleDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSubPlanSimpleDto.java new file mode 100644 index 00000000..a23f3b2e --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSubPlanSimpleDto.java @@ -0,0 +1,68 @@ +package com.kms.yxgh.df.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.kms.yxgh.common.dto.OperatorDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName: DfPlanSimpleDto + * @Description: TODO + * @Date: 2024/1/23 下午3:26 + * * + * @author: hxh + * @version: 1.0 + */ +@ApiModel(value = "巡查子计划查询信息") +@Data +public class DfSubPlanSimpleDto { + + @ApiModelProperty("堤防编码") + private String dikeCode; + @ApiModelProperty("堤防名称") + private String dikeName; + @ApiModelProperty("堤防类型") + private String dikeType; + + @ApiModelProperty("计划id") + private String planId; + + @ApiModelProperty("计划名称") + private String planName; + + @ApiModelProperty("巡查计划类型") + private String planType; + + @ApiModelProperty("子计划id") + private String subPlanId; + + @ApiModelProperty("子计划名称") + private String subPlanName; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子计划开始时间") + private Date subPlanStartDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子计划结束时间") + private Date subPlanEndDate; + + @ApiModelProperty("记录id") + private String recordId; + + @ApiModelProperty("记录状态") + private String recordStatus; + + @ApiModelProperty("记录隐患状态") + private String recordHandleStatus; + + /** + * 执行人 + */ + @ApiModelProperty("执行人") + private List operator; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanMapper.java b/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanMapper.java index c9245de0..f1a3af65 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanMapper.java @@ -6,13 +6,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.yxgh.df.domain.DfPlan; import com.kms.yxgh.df.dto.DfPlanSearchDto; import com.kms.yxgh.df.dto.DfPlanSimpleDto; +import com.kms.yxgh.df.dto.DfSubPlanSimpleDto; import com.shuili.common.utils.StringUtils; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; -import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.*; import org.apache.ibatis.jdbc.SQL; import org.springframework.stereotype.Repository; +import java.util.Date; +import java.util.List; import java.util.Map; /** @@ -73,6 +74,44 @@ public interface DfPlanMapper extends BaseMapper { "") IPage search(Page page, @Param("dto") DfPlanSearchDto searchDto); + @Select("") + @Results({ + @Result(property = "subPlanId", column = "sub_plan_id"), + @Result(property = "recordId", column = "record_id"), + @Result(property = "operator", column = "sub_plan_id", javaType = List.class, many = @Many(select = "com.kms.yxgh.df.mapper.DfPlanOperatorMapper.selectOperatorBySubPlanId")) + }) + IPage subSearch(Page page, @Param("searchDto") DfPlanSearchDto searchDto); + class DfPlanSqlProvider { public String selectByDikeCode(final Map param) { return new SQL() {{ diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanOperatorMapper.java b/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanOperatorMapper.java index 9b1b12d1..f9fb0c5e 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanOperatorMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanOperatorMapper.java @@ -1,9 +1,14 @@ package com.kms.yxgh.df.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kms.yxgh.common.dto.OperatorDto; import com.kms.yxgh.df.domain.DfPlanOperator; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 堤防巡视检查计划执行人Mapper接口 * @@ -13,4 +18,6 @@ import org.springframework.stereotype.Repository; @Repository public interface DfPlanOperatorMapper extends BaseMapper { + @Select("SELECT id, operator_uid uid,operator_name name FROM bs_sgc_df_xsjhzx WHERE sub_plan_id = #{subPlanId}") + List selectOperatorBySubPlanId(@Param("subPlanId") String subPlanId); } diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java index 4291e4fe..bd508b27 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java @@ -10,10 +10,7 @@ import com.kms.system.service.SysUserService; import com.kms.yxgh.base.DfException; import com.kms.yxgh.common.dto.OperatorDto; import com.kms.yxgh.df.domain.*; -import com.kms.yxgh.df.dto.DfCheckingPlanContentDto; -import com.kms.yxgh.df.dto.DfPlanDetailDto; -import com.kms.yxgh.df.dto.DfPlanSearchDto; -import com.kms.yxgh.df.dto.DfPlanSimpleDto; +import com.kms.yxgh.df.dto.*; import com.kms.yxgh.df.mapper.DfCheckingPlanContentMapper; import com.kms.yxgh.df.mapper.DfPlanMapper; import com.kms.yxgh.df.mapper.DfRecordMapper; @@ -64,6 +61,14 @@ public class DfPlanService extends BaseService { return result; } + public IPage searchSub(SearchParam sp) { + Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); + DfPlanSearchDto searchDto = sp.getData(); + SysUser user = UserUtils.getUser(); + searchDto.setUser(Optional.ofNullable(user).map(SysUser::getId).orElse(null)); + return this.getBaseMapper().subSearch(page, searchDto); + } + public DfPlanDetailDto getDetailById(String id) { DfPlan dfPlan = this.getById(id); DfPlanDetailDto dto = BeanCopyUtils.copy(dfPlan, DfPlanDetailDto.class); @@ -256,4 +261,5 @@ public class DfPlanService extends BaseService { .eq(DfCheckingPlanContent::getPlanId, planId); return dfCheckingPlanContentService.list(wp); } + }