Browse Source

feat: 维养审批

release-sy-tdsql
hxh 1 month ago
parent
commit
0100d9715a
  1. 11
      shuili-system/src/main/java/com/kms/yxgh/df/controller/v2/DfYhV2Controller.java
  2. 20
      shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfYhApproveDto.java
  3. 59
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfYhV2Mapper.java
  4. 5
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java
  5. 38
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2V2Service.java

11
shuili-system/src/main/java/com/kms/yxgh/df/controller/v2/DfYhV2Controller.java

@ -1,16 +1,11 @@
package com.kms.yxgh.df.controller.v2;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.base.UpdateGroup;
import com.kms.yxgh.common.ApprovalTypeEnum;
import com.kms.yxgh.common.controller.ApprovalAbstractController;
import com.kms.yxgh.df.dto.v2.DfRecordDetailV2Dto;
import com.kms.yxgh.df.dto.v2.DfRecordSearchV2Dto;
import com.kms.yxgh.df.dto.v2.DfYhDetailV2Dto;
import com.kms.yxgh.df.dto.v2.DfYhListV2Dto;
import com.kms.yxgh.df.service.DfCheckingRecordV2Service;
import com.kms.yxgh.df.dto.v2.*;
import com.kms.yxgh.df.service.DfYhV2V2Service;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam;
@ -20,12 +15,14 @@ import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import static com.kms.yxgh.common.ApprovalTypeEnum.YH_V2_RECORD;
@RestController
@AllArgsConstructor
@RequestMapping("/run/df/v2/yh")
@Api(tags = "堤防养护v2")
public class DfYhV2Controller extends ApprovalAbstractController<DfRecordSearchV2Dto, DfYhListV2Dto> {
public class DfYhV2Controller extends ApprovalAbstractController<DfRecordSearchV2Dto, DfYhApproveDto> {
private final DfYhV2V2Service dfYhV2V2Service;

20
shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfYhApproveDto.java

@ -0,0 +1,20 @@
package com.kms.yxgh.df.dto.v2;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "堤防养护验收列表信息v2")
@Data
public class DfYhApproveDto extends DfV2CheckingDto {
@ApiModelProperty("巡查责任人")
private String dutyHolderId;
@ApiModelProperty("巡查责任人名称")
private String dutyHolderName;
@ApiModelProperty("问题级别")
private String problemLevel;
}

59
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfYhV2Mapper.java

@ -1,7 +1,19 @@
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.common.dto.ApprovalDetailDto;
import com.kms.yxgh.common.dto.ApprovalSearchDto;
import com.kms.yxgh.common.mapper.handler.DocHandler;
import com.kms.yxgh.common.mapper.handler.OperatorHandler;
import com.kms.yxgh.df.domain.DfYhV2V2;
import com.kms.yxgh.df.dto.v2.DfRecordSearchV2Dto;
import com.kms.yxgh.df.dto.v2.DfYhApproveDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
@ -13,5 +25,50 @@ import org.springframework.stereotype.Repository;
@Repository
public interface DfYhV2Mapper extends BaseMapper<DfYhV2V2> {
@Select("<script> " +
" SELECT ts.id id, ts.form_id formId, ts.create_time submit_time, ts.approval_time approval_time, ts.status " +
" status, " +
" ts.operator operator, ts.comment comment, ts.doc ts_doc, " +
" jl.id , jl.name ,jl.dike_code dikeCode, jl.dike_name dikeName, jl.type type, jl.category category, " +
" jl.issue_level issueLevel, jl.duty_holder_id dutyHolderId, jl.duty_holder_name dutyHolderName " +
" FROM bs_sgc_sp_task ts " +
" LEFT JOIN bs_sgc_df_xcyj jl ON jl.id = ts.form_id " +
" WHERE ts.business_type = #{dto.businessType} " +
" <if test='dto.status != null and dto.status != \"\"'> " +
" AND ts.status = #{dto.status} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.name != null'> " +
" AND jl.name LIKE CONCAT('%',#{dto.condition.name},'%') " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.type != null and dto.condition.type != \"\"'> " +
" AND jl.type = #{dto.condition.type} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.category != null and dto.condition.category != \"\"'> " +
" AND jl.category = #{dto.condition.category} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.problemLevel != null and dto.condition.problemLevel != \"\"'> " +
" AND jl.issue_level = #{dto.condition.problemLevel} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.status != null and dto.condition.status != \"\"'> " +
" AND jl.status = #{dto.condition.status} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.startDate != null and dto.condition.startDate != \"\"'> " +
" AND jl.start_date &gt;= #{dto.condition.startDate} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.endDate != null and dto.condition.endDate != \"\"'> " +
" AND jl.end_date &lt;= #{dto.condition.endDate} " +
" </if> " +
" <if test='dto.condition!= null and dto.condition.dutyHolder != null and dto.condition.dutyHolder != \"\"'> " +
" AND jl.duty_holder_id = #{dto.condition.dutyHolder} " +
" </if> " +
" ORDER BY jl.update_time DESC </script>")
@Results(id = "approvalSearchPage", value = {
@Result(column = "operator", property = "operator", typeHandler = OperatorHandler.class),
@Result(column = "ts_doc", property = "doc", typeHandler = DocHandler.class),
@Result(column = "id", property = "formId"),
@Result(column = "form_id", property = "formId"),
@Result(column = "create_time", property = "submitTime"),
@Result(column = "approval_time", property = "approvalTime"),
})
IPage<ApprovalDetailDto<DfYhApproveDto>> approvalSearchPage(Page<DfRecordSearchV2Dto> page, @Param("dto") ApprovalSearchDto<DfRecordSearchV2Dto> data);
}

5
shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java

@ -1,18 +1,19 @@
package com.kms.yxgh.df.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.df.domain.DfCheckingProblemV2;
import com.kms.yxgh.df.dto.v2.DfProblemV2Dto;
import com.kms.yxgh.df.dto.v2.DfRecordSearchV2Dto;
import com.kms.yxgh.df.mapper.DfCheckingProblemV2Mapper;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.service.BaseService;
import com.shuili.common.utils.BeanUtils;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import com.kms.yxgh.df.mapper.DfCheckingProblemV2Mapper;
import com.kms.yxgh.df.domain.DfCheckingProblemV2;
import java.util.List;
import java.util.Optional;

38
shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2V2Service.java

@ -1,14 +1,20 @@
package com.kms.yxgh.df.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.common.ApprovalStatusEnum;
import com.kms.yxgh.common.dto.ApprovalDetailDto;
import com.kms.yxgh.common.dto.ApprovalSearchDto;
import com.kms.yxgh.common.service.DefaultApprovalBusinessService;
import com.kms.yxgh.df.domain.DfYhV2V2;
import com.kms.yxgh.df.dto.v2.*;
import com.kms.yxgh.df.mapper.DfYhV2Mapper;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.service.BaseService;
import com.shuili.common.utils.BeanUtils;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@ -26,7 +32,7 @@ import java.util.stream.Collectors;
*/
@Service
@AllArgsConstructor
public class DfYhV2V2Service extends BaseService<DfYhV2Mapper, DfYhV2V2> {
public class DfYhV2V2Service extends DefaultApprovalBusinessService<DfYhV2Mapper, DfYhV2V2, DfRecordSearchV2Dto, DfYhApproveDto> {
public IPage<DfYhListV2Dto> list(SearchParam<DfRecordSearchV2Dto> sp) {
// 分页参数
@ -129,6 +135,34 @@ public class DfYhV2V2Service extends BaseService<DfYhV2Mapper, DfYhV2V2> {
}
@Override
public IPage<ApprovalDetailDto<DfYhApproveDto>> approvalSearch(SearchParam<ApprovalSearchDto<DfRecordSearchV2Dto>> sp) {
if (sp.getData() == null) {
return new Page<>();
}
return this.getBaseMapper().approvalSearchPage(new Page<>(sp.getPageNum(), sp.getPageSize()), sp.getData());
}
@Override
public void updateApprovalStatus(String formId, ApprovalStatusEnum status) {
Wrapper<DfYhV2V2> wp = Wrappers.<DfYhV2V2>lambdaUpdate()
.eq(DfYhV2V2::getId, formId)
.set(DfYhV2V2::getStatus, status.getValue());
this.update(null, wp);
}
@Override
public String formStatus(String formId) {
Wrapper<DfYhV2V2> wp = Wrappers.<DfYhV2V2>lambdaQuery()
.eq(DfYhV2V2::getId, formId)
.select(DfYhV2V2::getStatus);
List<DfYhV2V2> list = this.list(wp);
if (list != null && !list.isEmpty()) {
return list.get(0).getStatus();
}
return "";
}
}

Loading…
Cancel
Save