Commit c2750088 authored by ZWT's avatar ZWT

feat(能源管理系统): 间开制度管理

1.开发定期校准模块-校准周期新增接口,完成接口冒烟测试并生成接口文档;
2.开发定期校准模块-校准周期修改接口,完成接口冒烟测试并生成接口文档;
3.开发定期校准模块-校准周期详情接口,完成接口冒烟测试并生成接口文档;
4.开发定期校准模块-校准历史分页列表接口,完成接口冒烟测试并生成接口文档;
5.开发定期校准模块-校准历史获取线路及井口树接口,完成接口冒烟测试并生成接口文档;
6.开发定期校准模块-校准历史重新优化接口,完成接口冒烟测试并生成接口文档;
7.开发系统管理模块-组织机构管理查询组织和线路列表接口,完成接口冒烟测试并生成接口文档;
8.开发基础间开配置Cloud模块--获取线路配置制度数量接口,完成接口冒烟测试;
9.修改基础信息管理模块-线路删除接口,增加线路删除校验逻辑同时添加space模块调用配置,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 5e579bcf
...@@ -120,7 +120,9 @@ public class BasePowerLineService { ...@@ -120,7 +120,9 @@ public class BasePowerLineService {
@XText("输电线路配置--删除") @XText("输电线路配置--删除")
public XServiceResult deleteBasePowerLine(XContext context, DeleteBasePowerLineInput input) { public XServiceResult deleteBasePowerLine(XContext context, DeleteBasePowerLineInput input) {
String lineId = input.getId(); String lineId = input.getId();
//todo: 检查是否被其它功能引用 if (ServiceUtil.checkLineIsReference(context, lineId)) {
return XServiceResult.error(992, "当前线路已被引用");
}
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class); BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class);
BasePowerLineEnt entity = this.selectOneByLineId(lineId, mapper); BasePowerLineEnt entity = this.selectOneByLineId(lineId, mapper);
......
package pps.core.base.utils; package pps.core.base.utils;
import pps.cloud.space.service.ISpaceInstitutionDetailCloudService;
import pps.cloud.system.service.SysOrganizationCloudService; import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemAreaService; import pps.cloud.system.service.SystemAreaService;
import pps.cloud.system.service.SystemDictionaryService; import pps.cloud.system.service.SystemDictionaryService;
...@@ -110,4 +111,18 @@ public class ServiceUtil { ...@@ -110,4 +111,18 @@ public class ServiceUtil {
GetOuListTreeOutput::getOuId, GetOuListTreeOutput::getOuName GetOuListTreeOutput::getOuId, GetOuListTreeOutput::getOuName
)); ));
} }
/**
* 检查线路是否被间开制度引用
*
* @param context 上下文
* @param lineId 线路id
* @return boolean
*/
public static boolean checkLineIsReference(XContext context, String lineId) {
ISpaceInstitutionDetailCloudService contextBean = context.getBean(ISpaceInstitutionDetailCloudService.class);
XSingleResult<Long> result = contextBean.getInstitutionLineCountByLineId(context, lineId);
result.throwIfFail();
return result.getResult() > 0;
}
} }
\ No newline at end of file
...@@ -15,6 +15,14 @@ ...@@ -15,6 +15,14 @@
<properties> <properties>
<maven.build.timestamp.format>yyyy.MMdd.HHmmss</maven.build.timestamp.format> <maven.build.timestamp.format>yyyy.MMdd.HHmmss</maven.build.timestamp.format>
</properties> </properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build> <build>
<plugins> <plugins>
......
package pps.cloud.space.service;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiGet;
/**
* 基础间开配置模块
*
* @author ZWT
* @date 2023/09/06 17:07
*/
@XService
@XText("基础间开配置模块")
public interface ISpaceInstitutionDetailCloudService {
/**
* 基础间开配置模块--获取线路配置制度数量
*
* @param context 上下文
* @param lineId 线路id
* @return {@link XSingleResult}<{@link Long}>
*/
@XText("基础间开配置模块--获取线路配置制度数量")
@XApiGet
XSingleResult<Long> getInstitutionLineCountByLineId(XContext context, String lineId);
}
**项目介绍**
-
- pps3.0项目采用全新方案 ,解决pps2.0中的问题
**项目模块**
- C00-common 公共模块:通用Util、基础服务接口、基础dao接口、异常、分页等
- C02-system 系统模块:机构管理、用户管理、角色管理、菜单管理、用户组管理、字典管理
- C03-plan 计划管理模块:管输日指定、LNG装车日指定、周平衡(周计划)、调度令管理(低)、作业计划(高)、输油日计划、批次计划、LNG船期计划
- C04-calc 专业计算模块:管存计算、剩余能力管理、批次界面位置计算、周转量
- C05-dispatch 调度运行模块:生产、运销日报、生产、运销、能耗月报、数据模型配置、数据模型数据管理、默认值管理、布局表单配置、值班管理(低)、运行记录(低)、运行方案(低)、LNG储罐预警、LNG储罐预测
- C06-online 投产管理模块:投产用户管理、气头跟踪管理、气头预测计算、投产记录查询、管存变化量管理
- C07-energy 能耗管理模块:能耗指标管理、能耗数据计算
- C08-measure 运销计量模块:计量交接凭证、多托运商分割单、气质分析报告、原油化验单、清罐及落地油管理、汽油/柴油化验单、输损计算
- C09-base 运维模块:管线、场站、管段管理、计量设备数据管理、SCADA配置、生产短信管理(高)、小时参数确认(高)、系统运维管理
- C10-task 任务模块:
- C11-frame 表单模块:
- C12-report 报表模块:
- D00-third-party 调用第三方模块:IAM、短信等等
- D01-dependency 模块的依赖整合模块:
- D03-deploy 微服务整合部署模块, 各种Application
**项目结构**
```
platform
├─C00-common 公共模块
├─C02-system 系统模块
├─C03-plan 计划管理模块
├─C04-dispatch 调控运行:
├─C05-online 投产管理:
├─C06-energy 能源管理:
├─C07-measure 运销计量:
│ ├─pps-measure-core 运销计量-核心模块:
│ │ ├─pps.core.measure module 总包名
│ │ │ ├─constant 常量
│ │ │ ├─entity 实体
│ │ │ ├─mapper 映射
│ │ │ ├─module 包含的模块,以及初始化架构模块实现类
│ │ │ ├─mybatis mybatis 配置类
│ │ │ ├─service 服务实现类
│ │ │ │ ├─data.{表名} 出入参model
│ │ │ ├─utils 工具类
│ │ │ ├─provider.impl 架构基础功能实现类
│ ├─pps-measure-cloud 运销计量-api模块:
├─D00-third-party 调用第三方模块
├─D01-dependency 产品依赖整合模块
├─D03-deploy 微服务部署模块
│ ├─deploy-pps-analysis 分析服务
│ ├─deploy-pps-auth 认证服务
│ ├─deploy-pps-bpm 工作流服务
│ ├─deploy-pps-calc 专业计算服务
│ ├─deploy-pps-dispatch 调度运行服务
│ ├─deploy-pps-energy 能耗服务
│ ├─deploy-pps-measure 计量服务
│ ├─deploy-pps-online 投产服务
│ ├─deploy-pps-online 运维服务
│ ├─deploy-pps-plan 计划管理服务
│ ├─deploy-pps-signature 电子签章服务
│ ├─deploy-pps-system 系统服务
│ ├─deploy-pps-task 任务服务
│ ├─deploy-pps-report 报表服务
│ ├─deploy-pps-third-interface 第三方接口服务
```
**快速开始:**
```shell
1 导入项目
pom.xml
2 执行
mvn clean install
```
```shell
1 导入项目
D03-deploy/pom.xml
2 执行
mvn clean package
```
<br>
**技术选型:**
- 核心框架:Spring Boot 2.6.7 + Spring Cloud 3.1.1 + Spring 5.3.19
- 持久层框架:MyBatis 3.5
- 缓存中间件:Redis 4.x
- 定时器:Quartz 2.3
- 日志管理:Logback
- 页面交互:Vue2.x
- 接口文档:Swagger3.x
- 数据库版本管理:Flayway6.x
- 数据校验:JSR303
- 方法构建:Lombook
<br>
**项目架构**
1、springboot + flyway + swagger + huawei
**项目规范**
一、 命名规范
- 1、遵守java命名规范
- 2、在常量与变量的命名时,表示类型的名词放在词尾
二、结构规范
- 1、每个模块包括 core 和 api 两部分,core模块之间不可依赖
三、表命名规范
- 1、小写
- 2、公用模块表命名 以base_ 为前缀,业务含义的英文单词结尾,多个中间添加 下划线“_”
四、表结构升级规范
- 1、flyway 规范
**技术点**
- 分布式id: gaussdb 的UUID 数据类型,不合适用于分布式数据库中,可能产生相同UUID,建议业间件平台提供的分布式ID
- 2022-11-30 10:46 进行git 迁移
**项目介绍**
-
- pps3.0项目采用全新方案 ,解决pps2.0中的问题
**项目模块**
- C00-common 公共模块:通用Util、基础服务接口、基础dao接口、异常、分页等
- C02-system 系统模块:机构管理、用户管理、角色管理、菜单管理、用户组管理、字典管理
- C03-plan 计划管理模块:管输日指定、LNG装车日指定、周平衡(周计划)、调度令管理(低)、作业计划(高)、输油日计划、批次计划、LNG船期计划
- C04-calc 专业计算模块:管存计算、剩余能力管理、批次界面位置计算、周转量
- C05-dispatch 调度运行模块:生产、运销日报、生产、运销、能耗月报、数据模型配置、数据模型数据管理、默认值管理、布局表单配置、值班管理(低)、运行记录(低)、运行方案(低)、LNG储罐预警、LNG储罐预测
- C06-online 投产管理模块:投产用户管理、气头跟踪管理、气头预测计算、投产记录查询、管存变化量管理
- C07-energy 能耗管理模块:能耗指标管理、能耗数据计算
- C08-measure 运销计量模块:计量交接凭证、多托运商分割单、气质分析报告、原油化验单、清罐及落地油管理、汽油/柴油化验单、输损计算
- C09-base 运维模块:管线、场站、管段管理、计量设备数据管理、SCADA配置、生产短信管理(高)、小时参数确认(高)、系统运维管理
- C10-task 任务模块:
- C11-frame 表单模块:
- C12-report 报表模块:
- D00-third-party 调用第三方模块:IAM、短信等等
- D01-dependency 模块的依赖整合模块:
- D03-deploy 微服务整合部署模块, 各种Application
**项目结构**
```
platform
├─C00-common 公共模块
├─C02-system 系统模块
├─C03-plan 计划管理模块
├─C04-dispatch 调控运行:
├─C05-online 投产管理:
├─C06-energy 能源管理:
├─C07-measure 运销计量:
│ ├─pps-measure-core 运销计量-核心模块:
│ │ ├─pps.core.measure module 总包名
│ │ │ ├─constant 常量
│ │ │ ├─entity 实体
│ │ │ ├─mapper 映射
│ │ │ ├─module 包含的模块,以及初始化架构模块实现类
│ │ │ ├─mybatis mybatis 配置类
│ │ │ ├─service 服务实现类
│ │ │ │ ├─data.{表名} 出入参model
│ │ │ ├─utils 工具类
│ │ │ ├─provider.impl 架构基础功能实现类
│ ├─pps-measure-cloud 运销计量-api模块:
├─D00-third-party 调用第三方模块
├─D01-dependency 产品依赖整合模块
├─D03-deploy 微服务部署模块
│ ├─deploy-pps-analysis 分析服务
│ ├─deploy-pps-auth 认证服务
│ ├─deploy-pps-bpm 工作流服务
│ ├─deploy-pps-calc 专业计算服务
│ ├─deploy-pps-dispatch 调度运行服务
│ ├─deploy-pps-energy 能耗服务
│ ├─deploy-pps-measure 计量服务
│ ├─deploy-pps-online 投产服务
│ ├─deploy-pps-online 运维服务
│ ├─deploy-pps-plan 计划管理服务
│ ├─deploy-pps-signature 电子签章服务
│ ├─deploy-pps-system 系统服务
│ ├─deploy-pps-task 任务服务
│ ├─deploy-pps-report 报表服务
│ ├─deploy-pps-third-interface 第三方接口服务
```
**快速开始:**
```shell
1 导入项目
pom.xml
2 执行
mvn clean install
```
```shell
1 导入项目
D03-deploy/pom.xml
2 执行
mvn clean package
```
<br>
**技术选型:**
- 核心框架:Spring Boot 2.6.7 + Spring Cloud 3.1.1 + Spring 5.3.19
- 持久层框架:MyBatis 3.5
- 缓存中间件:Redis 4.x
- 定时器:Quartz 2.3
- 日志管理:Logback
- 页面交互:Vue2.x
- 接口文档:Swagger3.x
- 数据库版本管理:Flayway6.x
- 数据校验:JSR303
- 方法构建:Lombook
<br>
**项目架构**
1、springboot + flyway + swagger + huawei
**项目规范**
一、 命名规范
- 1、遵守java命名规范
- 2、在常量与变量的命名时,表示类型的名词放在词尾
二、结构规范
- 1、每个模块包括 core 和 api 两部分,core模块之间不可依赖
三、表命名规范
- 1、小写
- 2、公用模块表命名 以base_ 为前缀,业务含义的英文单词结尾,多个中间添加 下划线“_”
四、表结构升级规范
- 1、flyway 规范
**技术点**
- 分布式id: gaussdb 的UUID 数据类型,不合适用于分布式数据库中,可能产生相同UUID,建议业间件平台提供的分布式ID
- 2022-11-30 10:46 进行git 迁移
package pps.cloud.space.service.data.space_institution_detail;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
/**
* 基础间开配置
*
* @author ZWT
* @date 2023/09/05
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QuerySpaceInstitutionDetailViewInput {
@XText("线路ID")
private String lineId;
}
package pps.core.space.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.space.service.ISpaceInstitutionDetailCloudService;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.data.XSingleResult;
/**
* 基础间开配置模块
*
* @author ZWT
* @date 2023/09/06 17:09
*/
@XService
public class SpaceInstitutionDetailCloudServiceImpl implements ISpaceInstitutionDetailCloudService {
/**
* 基础间开配置模块--获取线路配置制度数量
*
* @param context 上下文
* @param lineId 线路id
* @return {@link XSingleResult}<{@link Long}>
*/
@Override
public XSingleResult<Long> getInstitutionLineCountByLineId(XContext context, String lineId) {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
return XSingleResult.success(mapper.selectCount(
new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.NO)
.eq(SpaceInstitutionDetailEnt::getLineId, lineId)
));
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment