Browse Source

feat:子计划列表查询

master_tdsql
hxh 10 months ago
parent
commit
a83382c6f1
  1. 7
      shuili-system/src/main/java/com/kms/yxgh/df/controller/DfPlanController.java
  2. 12
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanSearchDto.java
  3. 68
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSubPlanSimpleDto.java
  4. 45
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanMapper.java
  5. 7
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanOperatorMapper.java
  6. 14
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java

7
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.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.yxgh.base.Response; 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.DfPlanDetailDto;
import com.kms.yxgh.df.dto.DfPlanSearchDto; import com.kms.yxgh.df.dto.DfPlanSearchDto;
import com.kms.yxgh.df.dto.DfPlanSimpleDto; import com.kms.yxgh.df.dto.DfPlanSimpleDto;
import com.kms.yxgh.df.dto.DfSubPlanSimpleDto;
import com.kms.yxgh.df.service.DfPlanService; import com.kms.yxgh.df.service.DfPlanService;
import com.shuili.common.annotation.Log; import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.domain.SearchParam;
@ -39,6 +39,11 @@ public class DfPlanController {
return dfPlanService.search(sp); return dfPlanService.search(sp);
} }
@PostMapping("/sub/list")
@ApiOperation("堤防巡视检查子计划列表")
public IPage<DfSubPlanSimpleDto> subList(@RequestBody SearchParam<DfPlanSearchDto> sp) {
return dfPlanService.searchSub(sp);
}
/** /**
* 获取堤防巡视检查计划详细信息 * 获取堤防巡视检查计划详细信息

12
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanSearchDto.java

@ -11,17 +11,17 @@ import java.util.List;
@ApiModel(value = "堤防巡视检查计划查询") @ApiModel(value = "堤防巡视检查计划查询")
public class DfPlanSearchDto { public class DfPlanSearchDto {
@ApiModelProperty(value = "计划名称")
private String planName;
@ApiModelProperty("巡查计划类型")
private String planType;
@ApiModelProperty(value = "堤防编号") @ApiModelProperty(value = "堤防编号")
private String dikeCode; private String dikeCode;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "状态")
private String status;
@ApiModelProperty(value = "记录状态") @ApiModelProperty(value = "记录状态")
private String recordStatus; private String recordStatus;
private String user; private String user;
@ApiModelProperty(value = "巡查人员id") @ApiModelProperty("路线类型")
private List<String> userIds; private String lineType;
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Date startTime; private Date startTime;
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")

68
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<OperatorDto> operator;
}

45
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.domain.DfPlan;
import com.kms.yxgh.df.dto.DfPlanSearchDto; import com.kms.yxgh.df.dto.DfPlanSearchDto;
import com.kms.yxgh.df.dto.DfPlanSimpleDto; import com.kms.yxgh.df.dto.DfPlanSimpleDto;
import com.kms.yxgh.df.dto.DfSubPlanSimpleDto;
import com.shuili.common.utils.StringUtils; import com.shuili.common.utils.StringUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.jdbc.SQL; import org.apache.ibatis.jdbc.SQL;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -73,6 +74,44 @@ public interface DfPlanMapper extends BaseMapper<DfPlan> {
"</script>") "</script>")
IPage<DfPlanSimpleDto> search(Page<DfPlan> page, @Param("dto") DfPlanSearchDto searchDto); IPage<DfPlanSimpleDto> search(Page<DfPlan> page, @Param("dto") DfPlanSearchDto searchDto);
@Select("<script>" +
"SELECT p.id as plan_id, sub.id as sub_plan_id, p.name as plan_name, p.type as plan_type, " +
"sub.name as sub_plan_name, " +
"p.dike_code as dike_code, p.dike_name as dike_name, p.dike_type as dike_type, " +
"sub.start_date as sub_plan_start_date, sub.end_date as sub_plan_end_date, lx.type as line_type, " +
"r.id record_id,r.status as record_status, r.handle_status as record_handle_status, r.update_time as last_time " +
"FROM bs_sgc_df_xsjhxq sub " +
"LEFT JOIN bs_sgc_df_xsjh p ON sub.plan_id = p.id " +
"LEFT JOIN bs_sgc_df_xsjhjl r ON r.sub_plan_id = sub.id and r.status = '0' " +
"LEFT JOIN bs_sgc_df_xslx lx ON lx.id = sub.LINE_ID " +
"WHERE 1=1 " +
"<if test='searchDto != null and searchDto.dikeCode != null and searchDto.dikeCode != \"\"'>" +
"AND p.dike_code = #{searchDto.dikeCode} " +
"</if>" +
"<if test='searchDto != null and searchDto.planName != null and searchDto.planName != \"\"'>" +
"AND p.name LIKE CONCAT('%', #{searchDto.planName}, '%') " +
"</if>" +
"<if test='searchDto != null and searchDto.lineType != null and searchDto.lineType != \"\"'>" +
"AND lx.type = #{searchDto.lineType} " +
"</if>" +
"<if test='searchDto != null and searchDto.startTime != null'>" +
"AND sub.start_date &gt;= #{searchDto.startTime} " +
"</if>" +
"<if test='searchDto != null and searchDto.endTime != null'>" +
"AND sub.end_date &lt;= #{searchDto.endTime} " +
"</if>" +
"<if test='searchDto != null and searchDto.user != null and searchDto.user != \"\"'>" +
"AND exists (select 1 from bs_sgc_df_xsjhzx zx where zx.operator_uid = #{searchDto.user}) " +
"</if>" +
"ORDER BY last_time desc,sub.start_date " +
"</script>")
@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<DfSubPlanSimpleDto> subSearch(Page<DfPlan> page, @Param("searchDto") DfPlanSearchDto searchDto);
class DfPlanSqlProvider { class DfPlanSqlProvider {
public String selectByDikeCode(final Map<String, Object> param) { public String selectByDikeCode(final Map<String, Object> param) {
return new SQL() {{ return new SQL() {{

7
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfPlanOperatorMapper.java

@ -1,9 +1,14 @@
package com.kms.yxgh.df.mapper; package com.kms.yxgh.df.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.common.dto.OperatorDto;
import com.kms.yxgh.df.domain.DfPlanOperator; 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 org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* 堤防巡视检查计划执行人Mapper接口 * 堤防巡视检查计划执行人Mapper接口
* *
@ -13,4 +18,6 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface DfPlanOperatorMapper extends BaseMapper<DfPlanOperator> { public interface DfPlanOperatorMapper extends BaseMapper<DfPlanOperator> {
@Select("SELECT id, operator_uid uid,operator_name name FROM bs_sgc_df_xsjhzx WHERE sub_plan_id = #{subPlanId}")
List<OperatorDto> selectOperatorBySubPlanId(@Param("subPlanId") String subPlanId);
} }

14
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.base.DfException;
import com.kms.yxgh.common.dto.OperatorDto; import com.kms.yxgh.common.dto.OperatorDto;
import com.kms.yxgh.df.domain.*; import com.kms.yxgh.df.domain.*;
import com.kms.yxgh.df.dto.DfCheckingPlanContentDto; import com.kms.yxgh.df.dto.*;
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.mapper.DfCheckingPlanContentMapper; import com.kms.yxgh.df.mapper.DfCheckingPlanContentMapper;
import com.kms.yxgh.df.mapper.DfPlanMapper; import com.kms.yxgh.df.mapper.DfPlanMapper;
import com.kms.yxgh.df.mapper.DfRecordMapper; import com.kms.yxgh.df.mapper.DfRecordMapper;
@ -64,6 +61,14 @@ public class DfPlanService extends BaseService<DfPlanMapper, DfPlan> {
return result; return result;
} }
public IPage<DfSubPlanSimpleDto> searchSub(SearchParam<DfPlanSearchDto> sp) {
Page<DfPlan> 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) { public DfPlanDetailDto getDetailById(String id) {
DfPlan dfPlan = this.getById(id); DfPlan dfPlan = this.getById(id);
DfPlanDetailDto dto = BeanCopyUtils.copy(dfPlan, DfPlanDetailDto.class); DfPlanDetailDto dto = BeanCopyUtils.copy(dfPlan, DfPlanDetailDto.class);
@ -256,4 +261,5 @@ public class DfPlanService extends BaseService<DfPlanMapper, DfPlan> {
.eq(DfCheckingPlanContent::getPlanId, planId); .eq(DfCheckingPlanContent::getPlanId, planId);
return dfCheckingPlanContentService.list(wp); return dfCheckingPlanContentService.list(wp);
} }
} }

Loading…
Cancel
Save