From 28c451852c8c7df31f742acc697b52ba43da84ff Mon Sep 17 00:00:00 2001 From: hxh <762326930@qq.com> Date: Tue, 12 Mar 2024 15:31:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=B0=83=E5=BA=A6?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kms/yg/sz/mapper/BsSgcSzGcdaMapper.java | 2 +- .../controller/SzOperaRecordController.java | 65 ++++++++++++++++ .../sz/controller/SzSchedulingController.java | 67 +++++++++++++++++ .../com/kms/yxgh/sz/domain/SzOperaRecord.java | 59 +++++++++++++++ .../com/kms/yxgh/sz/domain/SzScheduling.java | 29 ++++++++ .../com/kms/yxgh/sz/dto/SzOperaRecordDto.java | 56 ++++++++++++++ .../com/kms/yxgh/sz/dto/SzProjectListDto.java | 2 + .../com/kms/yxgh/sz/dto/SzSchedulingDto.java | 74 +++++++++++++++++++ .../yxgh/sz/mapper/SzOperaRecordMapper.java | 18 +++++ .../yxgh/sz/mapper/SzSchedulingMapper.java | 45 +++++++++++ .../yxgh/sz/service/SzOperaRecordService.java | 71 ++++++++++++++++++ .../yxgh/sz/service/SzSchedulingService.java | 71 ++++++++++++++++++ sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql | 34 ++++++++- sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql | 35 +++++++++ 14 files changed, 626 insertions(+), 2 deletions(-) create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzOperaRecordController.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzSchedulingController.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzOperaRecord.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzScheduling.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzOperaRecordDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSchedulingDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzOperaRecordMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzSchedulingMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/service/SzOperaRecordService.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSchedulingService.java diff --git a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzGcdaMapper.java b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzGcdaMapper.java index f2dc7574..f9d37a2a 100644 --- a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzGcdaMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzGcdaMapper.java @@ -24,7 +24,7 @@ import java.util.Date; public interface BsSgcSzGcdaMapper extends BaseMapper { @Select({ "") + IPage search(Page page, @Param("dto") SzSchedulingDto dto); + + //调度计划详情 + @Select("SELECT sz.id, sz.waga_code, sz.name as plan_name, jb.waga_name as waga_name, sz.doc as docStr , sz.create_time, sz.update_time, jd.engineering_management_unit engineering_management_unit " + + "FROM bs_sgc_sz_ddjh sz " + + "LEFT JOIN bs_sgc_sz_jbxx jb ON sz.waga_code = jb.waga_code and jb.expr_date is null " + + "LEFT JOIN bs_sgc_sz_gcgl jd ON sz.waga_code = jd.waga_code and jd.expr_date is null " + + "WHERE sz.id = #{id}") + SzSchedulingDto selectDetailById(String id); +} \ No newline at end of file diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzOperaRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzOperaRecordService.java new file mode 100644 index 00000000..35b7a5ea --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzOperaRecordService.java @@ -0,0 +1,71 @@ +package com.kms.yxgh.sz.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yxgh.sz.domain.SzOperaRecord; +import com.kms.yxgh.sz.dto.SzOperaRecordDto; +import com.kms.yxgh.sz.mapper.SzOperaRecordMapper; +import com.kms.yxgh.util.BeanCopyUtils; +import com.shuili.common.core.domain.SearchParam; +import com.shuili.common.core.service.BaseService; +import com.shuili.common.utils.StringUtils; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @ClassName: SzOperaRecordService + * @Description: TODO + * @Date: 2024/3/12 下午2:45 + * * + * @author: hxh + * @version: 1.0 + */ + +@Service +@AllArgsConstructor +public class SzOperaRecordService extends BaseService { + //针对闸门、指令号、闸号进行关键词模糊检索 + public IPage search(SearchParam sp) { + IPage page = new Page<>(sp.getPageNum(), sp.getPageSize()); + SzOperaRecordDto dto = sp.getData(); + if (dto != null) { + Wrapper wrapper = Wrappers.lambdaQuery() + .eq(SzOperaRecord::getWagaCode, dto.getWagaCode()) + .like(StringUtils.isNotEmpty(dto.getGate()), SzOperaRecord::getGate, dto.getGate()) + .like(StringUtils.isNotEmpty(dto.getCommandNum()), SzOperaRecord::getCommandNum, dto.getCommandNum()) + .like(StringUtils.isNotEmpty(dto.getGateNum()), SzOperaRecord::getGateNum, dto.getGateNum()); + IPage iPage = baseMapper.selectPage(page, wrapper); + return iPage.convert(item -> BeanCopyUtils.copy(item, SzOperaRecordDto.class)); + } else { + return new Page<>(); + } + + } + + public SzOperaRecordDto detail(String id) { + SzOperaRecord entity = baseMapper.selectById(id); + return BeanCopyUtils.copy(entity, SzOperaRecordDto.class); + } + + @Transactional(rollbackFor = Exception.class) + public SzOperaRecordDto add(SzOperaRecordDto dto) { + SzOperaRecord entity = BeanCopyUtils.copy(dto, SzOperaRecord.class); + baseMapper.insert(entity); + return BeanCopyUtils.copy(entity, SzOperaRecordDto.class); + } + + @Transactional(rollbackFor = Exception.class) + public SzOperaRecordDto modify(SzOperaRecordDto dto) { + SzOperaRecord entity = BeanCopyUtils.copy(dto, SzOperaRecord.class); + baseMapper.updateById(entity); + return BeanCopyUtils.copy(entity, SzOperaRecordDto.class); + } + + @Transactional(rollbackFor = Exception.class) + public Boolean delete(String id) { + return baseMapper.deleteById(id) > 0; + } +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSchedulingService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSchedulingService.java new file mode 100644 index 00000000..0402a148 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSchedulingService.java @@ -0,0 +1,71 @@ +package com.kms.yxgh.sz.service; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yxgh.sz.domain.SzScheduling; +import com.kms.yxgh.sz.dto.SzSchedulingDto; +import com.kms.yxgh.sz.mapper.SzSchedulingMapper; +import com.shuili.common.core.domain.SearchParam; +import com.shuili.common.core.service.BaseService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @ClassName: SzSchedulingService + * @Description: TODO + * @Date: 2024/3/12 上午11:07 + * * + * @author: hxh + * @version: 1.0 + */ + +@Service +@AllArgsConstructor +public class SzSchedulingService extends BaseService { + + + public IPage search(SearchParam sp) { + Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); + SzSchedulingDto dto = sp.getData(); + return baseMapper.search(page, dto); + } + + @Transactional(rollbackFor = Exception.class) + public SzSchedulingDto add(SzSchedulingDto dto) { + SzScheduling entity = new SzScheduling(); + entity.setWagaCode(dto.getWagaCode()); + entity.setName(dto.getPlanName()); + entity.setDoc(JSON.toJSONString(dto.getDocs())); + baseMapper.insert(entity); + dto.setId(entity.getId()); + return dto; + } + + @Transactional(rollbackFor = Exception.class) + public SzSchedulingDto modify(SzSchedulingDto dto) { + SzScheduling entity = new SzScheduling(); + entity.setId(dto.getId()); + entity.setWagaCode(dto.getWagaCode()); + entity.setName(dto.getPlanName()); + entity.setDoc(JSON.toJSONString(dto.getDocs())); + baseMapper.updateById(entity); + return dto; + } + + @Transactional(rollbackFor = Exception.class) + public Boolean delete(String id) { + return baseMapper.deleteById(id) > 0; + } + + public SzSchedulingDto detail(String id) { + SzSchedulingDto dto = baseMapper.selectDetailById(id); + dto.setDocs(JSON.parseObject(dto.getDocStr(), new TypeReference>() { + })); + return dto; + } +} diff --git a/sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql b/sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql index 0d8daee0..692f3a38 100644 --- a/sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql +++ b/sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql @@ -755,4 +755,36 @@ CREATE TABLE `bs_sgc_sz_dtsbr` ( `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', PRIMARY KEY (`ID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水闸动态检测记录表'; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水闸动态检测记录表'; + +CREATE TABLE `bs_sgc_sz_ddjh` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT '水闸调度计划编号', + `WAGA_CODE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '水闸编码', + `NAME` varchar(100) DEFAULT NULL COMMENT '计划名称', + `DOC` text COLLATE utf8mb4_general_ci COMMENT '文档', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水闸调度计划表'; + +CREATE TABLE `bs_sgc_sz_czjl` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT '水闸操作记录编号', + `WAGA_CODE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '水闸编码', + `GATE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '闸门', + `GATE_NUM` varchar(255) COLLATE utf8mb4_general_ci COMMENT '闸号', + `COMMAND_NUM` varchar(255) COLLATE utf8mb4_general_ci COMMENT '指令号', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + `CONTROL_LEVEL` float NULL DEFAULT NULL COMMENT '控制水位', + `LEFT_DRY` float NULL DEFAULT NULL COMMENT '左干', + `RIGHT_DRY` float NULL DEFAULT NULL COMMENT '右干', + `UPSTREAM_LEVEL` float NULL DEFAULT NULL COMMENT '上游水位', + `DOWNSTREAM_LEVEL` float NULL DEFAULT NULL COMMENT '下游水位', + `OPENING` float NULL DEFAULT NULL COMMENT '开度', + `OPERATOR_TIME` datetime DEFAULT NULL COMMENT '操作时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水闸操作记录表'; 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 c332a1b7..3bd9f585 100644 --- a/sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql +++ b/sql/sy/v1.2.0/增量脚本/v1.2.0-update.sql @@ -366,3 +366,38 @@ CREATE TABLE `bs_sgc_df_dtsbr` ( PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='堤防动态检测记录表'; +CREATE TABLE `bs_sgc_sz_ddjh` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT '水闸调度计划编号', + `WAGA_CODE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '水闸编码', + `NAME` varchar(100) DEFAULT NULL COMMENT '计划名称', + `DOC` text COLLATE utf8mb4_general_ci COMMENT '文档', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水闸调度计划表'; + +CREATE TABLE `bs_sgc_sz_czjl` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT '水闸操作记录编号', + `WAGA_CODE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '水闸编码', + `GATE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '闸门', + `GATE_NUM` varchar(255) COLLATE utf8mb4_general_ci COMMENT '闸号', + `COMMAND_NUM` varchar(255) COLLATE utf8mb4_general_ci COMMENT '指令号', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + `CONTROL_LEVEL` float NULL DEFAULT NULL COMMENT '控制水位', + `LEFT_DRY` float NULL DEFAULT NULL COMMENT '左干', + `RIGHT_DRY` float NULL DEFAULT NULL COMMENT '右干', + `UPSTREAM_LEVEL` float NULL DEFAULT NULL COMMENT '上游水位', + `DOWNSTREAM_LEVEL` float NULL DEFAULT NULL COMMENT '下游水位', + `OPENING` float NULL DEFAULT NULL COMMENT '开度', + `OPERATOR_TIME` datetime DEFAULT NULL COMMENT '操作时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水闸操作记录表'; + + + +