From fb70a22b0852bc5ea940bae3240bb4f03d8b96ce Mon Sep 17 00:00:00 2001 From: hxh <762326930@qq.com> Date: Wed, 24 Jan 2024 14:13:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxgh/df/domain/DfProjectCheckingRel.java | 5 +++- .../yxgh/df/dto/DfProjectCheckingRelDto.java | 11 +++++++- .../java/com/kms/yxgh/df/dto/StartPlan.java | 6 +++-- .../kms/yxgh/df/service/DfProjectService.java | 7 ++--- .../kms/yxgh/df/service/DfRecordService.java | 26 ++++++++++++++++--- sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql | 1 + 6 files changed, 45 insertions(+), 11 deletions(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfProjectCheckingRel.java b/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfProjectCheckingRel.java index 27d583a6..cd1ea997 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfProjectCheckingRel.java +++ b/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; + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfProjectCheckingRelDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfProjectCheckingRelDto.java index 921b0754..a8da285f 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfProjectCheckingRelDto.java +++ b/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 checkings; + private List checkings; + + + @Data + public static class Checking { + @ApiModelProperty(value = "巡查id") + private String xcId; + @ApiModelProperty(value = "巡查类型") + private Long type; + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/StartPlan.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/StartPlan.java index 510eb05b..aebff62b 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/StartPlan.java +++ b/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; } diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java index 3d4a691a..29531915 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java +++ b/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 checkings = dfProjectCheckingRelDto.getCheckings(); + List checkings = dfProjectCheckingRelDto.getCheckings(); unbindCheckingsFromDickCode(dickCode); @@ -54,12 +54,13 @@ public class DfProjectService { dfProjectCheckingRelMapper.delete(wrapper); } - private void bindCheckingsToDickCode(String dickCode, List plans) { + private void bindCheckingsToDickCode(String dickCode, List plans) { List 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()); diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java index c90801b3..d91a00d2 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java +++ b/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 { private final DfCheckingService dfCheckingService; private final DfPlanService dfPlanService; private final SysUserService userService; + private final DfProjectCheckingRelMapper dfProjectCheckingRelMapper; public IPage search(SearchParam sp) { IPage page = selectPage(sp); @@ -86,18 +89,33 @@ public class DfRecordService extends BaseService { @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 wrapper = Wrappers.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) { diff --git a/sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql b/sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql index 77280954..6ccbb55c 100644 --- a/sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql +++ b/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 '创建时间',