Browse Source

feat: 调整开始计划接口

master_tdsql
hxh 1 year ago
parent
commit
fb70a22b08
  1. 5
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfProjectCheckingRel.java
  2. 11
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfProjectCheckingRelDto.java
  3. 6
      shuili-system/src/main/java/com/kms/yxgh/df/dto/StartPlan.java
  4. 7
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java
  5. 26
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java
  6. 1
      sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql

5
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfProjectCheckingRel.java

@ -24,9 +24,12 @@ public class DfProjectCheckingRel extends SyBaseEntity {
* 巡查计划ID
*/
@ApiModelProperty("巡查ID")
private String checkingId;
private String xcId;
@ApiModelProperty("堤防代码")
private String dickCode;
@ApiModelProperty("巡查类型")
private Long type;
}

11
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfProjectCheckingRelDto.java

@ -23,5 +23,14 @@ public class DfProjectCheckingRelDto {
private String dickCode;
@ApiModelProperty(value = "巡查id")
private List<String> checkings;
private List<Checking> checkings;
@Data
public static class Checking {
@ApiModelProperty(value = "巡查id")
private String xcId;
@ApiModelProperty(value = "巡查类型")
private Long type;
}
}

6
shuili-system/src/main/java/com/kms/yxgh/df/dto/StartPlan.java

@ -17,6 +17,8 @@ public class StartPlan {
@ApiModelProperty("计划id")
private String planId;
@ApiModelProperty("巡查id")
private String xcId;
@ApiModelProperty("堤防编号")
private String dickCode;
@ApiModelProperty("巡查类型")
private Long type;
}

7
shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java

@ -41,7 +41,7 @@ public class DfProjectService {
@Transactional(rollbackFor = Exception.class)
public void relChecking(DfProjectCheckingRelDto dfProjectCheckingRelDto) {
String dickCode = dfProjectCheckingRelDto.getDickCode();
List<String> checkings = dfProjectCheckingRelDto.getCheckings();
List<DfProjectCheckingRelDto.Checking> checkings = dfProjectCheckingRelDto.getCheckings();
unbindCheckingsFromDickCode(dickCode);
@ -54,12 +54,13 @@ public class DfProjectService {
dfProjectCheckingRelMapper.delete(wrapper);
}
private void bindCheckingsToDickCode(String dickCode, List<String> plans) {
private void bindCheckingsToDickCode(String dickCode, List<DfProjectCheckingRelDto.Checking> plans) {
List<DfProjectCheckingRel> projectPlanRels = plans.stream()
.map(checking -> {
DfProjectCheckingRel dfProjectCheckingRel = new DfProjectCheckingRel();
dfProjectCheckingRel.setDickCode(dickCode);
dfProjectCheckingRel.setCheckingId(checking);
dfProjectCheckingRel.setXcId(checking.getXcId());
dfProjectCheckingRel.setType(checking.getType());
return dfProjectCheckingRel;
})
.collect(Collectors.toList());

26
shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java

@ -9,10 +9,12 @@ import com.kms.system.service.SysUserService;
import com.kms.yxgh.base.DfException;
import com.kms.yxgh.base.enums.CheckingStatus;
import com.kms.yxgh.base.enums.RecordStatus;
import com.kms.yxgh.df.domain.DfProjectCheckingRel;
import com.kms.yxgh.df.domain.DfRecord;
import com.kms.yxgh.df.domain.DfRecordItem;
import com.kms.yxgh.df.dto.*;
import com.kms.yxgh.df.dto.DfRecordDetailDto.DfRecordItemDto;
import com.kms.yxgh.df.mapper.DfProjectCheckingRelMapper;
import com.kms.yxgh.df.mapper.DfRecordItemMapper;
import com.kms.yxgh.df.mapper.DfRecordMapper;
import com.kms.yxgh.util.BeanCopyUtils;
@ -45,6 +47,7 @@ public class DfRecordService extends BaseService<DfRecordMapper, DfRecord> {
private final DfCheckingService dfCheckingService;
private final DfPlanService dfPlanService;
private final SysUserService userService;
private final DfProjectCheckingRelMapper dfProjectCheckingRelMapper;
public IPage<DfRecordSearchDto> search(SearchParam<DfRecord> sp) {
IPage<DfRecord> page = selectPage(sp);
@ -86,18 +89,33 @@ public class DfRecordService extends BaseService<DfRecordMapper, DfRecord> {
@Transactional(rollbackFor = Exception.class)
public DfRecordDetailDto start(StartPlan startPlan) {
if (StringUtils.isEmpty(startPlan.getPlanId())) {
if (StringUtils.isEmpty(startPlan.getXcId())) {
throw new DfException("巡查计划id与巡查id不能都为空");
if (StringUtils.isEmpty(startPlan.getDickCode())) {
throw new DfException("巡查计划id与堤防编码不能都为空");
}
return initRecord(startPlan, startPlan.getXcId(), null);
String xcId = getXcId(startPlan);
if (StringUtils.isEmpty(xcId)) {
throw new DfException("该堤防没有配置巡查项目,开始巡查失败");
}
return initRecord(startPlan, xcId, null);
} else {
DfPlanDetailDto planDetailDto = dfPlanService.getDetailById(startPlan.getPlanId());
if (planDetailDto != null) {
planDetailDto.setId(null);
return initRecord(startPlan, planDetailDto.getXcId(), planDetailDto.getName());
}
throw new DfException("查询巡查计划");
throw new DfException("巡查计划不存在,开始巡查失败");
}
}
private String getXcId(StartPlan startPlan) {
Wrapper<DfProjectCheckingRel> wrapper = Wrappers.<DfProjectCheckingRel>lambdaQuery()
.eq(DfProjectCheckingRel::getDickCode, startPlan.getDickCode())
.eq(DfProjectCheckingRel::getType, startPlan.getType());
DfProjectCheckingRel rel = dfProjectCheckingRelMapper.selectOne(wrapper);
if (rel == null) {
return null;
}
return rel.getXcId();
}
private DfRecordDetailDto initRecord(StartPlan startPlan, String xcId, String name) {

1
sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql

@ -5,6 +5,7 @@ ALTER TABLE `bs_sgc_df_xsjh` ADD `DIKE_CODE` varchar(18) COLLATE utf8mb4_genera
CREATE TABLE `bs_sgc_df_xspj` (
`ID` int NOT NULL AUTO_INCREMENT COMMENT '堤防巡视检查与堤防绑定编号',
`XC_ID` int NOT NULL COMMENT '巡查ID',
`TYPE` int DEFAULT NULL COMMENT '巡查类型',
`DIKE_CODE` varchar(18) COLLATE utf8mb4_general_ci NOT NULL COMMENT '堤防代码',
`CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',

Loading…
Cancel
Save