813 Commits

Author SHA1 Message Date
cdf
f84e6a4c41 1.csb切改协同 2025-07-17 10:16:44 +08:00
hzj
8457222f85 pmsbug修改 2025-07-17 09:18:14 +08:00
hzj
74808dbd05 pmsbug修改 2025-07-16 20:00:23 +08:00
5f1f42f8d7 bug修改 2025-04-21 15:44:26 +08:00
3ac18b896a bug修改 2025-04-21 14:21:58 +08:00
f86e7f0183 bug修改 2025-04-18 15:56:46 +08:00
hzj
c99a97fff1 超高压接入生管系统 2025-04-18 15:19:08 +08:00
hzj
0f712c45fd 超高压接入生管系统 2025-04-18 10:19:25 +08:00
wr
d738116968 微调 2025-03-31 09:33:26 +08:00
wr
e322eb2413 微调 2025-03-31 09:04:15 +08:00
wr
0200607c0c 技术监督计划导入 2025-03-28 16:13:24 +08:00
wr
a6c536cf45 技术监督计划导入 2025-03-28 11:39:29 +08:00
wr
e61269e489 技术监督计划导入 2025-03-28 11:32:55 +08:00
wr
01e95e71fb Merge remote-tracking branch 'origin/master' 2025-03-26 11:09:32 +08:00
wr
b4f4037987 微调 2025-03-26 10:46:07 +08:00
a5be610a6a Merge remote-tracking branch 'origin/master' 2025-03-26 08:39:41 +08:00
f8e88b87d0 微调 2025-03-26 08:39:19 +08:00
wr
6ee4da4422 算法迁移远程执行链 2025-03-25 20:28:45 +08:00
hzj
20e1b8cce7 bug修改 2025-03-25 16:09:13 +08:00
hzj
b3b5e64e07 bug修改 2025-03-25 15:31:05 +08:00
6df4074c59 河北功能bug调整 2025-03-21 14:35:37 +08:00
2c3f04fc82 河北功能bug调整 2025-03-21 14:26:56 +08:00
xy
cc52561395 功能优化 2025-03-20 13:37:20 +08:00
hzj
a797381a7d bug修改 2025-03-18 14:22:02 +08:00
99eff7d3d2 河北功能bug调整 2025-03-14 16:02:38 +08:00
hzj
37c6e52281 bug修改 2025-03-13 16:57:24 +08:00
hzj
533cf97495 bug修改 2025-03-13 14:36:55 +08:00
hzj
1f96e18d65 添加异步发送给消息给前置操作 2025-03-13 11:24:39 +08:00
295fddb935 冀北污染值算法上传 2025-03-12 13:41:15 +08:00
hzj
7f6aa6f683 暂态严重度计算 2025-03-12 11:39:08 +08:00
hzj
21035dc71b 分批次插入 2025-03-12 11:31:05 +08:00
wr
e2bbfb5e08 微调 2025-03-11 19:10:43 +08:00
hzj
dddce82829 更新设备状态 2025-03-11 16:48:06 +08:00
hzj
fa90fd7aaa 暂态事件辽宁暂降幅值百分比转换 2025-03-11 13:58:39 +08:00
hzj
5f2bb475cb 暂态事件辽宁文件后缀适配大小写 2025-03-11 10:04:38 +08:00
hzj
64cf03d01c 暂态事件辽宁 2025-03-10 20:49:10 +08:00
hzj
9a8742b02c 修改bug 2025-03-10 11:10:23 +08:00
hzj
f2e50dd100 修改bug 2025-03-10 10:40:47 +08:00
cdf
228a8558ac 1.验收问题修改 2025-03-10 09:15:29 +08:00
hzj
14707fe3e9 修改bug 2025-03-08 10:43:38 +08:00
hzj
b5ee0a5182 修改bug 2025-03-08 10:31:57 +08:00
hzj
a5a1f58d30 修改bug 2025-03-08 09:54:08 +08:00
hzj
400b8cde31 修改bug 2025-03-07 15:55:55 +08:00
hzj
7220c526ce CVT功能 2025-03-07 14:29:19 +08:00
cdf
d14e83c935 1.终端模块代码调整 2025-03-06 14:55:36 +08:00
wr
0b930f1adf Merge remote-tracking branch 'origin/master' 2025-03-06 10:06:54 +08:00
wr
848bb5f6b0 微调 2025-03-06 10:05:25 +08:00
hzj
601ae475e0 调整校验 2025-03-06 09:02:12 +08:00
hzj
dd2f738c00 调整校验 2025-03-05 09:17:05 +08:00
hzj
bc3702b1f1 辽宁前置代码 2025-03-03 11:15:16 +08:00
hzj
014afd0a2a Merge remote-tracking branch 'origin/master' 2025-03-03 09:54:38 +08:00
hzj
f7c0045cf4 cvt功能开发 2025-03-03 09:54:15 +08:00
xy
9a65c1b133 sql更新 2025-02-26 11:17:01 +08:00
hzj
9da41273e5 cvt功能开发 2025-02-21 09:37:18 +08:00
hzj
e2ecf7bb04 修改算法 2025-02-17 11:25:11 +08:00
4d0490994a 告警监测点算法调整 2025-02-13 10:45:43 +08:00
e94beddcff 告警监测点算法调整 2025-02-13 10:08:54 +08:00
hzj
6a1bd88ab8 修改算法 2025-02-07 10:13:26 +08:00
hzj
169b701fa9 注释掉代码 2025-01-21 10:58:39 +08:00
6a97015cd6 国网推送台账信息添加更新时间字段 2025-01-21 09:02:44 +08:00
hzj
b2ab4ee825 添加平台项目服务名 2025-01-17 15:42:16 +08:00
hzj
cc85660043 添加平台项目服务名 2025-01-17 15:09:14 +08:00
hzj
4f7b444737 添加平台项目服务名 2025-01-17 14:56:40 +08:00
xy
e729485d25 定时任务更新 2025-01-09 11:51:58 +08:00
xy
f701507fae 正则调整 2025-01-07 13:58:52 +08:00
xy
149d017c49 冀北现场问题调整 2025-01-06 15:34:33 +08:00
11116929cc 台账识别码修改 2025-01-06 15:13:33 +08:00
e4049de260 台账识别码修改 2025-01-06 14:36:01 +08:00
b4be12e30e 台账识别码修改 2025-01-06 14:10:38 +08:00
1b169830f9 台账识别码修改 2025-01-06 09:38:32 +08:00
xy
417b36c884 微调 2025-01-03 13:12:17 +08:00
d5c18198b9 稳态趋势图调整 2025-01-03 08:58:36 +08:00
4a38148d7a pms上送报错问题解决 2024-12-30 08:56:07 +08:00
ab68a98999 pmsbug修改 2024-12-27 15:58:07 +08:00
xy
d435398c64 河北新增在线监测功能 2024-12-25 11:09:38 +08:00
1acba83ff2 浙江无线报表调整 2024-12-24 15:27:26 +08:00
43af977942 浙江无线报表调整 2024-12-24 15:01:37 +08:00
xy
f0ffb63cff 微调 2024-12-23 10:50:01 +08:00
xy
ac24724ee8 limitRate算法添加空数据判断 2024-12-19 10:28:02 +08:00
8f4949af80 sm4解密优化 2024-12-16 10:12:59 +08:00
f1d0e7df42 处理间谐波含有率17至50次无法展示问题 2024-12-13 14:02:35 +08:00
265eeb7bdd 1.暂降事件调整 2024-12-12 15:20:01 +08:00
hzj
78524de495 修改bug 2024-12-12 13:39:22 +08:00
hzj
5125ef738a 修改bug 2024-12-12 13:35:43 +08:00
hzj
721aa81c36 修改bug 2024-12-12 13:00:36 +08:00
hzj
eb54a13226 修改bug 2024-12-11 15:05:09 +08:00
9bc072ec8b 1.浙江无线报表修改 2024-12-11 09:36:45 +08:00
hzj
f380c51a89 修改bug 2024-12-10 15:47:07 +08:00
hzj
386e4cb647 修改bug 2024-12-10 15:02:28 +08:00
46f54685b1 1.添加5层树排序 2024-12-10 14:58:09 +08:00
hzj
55f04541bd 修改 2024-12-10 13:41:02 +08:00
hzj
840c48e136 修改 2024-12-10 13:31:28 +08:00
a122df4763 1.添加装置加密解密配置 2024-12-09 11:47:06 +08:00
f656c15dc5 1.配置回退 2024-12-09 11:24:37 +08:00
e47584a118 1.暂降事件归集功能调整 2024-12-09 11:22:01 +08:00
63617c92c0 Merge remote-tracking branch 'origin/master' 2024-12-09 08:49:14 +08:00
efc075b4a9 代码调整 2024-12-07 15:26:19 +08:00
3e3165bed8 代码调整 2024-12-07 14:02:33 +08:00
xy
ea70f0fc2c 安徽测试报告整改 2024-12-07 13:42:39 +08:00
7e130e9eb0 1.暂降事件归集功能调整 2024-12-06 16:40:24 +08:00
da3e897fc2 1.校验修改 2024-12-06 16:37:48 +08:00
hzj
932ab2d6f5 修改 2024-12-06 09:57:18 +08:00
hanyong
f3223bd680 波形文件恢复读取/usr/local/comtrade路径 2024-12-05 15:41:01 +08:00
hanyong
9bee2386bf 海南波形文件读取路径修改 2024-12-05 15:34:00 +08:00
hzj
3f56fa0de9 删除校验 2024-12-05 15:19:24 +08:00
hzj
62db637bdd 添加条件 2024-12-05 14:52:13 +08:00
hzj
39c9d1f54e 添加条件 2024-12-05 13:04:59 +08:00
hzj
0c9a93f600 添加时间格式 2024-12-05 12:53:33 +08:00
xy
fad2279980 安徽测试报告整改 2024-12-05 11:50:43 +08:00
99d8e89bec 代码调整 2024-12-05 11:42:56 +08:00
hzj
8a5fec58d1 修改报表时间 2024-12-05 11:22:01 +08:00
f603794110 Merge remote-tracking branch 'origin/master' 2024-12-05 11:17:23 +08:00
7d727088c2 代码调整 2024-12-05 11:17:15 +08:00
hzj
2a703a8c30 修改报表时间 2024-12-05 11:12:06 +08:00
1ff860bda9 代码调整 2024-12-05 10:51:01 +08:00
xy
fe756e0f87 算法调整 2024-12-04 10:33:23 +08:00
xy
373cd71b02 Merge remote-tracking branch 'origin/master' 2024-12-03 16:25:31 +08:00
xy
49a3afb505 根据接线方式取指标调整 2024-12-03 16:25:15 +08:00
wr
c6475a862c 1.调整冀北终端树展示 2024-12-03 11:55:15 +08:00
3bf3c65575 Merge remote-tracking branch 'origin/master' 2024-12-03 11:30:48 +08:00
7cfbb8fb53 代码调整 2024-12-03 11:30:43 +08:00
hzj
dce85a5f4c 修改报表时间 2024-12-03 10:53:46 +08:00
9be058b9e9 代码调整 2024-12-03 10:24:08 +08:00
xy
6a3b848dc0 针对第三方测试功能调整 2024-12-02 19:50:08 +08:00
hzj
396fe59b94 海南大屏bug修改 2024-12-02 18:18:33 +08:00
xy
e7b4117167 系统功能调整 2024-12-02 14:46:58 +08:00
8f57310625 1.现场监督计划调整 2024-11-29 16:35:10 +08:00
hzj
401195fc7b 海南大屏bug修改,添加电站信息 2024-11-29 11:25:33 +08:00
xy
1d5ceca9dc 字典树新增查询功能 2024-11-28 08:38:35 +08:00
f1ad74ea2d 1.现场监督计划调整 2024-11-27 16:22:37 +08:00
0b5a3f0a32 1.全过程代码调整
2.主网测点在线率错误解决
2024-11-27 14:40:44 +08:00
3377da4ae3 1.分钟数据转统计数据mysql日表之外添加inflxudb日表
2.报表默认查询influxdb日表
2024-11-26 19:49:48 +08:00
hzj
b3015c2dcb 添加字段 2024-11-26 10:01:18 +08:00
35f1b21474 1.暂降次数微调
2.报表接口调整
2024-11-26 09:15:15 +08:00
cdf
92ffdb1931 1.大屏重要测点暂降发生次数接口 2024-11-26 08:42:29 +08:00
hzj
5b4b756fc3 海南大屏bug修改,暂态事件列表功能新增两个字段 2024-11-25 20:02:57 +08:00
hzj
c6f767b3aa 海南大屏bug修改,暂态事件列表功能新增两个字段 2024-11-25 18:56:42 +08:00
wr
ca32a4e3c6 1.解决监测点超标问题
2.解决监测点终端md3加密显示
3.解决全景技术监督问题数量问题
2024-11-25 12:09:48 +08:00
hzj
92ddbd34a8 添加数据平台 2024-11-22 15:48:56 +08:00
2c9d17c0ff 1.暂降列表查询报错解决 2024-11-22 13:32:49 +08:00
d681bdedfe 微调 2024-11-22 09:32:45 +08:00
a904650751 算法模块删除不必要的代码,有备份,如果存疑就联系我 2024-11-22 09:30:56 +08:00
hzj
04ce3eb97d 海南大屏bug修改,暂态事件列表功能新增两个字段 2024-11-22 09:21:31 +08:00
8fc1645b04 1.河北综合评估功能调整 2024-11-21 16:35:10 +08:00
2e37cf5b21 1.pms专项分析算法调整 2024-11-20 13:59:31 +08:00
42c1faa5dc 1.广州超高压微调 2024-11-20 11:00:02 +08:00
2f84ace8f1 1.pms台账功能调整 2024-11-18 16:35:15 +08:00
5cc21b6289 1.pms台账功能调整 2024-11-15 15:50:10 +08:00
a6acf6d1c9 1.自定义报表功能调整
2.暂降事件列表添加后端排序功能
2024-11-15 10:51:26 +08:00
ff205cb335 1.算法异常调整 2024-11-12 16:24:04 +08:00
b675369f7d 1.算法报错处理 2024-11-12 14:09:54 +08:00
9b92c1df03 1.dockerfile提交 2024-11-11 09:14:40 +08:00
64d2fd46e2 1.pms电能质量综合评估功能兼容 2024-11-11 09:02:17 +08:00
xy
3484902147 去除多余引用 2024-11-08 14:04:15 +08:00
cdf
739b697137 1.调整网关对外接口 2024-11-07 23:21:45 +08:00
hzj
c85df36f32 辽宁前置接口开发 2024-11-07 13:32:59 +08:00
hzj
a87ac5a246 辽宁前置接口开发 2024-11-07 11:01:09 +08:00
hzj
91b3f63b99 监测点评价有效数据校验放开 2024-11-07 09:05:05 +08:00
6cd45fd7f9 1.pms电能质量综合评估功能兼容 2024-11-06 11:13:44 +08:00
a608b3850c 1.pms电能质量综合评估功能兼容 2024-11-06 11:13:18 +08:00
7b6099e2dc 1.全过程添加校验 2024-11-05 09:43:57 +08:00
xy
d642ed8e52 rediskey添加 2024-11-04 20:42:36 +08:00
568f14da96 1.全过程管理试运行管理 2024-11-04 18:53:21 +08:00
hzj
2c8c94746e 冀北电能质量问题流程修改 2024-11-04 16:31:57 +08:00
hzj
0837e38c83 冀北电能质量问题流程修改 2024-11-04 16:29:21 +08:00
hzj
c343e5765c 冀北电能质量问题流程修改 2024-11-04 09:46:54 +08:00
b49ba0e06f 1.全过程管理附件上送 2024-11-01 16:31:25 +08:00
wr
84321ff192 1.解决监测点超标问题 2024-11-01 11:45:00 +08:00
89e38abc00 Merge remote-tracking branch 'origin/master' 2024-10-31 19:51:09 +08:00
8229653fb0 1.全过程管理附件上送 2024-10-31 19:49:44 +08:00
5d80582e23 算法模块删除不必要的代码,有备份,如果存疑就联系我 2024-10-31 16:26:20 +08:00
hzj
7bc9cb9792 添加电能质量全过程月报
功能及其删除批处理任务
2024-10-31 15:02:48 +08:00
cd4016eb1c 1.监督计划功能调整
2.全过程功能调整
2024-10-31 14:31:59 +08:00
d7e63ec2d5 1.监督计划功能调整
2.全过程功能调整
2024-10-31 14:15:00 +08:00
35d05dd3ac 1.监督计划功能调整
2.全过程功能调整
2024-10-31 13:21:00 +08:00
hzj
fad0e10203 添加电能质量全过程月报
功能及其批处理任务
2024-10-31 10:45:43 +08:00
hzj
4e8a26b1fb 冀北电能质量问题流程修改 2024-10-31 10:33:34 +08:00
hzj
7a877045c9 添加电能质量全过程月报
功能及其批处理任务
2024-10-31 10:10:34 +08:00
23ee3b1af2 1.监督计划功能调整 2024-10-31 09:05:59 +08:00
hzj
a601af9479 冀北电能质量问题流程修改 2024-10-31 08:43:25 +08:00
hzj
d3f412e2cb 冀北电能质量问题流程修改 2024-10-30 19:52:15 +08:00
b659dd055f 微调 2024-10-30 18:45:29 +08:00
66530aa5aa 1.国网数据上送 2024-10-30 18:11:11 +08:00
xy
541d2ab3fe 字典添加 2024-10-30 16:08:20 +08:00
cac6b4bdbb 1.相关实体添加过期注解处理,后期相关业务可删除 2024-10-30 14:46:20 +08:00
a225b039fe 算法模块删除不必要的代码,有备份,如果存疑就联系我 2024-10-29 20:27:14 +08:00
0fcd67bd38 算法模块删除不必要的代码,有备份,如果存疑就联系我 2024-10-29 20:26:00 +08:00
hzj
8445a08a64 添加电能质量全过程月报
功能及其批处理任务
2024-10-29 14:48:13 +08:00
hzj
3c820b1645 添加电能质量全过程月报
功能及其批处理任务
2024-10-29 14:26:10 +08:00
cdf
3132b0a134 1.调整 2024-10-28 18:02:44 +08:00
618f1314f6 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PmsTemProcessReportServiceImpl.java
2024-10-28 17:54:17 +08:00
474a368670 1.pms全过程用户临时档案月报 2024-10-28 17:52:43 +08:00
hzj
a6326f574d 国网上送 2024-10-28 16:15:23 +08:00
7c19a21d92 1.pms全过程用户临时档案月报 2024-10-25 16:30:34 +08:00
hzj
dfa95fd701 国网上送 2024-10-25 13:29:12 +08:00
hzj
09190b164b 国网上送 2024-10-25 13:21:21 +08:00
hzj
146e0e4408 国网上送 2024-10-25 11:33:30 +08:00
448f76d646 1.pms全过程用户临时档案功能 2024-10-24 20:30:22 +08:00
0eeedf8f35 微调 2024-10-24 10:13:48 +08:00
hzj
054fa20bab 添加sort排序 2024-10-23 19:39:20 +08:00
c80e2cd825 1.pms主网测点数据统计功能调整 2024-10-23 18:15:16 +08:00
b3f553c450 1.pms主网测点数据统计功能 2024-10-23 14:24:09 +08:00
ef35d9bdbe 1.pms主网测点数据上送功能 2024-10-23 14:23:30 +08:00
xy
b36f4400bf 新增rMpSurplusAbnormalD算法 2024-10-22 19:28:57 +08:00
cdf
ea5bb460b4 1.日志功能调整 2024-10-21 09:28:15 +08:00
c84e79b789 微调-撤回上一步改动 2024-10-17 15:40:15 +08:00
b62eacdbd6 微调-接口请求失败的,审计时间严重度均为严重 2024-10-17 15:18:59 +08:00
cdf
84f16b822e 1.配网三类用户调整
2.国网上送接口调整
2024-10-16 20:54:45 +08:00
xy
29c1f2a530 初始化字典数据至内存 2024-10-16 18:52:27 +08:00
wr
59522c66d9 1.mysql台账同步oracle 2024-10-16 17:09:07 +08:00
cdf
bd153dc7b9 1.审计日志问题排查 2024-10-16 09:35:13 +08:00
cdf
5676c736a5 1.配网三类用户调整
2.国网上送接口调整
2024-10-15 14:37:42 +08:00
wr
e38a653e3c 1.解决mysql语句关键字问题
2.mysql台账同步oracle
2024-10-14 16:30:11 +08:00
cdf
1e5dbbba19 1.算法报错解决 2024-10-12 15:43:56 +08:00
hzj
db40090b00 添加文件下载接口白名单 2024-10-12 13:40:34 +08:00
cdf
99b56bffac 1.算法问题排查 2024-10-12 13:37:45 +08:00
hzj
04ae4f1fc1 修改svg无法显示问题 2024-10-12 10:18:18 +08:00
wr
08c5e44755 1.解决mysql语句关键字问题
2.mysql台账同步oracle
2024-10-11 16:42:02 +08:00
hzj
f291c85e27 添加字段白名单 2024-10-11 13:45:11 +08:00
hzj
38b0f20ea9 统计类型配置页面排序 2024-10-10 18:20:51 +08:00
275a07f790 1.添加白名单接口 2024-10-09 17:20:46 +08:00
3bb5f91c1a 1.添加白名单接口 2024-10-09 16:36:36 +08:00
ab0b6e96c6 1.新增全过程接口 2024-10-09 16:31:47 +08:00
da814e4bdc 1.新增判断第三方免登录接口河北专用
2.处理审计日志
2024-10-09 16:08:19 +08:00
33a0ddc6f9 1.日志逻辑修改 2024-10-09 11:25:28 +08:00
ae5ca42391 1.国网上送 2024-10-09 11:00:18 +08:00
xy
63680b9f8e 报错解决 2024-09-30 13:24:41 +08:00
hzj
d20dfd8a26 oss提交 2024-09-30 09:03:19 +08:00
wr
bc3a6f2fa2 1.微调 2024-09-29 16:23:39 +08:00
xy
20d3631efe oss文件路径添加 2024-09-29 16:05:35 +08:00
eda0237e8b 1.自定义报表调整 2024-09-29 08:50:02 +08:00
wr
98cf051fab 1.微调 2024-09-27 16:21:45 +08:00
ae440613fb 切换mysql为达梦数据库-代码审查
1.harmonic-boot模块
2024-09-27 11:34:45 +08:00
4a0e9e3343 切换mysql为达梦数据库-代码审查
1.supervision-boot模块
2024-09-27 10:30:07 +08:00
33c0e58ab0 切换mysql为达梦数据库-代码审查
1.supervision-boot模块
2024-09-27 10:28:31 +08:00
a4c17a4ac1 切换mysql为达梦数据库-代码审查
1.supervision-boot模块
2024-09-27 10:28:01 +08:00
64187da4fb 1.自定义报表调整 2024-09-26 16:42:25 +08:00
e6dc70e048 切换mysql为达梦数据库-代码审查
1.bpm-boot模块
2024-09-26 16:16:37 +08:00
014ed7fbf7 切换mysql为达梦数据库-代码审查
1.auth-boot模块
2024-09-26 16:00:52 +08:00
014b7c30cb 切换mysql为达梦数据库-代码审查
1.advanceboot模块
2024-09-26 15:52:56 +08:00
hzj
c99b235d8f null指针处理 2024-09-26 14:49:20 +08:00
hzj
1088491e02 Merge remote-tracking branch 'origin/master' 2024-09-26 14:34:10 +08:00
7c3e8f29be 微调 2024-09-26 14:06:11 +08:00
wr
4211105c8d 1.统计分析-》在线监测点-》稳态指标合格率接口调整
2.技术监督测试管理,调整查询语句增加实际完成时间
2024-09-25 16:27:58 +08:00
89cb22b3ea 微调 2024-09-25 10:27:30 +08:00
d00371ec8b 微调 2024-09-25 10:26:27 +08:00
hzj
13819454bb 删除重复接口 2024-09-25 09:31:11 +08:00
hzj
9ae23ad860 测试 2024-09-25 09:12:45 +08:00
0441720fcd 微调 2024-09-25 09:03:03 +08:00
hzj
dcfcf3ece2 头像显示问题 2024-09-24 15:32:38 +08:00
3280c29013 根据冀北专责需求调整我的待办内容
1、取消展示终端监测计划;
2、增加技术监督测试计划展示;
2024-09-24 14:03:54 +08:00
wr
320a236582 1.审计日志备份调整 2024-09-24 11:49:55 +08:00
xy
31281cb346 微调 2024-09-23 20:30:48 +08:00
hzj
692fe1b213 头像显示问题 2024-09-23 20:14:16 +08:00
hzj
f29748786d 头像显示问题 2024-09-23 20:04:37 +08:00
989f4f440d 切换mysql为达梦数据库-代码审查
1.systemboot模块
2024-09-23 18:06:53 +08:00
35608ffc12 微调 2024-09-23 10:35:26 +08:00
xy
5bdd371d7b 冀北监测点合格率算法调整 2024-09-20 16:23:01 +08:00
xy
f5b7852c6a 用户列表查询调整 2024-09-20 15:49:04 +08:00
88b44a821d 切换mysql为达梦数据库-代码审查
1.userboot模块
2024-09-20 15:05:56 +08:00
e3c147b41b 切换mysql为达梦数据库-代码审查
1.userboot模块
2024-09-20 15:03:05 +08:00
xy
24b4f08d2a Merge remote-tracking branch 'origin/master' 2024-09-18 20:19:24 +08:00
xy
d5bdcc591c redis字段添加 2024-09-18 20:19:12 +08:00
hzj
e523e139c0 Merge remote-tracking branch 'origin/master' 2024-09-18 18:43:49 +08:00
hzj
bb5d1d3335 资料库代码提交 2024-09-18 18:43:13 +08:00
c5b63acb27 微调 2024-09-18 16:32:10 +08:00
hzj
78ba6903c6 资料库代码提交 2024-09-18 16:17:37 +08:00
guofeihu
7818bbe095 有功功率趋势BUG迭代 2024-09-14 14:47:00 +08:00
dafd9dda22 微调 2024-09-14 10:39:09 +08:00
f9b8c6d28a 1、预告警单待处理
2、终端周期检测待检测
2024-09-14 10:22:55 +08:00
ba6762587f 工作流程审核不通过、预告警单处理、终端周期检测等需求
1、提交了主pom,因为需要引入达梦数据量;
2、提交了gateway的配置文件,因为部分接口没有添加到权限中,待后续增加后再注释
2024-09-13 20:31:32 +08:00
xy
06493c07c3 Merge remote-tracking branch 'origin/master' 2024-09-13 13:55:01 +08:00
xy
0c87ebf825 字段添加 2024-09-13 13:54:51 +08:00
wr
183605e9d4 1.删除管理员展示页面逻辑调整
2.增加干扰源台账归档流程
2024-09-13 11:41:41 +08:00
f87255c2e8 1.添加校验 2024-09-13 08:50:16 +08:00
guofeihu
acecfaf4bb Merge remote-tracking branch 'origin/master' 2024-09-12 19:19:18 +08:00
guofeihu
270eee3c26 有功功率趋势定时任务算法优化 2024-09-12 19:18:17 +08:00
e350040c5b 1.添加校验 2024-09-12 18:55:57 +08:00
3875d0764a 1.添加校验 2024-09-12 18:28:43 +08:00
guofeihu
8be5c88737 Merge remote-tracking branch 'origin/master' 2024-09-12 13:49:01 +08:00
guofeihu
00c5f4c710 上个版本补漏 2024-09-12 13:47:30 +08:00
hzj
e250e5169b 添加外部接口 2024-09-12 11:39:25 +08:00
hzj
701aa3ef37 修改 2024-09-12 10:52:06 +08:00
hzj
2c9f941cfa 添加配置 2024-09-12 10:41:28 +08:00
500fbbad9c 1.两级贯通接口调整 2024-09-12 10:33:40 +08:00
75cf276ea9 1.调整配网用户接口超100%问题
2.去除预处理县级数据统计
2024-09-12 09:25:39 +08:00
xy
dbd7ef9b01 Merge remote-tracking branch 'origin/master' 2024-09-11 20:39:47 +08:00
xy
b5f180af01 微调 2024-09-11 20:39:31 +08:00
wr
b6fdd89192 1.冀北台账树逻辑调整
2.冀北业务中台管理
2024-09-11 16:26:00 +08:00
xy
b07ee843f0 微调 2024-09-11 11:31:56 +08:00
xy
b45ba6f3b7 治理字典存储redis 2024-09-11 11:05:20 +08:00
guofeihu
1ec3385f2d Merge remote-tracking branch 'origin/master' 2024-09-10 15:05:53 +08:00
guofeihu
024bba337a 有功功率趋势指标列表详细excel导出 2024-09-10 15:04:54 +08:00
xy
dda65ca041 微调 2024-09-09 10:04:14 +08:00
hzj
bf67652055 添加配置 2024-09-09 09:49:54 +08:00
xy
7d508acd6c 微调 2024-09-06 16:50:44 +08:00
wr
fb8ed6174c 1.冀北台账树编写
2.技术监督删除流程业务调整,支持多数据删除
2024-09-06 16:18:27 +08:00
a3772119b4 1.变电站上送逻辑修改
2.添加pms配网用户侧数据完整性接口
3.添加pms配网用户侧指标越限接口
2024-09-06 15:52:10 +08:00
hanyong
9f0a1ed19e nacos开启鉴权功能新增部分代码 2024-09-05 15:09:03 +08:00
guofeihu
8e6f07330e 有功功率趋势定时任务算法完善 2024-09-05 14:17:11 +08:00
9fca0e5714 1.增加配网用户侧算法适配
2.新增河北用户侧数据完整性接口
3.新增河北用户侧越限详情接口
2024-09-04 16:47:08 +08:00
xy
ed10b12e79 微调 2024-09-03 20:19:22 +08:00
xy
fbd15ca353 APP用户相关接口调整 2024-09-03 19:22:39 +08:00
xy
2c79cc72c9 微调 2024-09-03 18:21:59 +08:00
cdf
69157a138b 1.监督计划功能调整 2024-09-02 16:38:53 +08:00
guofeihu
3377bcf488 有功功率趋势区间excel导出 2024-09-02 14:36:14 +08:00
wr
e93f8b4da8 1.解决技术监督申报人问题
2.技术监督全流程删除
2024-09-02 11:53:27 +08:00
guofeihu
e13b1f156e 有功功率趋势2 2024-08-29 16:30:46 +08:00
guofeihu
ee1f36617d Merge remote-tracking branch 'origin/master' 2024-08-29 16:24:47 +08:00
guofeihu
9534882845 pom回退 2024-08-29 16:23:25 +08:00
cdf
5d28504f20 1.审计日志处理2 2024-08-29 16:01:32 +08:00
cdf
7559b94959 1.审计日志处理2 2024-08-29 15:59:56 +08:00
cdf
14b072b5e7 1.审计日志处理2 2024-08-29 15:54:32 +08:00
cdf
0a121a3cf5 1.审计日志处理 2024-08-29 15:39:16 +08:00
cdf
476993db15 1.接口日志类型调整 2024-08-28 19:55:36 +08:00
guofeihu
cccc7953ed Merge remote-tracking branch 'origin/master' 2024-08-28 11:29:26 +08:00
guofeihu
aa0982fb81 有功功率趋势 2024-08-28 11:28:20 +08:00
cdf
07e481bc11 1.缓慢接口调整 2024-08-28 09:52:44 +08:00
wr
b766e77c42 1.解决地址问题
2.解决技术监督管理填报人错误问题,并解决展示问题
2024-08-27 11:44:52 +08:00
xy
cbf310a5a1 Merge remote-tracking branch 'origin/master' 2024-08-27 09:36:18 +08:00
xy
49dd915e27 微调 2024-08-27 09:35:51 +08:00
cdf
ed145dd7ff 1.系统日志加载缓慢问题
2.其他代码问题
2024-08-26 16:03:58 +08:00
cdf
00fd701122 1.pms微调 2024-08-26 13:47:24 +08:00
cdf
6236243284 1.pms无线趋势图实时数据功能 2024-08-26 10:27:28 +08:00
cdf
6dc1b415dc 1.pms公共连接点功能 2024-08-24 20:47:15 +08:00
hanyong
f4fd509d12 类名重复,删除后重新引用 2024-08-23 16:15:55 +08:00
wr
6e8a188172 1.修改列表模板名称 2024-08-23 11:49:07 +08:00
guofeihu
ceb95be340 Merge remote-tracking branch 'origin/master' 2024-08-23 11:16:25 +08:00
guofeihu
21f4466580 高低电压穿越相关接口走算法模块 2024-08-23 11:15:41 +08:00
e50f587bb8 提交文件校验 2024-08-23 11:12:20 +08:00
7727e9e2bf 提交文件校验 2024-08-23 11:10:29 +08:00
wr
043b8f9a71 1.解决省级用户,可查看市级待提交和审核不通过数据
2.pms增加数据单位管理
2024-08-22 16:52:09 +08:00
guofeihu
af058896dc Merge remote-tracking branch 'origin/master' 2024-08-22 15:26:22 +08:00
guofeihu
957af09daa 高低电压穿越及有功功率趋势算法 2024-08-22 15:25:44 +08:00
cdf
d28a8f8fb1 1.pms趋势图处理
2.device模块调整
2024-08-22 09:27:49 +08:00
guofeihu
f27a107bba 更新监测点时新增新能源站字段 2024-08-22 09:08:09 +08:00
wr
bddd1efef3 1.excel通用导出模板,解决时间格式不是文本问题
2.解决部分部门查询问题
2024-08-20 16:23:00 +08:00
guofeihu
003880619e surverytest新增otherreport字段 2024-08-20 15:15:56 +08:00
guofeihu
053183cdd0 新能源场站高低电压穿越统计 2024-08-20 09:36:35 +08:00
c2af7e708c system针对审计日志的微调 2024-08-19 19:55:12 +08:00
guofeihu
f36b3f9ee9 新能源场站高低电压穿越业务新增根据ID查询基本信息方法 2024-08-19 18:58:34 +08:00
wr
25ee513246 1.技术监督通用文件表调整
2.终端检测导入功能调整
3.技术监督计划增加其他附件上传
2024-08-19 16:19:23 +08:00
xy
9e23373878 1.间谐波显示处理
2.超标数据处理
2024-08-19 14:16:32 +08:00
guofeihu
971ae03dcf 新能源场站高低电压穿越融合台账业务 2024-08-16 14:27:05 +08:00
wr
68c0b72710 1.解决技术监督计划部门过滤bug
2.终端模板导入
3.台账关联干扰源管理,信息修改
2024-08-16 12:30:30 +08:00
guofeihu
8bc94ea9a8 Merge remote-tracking branch 'origin/master' 2024-08-16 10:24:40 +08:00
guofeihu
b30ad02ac1 新能源场站高低电压穿越新增下拉用于测点台账时维护 2024-08-16 10:23:45 +08:00
f22748ef8f 1.河北新增公共连接点预处理算法 2024-08-16 09:30:15 +08:00
guofeihu
813af67b9b Merge remote-tracking branch 'origin/master' 2024-08-14 17:34:56 +08:00
guofeihu
758964d9a8 新能源场站增删改查接口 2024-08-14 17:33:47 +08:00
xy
360a73c04e 微调 2024-08-14 14:03:45 +08:00
wr
dbf43633ff 1.excel公共导出模板调整,解决下拉框最大字符255问题,才用隐藏表单来设置下拉框
2.解决冀北试运行报告bug部分
3.解决数据完整性,小数点问题
4.终端监测导出模板和导入功能编写,
2024-08-14 11:44:34 +08:00
1ed56bbac1 1.修改因redis导致的报错 2024-08-14 09:07:10 +08:00
xy
7c943244b3 微调 2024-08-14 08:50:20 +08:00
a492609b36 1.去除influxdb生成每日日表数据代码 2024-08-13 11:18:41 +08:00
1f18c71eb7 1.pms上送 2024-08-13 10:45:59 +08:00
2319895ff4 1.pms电能质量报表
2.园区功能接口
3.自定义报表(部分)
2024-08-13 10:45:06 +08:00
xy
a6f9e30d54 微调 2024-08-12 20:14:21 +08:00
guofeihu
4cff5e90a2 DictTreeController中补充缺失的delete接口 2024-08-09 15:08:18 +08:00
88f7efbc86 1.用户下拉接口增加属性 2024-08-09 13:20:35 +08:00
1d41b1af12 1.实体类调整 2024-08-09 08:38:22 +08:00
wr
3b5442ecf5 1.解决台账数据缺少变电站个别信息
2.解决技术监督台账管理终端信息
3.增加全景展示稳态9指标数据
2024-08-08 16:26:22 +08:00
xy
3ec984752f 微调 2024-08-07 17:08:24 +08:00
wr
99021d3c9c 1.试运行报告微调
2.全景展示稳态超标9指标扩展
3.技术监督变电站台账调整
4.调整登录名正则表达式增加._
2024-08-07 11:50:04 +08:00
xy
b608aab3bd 添加单位 2024-08-06 18:41:42 +08:00
xy
f54ce5ae3c 微调 2024-08-02 16:01:25 +08:00
wr
3a589962a5 1.试运行报告微调 2024-08-01 16:04:24 +08:00
wr
e54df08dca 1.调整变电站台账模糊搜索功能 2024-08-01 14:48:15 +08:00
055c762415 1.真实ip获取 2024-08-01 13:19:50 +08:00
wr
cdbb4fe428 1.解决pq公共方法查询监测点信息,母线,终端等信息
2.解决device模块swagger页面出不来问题
3.技术监督变电站台账接口增加
4.监测点试运行报告增加,间谐波电压和暂态列表
2024-08-01 11:41:19 +08:00
hzj
d972bbef80 终端入网检测
1.终端入网检测添加经纬度的录入功能;

2.同步台账时,不是系统电站的需要将经纬度同步

二、监测点台账录入

1.关联终端下拉框里面的数据展示终端编号,不展示终端名称
2024-07-31 15:19:51 +08:00
1d664fee19 1.pom提交 2024-07-29 14:14:15 +08:00
eb10a16799 1.用能代码提交 2024-07-29 13:58:36 +08:00
6e85a72b7d 1.用能代码提交 2024-07-29 13:57:20 +08:00
59b56a39dc 1.用能代码提交
2.系统并发bug修改
2024-07-29 13:56:28 +08:00
da387cc39d 手动判断access是否过期 2024-07-29 11:48:52 +08:00
hzj
9d4215afb5 bug修改 2024-07-25 15:19:44 +08:00
35e3d098a9 添加nacos用户名密码 2024-07-25 13:36:52 +08:00
61bbbed153 用能空调定时关机策略 2024-07-25 13:35:39 +08:00
0fe103d01e 用能代码提交 2024-07-24 20:12:42 +08:00
d64b15a8e6 监督计划代码调整 2024-07-24 14:55:23 +08:00
xy
3ed732affd 新增用能定时任务 2024-07-24 13:45:59 +08:00
128925a5d6 用能代码提交 2024-07-24 13:15:59 +08:00
311b2844ba 用能代码提交 2024-07-24 11:32:25 +08:00
xy
7dc2cde6ed 方法引入调整 2024-07-24 11:08:55 +08:00
wr
8b1074c172 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java
2024-07-24 09:46:55 +08:00
wr
67ad03ddbe 1.审批流程中审批不通过会造成俩条数据bug解决
2.解决公共方法,变电站信息台账数据量不准确问题,增加变电数据判断
3.技术监督-干扰源治理验收报告逻辑校验
4.技术监督-台账联调,增加治理验收和入网评估报告验证
2024-07-24 09:43:06 +08:00
24e937e331 解决重复日志输出 2024-07-23 16:31:37 +08:00
xy
89ece63f2e 1.电能质量在线监测需求调整
2.变电站台账功能(待完善)
2024-07-23 14:28:07 +08:00
1e79bbdcb0 河北安全测评整改需求 2024-07-22 14:22:16 +08:00
ec051827ac 河北安全测评整改需求 2024-07-22 13:53:04 +08:00
xy
6fa63a7f3e 微调 2024-07-19 15:55:40 +08:00
a9aa0785da Merge remote-tracking branch 'origin/master' 2024-07-18 10:40:55 +08:00
23e7288609 工作流参数调整 2024-07-18 10:40:50 +08:00
hzj
a573c17886 bug修改 2024-07-17 10:53:44 +08:00
be8edfd4cf 工作流参数调整 2024-07-17 08:39:32 +08:00
30b4f03f6b 调整相别名称 2024-07-16 14:52:52 +08:00
wr
ee41b0a554 1.技术监督试运行bug修改
2.审核不通过展示表单信息和审核信息
2024-07-16 09:33:05 +08:00
xy
458b2347ed 接口调整 2024-07-16 09:21:10 +08:00
hzj
c1bfc2347f 密码规则配置功能 2024-07-15 17:28:36 +08:00
eba02ffcf3 动态枚举内容功能增加 2024-07-15 17:23:41 +08:00
2921145336 动态枚举内容功能增加 2024-07-15 15:55:39 +08:00
hzj
9de6981cd5 密码规则配置功能 2024-07-12 13:22:53 +08:00
cdf
fb58b13c91 1.字典树调整 2024-07-10 15:52:51 +08:00
hzj
e12e5d90c8 修改influxdb包的字段,类引起的修改 2024-07-10 09:08:49 +08:00
wr
075205d4b9 1.技术监督试运行bug修改和全景问题接口调整 2024-07-09 13:55:07 +08:00
xy
1af8fcc72f 1.在线监测详情接口
2.在线监测查询接口调整
2024-07-09 10:15:23 +08:00
wr
6ec0ef54e9 1.技术监督试运行,不通过整体预告警单流程 2024-07-05 09:01:12 +08:00
xy
fd23719a41 终端周期检测代码调整 2024-07-03 14:18:49 +08:00
xy
306200791a 微调 2024-07-02 20:32:18 +08:00
xy
e6a1874abf 技术监督测试管理新增报告上传、审核报告查看 2024-07-02 19:19:08 +08:00
wr
8502421b91 1.技术监督试运行评估-试运行结束后生成试运行报告接线图片调整有则展示,没有则默认 2024-07-02 18:23:20 +08:00
wr
50cd5d3895 1.技术监督试运行评估-试运行结束后生成试运行报告
2.技术监督计划管理,权限调整为负责地市进行信息修改
3.调整常态化干扰源用户信息更新逻辑
4.调整谐波报告数据请求格式
2024-07-02 16:55:08 +08:00
cdf
5ca027513f 1.监督计划调整 2024-07-01 20:31:09 +08:00
wr
87c60206f0 1.技术监督台账管理-台账管理,监测点终端数量bug解决
2.干扰源常态化用户,编辑新增功能流程
2024-06-28 17:32:37 +08:00
xy
dbee4ca31d 在线监测模板调整、数据替换 2024-06-28 16:53:08 +08:00
wr
f26ec7003e 1.调整全景bug 2024-06-27 19:50:57 +08:00
467906b686 1 2024-06-27 19:33:10 +08:00
hzj
b146da4867 修改草稿bug 2024-06-27 18:13:10 +08:00
hzj
80dceeb0be pq-influx提出项目报错修改 2024-06-27 14:04:53 +08:00
8d6ba4afe3 将pqs-influx模块独立出去 2024-06-27 13:27:02 +08:00
xy
ae2207bd97 微调 2024-06-26 17:47:33 +08:00
xy
16e90de9eb 1.终端周期检测定时任务
2.监测点超标统计定时任务
2024-06-26 11:22:53 +08:00
xy
5c36e2e4f4 在线监测功能
1.动态生成预告警单、下载预告警单
2024-06-25 17:36:50 +08:00
cdf
df72e7c338 1.监督计划调整
2.主网测点台账接口
2024-06-25 13:24:40 +08:00
wr
234f0be465 1.word模板替换功能公共类,调整动态行数代码逻辑 2024-06-25 10:58:52 +08:00
xy
0677320a06 在线监测功能
1.预处理生成超标数据和无数据监测点数据
2.分页查询数据
3.生成预告警单(处理中)
2024-06-25 09:11:30 +08:00
wr
0e548887a4 1.全景技术监督数据展示 2024-06-25 09:08:32 +08:00
e1c5a07f14 切换pq终端 2024-06-24 17:44:23 +08:00
7a745fea9e 切换pms终端 2024-06-24 17:42:00 +08:00
wr
8db6ddaeb5 1.台账管理干扰源用户和敏感用户模板调整,解决批量导入bug 2024-06-24 16:32:43 +08:00
hzj
e140ba4fe3 添加是否需要治理标志 2024-06-24 15:23:52 +08:00
cdf
ec9f32d0ad 1.园区接口完成 2024-06-24 14:37:04 +08:00
hzj
0e1a10a860 干扰源用户建档是否治理治理审核通过,才能去试运行,否则要提示出来; 2024-06-24 14:14:55 +08:00
hzj
4ad60cbe96 修改生成监测点联调的createby 2024-06-21 14:35:46 +08:00
hzj
731f6f2d12 草稿功能各个页面开发引起的查询bug,预告警单新增整改意见字段 2024-06-20 19:14:16 +08:00
wr
7abce7651d 1.调整终端管理下,终端和监测点模糊搜索bug 2024-06-20 17:54:48 +08:00
hzj
d3af5bd9e4 草稿功能各个页面开发引起的查询bug,预告警单新增整改意见字段 2024-06-20 17:49:31 +08:00
hzj
dd6c3db9b2 草稿功能各个页面开发引起的查询bug,预告警单新增整改意见字段 2024-06-20 17:49:13 +08:00
xy
6316389a68 微调 2024-06-20 16:05:26 +08:00
c994ada5e7 微调 2024-06-20 13:32:16 +08:00
hzj
197d3df0fb 草稿功能各个页面开发引起的查询bug,预告警单新增整改意见字段 2024-06-20 11:46:11 +08:00
xy
b501b91bc4 微调 2024-06-20 11:34:01 +08:00
hzj
b91970d5be 草稿功能各个页面开发引起的查询bug,预告警单新增整改意见字段 2024-06-19 20:29:11 +08:00
wr
1f3ea231ad 1.调整终端管理下,终端和监测点模糊搜索
2.技术监督全景展示接口调整
2024-06-19 18:20:55 +08:00
55b4501694 数据权限调整 2024-06-19 16:34:14 +08:00
1b02da9e08 数据权限调整 2024-06-19 16:24:39 +08:00
hzj
9c3fbb31dd 草稿功能各个页面开发 2024-06-19 16:01:18 +08:00
hzj
22f5538c13 草稿功能各个页面开发 2024-06-19 15:53:13 +08:00
wr
b3a3d3356e ... 2024-06-19 15:38:37 +08:00
wr
e54638425e 1.单位回显,时间范围查询等功能添加
2.干扰源和敏感供用户模板下载和批量导入
3.增加根据code进行树形字典筛选
3.全景展示技术监督接口新增
2024-06-19 15:31:17 +08:00
xy
b0fb724880 微调 2024-06-19 15:01:29 +08:00
hzj
60382f718c 草稿功能 2024-06-19 10:46:22 +08:00
dec5914265 核心信息提取,并且应用到【我的工作】中的三个tab 2024-06-19 10:17:33 +08:00
3b4c448b34 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java
2024-06-19 09:00:53 +08:00
df49bb9f0a 核心信息提取 2024-06-19 09:00:29 +08:00
xy
4f590d58ce 微调 2024-06-19 08:58:24 +08:00
9a9af5db5d 核心信息提取 2024-06-19 08:31:51 +08:00
xy
0140a1166d 在线监测
1.数据生成
2.分页查询
3.预告警单下发
2024-06-18 18:12:02 +08:00
88bbfcc607 微调 2024-06-18 17:11:28 +08:00
cdf
0dd324c7ef 1.下发接口修改
2.工单接口开发
2024-06-18 17:04:22 +08:00
c508070c15 微调 2024-06-18 09:36:31 +08:00
wr
78f5227497 1.技术监督,终端入网监测,监测点台账录入,监测点联调增加模糊搜索功能
2.电能质量问题,用户投诉新增增加责任部门
3.预告单增加责任部门列
2024-06-14 17:55:43 +08:00
xy
4ce91364c1 1.综合评估省级趋势展示
2.技术监督-终端周期检测
2024-06-13 19:32:57 +08:00
146e2ca5a1 状态统一管理,舍弃单独监听器 2024-06-13 16:57:04 +08:00
cdf
7b58ec02bb 代码调整 2024-06-13 15:44:37 +08:00
cdf
11624f53da bug修改 2024-06-13 12:19:25 +08:00
cdf
90449b568b bug修改 2024-06-13 10:51:27 +08:00
a7cdc00059 流程key提取 2024-06-13 09:18:03 +08:00
hanyong
70a49d396f 模块切换 2024-06-13 09:01:18 +08:00
cdf
a1c6882b61 模块切换 2024-06-13 08:40:32 +08:00
c19fd51aad bpm代码调整 2024-06-12 20:03:58 +08:00
cdf
d54cf8911d 模块切换 2024-06-12 20:00:17 +08:00
cdf
7326414dc6 模块切换 2024-06-12 19:35:44 +08:00
cdf
2c07d6e6b5 河北两级贯通接口调整
监督计划新增计划所属部门字段
2024-06-12 19:33:46 +08:00
b0111d1f46 抽取流程实例状态变更,更换接口继承 2024-06-12 18:35:38 +08:00
cdf
b13e0c22de 河北两级贯通接口调整 2024-06-12 08:33:37 +08:00
2e756e0e38 Merge remote-tracking branch 'origin/master' 2024-06-07 11:21:27 +08:00
5073226d11 修改字段名称 2024-06-07 11:21:21 +08:00
cdf
368c46d5ac bug修改 2024-06-07 11:17:31 +08:00
cdf
0c70285540 bug修改 2024-06-07 10:13:41 +08:00
ca51c96e9f 监督类型、告警内容 2024-06-06 21:02:03 +08:00
cdf
da868550ae bug修改 2024-06-06 20:41:05 +08:00
cdf
7491af7907 bug修改 2024-06-05 19:59:21 +08:00
xy
db5112e82b 代码调整 2024-06-05 18:57:12 +08:00
wr
1a442a1888 1.全景展示冀北监测运行状态判断提交 2024-06-05 18:06:46 +08:00
910217cf2a 普测测试管理详情调整 2024-06-05 17:50:56 +08:00
a9028e046d 模板调整 2024-06-05 17:38:37 +08:00
cdf
03776bb7c2 新增状态查询接口 2024-06-05 17:31:06 +08:00
cdf
0939f20e4a 新增状态查询接口 2024-06-05 16:07:47 +08:00
cdf
f8b45d44ab 新增状态管理查询 2024-06-05 15:19:33 +08:00
cdf
4045944558 新增状态管理查询 2024-06-05 14:53:05 +08:00
84d3f108ad 敏感及重要用户导入 2024-06-05 14:50:34 +08:00
cdf
8b45195615 冀北试运行接口调整
修改技术监督其他bug
2024-06-05 14:05:44 +08:00
wr
8a511e2906 1.全景展示冀北运行统计bug修改 2024-06-05 11:51:06 +08:00
xy
3ca0dfbc3c 代码调整 2024-06-04 18:51:31 +08:00
9aa433aead 新增终端状态管理 2024-06-04 18:36:44 +08:00
cdf
76684afc7b 冀北重新发起,取消发起接口 2024-06-04 16:22:52 +08:00
cdf
c54d00dbae 冀北重新发起,取消发起接口 2024-06-04 15:54:25 +08:00
503a82e92a 修复普测调整带来的其他功能bug 2024-06-04 15:02:46 +08:00
06ec23710d 修复普测调整带来的其他功能bug 2024-06-04 14:49:57 +08:00
wr
2b0f149905 1.全景展示冀北运行统计bug修改 2024-06-04 14:02:41 +08:00
11df7ebba1 我发起的菜单 2024-06-04 13:49:25 +08:00
78d36fadb7 普测测试流程 2024-06-04 10:51:08 +08:00
cdf
fd70d53286 冀北重新发起,取消发起接口 2024-06-04 08:30:56 +08:00
cdf
e22e5d7d86 冀北重新发起,取消发起接口 2024-06-03 20:41:51 +08:00
188c0515d7 普测计划 2024-06-03 19:31:12 +08:00
wr
aca86e6b57 1.全景展示修改,调整监测基本信息展示 2024-06-03 19:01:17 +08:00
e0298ed65f 敏感及重要用户功能 2024-06-03 16:47:39 +08:00
wr
f181b9bbb2 1.终端和主配网监测点,国网下穿接口编写 2024-06-02 17:45:26 +08:00
xy
7b43430e03 综合评估功能调整 2024-06-02 15:25:45 +08:00
hzj
9b59d183f5 修改字段 2024-05-31 13:31:36 +08:00
hzj
5cf35a39ff 修改字段 2024-05-31 13:31:05 +08:00
hzj
5d263c4be4 数据同步,新增电站 2024-05-31 09:23:54 +08:00
cdf
9f230278bd 河北国网上报接口调整 2024-05-30 20:34:36 +08:00
hzj
a87b421720 数据同步,新增电站 2024-05-30 20:29:30 +08:00
hzj
17f220b536 修改干扰源用户状态 2024-05-30 19:49:57 +08:00
hzj
1060b94e7a 终端台账数据同步 2024-05-30 15:37:07 +08:00
guosongrui
df178c4882 Merge branch 'master' of http://192.168.1.22:3000/root/pqs 2024-05-30 13:46:48 +08:00
guosongrui
69f3376b1a 预告警单,新增取消接口,干扰源入网方案,新增取消接口,技术监督工作计划填报,新增取消接口 2024-05-30 13:46:23 +08:00
cdf
cfbe643edd 河北国网上报接口调整 2024-05-30 13:11:05 +08:00
cdf
1ab7a8ad38 技术监督月报调整 2024-05-30 11:18:40 +08:00
8e97578259 角色筛选优化 2024-05-29 19:33:46 +08:00
a8a5d58c26 预告警单详细问题查看 2024-05-29 19:00:25 +08:00
cdf
2b17c8dbea 模块切换 2024-05-29 16:37:55 +08:00
cdf
8bbeafe50b 国网上送接口调整 2024-05-29 14:16:36 +08:00
cdf
8726fdee27 部门接口,字典树接口调整 2024-05-29 13:40:40 +08:00
619821efc8 Merge remote-tracking branch 'origin/master' 2024-05-28 16:37:41 +08:00
b7c9eedeaa 重新发起和取消流程接口优化 2024-05-28 16:37:36 +08:00
wr
48486ce04d 1.典型源荷,国网下穿接口编写 2024-05-28 16:09:55 +08:00
guosongrui
6817b33020 新增了sort字段 2024-05-28 15:21:25 +08:00
hzj
738a9497eb 修改bug 2024-05-27 16:00:15 +08:00
guosongrui
d6b6d2571f 更改分页查询查询当前用户条件统一换成当前人部门下的所有人 2024-05-27 13:24:38 +08:00
2d88fb2e23 台账导入微调,取消母线的线路号排重 2024-05-27 10:08:08 +08:00
guosongrui
3f7a5da207 分页查询查询当前用户条件统一换成当前人部门下的所有人 2024-05-24 16:23:12 +08:00
guosongrui
4e7d865e0c Merge branch 'master' of http://192.168.1.22:3000/root/pqs 2024-05-24 16:22:31 +08:00
guosongrui
e3967f69a7 分页查询查询当前用户条件统一换成当前人部门下的所有人 2024-05-24 16:19:12 +08:00
hzj
357603a22c 在线监测点效率修改,监测点下来框接口 2024-05-24 16:03:15 +08:00
hzj
cb3dbc86d5 在线监测点效率修改,监测点下来框接口 2024-05-24 16:02:52 +08:00
xy
5b54fef317 bug调整 2024-05-23 20:04:53 +08:00
wr
5a1139cd7e 1.越线信息调整 2024-05-23 18:16:04 +08:00
hzj
cd534ba851 bug修改 2024-05-23 13:41:01 +08:00
xy
24df87c03a 代码注释;算法调整 2024-05-23 13:19:27 +08:00
hzj
46d647236f 用户投诉预警单提交 2024-05-23 10:44:19 +08:00
hzj
a0b81b1bda 用户投诉预警单提交 2024-05-22 20:24:10 +08:00
wr
a044e26fa3 Merge remote-tracking branch 'origin/master' 2024-05-22 20:01:10 +08:00
wr
262dd68cd4 1.调整实体类 2024-05-22 20:00:32 +08:00
69719adbe1 Merge remote-tracking branch 'origin/master' 2024-05-22 19:54:56 +08:00
ff1d3b209f 上传文件大小配置 2024-05-22 19:54:51 +08:00
cdf
8e83a6b35e 冀北监测点试运行功能调整 2024-05-22 19:52:19 +08:00
hzj
af3d231352 用户投诉提交 2024-05-22 18:59:03 +08:00
9ea63753e3 谐波溯源的窗口期调整 2024-05-22 18:15:10 +08:00
cdf
5d97d4489e 冀北监测点试运行功能提交 2024-05-22 17:50:08 +08:00
wr
7a7ece5acd 1.冀北电网一张图bug修改
2.公共接口增加在线离线信息条件筛选
2024-05-22 17:21:40 +08:00
b7e291398b 预告警单增加问题详细描述 2024-05-22 16:30:22 +08:00
guosongrui
41e6d2efb8 Merge branch 'master' of http://192.168.1.22:3000/root/pqs 2024-05-22 16:08:44 +08:00
guosongrui
d51c2cd28a 用户投诉添加代码 2024-05-22 16:08:25 +08:00
hzj
28487ceb63 在线监测点超功能 2024-05-22 14:54:17 +08:00
guosongrui
34d57aafb9 Merge branch 'master' of http://192.168.1.22:3000/root/pqs 2024-05-22 14:49:19 +08:00
guosongrui
bf0a9e16a9 用户投诉添加代码 2024-05-22 14:46:57 +08:00
05c70cb289 预告警单增加问题详细描述 2024-05-22 10:46:24 +08:00
cdf
7b7d7de923 冀北检测点试运行部分接口提交 2024-05-22 09:54:59 +08:00
wr
c41586dcc6 1.冀北电网一张图-变电站统计电网侧统计
2.公共方法增加点电网侧信息
3.修改区域监测点终端等信息接口
2024-05-21 17:12:57 +08:00
1b86deea2d 现场测试问题
预告警单
2024-05-21 16:26:55 +08:00
hzj
1d73148d54 提交代码 2024-05-21 15:39:42 +08:00
xy
2618f4cc33 1.功能bug调整
2.算法添加部分指标异常数据判断
2024-05-21 14:01:31 +08:00
wr
e2b84c275e 1.冀北电网一张图-暂态水平调整 2024-05-21 13:53:41 +08:00
hzj
8722274de9 swagger无法显示bug 2024-05-21 09:05:17 +08:00
hzj
502c2b6524 技术监督,监测点联调 2024-05-21 08:55:12 +08:00
cdf
ed1241a192 冀北干扰源常态化管理接口 2024-05-21 08:47:36 +08:00
f03fc1d1cf 谐波溯源翻译成java 第一版本,写完技术监督再回来优化 2024-05-20 15:00:17 +08:00
wr
9a6c4e7244 1.国网下穿-典型源荷接口编写 2024-05-17 16:57:06 +08:00
cdf
27561f8343 Merge remote-tracking branch 'origin/master' 2024-05-16 20:11:50 +08:00
cdf
2afb9ab282 测试河北对外开放下穿接口 2024-05-16 20:11:42 +08:00
hzj
df02c759d9 新增接口 2024-05-16 19:29:45 +08:00
hzj
165b1dc69d 新增接口 2024-05-16 18:53:25 +08:00
cdf
b1f9c45e4a 测试河北对外开放下穿接口 2024-05-16 15:33:22 +08:00
cdf
c86c472c8c 测试河北对外开放下穿接口 2024-05-16 15:12:07 +08:00
cdf
d0cef2b397 测试河北对外开放下穿接口 2024-05-16 15:09:25 +08:00
cdf
3ef85be49d 冀北台账管理接口开发 2024-05-16 13:47:20 +08:00
cdf
2e6ac4f07e 河北两级贯通文档修改
冀北台账管理接口开发
2024-05-16 10:20:31 +08:00
wr
b77af01995 1.国网下穿实体类位置调整 2024-05-16 10:17:35 +08:00
cdf
986522c017 河北两级贯通文档修改
冀北台账管理接口开发
2024-05-16 10:05:49 +08:00
f184e371f0 解决json解析异常 2024-05-16 09:33:23 +08:00
hzj
bba53f7d57 新增接口 2024-05-15 18:49:00 +08:00
f0d626fb0d 解决json解析异常 2024-05-15 18:38:54 +08:00
wr
fde8c4151c 1.每日中台母线统计算法增加电压等级过滤 2024-05-15 17:16:10 +08:00
cdf
55124e749e 单位算法bug解决 2024-05-15 13:47:33 +08:00
hzj
a99c915235 部分bug修改 2024-05-15 13:34:51 +08:00
xy
4ed7b399b3 Merge remote-tracking branch 'origin/master' 2024-05-15 11:49:43 +08:00
xy
d7920e744e 代码优化 2024-05-15 11:49:18 +08:00
cdf
e60c607436 切换pms_device模块 2024-05-15 11:42:45 +08:00
cdf
16e264933c 单位层级算法bug解决 2024-05-15 11:36:21 +08:00
cdf
79248176b7 两级贯通接口开发 2024-05-15 10:19:59 +08:00
hzj
b213b66f46 代码提交普测计划 2024-05-15 09:17:09 +08:00
b496452fd2 重新发起和取消功能实现,重新发起还有待办事项 2024-05-14 19:54:55 +08:00
hzj
1f3f27632d 代码提交普测计划 2024-05-14 16:31:58 +08:00
wr
ac606716ad Merge remote-tracking branch 'origin/master' 2024-05-14 15:42:39 +08:00
wr
af5f055d0c 1.冀北电网一张图监测点区域展示参数 2024-05-14 15:42:08 +08:00
d5f57a65bd 设备退运工作流程完成 2024-05-14 15:20:47 +08:00
fc2f2d767a 流程管理新增 2024-05-13 21:12:32 +08:00
cdf
fb6ce3fc11 简单的部门树接口 2024-05-13 20:34:47 +08:00
cdf
ecf53c9bbb 河北pms两级文档需求开发 2024-05-13 20:23:50 +08:00
guosongrui
cc24fc3124 Feature 添加JacksonConfig配置对日期格式化 2024-05-13 19:14:19 +08:00
f39b45a438 微调 2024-05-13 18:09:19 +08:00
31d6121e52 终端文件提交 2024-05-13 18:07:31 +08:00
wr
0037a6a5b6 1.冀北电网一张图,变电站,终端,监测点接口,添加监测点id信息 2024-05-13 16:34:02 +08:00
hzj
2638679df3 代码提交 2024-05-13 15:43:20 +08:00
hzj
9fbb5b0bb9 文件move位置 2024-05-13 15:03:55 +08:00
a8d229fe5d 退运流程的基础文件提交 2024-05-13 14:57:37 +08:00
hzj
14fe1a7537 表单提交 2024-05-13 14:55:33 +08:00
xy
d814600c85 v3主题接口调整 2024-05-13 14:12:16 +08:00
eeeae803a6 非线性用户建档列表管理 2024-05-13 11:31:25 +08:00
wr
a486670563 1.冀北电网一张图bug修改 2024-05-13 11:16:22 +08:00
0c5e6cf17f 流程状态变化,更新业务表操作实现 2024-05-13 10:19:18 +08:00
eb9818dd7f 流转工作流程 2024-05-12 16:15:34 +08:00
cdf
1a9beeed93 河北pms两级文档需求开发 2024-05-11 16:52:07 +08:00
cdf
fac26809a4 河北pms两级文档需求开发 2024-05-11 16:51:31 +08:00
wr
1e9644c8a3 1.国网上送统计四个算法修改 2024-05-11 16:44:05 +08:00
cdf
b0553d9c32 no commit 2024-05-11 09:50:31 +08:00
5cd377606d 成立单独的冀北技术监督项目 2024-05-10 15:28:46 +08:00
cdf
0581380f19 1.河北pms母线中间表接口添加
2.两级贯通接口调整
2024-05-10 14:29:33 +08:00
f9bec14719 成立单独的冀北技术监督项目 2024-05-09 18:33:14 +08:00
e2a44def09 Merge remote-tracking branch 'origin/master' 2024-05-09 18:32:19 +08:00
928af53cc9 删除不必要的文件 2024-05-09 18:32:14 +08:00
cdf
6f3329af21 1.河北两级贯通接口调整年数据改为查询日数据 2024-05-09 16:02:31 +08:00
hzj
1b85acaa74 表单提交 2024-05-09 15:05:23 +08:00
4936d22884 工作流模块提交 2024-05-09 14:23:18 +08:00
cdf
bedd70136b 1.河北两级贯通接口调整 2024-05-09 14:04:36 +08:00
cdf
5036b8c75d 1.河北两级贯通接口调整 2024-05-08 16:43:44 +08:00
xy
3e9d8638cb 1.冀北合格率接口调整
2.综合评估接口调整
3.算法调整
2024-05-08 14:54:15 +08:00
cdf
d8cb5479e8 1.河北两级贯通接口新增台账运行详情统计 2024-05-08 10:17:57 +08:00
cdf
3fecc56f93 1.河北两级贯通接口新增台账运行详情统计 2024-05-08 09:57:27 +08:00
hzj
4e14fb5a3b 修改用能influxdb配置 2024-05-06 19:24:41 +08:00
wr
0676b467ca 1.冀北电网一张图,区域终端统计,监测点分布统计修改 2024-05-06 17:44:58 +08:00
cdf
c54ac60a13 1.调整接口请求参数 2024-05-06 10:25:49 +08:00
cdf
ba822aa7ce 1.调整接口请求参数 2024-05-06 10:14:44 +08:00
wr
5c613089e5 1.冀北电网一张图 2024-05-04 18:44:26 +08:00
xy
5bd554172b 冀北一张图监测点界面接口 2024-05-04 18:15:17 +08:00
xy
8750b4f35f 代码调整 2024-05-04 13:56:56 +08:00
xy
34b4b8882d 冀北电网一张图功能调整 2024-05-03 17:18:42 +08:00
xy
e781274479 代码优化 2024-04-29 18:32:36 +08:00
xy
40a5504086 调整 2024-04-29 17:54:40 +08:00
wr
7ebc540823 1.冀北电网一张图暂态详细列表bug修改 2024-04-29 17:23:55 +08:00
wr
c1a3c745f7 1.冀北电网一张图,变电站,终端,暂态列表接口重新调整
2.技术监督统计,电容器和评估报告统计调整
2024-04-29 16:29:25 +08:00
xy
e2fa2e31c2 冀北电网一张图-综合评估趋势对比 2024-04-29 15:00:55 +08:00
wr
17add817e0 冀北电网一张图 2024-04-28 17:53:05 +08:00
xy
6cb222359f 微调 2024-04-28 13:17:41 +08:00
wr
b299dfd845 冀北电网一张图暂态信息添加统计类型 2024-04-26 16:55:37 +08:00
wr
fa22e0e529 冀北电网一张图暂态信息 2024-04-26 13:11:10 +08:00
wr
d9a315561a Merge remote-tracking branch 'origin/master' 2024-04-26 10:41:05 +08:00
xy
238321d816 冀北电网一张图功能调整 2024-04-26 10:39:04 +08:00
wr
20c95cab63 添加统计类型监测点性质 2024-04-26 10:36:16 +08:00
xy
b6b32e0548 冀北电网一张图相关接口 2024-04-25 16:12:39 +08:00
huangzj
04306b9607 更新 'pom.xml' 2024-04-24 20:10:27 +08:00
wr
02e1b8d42a 冀北电网一张图,变电站、终端和监测点信息接口编写 2024-04-23 18:16:12 +08:00
9492365d0d 删除pqs-job模块 2024-04-23 09:37:41 +08:00
f2c3ce35ea 暂降治理一期工作内容 2024-04-19 14:33:14 +08:00
cdf
0d71a74bdf 1.河北修改 2024-04-18 11:23:24 +08:00
cdf
eb296c18c8 1.河北修改 2024-04-18 08:39:02 +08:00
cdf
ae17969569 1.河北修改 2024-04-17 20:33:42 +08:00
xy
34bea961c5 测试Git替换 2024-04-17 14:03:55 +08:00
wr
78a3b29b49 ... 2024-04-17 13:54:56 +08:00
cdf
f4cf03d90f 1.技术监督计划bug修改 2024-04-17 09:14:04 +08:00
cdf
a07aad3fc0 1.技术监督计划bug修改 2024-04-17 09:06:52 +08:00
hzj
ba2df7c268 技术监督退运流程 2024-04-16 15:10:54 +08:00
cdf
dfd38dbb24 1.技术监督计划bug修改 2024-04-15 19:20:33 +08:00
cdf
f8d77e4e5c 1.终端限值bug修改 2024-04-15 14:21:50 +08:00
hzj
315f54eaa0 承载能力评估bug修改 2024-04-11 15:49:07 +08:00
cdf
560cef483c 1.技术监督功能干扰源用户代码提交 2024-04-11 09:44:04 +08:00
cdf
ec1e8eb04a 1.技术监督功能干扰源用户代码提交 2024-04-10 18:53:57 +08:00
hzj
c348b24b51 电能质量问题修改 2024-04-10 10:47:45 +08:00
cdf
859be88988 1.技术监督功能干扰源用户代码提交 2024-04-10 09:02:17 +08:00
cdf
90de9184d4 1.河北国网上送1.8 1.9文档需求更新
2.技术监督功能提交
2024-04-09 11:46:21 +08:00
hzj
bc57172710 电能质量问题监测点超标新增需求 2024-04-09 11:10:11 +08:00
hzj
61f969e41a 电能质量问题监测点超标新增需求 2024-04-09 11:07:54 +08:00
hzj
696973d43e 电能质量问题监测点超标新增需求 2024-04-09 10:18:14 +08:00
xy
580f55c3d5 字典枚举添加 2024-04-09 09:44:18 +08:00
hzj
3e8b420db8 电能质量问题监测点超标新增需求 2024-04-08 15:12:24 +08:00
cdf
2512a861bb 1.谐波普测相关功能提交 2024-04-08 09:31:41 +08:00
cdf
a3928ab8c6 1.国网上送接口调整 2024-04-07 11:34:04 +08:00
cdf
631b586aa3 1.国网上送接口调整 2024-04-07 11:31:18 +08:00
cdf
30f6778296 1.工作流异常 2024-04-03 16:39:28 +08:00
cdf
999cf1bc6f 1.国网上送相关功能上送 2024-04-03 11:50:10 +08:00
cdf
a79e468d7d 1.国网上送相关功能上送 2024-04-03 11:30:06 +08:00
hzj
e0d508c7d8 电能质量问题修改 2024-04-03 11:20:33 +08:00
cdf
8a416bab4d 1.谐波普测流程相关调整 2024-04-02 16:23:10 +08:00
hzj
40bc9e57f3 海南版本提交 2024-04-02 09:17:35 +08:00
wr
b834fc8a40 1.新能源场站统计 2024-04-01 09:34:18 +08:00
hzj
0275cba0ed 海南版本提交 2024-04-01 09:08:11 +08:00
hzj
ea56af7e63 Merge branch 'master' of http://pqmcc.com:3000/root/pqs 2024-04-01 09:05:40 +08:00
cdf
af86068f32 1.用户模块添加对外接口 2024-03-29 14:04:23 +08:00
cdf
9cadd6c3ef 1.字典缓存排序 2024-03-28 09:45:18 +08:00
wr
f906589d27 1.暂态明细修改 2024-03-26 17:02:13 +08:00
wr
c5b427d8a3 1.技术监督代码调整
2.国网对象类型统计
3.国网新能源场站代码提交
2024-03-26 16:11:29 +08:00
cdf
522b0b48dd 1.用户模块添加对外接口 2024-03-25 18:34:55 +08:00
cdf
339dbf1004 1.用户模块添加对外接口 2024-03-25 18:21:23 +08:00
cdf
1c06a03166 1.国网上送代码调整
2.技术监督模块策略添加类型判断
2024-03-25 10:59:00 +08:00
wr
df194ef852 1.技术监督代码调整 2024-03-25 09:05:42 +08:00
hzj
2e0607028b 海南版本提交 2024-03-22 08:59:10 +08:00
cdf
0bc9186375 国网上送代码调整 2024-03-21 19:59:33 +08:00
wr
e781ff082e 1.字典提交 2024-03-21 16:40:26 +08:00
wr
ddafcd8216 1.调整主网监测点统计 2024-03-21 16:30:30 +08:00
wr
f747c69083 1.实体提交 2024-03-21 14:08:22 +08:00
wr
082b27720b 1.公共方法新增变电站信息查询
2.调整技术监督变电站查询方法
2024-03-21 13:23:47 +08:00
cdf
72bb397cbf pms技术监督调整 2024-03-19 14:32:53 +08:00
cdf
2de94be32b pms技术监督调整 2024-03-19 11:38:02 +08:00
c78cdca7a7 暂降治理一期工作内容+1 2024-03-18 20:40:08 +08:00
hzj
5fff26c276 海南版本提交 2024-03-18 15:21:28 +08:00
wr
5b7763b265 1.监测点告警统计代码调整 2024-03-15 15:19:57 +08:00
cdf
6226658dc3 pms技术监督bug修改 2024-03-15 13:22:03 +08:00
wr
3e193efc4b 1.典型源荷,电气化铁路上送信息调整 2024-03-15 11:45:49 +08:00
wr
7f9012820c 1.算法调整
2.bug修改
2024-03-15 10:54:26 +08:00
wr
aad1a544c6 1.算法调整 2024-03-15 10:35:30 +08:00
cdf
7de7a2ff24 枚举冲突 2024-03-15 09:11:53 +08:00
cdf
4b3b1ffcce 1.台账接口bug解决
2.技术监督bug解决
2024-03-15 08:49:16 +08:00
ec8c4e27ce 暂降治理一期工作内容 2024-03-14 18:44:15 +08:00
wr
fd57278abe 1.算法调整
2.bug修改
2024-03-14 18:04:45 +08:00
wr
c9e369e7bd Merge remote-tracking branch 'origin/master' 2024-03-14 11:34:35 +08:00
wr
4a5152c0f9 1.微调 2024-03-14 11:34:21 +08:00
10c2a65533 河北PMS算法调整 2024-03-14 11:32:46 +08:00
wr
fb8d02cd7e 1.国网上送数据增加非空判断
2.调整国网上送主网监测点统计和典型源荷统计的算法逻辑
2024-03-14 11:28:30 +08:00
cdf
0316e9d40e 1.pms台账调整上送调整 2024-03-14 10:32:23 +08:00
wr
9b16afff28 1.典型负荷统计算法数据调整 2024-03-13 20:21:52 +08:00
hzj
6288e6902c 海南版本提交 2024-03-13 18:24:38 +08:00
wr
1192b87083 1.增加国网上送标识
2.修改国网上送定时任务
2024-03-13 15:05:52 +08:00
wr
4ed31bd4b1 1.pmsbug调整 2024-03-13 14:00:49 +08:00
cdf
5c42afe87d 1.pms台账调整上送调整 2024-03-13 13:40:05 +08:00
cdf
f6f570ee83 1.pms台账调整上送调整 2024-03-13 13:37:23 +08:00
cdf
b68c1a2f75 1.pms台账调整 2024-03-13 09:58:20 +08:00
cdf
bef44e6d96 1.技术监督调整 2024-03-12 16:33:17 +08:00
wr
209393ad3c 1.算法调整 2024-03-12 16:09:21 +08:00
wr
df07c79ac8 1.审计用户消息和邮件推送
2.国网上送母线,变电站,主配网监测点统计,典型源荷统计等算法调整
3.国网上送定时任务调整
2024-03-12 14:52:35 +08:00
93f86feb33 河北PMS算法调整 2024-03-12 13:52:24 +08:00
ff2cf0a05b 1.调整河北pms国网上送主配网逻辑
2.技术监督调整
2024-03-12 10:39:45 +08:00
4b09070081 1.调整河北pms国网上送主配网逻辑
2.技术监督调整
2024-03-12 10:38:55 +08:00
af4600f0e9 河北PMS算法调整 2024-03-11 19:14:58 +08:00
431c7c03d0 河北PMS算法调整 2024-03-11 18:57:02 +08:00
6f01259e2f 河北PMS算法调整-国网上送三个接口新增年数据 2024-03-11 18:52:26 +08:00
wr
d1124d645b 1.清除日志,月份调整 2024-03-08 16:32:31 +08:00
wr
f8766060a6 1.终端评价详情日表算法-占比修改
2.发射特性和影响特性算法修改,只统计四类监测点光伏电站、电气化铁路、风电场和冶炼负荷
2024-03-08 15:59:25 +08:00
4c752edc19 河北PMS算法调整 2024-03-07 11:28:11 +08:00
4911235f45 河北PMS算法调整 2024-03-06 20:11:14 +08:00
43840626da 河北PMS算法调整-监测点告警统计查询接口调整 2024-03-06 20:05:53 +08:00
wr
cf0324bff5 1.专项分析-指标总览算法修改 2024-03-06 18:47:17 +08:00
wr
3782ac6900 1.单位变电站定时任务 2024-03-06 17:36:14 +08:00
hzj
4ed75512fb 海南初始版本提交 2024-03-06 17:04:08 +08:00
34b76fe7ff 河北超高压bug调整 2024-03-06 11:16:03 +08:00
5e27d90263 1.调整河北pms国网上送主配网逻辑 2024-03-05 13:59:42 +08:00
wr
3705e48b33 1.国网典型源荷,月数据主键调整 2024-03-05 11:02:29 +08:00
da3c5230bf 1.调整河北pms国网上送主配网逻辑 2024-03-05 10:54:12 +08:00
42d39d706e 河北超高压算法调整 2024-03-04 20:33:35 +08:00
wr
3d622f6da8 1.新增典型源荷指标月统计算法
2.增加国网上送月统计定时任务
2024-03-04 18:20:26 +08:00
745d7e2829 1.调整河北pms国网上送典型源荷其他类型逻辑 2024-03-04 17:28:24 +08:00
9ab2d17496 河北超高压算法调整
1.新增上送月数据算法
2.国网上送月数据查询
2024-03-04 17:20:50 +08:00
3f24e6c276 1.调整调度系统代码针对河北现场添加补招功能 2024-03-01 15:51:33 +08:00
fb5467e553 1.pms重新计算四个算法接口调整 2024-03-01 11:19:25 +08:00
dbf56ff957 河北超高压算法调整-变电站监测统计字段数据补全 2024-03-01 10:31:41 +08:00
67a59e5214 1.pms添加监测点越限对外接口
2.添加技术监督台账相关对外接口
2024-03-01 08:47:27 +08:00
wr
8022b12b4c 1.告警统计算法调整
2.告警统计详情接口代码逻辑调整
2024-02-29 20:10:28 +08:00
945ae25c07 河北超高压算法调整 2024-02-29 18:15:13 +08:00
789ebff40b 1.pms代码调整 2024-02-29 18:03:27 +08:00
wr
8122c7569d Merge remote-tracking branch 'origin/master' 2024-02-28 19:59:42 +08:00
wr
58d635f1a5 1.算法占比调整,修改监测点稳态合格率算法,原因int/int小数点会省略
2.页面显示占比调整
2024-02-28 19:59:30 +08:00
hzj
cbf1f14780 修改其他干扰源行业类型为00 2024-02-28 19:57:54 +08:00
wr
a44b8f2348 1.变电站超标统计算法编写 2024-02-28 10:26:01 +08:00
a739eed039 河北超高压算法-基准水平添加均值和标准差数据 2024-02-28 09:43:34 +08:00
hzj
76d4f61670 修改其他干扰源逻辑 2024-02-28 09:27:46 +08:00
3f98482833 1.微调 2024-02-28 09:05:42 +08:00
wr
a530e9fa08 1.国网上送典型台账——干扰用户监测调整 2024-02-27 16:23:59 +08:00
hzj
67d6b245d6 修改其他干扰源逻辑 2024-02-27 16:09:45 +08:00
wr
7c7c66280d 1.单位变电站公共方法 2024-02-27 15:14:37 +08:00
b45fe4c040 1.河北临时台账调整 2024-02-27 13:57:12 +08:00
wr
48e602ce25 1。国网上送运行状态调整 2024-02-27 13:21:13 +08:00
0201cbe948 1.河北临时台账处理代码,后期需要删除 2024-02-27 08:45:25 +08:00
7862b29a18 1.调整pms国网监测点台账调整 2024-02-26 20:40:38 +08:00
856042feee 1.调整pms国网监测点台账调整 2024-02-26 20:05:44 +08:00
6ffcd6e092 1.调整pms国网监测点台账调整 2024-02-26 19:58:38 +08:00
f8e28fc4b1 1.调整pms国网主配网监测点问题 2024-02-26 19:08:29 +08:00
wr
c682b7f198 1.算法bug修改,部分占比*100,计算展示
2.pmsbug解决
3.增加根据字典类型code和字典数据code接口
2024-02-26 18:08:09 +08:00
hzj
5577757d2e 暂降的有效监测点用在运监测点 2024-02-26 16:18:23 +08:00
ebc623ff1d 1.调整pms国网主配网监测点功能 2024-02-26 16:08:12 +08:00
337cadc6b8 河北超高压算法调整 2024-02-26 15:16:01 +08:00
wr
ea6b951b11 单位暂态算法调整 2024-02-23 15:21:48 +08:00
dcdc23feea 1.调整pms国网主配网监测点功能 2024-02-23 14:52:59 +08:00
wr
6ab679caf2 代码调整 2024-02-23 13:23:43 +08:00
wr
7c278892a3 区域暂态指标分类统计数据修改 2024-02-22 16:09:08 +08:00
38ccaf4336 1.调整pms国网上送功能 2024-02-22 15:21:34 +08:00
1765cd62c8 河北超高压算法调整 2024-02-22 14:16:28 +08:00
17ef2d5272 1.pms国网上送算法链调整
2.调整pms国网上送功能
2024-02-22 13:49:57 +08:00
wr
32b736e651 算法数据验证 2024-02-22 13:33:37 +08:00
wr
995a267ea7 单位超标信息算法bug修改 2024-02-22 10:58:45 +08:00
46268894f1 1.pms稳态指标bug解决 2024-02-22 10:24:47 +08:00
wr
70b1e81dd4 指标分类-监测点分类只统计当前部门信息 2024-02-22 09:52:33 +08:00
hzj
4b75070d07 修改bug 2024-02-21 16:20:13 +08:00
8baa523008 1.污区bug解决 2024-02-21 16:15:32 +08:00
wr
3249634bf5 bug解决 2024-02-21 15:45:23 +08:00
wr
9db6ebf441 暂态指标数据修改,区域稳态指标超标分类统计表增加展示列表监测点对象标签 2024-02-21 15:03:24 +08:00
hzj
4a964c82c7 修改bug 2024-02-21 11:19:53 +08:00
hzj
3121df839d 修改bug 2024-02-21 10:48:29 +08:00
wr
2d77e44795 1.bug修改 2024-02-20 16:04:42 +08:00
7f3ae60701 河北超高压算法调整-母线基准水平评估市县数据屏蔽 2024-02-20 15:46:38 +08:00
hzj
f31302c96e 算法修改保留小数位数 2024-02-20 15:04:45 +08:00
hzj
cfe80684f8 算法修改保留小数位数 2024-02-20 10:56:51 +08:00
hzj
5d1f138784 算法修改保留小数位数 2024-02-20 10:19:06 +08:00
hzj
e03c0d164c 算法修改保留小数位数 2024-02-20 10:16:30 +08:00
wr
0bee509621 1.代码调整 2024-02-19 15:02:29 +08:00
wr
06c2cf095c 1.完善专项分析-终端检测管理 2024-02-19 10:13:56 +08:00
wr
3148a84444 1.过程监督-谐波普测管理代码调整
2.过程监督-干扰用户管理代码调整
3.过程监督-电能质量问题管理代码调整
4.过程监督-终端监测管理代码调整
2024-02-05 14:08:06 +08:00
wr
68b7425a4e 1.echarts配置地址调整
2.pms暂态报告代码调整
2024-02-05 14:02:50 +08:00
c8525f477a 河北超高压算法-区域电站母线电压类指标超标统计 2024-02-04 14:33:29 +08:00
4d070f93c6 1.暂态实体 2024-02-04 11:40:13 +08:00
714c82c45e 1.添加pms暂态算法季表
2.添加pms暂态算法年表
2024-02-04 11:31:04 +08:00
2674 changed files with 121140 additions and 78468 deletions

25
pom.xml
View File

@@ -17,12 +17,12 @@
<module>pqs-device</module>
<module>pqs-energy</module>
<module>pqs-event</module>
<module>pqs-job</module>
<module>pqs-job/job-api</module>
<module>pqs-advance</module>
<module>pqs-prepare</module>
<module>pqs-process</module>
<module>pqs-influx</module>
<module>pqs-bpm</module>
<module>pqs-supervision</module>
<module>pqs-algorithm</module>
</modules>
<packaging>pom</packaging>
<name>灿能微服务生态系统</name>
@@ -30,29 +30,34 @@
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.1.13:8001/nexus/content/repositories/releases/</url>
<url>http://192.168.1.22:8001/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.1.13:8001/nexus/content/repositories/snapshots/</url>
<url>http://192.168.1.22:8001/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<properties>
<!--中间件目标地址-->
<!-- <middle.server.url>101.132.25.239</middle.server.url>-->
<middle.server.url>192.168.1.13</middle.server.url>
<!-- <middle.server.url>10.95.53.49</middle.server.url>-->
<middle.server.url>192.168.1.22</middle.server.url>
<!--微服务模块发布地址-->
<service.server.url>127.0.0.1</service.server.url>
<!--docker仓库地址-->
<docker.server.url>192.168.1.13</docker.server.url>
<docker.server.url>192.168.1.22</docker.server.url>
<!--nacos的ip:port-->
<nacos.url>${middle.server.url}:18848</nacos.url>
<!--nacos开启鉴权后的用户名-->
<nacos.username>nacos</nacos.username>
<!--nacos的ip:port-->
<nacos.password>nacos</nacos.password>
<!--服务器发布内容为空-->
<!-- <nacos.namespace></nacos.namespace>-->
<!-- <nacos.namespace>1dd11af6-e668-41fd-a663-02a05705304d</nacos.namespace>-->
<!-- <nacos.namespace>30c701c4-2a94-49d9-82e1-76aa9456573f</nacos.namespace>-->
<nacos.namespace>fd74182b-1fce-4dba-afa7-2623b0376205</nacos.namespace>
<!--sentinel:port-->
<!-- <nacos.namespace>910d0d69-2254-481b-b9f7-7ecf9cb881b0</nacos.namespace>-->
<!-- sentinel:port-->
<sentinel.url>${middle.server.url}:8080</sentinel.url>
<!--网关地址主要用于配置swagger中认证token-->
<gateway.url>${service.server.url}:10215</gateway.url>

View File

@@ -39,11 +39,16 @@
<artifactId>event-api</artifactId>
<version>${project.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.sun.jna</groupId>-->
<!-- <artifactId>jna</artifactId>-->
<!-- <version>3.0.9</version>-->
<!-- <scope>compile</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>com.sun.jna</groupId>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>3.0.9</version>
<scope>compile</scope>
<version>5.5.0</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
@@ -60,5 +65,21 @@
<artifactId>harmonic-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.ejml</groupId>
<artifactId>ejml-simple</artifactId>
<version>0.41</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
</dependencies>
</project>

View File

@@ -9,6 +9,9 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author wr
*/
@FeignClient(value = ServerInfo.ADVANCE_BOOT,path = "/waveAnalysis",
fallbackFactory = EventWaveAnalysisFeignClientFallbackFactory.class,
contextId = "waveAnalysis" )
@@ -16,9 +19,9 @@ public interface EventWaveAnalysisFeignClient {
/**
* @Description: 波形高级分析
* @param eventIndex
* @return: com.njcn.common.pojo.response.HttpResult<com.njcn.advance.pojo.dto.waveAnalysis.EntityAdvancedData>
* 波形高级分析
* @param eventIndex 事件索引
* @return com.njcn.common.pojo.response.HttpResult<com.njcn.advance.pojo.dto.waveAnalysis.EntityAdvancedData>
* @Author: wr
* @Date: 2023/11/1 14:23
*/

View File

@@ -11,6 +11,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author wr
*/
@Slf4j
@Component
public class EventWaveAnalysisFeignClientFallbackFactory implements FallbackFactory<EventWaveAnalysisFeignClient> {
@@ -24,7 +27,6 @@ public class EventWaveAnalysisFeignClientFallbackFactory implements FallbackFact
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new EventWaveAnalysisFeignClient() {
@Override
public HttpResult<EntityAdvancedData> analysis(String eventIndex) {
log.error("{}异常,降级处理,异常为:{}", "波形高级分析", throwable.toString());

View File

@@ -30,7 +30,56 @@ public enum AdvanceResponseEnum {
RESPONSIBILITY_PARAMETER_ERROR("A0101","调用接口程序计算失败,参数非法"),
EVENT_EMPTY("A0102","没有查询到未分析事件")
EVENT_EMPTY("A0102","没有查询到未分析事件"),
USER_NAME_EXIST("A0103","用户名已存在"),
DATA_NOT_FOUND("A0104","数据缺失,请根据模版上传近两周数据"),
DATA_UNDERRUN("A0104","数据量不足,请根据模版上传充足近两周数据"),
DOCUMENT_FORMAT_ERROR("A0105","数据缺失,导入失败!请检查导入文档的格式是否正确"),
DEVICE_LOST("A0104","用户下缺少设备"),
USER_LOST("A0106","干扰源用户缺失"),
UNCOMPLETE_STRATEGY("A0106","配置安全III级预警,II级预警,I级预警4条完整策略"),
EXISTENCE_EVALUATION_RESULT("A0104","存在评结果结果,如要评估,请删除后评估"),
SG_USER_NAME_REPEAT("A0102","业务用户名重复"),
SG_PRODUCT_LINE_NAME_REPEAT("A0102","生产线名重复"),
SG_USER_ID_MISS("A0102","业务用户id缺失"),
SG_PRODUCT_LINE_ID_MISS("A0102","生产线id缺失"),
SG_MACHINE_ID_MISS("A0102","设备id缺失"),
IMPORT_EVENT_DATA_FAIL("A0102","请检查导入数据的准确性"),
PRODUCT_LINE_DATA_MISS("A0102","生产线数据缺失"),
MACHINE_DATA_MISS("A0102","设备数据缺失"),
INCOMING_LINE_DATA_MISS("A0102","进线数据缺失"),
EVENT_DATA_MISS("A0102","没有可供参考的暂降数据"),
WIN_DATA_ERROR("A0102","算法校验窗宽超限"),
DATA_ERROR("A0102","算法校验数据长度超限"),
INIT_DATA_ERROR("A0102","算法初始化数据失败"),
USER_HAS_PRODUCT("A0102","当前用户存在生产线"),
PRODUCT_HAS_MACHINE("A0102","当前生产线存在设备"),
MACHINE_HAS_UNIT("A0102","当前设备存在元器件"),
EVENT_TIME_ERROR("A0102","暂降事件时间格式有误,请检查"),
INVALID_FILE_TYPE("A0102","请选择CSV文件"),
;
private final String code;

View File

@@ -0,0 +1,164 @@
package com.njcn.advance.enums;
import lombok.Getter;
/**
* @Description: 承载能力评估相关枚举
* @Author: clam
* @Date: 2024/1/31
*/
@Getter
public enum CarryingCapacityEnum {
K("K","0.8","海南日照修正系数"),
/**
* h 3 ,5 ,7 ,9 ,11 ,13或者偶次
* k_h 1.62, ,1.28 ,0.72 ,0.18 ,0.08 ,0
*/
K_H_2("K_H_2","0.00","2次谐波电流K_2系数"),
K_H_3("K_H_3","1.62","3次谐波电流K_3系数"),
K_H_4("K_H_4","0.00","4次谐波电流K_4系数"),
K_H_5("K_H_5","1.28","5次谐波电流K_5系数"),
K_H_6("K_H_6","0.00","6次谐波电流K_6系数"),
K_H_7("K_H_7","0.72","7次谐波电流K_7系数"),
K_H_8("K_H_8","0.00","8次谐波电流K_8系数"),
K_H_9("K_H_9","0.18","9次谐波电流K_9系数"),
K_H_10("K_H_10","0.00","10次谐波电流K_10系数"),
K_H_11("K_H_11","0.08","11次谐波电流K_11系数"),
K_H_12("K_H_12","0.00","12次谐波电流K_12系数"),
K_H_13("K_H_13","0.00","13次谐波电流K_13系数"),
K_H_14("K_H_14","0.00","14次谐波电流K_14系数"),
K_H_15("K_H_15","0.00","15次谐波电流K_15系数"),
K_H_16("K_H_16","0.00","16次谐波电流K_16系数"),
K_H_17("K_H_17","0.00","17次谐波电流K_17系数"),
K_H_18("K_H_18","0.00","18次谐波电流K_18系数"),
K_H_19("K_H_19","0.00","19次谐波电流K_19系数"),
K_H_20("K_H_20","0.00","20次谐波电流K_20系数"),
K_H_21("K_H_21","0.00","21次谐波电流K_21系数"),
K_H_22("K_H_22","0.00","22次谐波电流K_22系数"),
K_H_23("K_H_23","0.00","23次谐波电流K_23系数"),
K_H_24("K_H_24","0.00","24次谐波电流K_24系数"),
K_H_25("K_H_25","0.00","25次谐波电流K_25系数"),
//光伏逆变器第h次的典型谐波电流含有率:I_INV_H
I_INV_2("I_INV_2","0.254","2次典型谐波电流含有率"),
I_INV_3("I_INV_3","0.121","3次典型谐波电流含有率"),
I_INV_4("I_INV_4","0.087","4次典型谐波电流含有率"),
I_INV_5("I_INV_5","2.446","5次典型谐波电流含有率"),
I_INV_6("I_INV_6","0.024","6次典型谐波电流含有率"),
I_INV_7("I_INV_7","1.629","7次典型谐波电流含有率"),
I_INV_8("I_INV_8","0.042","8次典型谐波电流含有率"),
I_INV_9("I_INV_9","0.039","9次典型谐波电流含有率"),
I_INV_10("I_INV_10","0.037","10次典型谐波电流含有率"),
I_INV_11("I_INV_11","0.439","11次典型谐波电流含有率"),
I_INV_12("I_INV_12","0.021","12次典型谐波电流含有率"),
I_INV_13("I_INV_13","0.379","13次典型谐波电流含有率"),
I_INV_14("I_INV_14","0.042","14次典型谐波电流含有率"),
I_INV_15("I_INV_15","0.037","15次典型谐波电流含有率"),
I_INV_16("I_INV_16","0.043","16次典型谐波电流含有率"),
I_INV_17("I_INV_17","0.263","17次典型谐波电流含有率"),
I_INV_18("I_INV_18","0.017","18次典型谐波电流含有率"),
I_INV_19("I_INV_19","0.197","19次典型谐波电流含有率"),
I_INV_20("I_INV_20","0.062","20次典型谐波电流含有率"),
I_INV_21("I_INV_21","0.024","21次典型谐波电流含有率"),
I_INV_22("I_INV_22","0.032","22次典型谐波电流含有率"),
I_INV_23("I_INV_23","0.304","23次典型谐波电流含有率"),
I_INV_24("I_INV_24","0.03","24次典型谐波电流含有率"),
I_INV_25("I_INV_25","0.176","25次典型谐波电流含有率"),
I_INV_26("I_INV_26","0.032","26次典型谐波电流含有率"),
I_INV_27("I_INV_27","0.038","27次典型谐波电流含有率"),
I_INV_28("I_INV_28","0.031","28次典型谐波电流含有率"),
I_INV_29("I_INV_29","0.158","29次典型谐波电流含有率"),
I_INV_30("I_INV_30","0.024","30次典型谐波电流含有率"),
I_INV_31("I_INV_31","0.028","31次典型谐波电流含有率"),
I_INV_32("I_INV_32","0.026","32次典型谐波电流含有率"),
I_INV_33("I_INV_33","0.033","33次典型谐波电流含有率"),
I_INV_34("I_INV_34","0.018","34次典型谐波电流含有率"),
I_INV_35("I_INV_35","0.072","35次典型谐波电流含有率"),
//电弧炉谐波电流含有率
// EAF_I_2("EAF_I_2","0.6112","2次电弧炉谐波电流含有率"),
EAF_I_3("EAF_I_3","0.13484","3次电弧炉谐波电流含有率"),
// EAF_I_4("EAF_I_4","0.9906","4次电弧炉谐波电流含有率"),
EAF_I_5("EAF_I_5","0.017327","5次电弧炉谐波电流含有率"),
// EAF_I_6("EAF_I_6","0.5750","6次电弧炉谐波电流含有率"),
EAF_I_7("EAF_I_7","0.015288","7次电弧炉谐波电流含有率"),
// EAF_I_8("EAF_I_8","0.4782","8次电弧炉谐波电流含有率"),
EAF_I_9("EAF_I_9","0.001495","9次电弧炉谐波电流含有率"),
// EAF_I_10("EAF_I_10","0.6003","10次电弧炉谐波电流含有率"),
EAF_I_11("EAF_I_11","0.001203","11次电弧炉谐波电流含有率"),
// EAF_I_12("EAF_I_12","0.5242","12次电弧炉谐波电流含有率"),
EAF_I_13("EAF_I_13","0.001407","13次电弧炉谐波电流含有率"),
// EAF_I_14("EAF_I_14","0.5720","14次电弧炉谐波电流含有率"),
EAF_I_15("EAF_I_15","0.001676","15次电弧炉谐波电流含有率"),
// EAF_I_16("EAF_I_16","0.8234","16次电弧炉谐波电流含有率"),
EAF_I_17("EAF_I_17","0.001555","17次电弧炉谐波电流含有率"),
// EAF_I_18("EAF_I_18","0.8848","18次电弧炉谐波电流含有率"),
EAF_I_19("EAF_I_19","0.001159","19次电弧炉谐波电流含有率"),
// EAF_I_20("EAF_I_20","0.6789","20次电弧炉谐波电流含有率"),
//充电桩谐波电流含有率
// CP_I_2("CP_I_2","5.00","2次电弧炉谐波电流含有率"),
CP_I_3("CP_I_3","0.2011","3次电弧炉谐波电流含有率"),
// CP_I_4("CP_I_4","4.00","4次电弧炉谐波电流含有率"),
CP_I_5("CP_I_5","0.1069","5次电弧炉谐波电流含有率"),
// CP_I_6("CP_I_6","4.00","6次电弧炉谐波电流含有率"),
CP_I_7("CP_I_7","0.0647","7次电弧炉谐波电流含有率"),
// CP_I_8("CP_I_8","2.00","8次电弧炉谐波电流含有率"),
CP_I_9("CP_I_9","0.0376","9次电弧炉谐波电流含有率"),
// CP_I_10("CP_I_10","1.50","10次电弧炉谐波电流含有率"),
CP_I_11("CP_I_11","0.0232","11次电弧炉谐波电流含有率"),
// CP_I_12("CP_I_12","0.50","12次电弧炉谐波电流含有率"),
CP_I_13("CP_I_13","0.0155","13次电弧炉谐波电流含有率"),
// CP_I_14("CP_I_14","0.00","14次电弧炉谐波电流含有率"),
CP_I_15("CP_I_15","0.005956","15次电弧炉谐波电流含有率"),
// CP_I_16("CP_I_16","0.00","16次电弧炉谐波电流含有率"),
CP_I_17("CP_I_17","0.054185","17次电弧炉谐波电流含有率"),
// CP_I_18("CP_I_18","0.00","18次电弧炉谐波电流含有率"),
CP_I_19("CP_I_19","0.023503","19次电弧炉谐波电流含有率"),
// CP_I_20("CP_I_20","0.00","20次电弧炉谐波电流含有率"),
//电气化铁路典型
ER_I_3("ER_I_3","0.0068935","3次电弧炉谐波电流含有率"),
ER_I_5("ER_I_5","0.069575","5次电弧炉谐波电流含有率"),
ER_I_7("ER_I_7","0.032731","7次电弧炉谐波电流含有率"),
ER_I_9("ER_I_9","0.005197","9次电弧炉谐波电流含有率"),
ER_I_11("ER_I_11","0.045631","11次电弧炉谐波电流含有率"),
ER_I_13("ER_I_13","0.029196","13次电弧炉谐波电流含有率"),
ER_I_15("ER_I_15","0.017","15次电弧炉谐波电流含有率"),
ER_I_17("ER_I_17","0.0095","17次电弧炉谐波电流含有率"),
ER_I_19("ER_I_19","0.0080","19次电弧炉谐波电流含有率"),
;
/**
* 字段code
*/
private final String Code;
/**
* 字段值
*/
private final String value;
/**
* 字段描述
*/
private final String description;
CarryingCapacityEnum(String code, String value, String description) {
Code = code;
this.value = value;
this.description = description;
}
public static String getValueByCode(String code) {
for (CarryingCapacityEnum item : CarryingCapacityEnum.values()) {
if (item.Code.equals(code)) {
return item.value;
}
}
return null;
}
}

View File

@@ -4,7 +4,6 @@ package com.njcn.advance.enums;
* @Author: Sunwei 【sunW2016@163.com】
* @Description: 高级分析返回结果
* @Date: Create in 9:02 2018/3/6
* @Modified By:
*/
public enum EnumEvt {
EVT_NUM("evt_num", "高级算法返回事件个数"), EVT_BUF("evt_buf", "高级算法返回数据"), QVVR_TYPE("qvvr_type", "暂降类型"), POW_A("POW_a",

View File

@@ -0,0 +1,46 @@
package com.njcn.advance.enums;
import lombok.Getter;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年04月13日 10:50
*/
@Getter
public enum GovernSchemeEnum {
UPS(0, "UPS治理方案"),
AVC(1, "AVC治理方案"),
AVC_RTS(2, "AVC-RTS治理方案"),
QUICK(3, "快切开关治理方案"),
NO_SCHEME(4, "未采取任何治理措施"),
;
private final Integer code;
private final String message;
GovernSchemeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
/**
* 根据code获取对应的枚举
*/
public static GovernSchemeEnum getSchemeByCode(int code) {
for (GovernSchemeEnum governSchemeEnum : GovernSchemeEnum.values()) {
if (governSchemeEnum.code == code) {
return governSchemeEnum;
}
}
return GovernSchemeEnum.NO_SCHEME;
}
}

View File

@@ -0,0 +1,292 @@
package com.njcn.advance.pojo.carrycapacity.excel;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.converters.localdatetime.LocalDateTimeStringConverter;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/12 9:13
*/
@Data
public class CarryCapcityDataEexcel {
@ExcelProperty(index = 0,value = "时间(格式为yyyy-MM-dd hh:mm:ss)",converter = LocalDateTimeStringConverter.class)
@JSONField(format = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime time;
@ExcelProperty(index =1,value = {"电压","A"})
private Double u_a;
@ExcelProperty(index =2,value = {"电压","B"})
private Double u_b;
@ExcelProperty(index =3,value = {"电压","C"})
private Double u_c;
@ExcelProperty(index =4,value = {"有功功率","A"})
private Double p_a;
@ExcelProperty(index =5,value = {"有功功率","B"})
private Double p_b;
@ExcelProperty(index =6,value = {"有功功率","C"})
private Double p_c;
@ExcelProperty(index =7,value = {"无功功率","A"})
private Double q_a;
@ExcelProperty(index =8,value = {"无功功率","B"})
private Double q_b;
@ExcelProperty(index =9,value = {"无功功率","C"})
private Double q_c;
@ExcelProperty(index =10,value = {"电流","2次","A"})
private Double i2_a;
@ExcelProperty(index =11,value = {"电流","2次","B"})
private Double i2_b;
@ExcelProperty(index =12,value = {"电流","2次","C"})
private Double i2_c;
@ExcelProperty(index =13,value = {"电流","3次","A"})
private Double i3_a;
@ExcelProperty(index =14,value = {"电流","3次","B"})
private Double i3_b;
@ExcelProperty(index =15,value = {"电流","3次","C"})
private Double i3_c;
@ExcelProperty(index =16,value = {"电流","4次","A"})
private Double i4_a;
@ExcelProperty(index =17,value = {"电流","4次","B"})
private Double i4_b;
@ExcelProperty(index =18,value = {"电流","4次","C"})
private Double i4_c;
@ExcelProperty(index =19,value = {"电流","5次","A"})
private Double i5_a;
@ExcelProperty(index =20,value = {"电流","5次","B"})
private Double i5_b;
@ExcelProperty(index =21,value = {"电流","5次","C"})
private Double i5_c;
@ExcelProperty(index =22,value = {"电流","6次","A"})
private Double i6_a;
@ExcelProperty(index =23,value = {"电流","6次","B"})
private Double i6_b;
@ExcelProperty(index =24,value = {"电流","6次","C"})
private Double i6_c;
@ExcelProperty(index =25,value = {"电流","7次","A"})
private Double i7_a;
@ExcelProperty(index =26,value = {"电流","7次","B"})
private Double i7_b;
@ExcelProperty(index =27,value = {"电流","7次","C"})
private Double i7_c;
@ExcelProperty(index =28,value = {"电流","8次","A"})
private Double i8_a;
@ExcelProperty(index =29,value = {"电流","8次","B"})
private Double i8_b;
@ExcelProperty(index =30,value = {"电流","8次","C"})
private Double i8_c;
@ExcelProperty(index =31,value = {"电流","9次","A"})
private Double i9_a;
@ExcelProperty(index =32,value = {"电流","9次","B"})
private Double i9_b;
@ExcelProperty(index =33,value = {"电流","9次","C"})
private Double i9_c;
@ExcelProperty(index =34,value = {"电流","10次","A"})
private Double i10_a;
@ExcelProperty(index =35,value = {"电流","10次","B"})
private Double i10_b;
@ExcelProperty(index =36,value = {"电流","10次","C"})
private Double i10_c;
@ExcelProperty(index =37,value = {"电流","11次","A"})
private Double i11_a;
@ExcelProperty(index =38,value = {"电流","11次","B"})
private Double i11_b;
@ExcelProperty(index =39,value = {"电流","11次","C"})
private Double i11_c;
@ExcelProperty(index =40,value = {"电流","12次","A"})
private Double i12_a;
@ExcelProperty(index =41,value = {"电流","12次","B"})
private Double i12_b;
@ExcelProperty(index =42,value = {"电流","12次","C"})
private Double i12_c;
@ExcelProperty(index =43,value = {"电流","13次","A"})
private Double i13_a;
@ExcelProperty(index =44,value = {"电流","13次","B"})
private Double i13_b;
@ExcelProperty(index =45,value = {"电流","13次","C"})
private Double i13_c;
@ExcelProperty(index =46,value = {"电流","14次","A"})
private Double i14_a;
@ExcelProperty(index =47,value = {"电流","14次","B"})
private Double i14_b;
@ExcelProperty(index =48,value = {"电流","14次","C"})
private Double i14_c;
@ExcelProperty(index =49,value = {"电流","15次","A"})
private Double i15_a;
@ExcelProperty(index =50,value = {"电流","15次","B"})
private Double i15_b;
@ExcelProperty(index =51,value = {"电流","15次","C"})
private Double i15_c;
@ExcelProperty(index =52,value = {"电流","16次","A"})
private Double i16_a;
@ExcelProperty(index =53,value = {"电流","16次","B"})
private Double i16_b;
@ExcelProperty(index =54,value = {"电流","16次","C"})
private Double i16_c;
@ExcelProperty(index =55,value = {"电流","17次","A"})
private Double i17_a;
@ExcelProperty(index =56,value = {"电流","17次","B"})
private Double i17_b;
@ExcelProperty(index =57,value = {"电流","17次","C"})
private Double i17_c;
@ExcelProperty(index =58,value = {"电流","18次","A"})
private Double i18_a;
@ExcelProperty(index =59,value = {"电流","18次","B"})
private Double i18_b;
@ExcelProperty(index =60,value = {"电流","18次","C"})
private Double i18_c;
@ExcelProperty(index =61,value = {"电流","19次","A"})
private Double i19_a;
@ExcelProperty(index =62,value = {"电流","19次","B"})
private Double i19_b;
@ExcelProperty(index =63,value = {"电流","19次","C"})
private Double i19_c;
@ExcelProperty(index =64,value = {"电流","20次","A"})
private Double i20_a;
@ExcelProperty(index =65,value = {"电流","20次","B"})
private Double i20_b;
@ExcelProperty(index =66,value = {"电流","20次","C"})
private Double i20_c;
@ExcelProperty(index =67,value = {"电流","21次","A"})
private Double i21_a;
@ExcelProperty(index =68,value = {"电流","21次","B"})
private Double i21_b;
@ExcelProperty(index =69,value = {"电流","21次","C"})
private Double i21_c;
@ExcelProperty(index =70,value = {"电流","22次","A"})
private Double i22_a;
@ExcelProperty(index =71,value = {"电流","22次","B"})
private Double i22_b;
@ExcelProperty(index =72,value = {"电流","22次","C"})
private Double i22_c;
@ExcelProperty(index =73,value = {"电流","23次","A"})
private Double i23_a;
@ExcelProperty(index =74,value = {"电流","23次","B"})
private Double i23_b;
@ExcelProperty(index =75,value = {"电流","23次","C"})
private Double i23_c;
@ExcelProperty(index =76,value = {"电流","24次","A"})
private Double i24_a;
@ExcelProperty(index =77,value = {"电流","24次","B"})
private Double i24_b;
@ExcelProperty(index =78,value = {"电流","24次","C"})
private Double i24_c;
@ExcelProperty(index =79,value = {"电流","25次","A"})
private Double i25_a;
@ExcelProperty(index =80,value = {"电流","25次","B"})
private Double i25_b;
@ExcelProperty(index =81,value = {"电流","25次","C"})
private Double i25_c;
public static void main(String[] args) {
// List<CarryCapcityDataEexcel> objects = EasyExcelUtil.syncReadModel("C:\\Users\\无名\\Desktop\\11.xlsx", CarryCapcityDataEexcel.class, 0,3);
// System.out.println(objects);
String sheetName = "sheetName";
List<CarryCapcityDataEexcel> excels = new ArrayList<>();
CarryCapcityDataEexcel exportHeadersExcel = new CarryCapcityDataEexcel();
excels.add(exportHeadersExcel);
EasyExcel.write("C:\\\\Users\\\\无名\\\\Desktop\\\\22.xlsx", CarryCapcityDataEexcel.class)
.sheet(sheetName)
.doWrite(excels);
EasyExcel.write("C:\\\\Users\\\\无名\\\\Desktop\\\\22.xlsx", CarryCapcityDataEexcel.class)
.sheet("sheetName2")
.doWrite(excels);
}
}

View File

@@ -0,0 +1,424 @@
package com.njcn.advance.pojo.carrycapacity.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.njcn.influx.pojo.po.DataI;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.springframework.beans.BeanUtils;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/12 9:13
*/
@Data
public class CarryCapcityDataIEexcel {
@Excel(name = "时间",width = 30)
private Instant time;
@Column(name = "line_id")
@Excel(name = "监测点id",width = 30)
private String lineId;
@Excel(name = "数据类型(CP95)",width = 30)
private String valueType;
@Column(name = "i_2")
@Excel(name = "A项2次谐波幅值",width = 15)
private Double i2_a;
@Column(name = "i_3")
@Excel(name = "A项3次谐波幅值",width = 15)
private Double i3_a;
@Column(name = "i_4")
@Excel(name = "A项4次谐波幅值",width = 15)
private Double i4_a;
@Column(name = "i_5")
@Excel(name = "A项5次谐波幅值",width = 15)
private Double i5_a;
@Column(name = "i_6")
@Excel(name = "A项6次谐波幅值",width = 15)
private Double i6_a;
@Column(name = "i_7")
@Excel(name = "A项7次谐波幅值",width = 15)
private Double i7_a;
@Column(name = "i_8")
@Excel(name = "A项8次谐波幅值",width = 15)
private Double i8_a;
@Column(name = "i_9")
@Excel(name = "A项9次谐波幅值",width = 15)
private Double i9_a;
@Column(name = "i_10")
@Excel(name = "A项10次谐波幅值",width = 15)
private Double i10_a;
@Column(name = "i_11")
@Excel(name = "A项11次谐波幅值",width = 15)
private Double i11_a;
@Column(name = "i_12")
@Excel(name = "A项12次谐波幅值",width = 15)
private Double i12_a;
@Column(name = "i_13")
@Excel(name = "A项13次谐波幅值",width = 15)
private Double i13_a;
@Column(name = "i_14")
@Excel(name = "A项14次谐波幅值",width = 15)
private Double i14_a;
@Column(name = "i_15")
@Excel(name = "A项15次谐波幅值",width = 15)
private Double i15_a;
@Column(name = "i_16")
@Excel(name = "A项16次谐波幅值",width = 15)
private Double i16_a;
@Column(name = "i_17")
@Excel(name = "A项17次谐波幅值",width = 15)
private Double i17_a;
@Column(name = "i_18")
@Excel(name = "A项18次谐波幅值",width = 15)
private Double i18_a;
@Column(name = "i_19")
@Excel(name = "A项19次谐波幅值",width = 15)
private Double i19_a;
@Column(name = "i_20")
@Excel(name = "A项20次谐波幅值",width = 15)
private Double i20_a;
@Column(name = "i_21")
@Excel(name = "A项21次谐波幅值",width = 15)
private Double i21_a;
@Column(name = "i_22")
@Excel(name = "A项22次谐波幅值",width = 15)
private Double i22_a;
@Column(name = "i_23")
@Excel(name = "A项23次谐波幅值",width = 15)
private Double i23_a;
@Column(name = "i_24")
@Excel(name = "A项24次谐波幅值",width = 15)
private Double i24_a;
@Column(name = "i_25")
@Excel(name = "A项25次谐波幅值",width = 15)
private Double i25_a;
@Column(name = "i_2")
@Excel(name = "B项2次谐波幅值",width = 15)
private Double i2_b;
@Column(name = "i_3")
@Excel(name = "B项3次谐波幅值",width = 15)
private Double i3_b;
@Column(name = "i_4")
@Excel(name = "B项4次谐波幅值",width = 15)
private Double i4_b;
@Column(name = "i_5")
@Excel(name = "B项5次谐波幅值",width = 15)
private Double i5_b;
@Column(name = "i_6")
@Excel(name = "B项6次谐波幅值",width = 15)
private Double i6_b;
@Column(name = "i_7")
@Excel(name = "B项7次谐波幅值",width = 15)
private Double i7_b;
@Column(name = "i_8")
@Excel(name = "B项8次谐波幅值",width = 15)
private Double i8_b;
@Column(name = "i_9")
@Excel(name = "B项9次谐波幅值",width = 15)
private Double i9_b;
@Column(name = "i_10")
@Excel(name = "B项10次谐波幅值",width = 15)
private Double i10_b;
@Column(name = "i_11")
@Excel(name = "B项11次谐波幅值",width = 15)
private Double i11_b;
@Column(name = "i_12")
@Excel(name = "B项12次谐波幅值",width = 15)
private Double i12_b;
@Column(name = "i_13")
@Excel(name = "B项13次谐波幅值",width = 15)
private Double i13_b;
@Column(name = "i_14")
@Excel(name = "B项14次谐波幅值",width = 15)
private Double i14_b;
@Column(name = "i_15")
@Excel(name = "B项15次谐波幅值",width = 15)
private Double i15_b;
@Column(name = "i_16")
@Excel(name = "B项16次谐波幅值",width = 15)
private Double i16_b;
@Column(name = "i_17")
@Excel(name = "B项17次谐波幅值",width = 15)
private Double i17_b;
@Column(name = "i_18")
@Excel(name = "B项18次谐波幅值",width = 15)
private Double i18_b;
@Column(name = "i_19")
@Excel(name = "B项19次谐波幅值",width = 15)
private Double i19_b;
@Column(name = "i_20")
@Excel(name = "B项20次谐波幅值",width = 15)
private Double i20_b;
@Column(name = "i_21")
@Excel(name = "B项21次谐波幅值",width = 15)
private Double i21_b;
@Column(name = "i_22")
@Excel(name = "B项22次谐波幅值",width = 15)
private Double i22_b;
@Column(name = "i_23")
@Excel(name = "B项23次谐波幅值",width = 15)
private Double i23_b;
@Column(name = "i_24")
@Excel(name = "B项24次谐波幅值",width = 15)
private Double i24_b;
@Column(name = "i_25")
@Excel(name = "B项25次谐波幅值",width = 15)
private Double i25_b;
@Column(name = "i_2")
@Excel(name = "C项2次谐波幅值",width = 15)
private Double i2_c;
@Column(name = "i_3")
@Excel(name = "C项3次谐波幅值",width = 15)
private Double i3_c;
@Column(name = "i_4")
@Excel(name = "C项4次谐波幅值",width = 15)
private Double i4_c;
@Column(name = "i_5")
@Excel(name = "C项5次谐波幅值",width = 15)
private Double i5_c;
@Column(name = "i_6")
@Excel(name = "C项6次谐波幅值",width = 15)
private Double i6_c;
@Column(name = "i_7")
@Excel(name = "C项7次谐波幅值",width = 15)
private Double i7_c;
@Column(name = "i_8")
@Excel(name = "C项8次谐波幅值",width = 15)
private Double i8_c;
@Column(name = "i_9")
@Excel(name = "C项9次谐波幅值",width = 15)
private Double i9_c;
@Column(name = "i_10")
@Excel(name = "C项10次谐波幅值",width = 15)
private Double i10_c;
@Column(name = "i_11")
@Excel(name = "C项11次谐波幅值",width = 15)
private Double i11_c;
@Column(name = "i_12")
@Excel(name = "C项12次谐波幅值",width = 15)
private Double i12_c;
@Column(name = "i_13")
@Excel(name = "C项13次谐波幅值",width = 15)
private Double i13_c;
@Column(name = "i_14")
@Excel(name = "C项14次谐波幅值",width = 15)
private Double i14_c;
@Column(name = "i_15")
@Excel(name = "C项15次谐波幅值",width = 15)
private Double i15_c;
@Column(name = "i_16")
@Excel(name = "C项16次谐波幅值",width = 15)
private Double i16_c;
@Column(name = "i_17")
@Excel(name = "C项17次谐波幅值",width = 15)
private Double i17_c;
@Column(name = "i_18")
@Excel(name = "C项18次谐波幅值",width = 15)
private Double i18_c;
@Column(name = "i_19")
@Excel(name = "C项19次谐波幅值",width = 15)
private Double i19_c;
@Column(name = "i_20")
@Excel(name = "C项20次谐波幅值",width = 15)
private Double i20_c;
@Column(name = "i_21")
@Excel(name = "C项21次谐波幅值",width = 15)
private Double i21_c;
@Column(name = "i_22")
@Excel(name = "C项22次谐波幅值",width = 15)
private Double i22_c;
@Column(name = "i_23")
@Excel(name = "C项23次谐波幅值",width = 15)
private Double i23_c;
@Column(name = "i_24")
@Excel(name = "C项24次谐波幅值",width = 15)
private Double i24_c;
@Column(name = "i_25")
@Excel(name = "C项25次谐波幅值",width = 15)
private Double i25_c;
//excel对象转DataI
public static List<DataI> excelToPO(CarryCapcityDataIEexcel carryCapcityDataIEexcel) {
List<DataI> data = new ArrayList<>();
if (carryCapcityDataIEexcel == null) {
return null;
}
List<String> phaseList = Stream.of("A", "B", "C").collect(Collectors.toList());
for (String phase : phaseList) {
DataI dataI = new DataI();
BeanUtils.copyProperties(carryCapcityDataIEexcel,dataI);
dataI.setPhaseType(phase);
dataI.setTime(carryCapcityDataIEexcel.getTime());
if (phase.equals("A")) {
dataI.setI2( carryCapcityDataIEexcel.getI2_a());
dataI.setI3( carryCapcityDataIEexcel.getI3_a());
dataI.setI4( carryCapcityDataIEexcel.getI4_a());
dataI.setI5( carryCapcityDataIEexcel.getI5_a());
dataI.setI6( carryCapcityDataIEexcel.getI6_a());
dataI.setI7( carryCapcityDataIEexcel.getI7_a());
dataI.setI8( carryCapcityDataIEexcel.getI8_a());
dataI.setI9( carryCapcityDataIEexcel.getI9_a());
dataI.setI10( carryCapcityDataIEexcel.getI10_a());
dataI.setI11( carryCapcityDataIEexcel.getI11_a());
dataI.setI12( carryCapcityDataIEexcel.getI12_a());
dataI.setI13( carryCapcityDataIEexcel.getI13_a());
dataI.setI14( carryCapcityDataIEexcel.getI14_a());
dataI.setI15( carryCapcityDataIEexcel.getI15_a());
dataI.setI16( carryCapcityDataIEexcel.getI16_a());
dataI.setI17( carryCapcityDataIEexcel.getI17_a());
dataI.setI18( carryCapcityDataIEexcel.getI18_a());
dataI.setI19( carryCapcityDataIEexcel.getI19_a());
dataI.setI20( carryCapcityDataIEexcel.getI20_a());
dataI.setI21( carryCapcityDataIEexcel.getI21_a());
dataI.setI22( carryCapcityDataIEexcel.getI22_a());
dataI.setI23( carryCapcityDataIEexcel.getI23_a());
dataI.setI24( carryCapcityDataIEexcel.getI24_a());
dataI.setI25( carryCapcityDataIEexcel.getI25_a());
} else if (phase.equals("B")) {
dataI.setI2( carryCapcityDataIEexcel.getI2_b());
dataI.setI3( carryCapcityDataIEexcel.getI3_b());
dataI.setI4( carryCapcityDataIEexcel.getI4_b());
dataI.setI5( carryCapcityDataIEexcel.getI5_b());
dataI.setI6( carryCapcityDataIEexcel.getI6_b());
dataI.setI7( carryCapcityDataIEexcel.getI7_b());
dataI.setI8( carryCapcityDataIEexcel.getI8_b());
dataI.setI9( carryCapcityDataIEexcel.getI9_b());
dataI.setI10( carryCapcityDataIEexcel.getI10_b());
dataI.setI11( carryCapcityDataIEexcel.getI11_b());
dataI.setI12( carryCapcityDataIEexcel.getI12_b());
dataI.setI13( carryCapcityDataIEexcel.getI13_b());
dataI.setI14( carryCapcityDataIEexcel.getI14_b());
dataI.setI15( carryCapcityDataIEexcel.getI15_b());
dataI.setI16( carryCapcityDataIEexcel.getI16_b());
dataI.setI17( carryCapcityDataIEexcel.getI17_b());
dataI.setI18( carryCapcityDataIEexcel.getI18_b());
dataI.setI19( carryCapcityDataIEexcel.getI19_b());
dataI.setI20( carryCapcityDataIEexcel.getI20_b());
dataI.setI21( carryCapcityDataIEexcel.getI21_b());
dataI.setI22( carryCapcityDataIEexcel.getI22_b());
dataI.setI23( carryCapcityDataIEexcel.getI23_b());
dataI.setI24( carryCapcityDataIEexcel.getI24_b());
dataI.setI25( carryCapcityDataIEexcel.getI25_b());
}else if (phase.equals("C")){
dataI.setI2( carryCapcityDataIEexcel.getI2_c());
dataI.setI3( carryCapcityDataIEexcel.getI3_c());
dataI.setI4( carryCapcityDataIEexcel.getI4_c());
dataI.setI5( carryCapcityDataIEexcel.getI5_c());
dataI.setI6( carryCapcityDataIEexcel.getI6_c());
dataI.setI7( carryCapcityDataIEexcel.getI7_c());
dataI.setI8( carryCapcityDataIEexcel.getI8_c());
dataI.setI9( carryCapcityDataIEexcel.getI9_c());
dataI.setI10( carryCapcityDataIEexcel.getI10_c());
dataI.setI11( carryCapcityDataIEexcel.getI11_c());
dataI.setI12( carryCapcityDataIEexcel.getI12_c());
dataI.setI13( carryCapcityDataIEexcel.getI13_c());
dataI.setI14( carryCapcityDataIEexcel.getI14_c());
dataI.setI15( carryCapcityDataIEexcel.getI15_c());
dataI.setI16( carryCapcityDataIEexcel.getI16_c());
dataI.setI17( carryCapcityDataIEexcel.getI17_c());
dataI.setI18( carryCapcityDataIEexcel.getI18_c());
dataI.setI19( carryCapcityDataIEexcel.getI19_c());
dataI.setI20( carryCapcityDataIEexcel.getI20_c());
dataI.setI21( carryCapcityDataIEexcel.getI21_c());
dataI.setI22( carryCapcityDataIEexcel.getI22_c());
dataI.setI23( carryCapcityDataIEexcel.getI23_c());
dataI.setI24( carryCapcityDataIEexcel.getI24_c());
dataI.setI25( carryCapcityDataIEexcel.getI25_c());
}
data.add(dataI);
}
return data;
}
}

View File

@@ -0,0 +1,65 @@
package com.njcn.advance.pojo.carrycapacity.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/12 9:13
*/
@Data
public class CarryCapcityDataPEexcel {
@Excel(name = "时间",width = 30)
private Instant time;
@Excel(name = "监测点id",width = 30)
private String lineId;
@Excel(name = "数据类型(CP95)",width = 30)
private String valueType;
@Excel(name = "数据(A项有功功率)",width = 30)
private Double value_a;
@Excel(name = "数据(B项有功功率)",width = 30)
private Double value_b;
@Excel(name = "数据(C项有功功率)",width = 30)
private Double value_c;
public static List<CarryCapcityData> excelToPO(CarryCapcityDataPEexcel carryCapcityDataPEexcel) {
List<CarryCapcityData> data = new ArrayList<>();
if (carryCapcityDataPEexcel == null) {
return null;
}
List<String> phaseList = Stream.of("A", "B", "C").collect(Collectors.toList());
for (String phase : phaseList) {
CarryCapcityData carryCapcityData = new CarryCapcityData();
BeanUtils.copyProperties(carryCapcityDataPEexcel,carryCapcityData);
carryCapcityData.setPhaseType(phase);
carryCapcityData.setTime(carryCapcityDataPEexcel.getTime());
if (phase.equals("A")) {
carryCapcityData.setValue(carryCapcityDataPEexcel.getValue_a());
} else if (phase.equals("B")) {
carryCapcityData.setValue(carryCapcityDataPEexcel.getValue_b());
}else if (phase.equals("C")){
carryCapcityData.setValue(carryCapcityDataPEexcel.getValue_c());
}
data.add(carryCapcityData);
}
return data;
}
}

View File

@@ -0,0 +1,67 @@
package com.njcn.advance.pojo.carrycapacity.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/12 9:13
*/
@Data
public class CarryCapcityDataQEexcel {
@Excel(name = "时间",width = 30)
private Instant time;
@Excel(name = "监测点id",width = 30)
private String lineId;
@Excel(name = "数据类型(CP95)",width = 30)
private String valueType;
@Excel(name = "数据(A项无功功率)",width = 30)
private Double value_a;
@Excel(name = "数据(B项无功功率)",width = 30)
private Double value_b;
@Excel(name = "数据(C项无功功率)",width = 30)
private Double value_c;
public static List<CarryCapcityData> excelToPO(CarryCapcityDataQEexcel carryCapcityDataQEexcel) {
List<CarryCapcityData> data = new ArrayList<>();
if (carryCapcityDataQEexcel == null) {
return null;
}
List<String> phaseList = Stream.of("A", "B", "C").collect(Collectors.toList());
for (String phase : phaseList) {
CarryCapcityData carryCapcityData = new CarryCapcityData();
BeanUtils.copyProperties(carryCapcityDataQEexcel,carryCapcityData);
carryCapcityData.setPhaseType(phase);
carryCapcityData.setTime(carryCapcityDataQEexcel.getTime());
if (phase.equals("A")) {
carryCapcityData.setValue(carryCapcityDataQEexcel.getValue_a());
} else if (phase.equals("B")) {
carryCapcityData.setValue(carryCapcityDataQEexcel.getValue_b());
}else if (phase.equals("C")){
carryCapcityData.setValue(carryCapcityDataQEexcel.getValue_c());
}
data.add(carryCapcityData);
}
return data;
}
}

View File

@@ -0,0 +1,65 @@
package com.njcn.advance.pojo.carrycapacity.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/12 9:13
*/
@Data
public class CarryCapcityDataVEexcel {
@Excel(name = "时间",width = 30)
private Instant time;
@Excel(name = "监测点id",width = 30)
private String lineId;
@Excel(name = "数据类型(CP95)",width = 30)
private String valueType;
@Excel(name = "数据(A项电压)",width = 30)
private Double value_a;
@Excel(name = "数据(B项电压)",width = 30)
private Double value_b;
@Excel(name = "数据(C项电压)",width = 30)
private Double value_c;
public static List<CarryCapcityData> excelToPO(CarryCapcityDataVEexcel carryCapcityDataVEexcel) {
List<CarryCapcityData> data = new ArrayList<>();
if (carryCapcityDataVEexcel == null) {
return null;
}
List<String> phaseList = Stream.of("A", "B", "C").collect(Collectors.toList());
for (String phase : phaseList) {
CarryCapcityData carryCapcityData = new CarryCapcityData();
BeanUtils.copyProperties(carryCapcityDataVEexcel,carryCapcityData);
carryCapcityData.setPhaseType(phase);
carryCapcityData.setTime(carryCapcityDataVEexcel.getTime());
if (phase.equals("A")) {
carryCapcityData.setValue(carryCapcityDataVEexcel.getValue_a());
} else if (phase.equals("B")) {
carryCapcityData.setValue(carryCapcityDataVEexcel.getValue_b());
}else if (phase.equals("C")){
carryCapcityData.setValue(carryCapcityDataVEexcel.getValue_c());
}
data.add(carryCapcityData);
}
return data;
}
}

View File

@@ -0,0 +1,24 @@
package com.njcn.advance.pojo.carrycapacity.excel;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import com.njcn.influx.pojo.po.DataI;
import lombok.Data;
import java.util.List;
/**
* Description:
* Date: 2024/3/12 14:31【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class ExcelDataDTO {
private List<CarryCapcityData> dataHarmPowerPList;
private List<CarryCapcityData> dataHarmPowerQList;
private List<DataI> dataIList;
private List<CarryCapcityData> dataHarmPowerP2List;
private List<CarryCapcityData> dataHarmPowerQ2List;
private List<CarryCapcityData> dataHarmPowerU2List;
}

View File

@@ -0,0 +1,54 @@
package com.njcn.advance.pojo.carrycapacity.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
/**
*
* Description:
* Date: 2024/2/20 11:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CarryCapacityCalParam {
@NotBlank(message = "参数不能为空")
@ApiModelProperty("监测点索引")
private String lineId;
@ApiModelProperty("用户Id")
private String userId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate startTime;
@ApiModelProperty("结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate endTime;
@ApiModelProperty(name = "scale",value = "电压等级")
private String scale;
@ApiModelProperty(name = "S_T",value = "S_T为配变额定容量监测点基准容量")
private Double S_T;
@ApiModelProperty(name = "S_pv",value = "S_pv为拟接入光伏容量")
private Double S_pv;
@ApiModelProperty(name = "stringMap",value = "首端电流模型参数A,B,C三项")
private Map<String, Double[]> stringMap;
@ApiModelProperty(name = "P_βminMap",value = "有功功率最小CP95值A,B,C三项")
private Map<String, Double> P_βminMap;
@ApiModelProperty(name = "Q_βminMap",value = "无功功率最小CP95值A,B,C三项")
private Map<String, Double> Q_βminMap;
@ApiModelProperty(name = "I_βmax",value = "2-25次谐波幅值最大95概率值A,B,C三项中的最大值")
private List<Double> I_βmax;
}

View File

@@ -0,0 +1,51 @@
package com.njcn.advance.pojo.carrycapacity.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* Description:
* Date: 2024/3/20 9:59【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityDeviceParam {
private String userId;
/**
* 设备名称
*/
private String devName;
private String devScale;
/**
* 设备用户协议容量(MVA)
*/
private Double protocolCapacity;
@Data
@EqualsAndHashCode(callSuper = true)
public static class CarryCapacityDeviceUpdateParam extends CarryCapacityDeviceParam {
@ApiModelProperty("设备Id")
@NotBlank(message = "设备Id不能为空")
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String devId;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class CarryCapacityDeviceQueryParam extends CarryCapacityDeviceParam {
@ApiModelProperty("设备Id")
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String devId;
}
}

View File

@@ -0,0 +1,51 @@
package com.njcn.advance.pojo.carrycapacity.param;
import com.njcn.advance.pojo.carrycapacity.po.CarryCapacityDevicePO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
*
* Description:
* Date: 2024/2/20 11:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CarryCapacityEvaluateParam {
@ApiModelProperty(value = "接线类型不可为空\"星型接法_0\", \"三角型接法_1\", \"开口三角型接法_2\"")
@NotBlank(message = "接线类型不能为空")
private String ptType;
@ApiModelProperty(value = "变压器连接方式")
private String connectionMode;
@ApiModelProperty(value = "功率因数0.95-1之间")
@NotNull(message = "功率因数不能为空")
private Double k;
@ApiModelProperty(value = "专变用户,公变用户")
@NotBlank(message = "用户类型不能为空")
private String userMode;
@ApiModelProperty(name = "scale",value = "电压等级")
@NotBlank(message = "电压等级不能为空")
private String scale;
@ApiModelProperty(name = "shortCapacity",value = "短路容量")
private Float shortCapacity;
@ApiModelProperty(name = "deviceCapacity",value = "设备容量")
private Float deviceCapacity;
@ApiModelProperty(name = "userList",value = "干扰源用户设备列表")
private List<CarryCapacityDevicePO> devList;
}

View File

@@ -0,0 +1,42 @@
package com.njcn.advance.pojo.carrycapacity.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.time.LocalDate;
/**
*
* Description:
* Date: 2024/2/20 11:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CarryCapacityQueryDataParam {
@ApiModelProperty("监测点索引")
private String lineId;
@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate startTime;
@ApiModelProperty("结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate endTime;
@Min(2)
@Max(25)
@ApiModelProperty("谐波次数")
private Integer time=2;
}

View File

@@ -0,0 +1,52 @@
package com.njcn.advance.pojo.carrycapacity.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* Description:
* Date: 2024/3/8 16:23【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CarryCapacityResultParam {
/**
* 承载能力评估id
*/
private String id;
private String evaluateType;
@Data
@EqualsAndHashCode(callSuper = true)
public static class CarryCapacityResultPageParam extends CarryCapacityResultParam {
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "pageNum",dataType ="Integer",required = true)
private Integer pageNum;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
@ApiModelProperty(value="起始时间")
private String startTime;
@ApiModelProperty(value="结束时间")
private String endTime;
}
}

View File

@@ -0,0 +1,53 @@
package com.njcn.advance.pojo.carrycapacity.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* Description:
* Date: 2024/3/5 10:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CarryCapacityStrategyParam {
private String id;
/**
* 总承载能力评估结果1-安全2-III级预警3-II级预警4-I 级预警)
*/
@ApiModelProperty(value = "总承载能力评估结果1-安全2-III级预警3-II级预警4-I 级预警)")
@NotNull(message = "总承载能力评估结果不能为空")
private Integer result;
/**
* 指标评估结果1-安全2-III级预警3-II级预警4-I 级预警)
*/
@ApiModelProperty(value = "指标评估结果1-安全2-III级预警3-II级预警4-I 级预警)")
@NotNull(message = "指标评估结果不能为空")
private Integer indexResult;
/**
* 比较符
*/
@ApiModelProperty(value = "比较符")
@NotBlank(message = "比较符不能为空")
private String comparisonOperators;
/**
* 数量
*/
@ApiModelProperty(value = "数量")
@NotNull(message = "数量不能为空")
private Integer count;
}

View File

@@ -0,0 +1,103 @@
package com.njcn.advance.pojo.carrycapacity.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
*
* Description:
* Date: 2024/2/20 11:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CarryCapacityUserParam {
/**
* 用户名称
*/
private String userName;
/**
* 用户类型
*/
private String userType;
/**
* 电压等级(V)
*/
private String voltage;
/**
* 用户协议容量(MVA)
*/
private Double protocolCapacity;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区
*/
private String region;
/**
* 所属区域
*/
private String area;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class CarryCapacityUserUpdateParam extends CarryCapacityUserParam {
@ApiModelProperty("用户Id")
@NotBlank(message = "用户Id不能为空")
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String userId;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class CarryCapacityUserPageParam extends CarryCapacityUserParam {
private String userId;
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "pageNum",dataType ="Integer",required = true)
private Integer pageNum;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
private String voltage;
@ApiModelProperty(value="起始时间")
private String startTime;
@ApiModelProperty(value="结束时间")
private String endTime;
private List<String> userTypeList;
}
}

View File

@@ -0,0 +1,29 @@
package com.njcn.advance.pojo.carrycapacity.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank;
/**
* Description:
* Date: 2024/3/6 17:30【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class ExcelDataParam {
@NotBlank(message = "监测点索引为空")
@ApiModelProperty("监测点索引")
private String lineId;
@ApiModelProperty("开始时间")
private String startTime;
@ApiModelProperty("结束时间")
private String endTime;
@ApiModelProperty(value = "excel文件")
private MultipartFile file;
}

View File

@@ -0,0 +1,51 @@
package com.njcn.advance.pojo.carrycapacity.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
/**
*
* Description:
* Date: 2024/3/6 14:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "carry_capacity_data")
public class CarryCapacityDataPO extends BaseEntity{
/**
* 台区id
*/
@MppMultiId(value = "line_id")
private String lineId;
/**
* 开始时间
*/
@MppMultiId(value = "start_time")
private LocalDate startTime;
/**
* 结束时间
*/
@MppMultiId(value = "end_time")
private LocalDate endTime;
/**
* 上传数据集地址
*/
@TableField(value = "date_list")
private String dateList;
}

View File

@@ -0,0 +1,50 @@
package com.njcn.advance.pojo.carrycapacity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2024/3/19 16:36【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@TableName(value = "carry_capacity_device")
public class CarryCapacityDevicePO extends BaseEntity {
/**
* 设备id
*/
@TableId(value = "dev_id", type = IdType.ASSIGN_UUID)
private String devId;
@TableField(value = "user_id")
private String userId;
/**
* 设备名称
*/
@TableField(value = "dev_name")
private String devName;
/**
* 设备额定电压
*/
@TableField(value = "dev_scale")
private String devScale;
/**
* 设备用户协议容量(MVA)
*/
@TableField(value = "protocol_capacity")
private Double protocolCapacity;
}

View File

@@ -0,0 +1,129 @@
package com.njcn.advance.pojo.carrycapacity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
/**
* Description:
* Date: 2024/3/8 16:23【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "carry_capacity_result")
public class CarryCapacityResultPO extends BaseEntity {
/**
* 承载能力评估id
*/
@TableId(value = "id",type = IdType.ASSIGN_UUID)
private String id;
/**
* 台区id
*/
@TableField(value = "line_id")
private String lineId;
/**
* 用户id
*/
@TableField(value = "user_id")
private String userId;
/**
* 开始时间
*/
@TableField(value = "start_time")
private LocalDate startTime;
/**
* 结束时间
*/
@TableField(value = "end_time")
private LocalDate endTime;
/**
* 配变首端电压等级1-安全2-III级预警3-II级预警4-I 级预警)
*/
@TableField(value = "u_t_level")
private Integer uTLevel;
/**
* 配变的功率因等级1-安全2-III级预警3-II级预警4-I 级预警)
*/
@TableField(value = "pf_t_level")
private Integer pfTLevel;
/**
* 等效负载率最小值等级1-安全2-III级预警3-II级预警4-I 级预警)
*/
@TableField(value = "b_t_level")
private Integer bTLevel;
/**
* 各次谐波电流幅值等级 1-安全2-III级预警3-II级预警4-I 级预警)
*/
@TableField(value = "i_level")
private Integer iLevel;
/**
* 总结果等级1-安全2-III级预警3-II级预警4-I 级预警,5-禁止接入6-允许接入)
*/
@TableField(value = "reslut_level")
private Integer reslutLevel;
/**
* 评估日期
*/
@TableField(value = "evaluate_date")
private LocalDate evaluateDate;
/**
* 是否删除0无效1有效
*/
@TableField(value = "status")
private Integer status;
@TableField(value = "evaluate_type")
private String evaluateType;
@TableField(value = "first_result")
private double firstResult;
@TableField(value = "i_result_list")
private String iResultList;
@TableField(value = "pt_type")
private String ptType;
@TableField(value = "connection_mode")
private String connectionMode;
@TableField(value = "k")
private Double k;
@TableField(value = "user_mode")
private String userMode;
@TableField(value = "scale")
private String scale;
@TableField(value = "short_capacity")
private Float shortCapacity;
@TableField(value = "device_capacity")
private Float deviceCapacity;
}

View File

@@ -0,0 +1,98 @@
package com.njcn.advance.pojo.carrycapacity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2024/3/15 10:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "carry_capacity_strategy_dhl")
public class CarryCapacityStrategyDhlPO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
/**
* 充电桩,电弧炉,电气化铁路
*/
@TableField(value = "type")
private String type;
/**
* 一级评估比较符
*/
@TableField(value = "comparison_operators_1")
private String comparisonOperators1;
/**
* 一级评估数量
*/
@TableField(value = "count_1")
private Integer count1;
/**
* 二级级评估2~20次谐波合格个数比较符
*/
@TableField(value = "comparison_operators_2")
private String comparisonOperators2;
/**
* 二级评估2~20次谐波合格个数数量
*/
@TableField(value = "count_2")
private Integer count2;
/**
* 二级级评估(奇数谐波合格个数)比较符
*/
@TableField(value = "comparison_operators_3")
private String comparisonOperators3;
/**
* 二级评估(奇数次谐波合格)个数数量
*/
@TableField(value = "count_3")
private Integer count3;
/**
* 初始配置1客户配置2
*/
@TableField(value = "proto_flag")
private Integer protoFlag;
/**
* 二级级评估(偶数谐波合格个数)比较符
*/
@TableField(value = "comparison_operators_4")
private String comparisonOperators4;
/**
* 二级评估(偶数次谐波合格)个数数量
*/
@TableField(value = "count_4")
private Integer count4;
/**
* 启用配置1不启用配置2
*/
@TableField(value = "user_flag")
private Integer userFlag;
}

View File

@@ -0,0 +1,61 @@
package com.njcn.advance.pojo.carrycapacity.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Description:
* Date: 2024/3/5 10:54【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "carry_capacity_strategy")
public class CarryCapacityStrategyPO extends BaseEntity {
/**
* 总承载能力评估结果1-安全2-III级预警3-II级预警4-I 级预警)
*/
@TableField(value = "result")
private Integer result;
/**
* 指标评估结果1-安全2-III级预警3-II级预警4-I 级预警)
*/
@TableField(value = "index_result")
private Integer indexResult;
/**
* 比较符
*/
@TableField(value = "comparison_operators")
private String comparisonOperators;
/**
* 数量
*/
@TableField(value = "count")
private Integer count;
/**
* 初始配置1客户配置2
*/
@TableField(value = "proto_flag")
private Integer protoFlag;
/**
* 启用配置1不启用配置2
*/
@TableField(value = "user_flag")
private Integer userFlag;
@TableField(value = "id")
private String id;
}

View File

@@ -0,0 +1,83 @@
package com.njcn.advance.pojo.carrycapacity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2024/2/20 11:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "carry_capacity_user")
public class CarryCapacityUserPO extends BaseEntity {
/**
* 用户id
*/
@TableId(value = "user_id", type = IdType.ASSIGN_UUID)
private String userId;
/**
* 用户名称
*/
@TableField(value = "user_name")
private String userName;
/**
* 用户类型
*/
@TableField(value = "user_type")
private String userType;
/**
* 电压等级(V)
*/
@TableField(value = "voltage")
private String voltage;
/**
* 用户协议容量(MVA)
*/
@TableField(value = "protocol_capacity")
private Double protocolCapacity;
/**
* 省
*/
@TableField(value = "province")
private String province;
/**
* 市
*/
@TableField(value = "city")
private String city;
/**
* 区
*/
@TableField(value = "region")
private String region;
/**
* 所属区域
*/
@TableField(value = "area")
private String area;
@TableField(value = "status")
private Integer status;
}

View File

@@ -0,0 +1,107 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.util.List;
/**
* Description:
* Date: 2024/2/27 11:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityDResultVO {
private String id;
/**
* 台区id
*/
private String lineId;
private String lineName;
/**
* 用户id
*/
private String userId;
private String userName;
/**
* 开始时间
*/
private LocalDate startTime;
/**
* 结束时间
*/
private LocalDate endTime;
private Integer uTLevel;
/**
* 配变的功率因等级1-安全2-III级预警3-II级预警4-I 级预警)
*/
private Integer pfTLevel;
/**
* 等效负载率最小值等级1-安全2-III级预警3-II级预警4-I 级预警)
*/
private Integer bTLevel;
/**
* 各次谐波电流幅值等级 1-安全2-III级预警3-II级预警4-I 级预警)
*/
private Integer iLevel;
/**
* 总结果等级1-安全2-III级预警3-II级预警4-I 级预警)
*/
private Integer reslutLevel;
private LocalDate evaluateDate;
private String evaluateType;
//电弧炉等评估结果
private double firstResult;
private List<CarryCapacityDResultVO.CarryCapacityIResult> iResultList;
private String connectionMode;
private Double k;
private String ptType;
private String userMode;
private String scale;
private Float shortCapacity;
private Float deviceCapacity;
@Data
public static class CarryCapacityIResult {
@ApiModelProperty("谐波次数")
private Integer time=2;
private Double i;
private Double i_limit;
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Description:
* Date: 2024/2/27 11:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityDataIVO {
@ApiModelProperty(name = "data",value = "谐波幅值数据")
private List<CarryCapcityData> data;
@ApiModelProperty(name = "I_βmax",value = "2-25次谐波幅值最大95概率值A,B,C三项中的最大值")
private List<Double> I_βmax;
}

View File

@@ -0,0 +1,26 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* Description:
* Date: 2024/2/27 11:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityDataQVO {
@ApiModelProperty(name = "data",value = "有功功率数据")
private List<CarryCapcityData> data;
@ApiModelProperty(name = "Q_βminMap",value = "无功功率最小CP95值A,B,C三项")
private Map<String, Double> Q_βminMap;
}

View File

@@ -0,0 +1,37 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import com.njcn.influx.pojo.bo.CarryCapcityData;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* Description:
* Date: 2024/2/27 11:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityDataVO {
@ApiModelProperty(name = "data",value = "有功功率数据")
private List<CarryCapcityData> data;
@ApiModelProperty(name = "stringMap",value = "首端电流模型参数A,B,C三项")
private Map<String, Double[]> stringMap;
@ApiModelProperty(name = "P_βminMap",value = "有功功率最小CP95值A,B,C三项")
private Map<String, Double> P_βminMap;
@ApiModelProperty(name = "scale",value = "电压等级")
private String scale;
@ApiModelProperty(name = "devCapacity",value = "基准容量/额定容量MVA")
private Double standardCapacity;
/**
* 用户协议容量(MVA)
*/
@ApiModelProperty(name = "dealCapacity",value = "用户协议容量MVA")
private Double protocolCapacity;
}

View File

@@ -0,0 +1,76 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import lombok.Data;
/**
*
* Description:
* Date: 2024/3/15 10:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityStrategyDhlVO {
/**
* id
*/
private String id;
/**
* 充电桩,电弧炉,电气化铁路
*/
private String type;
/**
* 一级评估比较符
*/
private String comparisonOperators1;
/**
* 一级评估数量
*/
private Integer count1;
/**
* 二级级评估2~20次谐波合格个数比较符
*/
private String comparisonOperators2;
/**
* 二级评估2~20次谐波合格个数数量
*/
private Integer count2;
/**
* 二级级评估(奇数谐波合格个数)比较符
*/
private String comparisonOperators3;
/**
* 二级评估(奇数次谐波合格)个数数量
*/
private Integer count3;
/**
* 初始配置1客户配置2
*/
private Integer protoFlag;
/**
* 二级级评估(偶数谐波合格个数)比较符
*/
private String comparisonOperators4;
/**
* 二级评估(偶数次谐波合格)个数数量
*/
private Integer count4;
/**
* 启用配置1不启用配置2
*/
private Integer userFlag;
}

View File

@@ -0,0 +1,59 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Description:
* Date: 2024/3/5 10:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CarryCapacityStrategyVO {
/**
* 总承载能力评估结果1-安全2-III级预警3-II级预警4-I 级预警)
*/
@ApiModelProperty(value = "总承载能力评估结果1-安全2-III级预警3-II级预警4-I 级预警)")
private Integer result;
private List<CarryCapacityStrategysingleVO> capacityStrategysingleVOList;
@Data
public static class CarryCapacityStrategysingleVO {
private String id;
private List<CarryCapacityStrategyIndexVO> carryCapacityStrategyIndexVOList;
@Data
public static class CarryCapacityStrategyIndexVO {
/**
* 指标评估结果1-安全2-III级预警3-II级预警4-I 级预警)
*/
@ApiModelProperty(value = "指标评估结果1-安全2-III级预警3-II级预警4-I 级预警)")
private Integer indexResult;
/**
* 比较符
*/
@ApiModelProperty(value = "比较符")
private String comparisonOperators;
/**
* 数量
*/
@ApiModelProperty(value = "数量")
private Integer count;
}
}
}

View File

@@ -0,0 +1,53 @@
package com.njcn.advance.pojo.carrycapacity.vo;
import com.njcn.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2024/2/20 11:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CarryCapacityUserVO extends BaseEntity {
/**
* 用户id
*/
private String userId;
/**
* 用户名称
*/
private String userName;
/**
* 用户类型
*/
private String userType;
/**
* 电压等级(V)
*/
private String voltage;
/**
* 用户协议容量(MVA)
*/
private Double protocolCapacity;
/**
* 所属区域
*/
private String area;
}

View File

@@ -0,0 +1,53 @@
package com.njcn.advance.pojo.dto.govern.voltage;
import com.njcn.advance.pojo.po.govern.voltage.SgMachine;
import com.njcn.advance.pojo.vo.govern.voltage.SgMachineVO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 用于计算生产线损失各项数据的实体类
*/
@Data
public class ProductLineComputeData implements Serializable {
/**
* 生产线id
*/
private String id;
/**
* 业务用户id
*/
private String userId;
/**
* 进线id
*/
private String incomingLineId;
/**
* 生产线名称
*/
private String name;
/**
* 计算模式 0-模式一单次中断不计算设备、原料损失1-模式二(计算)
*/
private Integer calcMode;
/**
* 中断导致的产能损失默认为0
*/
private Double capacityLoss;
/**
* 生产线下所有的设备集合
* 默认为串联形式的
*/
private List<SgMachineVO> machineVOList;
}

View File

@@ -0,0 +1,71 @@
package com.njcn.advance.pojo.dto.govern.voltage;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Data
public class SgEventExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 暂降起始时间
*/
@Excel(name="暂降发生时间(yyyy-MM-dd HH:mm:ss)",format = "yyyy-MM-dd HH:mm:ss",width = 45)
@NotBlank(message = "暂降时间不能为空")
private String startTime;
/**
* 暂降发生毫秒
*/
@Excel(name="暂降发生毫秒",width = 45)
@NotBlank(message = "暂降发生毫秒不能为空")
private String ms;
/**
* 持续时间(单位:秒)
*/
@Excel(name="持续时间(ms)",width = 25)
@NotNull(message = "持续时间不能为空")
private Double duration;
/**
* 特征幅值
*/
@Excel(name="暂降幅值(范围0p.u.~1p.u.)",width = 28)
@NotNull(message = "暂降幅值不能为空")
@Min(value = 0)
@Max(value = 1)
private Double featureAmplitude;
/**
* 事件描述
*/
@Excel(name="事件描述(非必填)",width = 30)
private String eventDescribe;
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgEventExcelMsg extends SgEventExcel implements Serializable, IExcelModel {
@Excel(name = "错误信息描述")
private String errorMsg;
}
}

View File

@@ -1,36 +1,17 @@
package com.njcn.advance.pojo.dto.relevent;
import com.njcn.advance.pojo.dto.SagEvent;
import lombok.Data;
@Data
public class EntityGroupEvtData implements Cloneable,Comparable<EntityGroupEvtData> {
//逻辑节点序号
private int node;
//事件开始时间时标
private int start_time;
//类别
private int cata;
//标注类别
private int cata2;
//物理节点
private String nodePhysics;
private int node;//逻辑节点序号
private int start_time;//事件开始时间时标
private int cata;//类别
private int cata2;//标注类别
private String nodePhysics; //物理节点
private SagEvent sagEvent;
private String sagReason;
public Object objClone() {
try {
return clone();
} catch (CloneNotSupportedException e) {
return new EntityGroupEvtData(null, -1, -1, -1,null,null);
}
}
public EntityGroupEvtData(String nodePhysics, int start_time, int cata, int cata2, SagEvent sagEvent, String sagReason) {
public EntityGroupEvtData(String nodePhysics, int start_time, int cata, int cata2,SagEvent sagEvent,String sagReason) {
this.nodePhysics = nodePhysics;
this.start_time = start_time;
this.cata = cata;
@@ -39,6 +20,144 @@ public class EntityGroupEvtData implements Cloneable,Comparable<EntityGroupEvtDa
this.sagReason = sagReason;
}
public SagEvent getSagEvent() {
return sagEvent;
}
public void setSagEvent(SagEvent sagEvent) {
this.sagEvent = sagEvent;
}
public String getNodePhysics() {
return nodePhysics;
}
public void setNodePhysics(String nodePhysics) {
this.nodePhysics = nodePhysics;
}
public int getNode() {
return node;
}
public void setNode(int node) {
this.node = node;
}
public int getStart_time() {
return start_time;
}
public void setStart_time(int start_time) {
this.start_time = start_time;
}
public int getCata() {
return cata;
}
public void setCata(int cata) {
this.cata = cata;
}
public int getCata2() {
return cata2;
}
public void setCata2(int cata2) {
this.cata2 = cata2;
}
public String getSagReason() {
return sagReason;
}
public void setSagReason(String sagReason) {
this.sagReason = sagReason;
}
/**
* Creates and returns a copy of this object. The precise meaning
* of "copy" may depend on the class of the object. The general
* intent is that, for any object {@code x}, the expression:
* <blockquote>
* <pre>
* x.clone() != x</pre></blockquote>
* will be true, and that the expression:
* <blockquote>
* <pre>
* x.clone().getClass() == x.getClass()</pre></blockquote>
* will be {@code true}, but these are not absolute requirements.
* While it is typically the case that:
* <blockquote>
* <pre>
* x.clone().equals(x)</pre></blockquote>
* will be {@code true}, this is not an absolute requirement.
*
* By convention, the returned object should be obtained by calling
* {@code super.clone}. If a class and all of its superclasses (except
* {@code Object}) obey this convention, it will be the case that
* {@code x.clone().getClass() == x.getClass()}.
*
* By convention, the object returned by this method should be independent
* of this object (which is being cloned). To achieve this independence,
* it may be necessary to modify one or more fields of the object returned
* by {@code super.clone} before returning it. Typically, this means
* copying any mutable objects that comprise the internal "deep structure"
* of the object being cloned and replacing the references to these
* objects with references to the copies. If a class contains only
* primitive fields or references to immutable objects, then it is usually
* the case that no fields in the object returned by {@code super.clone}
* need to be modified.
*
* The method {@code clone} for class {@code Object} performs a
* specific cloning operation. First, if the class of this object does
* not implement the interface {@code Cloneable}, then a
* {@code CloneNotSupportedException} is thrown. Note that all arrays
* are considered to implement the interface {@code Cloneable} and that
* the return type of the {@code clone} method of an array type {@code T[]}
* is {@code T[]} where T is any reference or primitive type.
* Otherwise, this method creates a new instance of the class of this
* object and initializes all its fields with exactly the contents of
* the corresponding fields of this object, as if by assignment; the
* contents of the fields are not themselves cloned. Thus, this method
* performs a "shallow copy" of this object, not a "deep copy" operation.
*
* The class {@code Object} does not itself implement the interface
* {@code Cloneable}, so calling the {@code clone} method on an object
* whose class is {@code Object} will result in throwing an
* exception at run time.
*
* @return a clone of this instance.
* @throws CloneNotSupportedException if the object's class does not
* support the {@code Cloneable} interface. Subclasses
* that override the {@code clone} method can also
* throw this exception to indicate that an instance cannot
* be cloned.
* @see Cloneable
*/
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
public Object objClone() {
try {
return clone();
} catch (CloneNotSupportedException e) {
return new EntityGroupEvtData("-1", -1, -1, -1,null,null);
}
}
@Override
public String toString() {
return "EntityGroupEvtData{" +
"node=" + node +
", start_time=" + start_time +
", cata=" + cata +
", cata2=" + cata2 +
'}';
}
@Override
public int compareTo(EntityGroupEvtData obj) {
@@ -50,4 +169,4 @@ public class EntityGroupEvtData implements Cloneable,Comparable<EntityGroupEvtDa
return 0;
}
}
}

View File

@@ -8,9 +8,9 @@ public class EntityLogic {
//物理隔绝变压器策略GUID
private String tPIndex;
//变压器逻辑上节点
private String node_h;
private Integer node_h;
//变压器逻辑下节点
private String node_l;
private Integer node_l;
// 变压器连接方式
private Integer type;
//变压器物理上节点

View File

@@ -16,10 +16,10 @@ public class EntityMtrans implements Serializable {
public EntityMtrans() {
super();
Mtrans = new int[FinalData.NODE_NUM][FinalData.NODE_NUM];
Matrixcata0 = new int[FinalData.EVT_TYPE_NUM][FinalData.NODE_NUM];
Matrixcata1 = new int[FinalData.EVT_TYPE_NUM][FinalData.NODE_NUM];
possiable_path = new int[FinalData.MAX_PATH_NUM][FinalData.NODE_NUM + 1];
path_num = 0;
Matrixcata0 = new int[FinalData.EVT_TYPE_NUM][FinalData.NODE_NUM];
Matrixcata1 = new int[FinalData.EVT_TYPE_NUM][FinalData.NODE_NUM];
possiable_path = new int[FinalData.MAX_PATH_NUM][FinalData.NODE_NUM + 1];
path_num = 0;
}
public int[][] getMatrixcata0() {
@@ -69,3 +69,4 @@ public class EntityMtrans implements Serializable {
+ Arrays.toString(possiable_path) + ", path_num=" + path_num + "]";
}
}

View File

@@ -1,6 +1,6 @@
package com.njcn.advance.pojo.dto.relevent;
import com.njcn.advance.pojo.dto.SagEvent;
import lombok.Data;
import java.io.Serializable;

View File

@@ -1,4 +1,4 @@
package com.njcn.advance.pojo.dto;
package com.njcn.advance.pojo.dto.relevent;
import com.njcn.advance.pojo.dto.relevent.PlantInfo;

View File

@@ -16,7 +16,7 @@ import java.io.Serializable;
* @date 2023年07月21日 10:20
*/
@Data
public class ResponsibilityCalculateParam implements Serializable {
public class ResponsibilityCalculateParam implements Serializable {
@ApiModelProperty("开始时间")
@@ -40,11 +40,11 @@ public class ResponsibilityCalculateParam implements Serializable {
@Min(0)
@Max(1)
@ApiModelProperty("0-电流 1-电压")
private int type;
private int type;
@Min(2)
@Max(50)
@ApiModelProperty("谐波次数")
private Integer time;
private Integer time;
}

View File

@@ -0,0 +1,53 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 通用方案的参数UPS/AVC
*/
@Data
public class CommonSchemeParam implements Serializable {
/**
* 采购单价
*/
@ApiModelProperty("采购单价")
@NotNull(message = ValidMessage.MISS_PREFIX + "price")
private Double price;
/**
* 补偿能力
*/
@ApiModelProperty("补偿能力")
@NotNull(message = ValidMessage.MISS_PREFIX + "compensation")
private Double compensation;
/**
* 维护费
*/
@ApiModelProperty("维护费")
@NotNull(message = ValidMessage.MISS_PREFIX + "maintainFee")
private Double maintainFee;
/**
* 响应时间
*/
@ApiModelProperty("响应时间")
@NotNull(message = ValidMessage.MISS_PREFIX + "responseTime")
private Double responseTime;
/**
* 后备时间
*/
@ApiModelProperty("后备时间")
@NotNull(message = ValidMessage.MISS_PREFIX + "backupTime")
private Double backupTime;
}

View File

@@ -0,0 +1,54 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@Data
public class IncomingLineParam {
/**
* 业务用户id
*/
@ApiModelProperty("业务用户id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "userId")
private String userId;
/**
* 进线名称
*/
@ApiModelProperty("进线名称")
@NotBlank(message = ValidMessage.NAME_NOT_BLANK)
private String name;
/**
* 关联监测点id
*/
@ApiModelProperty("业务用户id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "lineId")
private String lineId;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class IncomingLineUpdateParam extends IncomingLineParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
}

View File

@@ -0,0 +1,66 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 快切评估参数
*/
@Data
public class QuickSchemeParam implements Serializable {
/**
* 备用进线ID
*/
@ApiModelProperty("备用进线ID")
@NotBlank(message = ValidMessage.MISS_PREFIX + "incomingLineId")
private String incomingLineId;
/**
* 治理容量
*/
@ApiModelProperty("治理容量")
@NotNull(message = ValidMessage.MISS_PREFIX + "governMachinePower")
private Double governMachinePower;
/**
* 采购价格
*/
@ApiModelProperty("采购价格")
@NotNull(message = ValidMessage.MISS_PREFIX + "price")
private Double price;
/**
* 建设费用
*/
@ApiModelProperty("建设费用")
@NotNull(message = ValidMessage.MISS_PREFIX + "buildFee")
private Double buildFee;
/**
* 快切维护费用
*/
@ApiModelProperty("快切维护费用")
@NotNull(message = ValidMessage.MISS_PREFIX + "quickMaintainFee")
private Double quickMaintainFee;
/**
* 动作时间
*/
@ApiModelProperty("动作时间")
@NotNull(message = ValidMessage.MISS_PREFIX + "actionTime")
private Double actionTime;
}

View File

@@ -0,0 +1,105 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Data
public class SgEventParam {
/**
* 进线id
*/
@ApiModelProperty("进线id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "lineId")
private String incomingLineId;
/**
* 暂降起始时间
*/
@ApiModelProperty("暂降起始时间")
@NotNull(message = ValidMessage.MISS_PREFIX + "startTime")
private LocalDateTime startTime;
/**
* 事件类型
*/
private String eventType;
/**
* 持续时间(单位:秒)
*/
@ApiModelProperty("持续时间")
@NotNull(message = ValidMessage.MISS_PREFIX + "duration")
private Double duration;
/**
* 特征幅值
*/
@ApiModelProperty("特征幅值")
@NotNull(message = ValidMessage.MISS_PREFIX + "featureAmplitude")
private Double featureAmplitude;
/**
* 预估损失(单位:万元)
*/
private Double estimatedLoss;
/**
* 事件描述
*/
private String eventDescribe;
/**
* 波形文件是否从装置招到本地(0未招1已招)默认值为0
*/
private Integer fileFlag;
/**
* 波形路径
*/
private String wavePath;
/**
* 数据来源0-离线导入 1-监测点实际数据同步)
*/
private Integer dataSource;
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgEventParamQueryParam extends BaseParam {
/**
* 用户id
*/
@ApiModelProperty("用户id")
private String userId;
/**
* 生产线id
*/
@ApiModelProperty("生产线id")
private String productId;
}
}

View File

@@ -0,0 +1,120 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author hongawen
* @since 2024-03-27
*/
@Data
public class SgGovernSchemeHistoryParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 生产线索引
*/
@ApiModelProperty("生产线索引")
@NotBlank(message = ValidMessage.MISS_PREFIX + "productLineId")
private String productLineId;
/**
* 参数数据的起始时间
*/
@ApiModelProperty("参数数据的起始时间")
@NotBlank(message = ValidMessage.MISS_PREFIX + "startTime")
private String startTime;
/**
* 参考数据的截止时间
*/
@ApiModelProperty("参考数据的截止时间")
@NotBlank(message = ValidMessage.MISS_PREFIX + "endTime")
private String endTime;
/**
* 评估人期望的回收周期
*/
@ApiModelProperty("评估人期望的回收周期")
@NotNull(message = ValidMessage.MISS_PREFIX + "payBackPeriod")
private Integer payBackPeriod;
/**
* UPS评估需要的参数
*/
@NotNull(message = "UPS评估参数缺失")
private CommonSchemeParam ups;
/**
* AVC评估需要的参数
*/
@NotNull(message = "AVC评估参数缺失")
private CommonSchemeParam avc;
/**
* 快切评估需要的参数
*/
@NotNull(message = "快切评估参数缺失")
private QuickSchemeParam quick;
/**
* 评估批次
*/
private String evaluationBatch;
/**
* 最佳方案id
*/
private String bestSchemeId;
/**
* 治理容量(kW)
*/
private Double governPower;
/**
* 暂降次数
*/
private Integer eventCount;
/**
* 中断次数
*/
private Integer breakCount;
/**
* 不做治理,可能造成的经济损失
*/
private Double loss;
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgSchemeHistoryQueryParam extends BaseParam {
/**
* 生产线id
*/
@ApiModelProperty("用户id")
private String userId;
}
}

View File

@@ -0,0 +1,96 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@Data
public class SgMachineParam {
/**
* 生产线id
*/
@ApiModelProperty("生产线id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "productLineId")
private String productLineId;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
@NotBlank(message = ValidMessage.MISS_PREFIX + "name")
private String name;
/**
* 设备型号
*/
@ApiModelProperty("设备型号")
private String type;
/**
* 是否已安装补偿装置进行治理默认为00 否1 是)
*/
@ApiModelProperty("是否已安装补偿装置")
private Integer governFlag = 0;
/**
* 中断导致的设备损失默认为0
*/
@ApiModelProperty("中断导致的设备损失")
@NotNull(message = ValidMessage.MISS_PREFIX + "machineLoss")
private Double machineLoss;
/**
* 中断导致的原料损失默认为0
*/
@ApiModelProperty("中断导致的原料损失")
@NotNull(message = ValidMessage.MISS_PREFIX + "materialLoss")
private Double materialLoss;
/**
* 功率默认为0
*/
@ApiModelProperty("功率")
@NotNull(message = ValidMessage.MISS_PREFIX + "machinePower")
private Double machinePower;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgMachineUpdateParam extends SgMachineParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgMachineQueryParam extends BaseParam {
@ApiModelProperty("生产线id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "productLineId")
private String productLineId;
}
}

View File

@@ -0,0 +1,94 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Data
public class SgProductLineParam {
/**
* 业务用户id
*/
@ApiModelProperty("业务用户id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "userId")
private String userId;
/**
* 进线id
*/
@ApiModelProperty("进线id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "incomingLineId")
private String incomingLineId;
/**
* 生产线名称
*/
@ApiModelProperty("生产线名称")
@NotBlank(message = ValidMessage.MISS_PREFIX + "name")
private String name;
/**
* 计算模式 0-模式一单次中断不计算设备、原料损失1-模式二(计算)
*/
@ApiModelProperty("计算模式")
@NotNull(message = ValidMessage.MISS_PREFIX + "calcMode")
private Integer calcMode;
/**
* 中断导致的产能损失默认为0
*/
@ApiModelProperty("中断导致的产能损失")
@NotNull(message = ValidMessage.MISS_PREFIX + "capacityLoss")
private Double capacityLoss;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgProductLineUpdateParam extends SgProductLineParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgProductLineQueryParam extends BaseParam {
@ApiModelProperty("业务用户id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "userId")
private String userId;
}
}

View File

@@ -0,0 +1,110 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@Data
public class SgSensitiveUnitParam {
/**
* 设备id
*/
@ApiModelProperty("设备id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "machineId")
private String machineId;
/**
* 元器件名称
*/
@ApiModelProperty("元器件名称")
@NotBlank(message = ValidMessage.MISS_PREFIX + "name")
private String name;
/**
* 类型
*/
@ApiModelProperty("类型")
private String type;
/**
* 灵敏度0 平均1 高2 中3 低)
*/
@ApiModelProperty("灵敏度")
@NotNull(message = ValidMessage.MISS_PREFIX + "sensitivity")
private Integer sensitivity = 0;
/**
* 耐受能力是否为标准值0 否1 是)
*/
@ApiModelProperty("耐受能力是否为标准值0 否1 是)")
@NotNull(message = ValidMessage.MISS_PREFIX + "standardFlag")
private Integer standardFlag = 0;
/**
* 上限曲线-持续时间ms
*/
@ApiModelProperty("上限曲线-持续时间ms")
@NotNull(message = ValidMessage.MISS_PREFIX + "vtcTimeUpper")
private Double vtcTimeUpper;
/**
* 上限曲线-暂降幅值p.u.
*/
@ApiModelProperty("上限曲线-暂降幅值p.u.")
@NotNull(message = ValidMessage.MISS_PREFIX + "vtcAmpUpper")
private Double vtcAmpUpper;
/**
* 下限曲线-持续时间ms
*/
@ApiModelProperty("下限曲线-持续时间ms")
@NotNull(message = ValidMessage.MISS_PREFIX + "vtcTimeLower")
private Double vtcTimeLower;
/**
* 下限曲线-暂降幅值p.u.
*/
@ApiModelProperty("下限曲线-暂降幅值p.u.")
@NotNull(message = ValidMessage.MISS_PREFIX + "vtcAmpLower")
private Double vtcAmpLower;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgSensitiveUnitUpdateParam extends SgSensitiveUnitParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgSensitiveUnitQueryParam extends BaseParam {
@ApiModelProperty("设备id")
@NotBlank(message = ValidMessage.MISS_PREFIX + "machineId")
private String machineId;
}
}

View File

@@ -0,0 +1,116 @@
package com.njcn.advance.pojo.param.govern.voltage;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Data
public class SgUserParam {
@ApiModelProperty("名称")
@NotBlank(message = ValidMessage.NAME_NOT_BLANK)
@Pattern(regexp = PatternRegex.DIC_REGEX, message = ValidMessage.NAME_FORMAT_ERROR)
private String userName;
/**
* 行业
*/
@ApiModelProperty("行业")
@NotBlank(message = ValidMessage.INDUSTRY_NOT_BLANK)
@Pattern(regexp = PatternRegex.DIC_REGEX, message = ValidMessage.INDUSTRY_FORMAT_ERROR)
private String industry;
/**
* 关键用户0 否1 是)
*/
@ApiModelProperty("是否关键用户")
private Integer keyUser = 1;
/**
* 所属区域
*/
@ApiModelProperty("所属区域")
@NotBlank(message = ValidMessage.ADDR_NOT_BLANK)
private String addrStrOption;
/**
* 详细地址
*/
@ApiModelProperty("详细地址")
private String addrDetail;
/**
* 年均损失(单位:万元)
*/
@ApiModelProperty("年均损失(单位:万元)")
private Double averageLoss;
/**
* 联系方式
*/
@ApiModelProperty("联系方式")
private String concact;
/**
* 企业用户照片或logo
*/
@ApiModelProperty("企业用户照片")
private String userLogo;
/**
* 备注
*/
@ApiModelProperty("备注")
private String remark;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgUserUpdateParam extends SgUserParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SgUserQueryParam extends BaseParam {
/**
* 所属区域
*/
@ApiModelProperty("所属区域")
private List<String> addrStrOption;
}
}

View File

@@ -0,0 +1,49 @@
package com.njcn.advance.pojo.po.govern.harmonic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-04-17
*/
@Data
@TableName("sg_harmonic_file")
public class SgHarmonicFile extends BaseEntity implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 谐波文件表id
*/
private String id;
/**
* 文件名
*/
private String dataName;
/**
* 文件服务器的路径
*/
private String dataPath;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,102 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Getter
@Setter
@TableName("sg_event")
@NoArgsConstructor
@AllArgsConstructor
public class SgEvent implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 暂降事件id
*/
private String id;
/**
* 生产线id
*/
private String productLineId;
/**
* 进线id
*/
private String incomingLineId;
/**
* 暂降起始时间
*/
private LocalDateTime startTime;
/**
* 事件类型
*/
private String eventType;
/**
* 持续时间(单位:秒)
*/
private Double duration;
/**
* 特征幅值
*/
private Double featureAmplitude;
/**
* 预估损失(单位:万元)
*/
private Double estimatedLoss;
/**
* 事件描述
*/
private String eventDescribe;
/**
* 波形文件是否从装置招到本地(0未招1已招)默认值为0
*/
private Integer fileFlag;
/**
* 波形路径
*/
private String wavePath;
/**
* 数据来源0-离线导入 1-监测点实际数据同步)
*/
private Integer dataSource;
private Integer state;
public SgEvent(String incomingLineId, Double duration, Double featureAmplitude, String eventDescribe, Integer dataSource) {
this.incomingLineId = incomingLineId;
this.startTime = startTime;
this.duration = duration;
this.featureAmplitude = featureAmplitude;
this.eventDescribe = eventDescribe;
this.dataSource = dataSource;
}
}

View File

@@ -0,0 +1,80 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* @author hongawen
* @since 2024-03-27
*/
@Getter
@Setter
@TableName("sg_govern_scheme_history")
public class SgGovernSchemeHistory extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 治理评估历史数据表
*/
private String id;
/**
* 生产线ID
*/
private String productLineId;
/**
* 评估批次
*/
private String evaluationBatch;
/**
* 最佳方案id
*/
private String bestSchemeId;
/**
* 期望回收周期
*/
private Integer payBackPeriod;
/**
* 参考数据时间范围
*/
private String timeScope;
/**
* 治理容量(kW)
*/
private Double governPower;
/**
* 暂降次数
*/
private Integer eventCount;
/**
* 中断次数
*/
private Integer breakCount;
/**
* 不做治理,可能造成的经济损失
*/
private Double loss;
/**
* 用户状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,159 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author hongawen
* @since 2024-03-27
*/
@Getter
@Setter
@TableName("sg_govern_scheme_history_detail")
public class SgGovernSchemeHistoryDetail extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 治理方案详细结果
*/
private String id;
/**
* 评估批次
*/
private String evaluationBatch;
/**
* 方案参数
*/
private String schemeParamId;
/**
* 参数类型0 ups;1 avc;2 avc-rts;3 快切)
*/
private Integer type;
/**
* 暂降次数
*/
private Integer eventCount;
/**
* 中断次数
*/
private Integer breakCount;
/**
* 治理设备总价格(万元)
*/
private Double equipment;
/**
* 年维护费(万元/年)
*/
private Double maintain;
/**
* 治理后的经济损失
*/
private Double loss;
/**
* 曲线图的X轴
*/
private String years;
/**
* 用户每年的投资,由集合转为字符的
*/
private String investYear;
/**
* 用户每年的收益,由集合转为字符的
*/
private String payBack;
/**
* 5年 10年 15年的成本
*/
private String cost;
/**
* 5年 10年 15年的投资收益率
*/
private String investYield;
/**
* 实际回报年份
*/
private int actualPayBack;
/**
* 尺寸(快切没有尺寸)
*/
private String size;
/**
* 设备总数量
*/
private Integer count;
/**
* 设备总功率
*/
private Double power;
/**
* 治理前风险等级
*/
private String riskLevelBefore;
/**
* 治理后风险等级
*/
private String riskLevelAfter;
/**
* 治理效果
*/
private Double radarResult;
/**
* 去风险能力
*/
private Double radarRisk;
/**
* 投资意愿
*/
private Double radarWish;
/**
* 暂降免疫能力
*/
private Double sagImmunity;
/**
* 投资综合评估
*/
private Double investmentResult;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,84 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author hongawen
* @since 2024-03-27
*/
@Getter
@Setter
@TableName("sg_govern_scheme_param")
public class SgGovernSchemeParam extends BaseEntity implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 方案初始参数
*/
private String id;
/**
* 购置价格(万元/kVA)
*/
private Double price;
/**
* 补偿能力(p.u.)
*/
private Double compensation;
/**
* 年维护费(万元/kVA)
*/
private Double maintainFee;
/**
* 响应时间(ms)
*/
private Integer responseTime;
/**
* 后备时间(s)
*/
private Integer backupTime;
/**
* 治理设备容量kVA
*/
private Double governMachinePower;
/**
* 建设成本(万元)
*/
private Double buildFee;
/**
* 快切的年维护费(万元)
*/
private Double quickMaintainFee;
/**
* 动作时间(ms)
*/
private Double actionTime;
/**
* 备用进线id
*/
private String incomingLineId;
/**
* 用户状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,50 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Getter
@Setter
@TableName("sg_incoming_line")
public class SgIncomingLine extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 进线id
*/
private String id;
/**
* 业务用户id
*/
private String userId;
/**
* 进线名称
*/
private String name;
/**
* 关联监测点id
*/
private String lineId;
/**
* 进线状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,69 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Getter
@Setter
@TableName("sg_machine")
public class SgMachine extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 设备id
*/
private String id;
/**
* 生产线id
*/
private String productLineId;
/**
* 设备名称
*/
private String name;
/**
* 设备型号
*/
private String type;
/**
* 是否已安装补偿装置进行治理默认为00 否1 是)
*/
private Integer governFlag;
/**
* 中断导致的设备损失默认为0
*/
private Double machineLoss;
/**
* 中断导致的原料损失默认为0
*/
private Double materialLoss;
/**
* 功率默认为0
*/
private Double machinePower;
/**
* 用户状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,62 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Getter
@Setter
@TableName("sg_product_line")
public class SgProductLine extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 生产线id
*/
private String id;
/**
* 业务用户id
*/
private String userId;
/**
* 进线id
*/
private String incomingLineId;
/**
* 生产线名称
*/
private String name;
/**
* 计算模式 0-模式一单次中断不计算设备、原料损失1-模式二(计算)
*/
private Integer calcMode;
/**
* 中断导致的产能损失默认为0
*/
private Double capacityLoss;
/**
* 数据状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,84 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Getter
@Setter
@TableName("sg_sensitive_unit")
public class SgSensitiveUnit extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 敏感元器件id
*/
private String id;
/**
* 设备id
*/
private String machineId;
/**
* 元器件名称
*/
private String name;
/**
* 类型
*/
private String type;
/**
* 灵敏度0 平均1 高2 中3 低)
*/
private Integer sensitivity;
/**
* 耐受能力是否为标准值0 否1 是)
*/
private Integer standardFlag;
/**
* 上限曲线-持续时间ms
*/
private Double vtcTimeUpper;
/**
* 上限曲线-暂降幅值p.u.
*/
private Double vtcAmpUpper;
/**
* 下限曲线-持续时间ms
*/
private Double vtcTimeLower;
/**
* 下限曲线-暂降幅值p.u.
*/
private Double vtcAmpLower;
/**
* 用户状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,82 @@
package com.njcn.advance.pojo.po.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Getter
@Setter
@TableName("sg_user")
public class SgUser extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 业务用户id
*/
private String id;
/**
* 用户名
*/
private String userName;
/**
* 行业
*/
private String industry;
/**
* 所属区域
*/
private String addr;
/**
* 详细地址
*/
private String addrDetail;
/**
* 年均损失(单位:万元)
*/
private Double averageLoss;
/**
* 联系方式
*/
private String concact;
/**
* 关键用户0 否1 是)
*/
private Integer keyUser;
/**
* 企业用户照片或logo
*/
private String userLogo;
/**
* 备注
*/
private String remark;
/**
* 用户状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,39 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IncomingLineVO implements Serializable {
/**
* 进线id
*/
private String id;
/**
* 业务用户id
*/
private String userId;
/**
* 进线名称
*/
private String name;
/**
* 关联监测点id
*/
private String lineId;
/**
* 关联监测点名称
*/
private String lineName;
}

View File

@@ -0,0 +1,93 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Data
public class SgEventVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 暂降事件id
*/
private String id;
/**
* 进线id
*/
private String incomingLineId;
/**
* 进线名称
*/
@Excel(name="进线名称",width = 25)
private String incomingLineName;
/**
* 暂降起始时间
*/
@Excel(name="暂降发生时间",width = 35)
private String startTime;
/**
* 事件类型
*/
private String eventType;
/**
* 持续时间(单位:秒)
*/
@Excel(name="持续时间(单位:秒)",width = 25)
private Double duration;
/**
* 特征幅值
*/
@Excel(name="暂降幅值")
private Double featureAmplitude;
/**
* 预估损失(单位:万元)
*/
@Excel(name="预估损失(单位:万元)",width = 25)
private Double estimatedLoss;
/**
* 事件描述
*/
@Excel(name="事件描述",width = 25)
private String eventDescribe;
/**
* 波形文件是否从装置招到本地(0未招1已招)默认值为0
*/
private Integer fileFlag;
/**
* 数据来源0-离线导入 1-监测点实际数据同步)
*/
@Excel(name="数据来源", replace = { "监测点实际同步_1", "离线导入_0" },width = 25)
private Integer dataSource;
/**
* 波形路径
*/
private String wavePath;
}

View File

@@ -0,0 +1,34 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class SgGovernSchemeHistoryAllVO extends SgGovernSchemeHistoryVO {
/**
* UPS的三条曲线数据
*/
private SgGovernSchemeHistoryDetailVO upsData;
/**
* AVC的三条曲线数据
*/
private SgGovernSchemeHistoryDetailVO avcData;
/**
* AVC+UPS的三条曲线数据
*/
private SgGovernSchemeHistoryDetailVO upsRtsData;
/**
* 快切的三条曲线数据
*/
private SgGovernSchemeHistoryDetailVO quickData;
}

View File

@@ -0,0 +1,159 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
*
* @author hongawen
* @since 2024-03-27
*/
@Data
public class SgGovernSchemeHistoryDetailVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 治理方案详细结果
*/
private String id;
/**
* 评估批次
*/
private String evaluationBatch;
/**
* 方案参数
*/
private String schemeParamId;
/**
* 参数类型0 ups;1 avc;2 avc-rts;3 快切)
*/
private Integer type;
/**
* 暂降次数
*/
private Integer eventCount;
/**
* 中断次数
*/
private Integer breakCount;
/**
* 治理后的经济损失
*/
private Double loss;
/**
* 治理可能的经济损失(万元/年)
*/
private Double yearLoss;
/**
* 尺寸(快切没有尺寸)
*/
private String size;
/**
* 设备总数量
*/
private Integer count;
/**
* 设备总功率
*/
private Double power;
/**
* 治理设备总价格(万元)
*/
private Double equipment;
/**
* 年维护费(万元/年)
*/
private Double maintain;
/**
* 曲线图的X轴
*/
private List<String> yearsArray;
/**
* 用户每年的投资,由集合转为字符的
*/
private List<Double> investYearArray;
/**
* 治理效果每年
*/
private List<Double> governEffectArray;
/**
* 用户每年的收益,由集合转为字符的
*/
private List<Double> payBackArray;
/**
* 5年 10年 15年的成本
*/
private List<Double> costArray;
/**
* 5年 10年 15年的投资收益率
*/
private List<Double> investYieldArray;
/**
* 实际回报年份
*/
private int actualPayBack;
/**
* 治理前风险等级
*/
private String riskLevelBefore;
/**
* 治理后风险等级
*/
private String riskLevelAfter;
/**
* 治理效果
*/
private Double radarResult;
/**
* 去风险能力
*/
private Double radarRisk;
/**
* 投资意愿
*/
private Double radarWish;
/**
* 暂降免疫能力
*/
private Double sagImmunity;
/**
* 投资综合评估
*/
private Double investmentResult;
}

View File

@@ -0,0 +1,147 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import com.njcn.advance.pojo.param.govern.voltage.CommonSchemeParam;
import com.njcn.advance.pojo.param.govern.voltage.QuickSchemeParam;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 页面表格治理结果展示
*
* @author hongawen
* @since 2024-03-27
*/
@Data
public class SgGovernSchemeHistoryVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 治理评估历史数据表
*/
private String id;
/**
* 用户名
*/
private String userName;
/**
* 生产线ID
*/
private String productLineId;
/**
* 生产线名称
*/
private String productLineName;
/**
* 进线名称
*/
private String inComingLineName;
/**
* 评估批次
*/
private String evaluationBatch;
/**
* 最佳方案id
*/
private String bestSchemeId;
/**
* 期望回收周期
*/
private Integer payBackPeriod;
/**
* 参考数据时间范围
*/
private String timeScope;
/**
* 治理容量(kW)
*/
private Double governPower;
/**
* 暂降次数
*/
private Integer eventCount;
/**
* 中断次数
*/
private Integer breakCount;
/**
* 不做治理,可能造成的经济损失
*/
private Double loss;
/**
* 做治理,可能造成的经济损失
*/
private Double governLoss;
/**
* 治理效果,未治理-治理的
*/
private Double governEffect;
/**
* 不做治理,可能造成的经济损失
*/
private Double yearLoss;
/**
* 初期投资(万元)=设备费用+年维护费
*/
private Double initialInvest;
/**
* 设备费用(万元)
*/
private Double schemeEquipment;
/**
* 年维护费(万元)
*/
private Double schemeMaintain;
/**
* 投资回收期
*/
private Integer payBackYear;
/***
* 治理效果每年
*/
private Double governEffectMoney;
/**
* 最佳治理方案
*/
private Integer schemeType;
/**
* UPS评估需要的参数
*/
private CommonSchemeParam ups;
/**
* AVC评估需要的参数
*/
private CommonSchemeParam avc;
/**
* 快切评估需要的参数
*/
private QuickSchemeParam quick;
}

View File

@@ -0,0 +1,55 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class SgMachineVO implements Serializable {
/**
* 设备id
*/
private String id;
/**
* 生产线id
*/
private String productLineId;
/**
* 设备名称
*/
private String name;
/**
* 设备型号
*/
private String type;
/**
* 是否已安装补偿装置进行治理默认为00 否1 是)
*/
private Integer governFlag;
/**
* 中断导致的设备损失默认为0
*/
private Double machineLoss;
/**
* 中断导致的原料损失默认为0
*/
private Double materialLoss;
/**
* 功率默认为0
*/
private Double machinePower;
/**
* 敏感元器件列表
*/
private List<SgSensitiveUnitVO> sgSensitiveUnitList;
}

View File

@@ -0,0 +1,14 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
import java.io.Serializable;
@Data
public class SgOption implements Serializable {
private String id;
private String name;
}

View File

@@ -0,0 +1,83 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Data
public class SgProductLineVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 生产线id
*/
private String id;
/**
* 业务用户id
*/
private String userId;
/**
* 业务用户名称
*/
private String userName;
/**
* 进线id
*/
private String incomingLineId;
/**
* 进线名称
*/
private String incomingLineName;
/**
* 生产线名称
*/
private String name;
/**
* 计算模式 0-模式一单次中断不计算设备、原料损失1-模式二(计算)
*/
private Integer calcMode;
/**
* 中断导致的产能损失默认为0
*/
private Double capacityLoss = 0.0;
/**
* 生产线下所有设备该数据求和
* 中断导致的设备损失默认为0
*/
private Double machineLoss = 0.0;
/**
* 生产线下所有设备该数据求和
* 中断导致的原料损失默认为0
*/
private Double materialLoss = 0.0;
/**
* 生产线下所有设备该数据求和
* 功率默认为0
*/
private Double machinePower = 0.0;
}

View File

@@ -0,0 +1,63 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
import java.io.Serializable;
@Data
public class SgSensitiveUnitVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 敏感元器件id
*/
private String id;
/**
* 设备id
*/
private String machineId;
/**
* 元器件名称
*/
private String name;
/**
* 类型
*/
private String type;
/**
* 灵敏度0 平均1 高2 中3 低)
*/
private Integer sensitivity;
/**
* 耐受能力是否为标准值0 否1 是)
*/
private Integer standardFlag;
/**
* 上限曲线-持续时间ms
*/
private Double vtcTimeUpper;
/**
* 上限曲线-暂降幅值p.u.
*/
private Double vtcAmpUpper;
/**
* 下限曲线-持续时间ms
*/
private Double vtcTimeLower;
/**
* 下限曲线-暂降幅值p.u.
*/
private Double vtcAmpLower;
}

View File

@@ -0,0 +1,86 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Data
public class SgUserVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 业务用户id
*/
private String id;
/**
* 用户名
*/
private String userName;
/**
* 行业
*/
private String industry;
/**
* 所属区域
*/
private String addr;
/**
* 详细地址
*/
private String addrDetail;
/**
* 年均损失(单位:万元)
*/
private Double averageLoss;
/**
* 联系方式
*/
private String concact;
/**
* 产线数量
*/
private Integer productCount = 0;
/**
* 进线数量
*/
private Integer lineCount = 0;
/**
* 关键用户0 否1 是)
*/
private Integer keyUser;
/**
* 企业用户照片或logo
*/
private String userLogo;
/**
* 备注
*/
private String remark;
/**
* 用户状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,91 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;
/**
* 表格分页数据对象
*
* @author ruoyi
*/
public class TableDataInfo implements Serializable
{
private static final long serialVersionUID = 1L;
/** 总记录数 */
@ApiModelProperty("总记录数")
private long total;
/** 数据列表 */
@ApiModelProperty("数据列表")
private List<?> rows;
/** 消息状态码 */
@ApiModelProperty("消息状态码")
private int code;
/** 消息内容 */
@ApiModelProperty("消息内容")
private String msg;
/**
* 表格数据对象
*/
public TableDataInfo()
{
}
/**
* 分页
*
* @param list 列表数据
* @param total 总记录数
*/
public TableDataInfo(List<?> list, int total)
{
this.rows = list;
this.total = total;
}
public long getTotal()
{
return total;
}
public void setTotal(long total)
{
this.total = total;
}
public List<?> getRows()
{
return rows;
}
public void setRows(List<?> rows)
{
this.rows = rows;
}
public int getCode()
{
return code;
}
public void setCode(int code)
{
this.code = code;
}
public String getMsg()
{
return msg;
}
public void setMsg(String msg)
{
this.msg = msg;
}
}

View File

@@ -0,0 +1,29 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class TransientEventCount {
@ApiModelProperty("暂降幅值")
private String amplitude;
@ApiModelProperty("持续时间(0.01-0.02)")
private String D001_002s;
@ApiModelProperty("持续时间(0.02-0.05)")
private String D002_005s;
@ApiModelProperty("持续时间(0.05-0.07)")
private String D005_007s;
@ApiModelProperty("持续时间(0.07-0.10)")
private String D007_010s;
@ApiModelProperty("持续时间(0.10-1.00)")
private String D010_100s;
}

View File

@@ -0,0 +1,10 @@
package com.njcn.advance.pojo.vo.govern.voltage;
import lombok.Data;
@Data
public class TransientEventCountVO {
private String[][] values;
}

View File

@@ -0,0 +1,29 @@
package com.njcn.advance.utils;
import cn.hutool.core.codec.Base64;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.web.constant.ValidMessage;
import java.util.regex.Pattern;
/**
* Description:
* Date: 2024/12/10 14:51【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class CheckStringUtil {
public static void checkName(String name) {
Pattern pattern = Pattern.compile(PatternRegex.SPECIALCHARACTER);
if(pattern.matcher(name).find()){
throw new BusinessException(ValidMessage.NAME_SPECIAL_REGEX);
}
}
// public static void main(String[] args) {
// checkName("100迈岭站2djvjva13ad");
// }
}

View File

@@ -0,0 +1,88 @@
package com.njcn.advance.utils;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Description:
* Date: 2024/3/15 16:02【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
public abstract class EasyExcelDefaultListener<T> extends AnalysisEventListener<T> {
/**
* 批处理阈值
*/
private static final int BATCH_COUNT = 20;
/**
* 用来存放待处理的数据
*/
@Getter
private List<T> list = new ArrayList<>(BATCH_COUNT);
/**
* 读取excel数据前操作 <br>
*
* 只有不读取表头数据时才会触发此方法)
*/
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
log.info("======================================================");
log.info("======================================================");
}
/**
* 读取excel数据操作
* @param obj
* @param context
*/
@Override
public void invoke(T obj, AnalysisContext context) {
list.add(obj);
if (list.size() >= BATCH_COUNT) {
//将数据保存到数据库中
fun(list);
list.clear();
}
}
/**
* 具体业务
*/
protected abstract void fun(List<T> list);
/**
* 读取完excel数据后的操作
*/
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
if (list.size() > 0) {
fun(list);
}
}
/**
* 在读取excel异常 获取其他异常下会调用本接口。抛出异常则停止读取。如果这里不抛出异常则 继续读取下一行。
*/
@Override
public void onException(Exception exception, AnalysisContext context) {
log.error("解析失败,但是继续解析下一行:{}", exception.getMessage());
if (exception instanceof ExcelDataConvertException) {
ExcelDataConvertException ex = (ExcelDataConvertException) exception;
log.error("第{}行,第{}列解析异常,数据为:{}", ex.getRowIndex(), ex.getColumnIndex(), ex.getCellData());
}
}
}

View File

@@ -0,0 +1,384 @@
package com.njcn.advance.utils;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.write.handler.WriteHandler;
import lombok.SneakyThrows;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Description:
* Date: 2024/3/15 15:58【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class EasyExcelUtil {
//====================================================无JAVA模型读取excel数据===============================================================
/**
* 同步无模型读默认读取sheet0,从第2行开始读
* @param file excel文件的绝对路径
*/
public static List<Map<Integer, String>> syncRead(String file) {
return EasyExcelFactory.read(file).sheet().doReadSync();
}
/**
* 同步无模型读自定义读取sheetX从第2行开始读
* @param file excel文件的绝对路径
* @param sheetNum sheet页号从0开始
*/
public static List<Map<Integer, String>> syncRead(String file, Integer sheetNum) {
return EasyExcelFactory.read(file).sheet(sheetNum).doReadSync();
}
/**
* 同步无模型读指定sheet和表头占的行数
* @param file
* @param sheetNum sheet页号从0开始
* @param headNum 表头占的行数从0开始如果要连表头一起读出来则传0
*/
public static List<Map<Integer, String>> syncRead(String file, Integer sheetNum, Integer headNum) {
return EasyExcelFactory.read(file).sheet(sheetNum).headRowNumber(headNum).doReadSync();
}
/**
* 同步无模型读指定sheet和表头占的行数
* @param inputStream
* @param sheetNum sheet页号从0开始
* @param headNum 表头占的行数从0开始如果要连表头一起读出来则传0
*/
public static List<Map<Integer, String>> syncRead(InputStream inputStream, Integer sheetNum, Integer headNum) {
return EasyExcelFactory.read(inputStream).sheet(sheetNum).headRowNumber(headNum).doReadSync();
}
/**
* 同步无模型读指定sheet和表头占的行数
* @param file
* @param sheetNum sheet页号从0开始
* @param headNum 表头占的行数从0开始如果要连表头一起读出来则传0
*/
public static List<Map<Integer, String>> syncRead(File file, Integer sheetNum, Integer headNum) {
return EasyExcelFactory.read(file).sheet(sheetNum).headRowNumber(headNum).doReadSync();
}
//====================================================无JAVA模型读取excel数据===============================================================
//====================================================将excel数据同步到JAVA模型属性里===============================================================
/**
* 同步按模型读默认读取sheet0,不读取表头从第2行开始读
* @param file
* @param clazz 模型的类类型excel数据会按该类型转换成对象
*/
public static <T> List<T> syncReadModel(String file, Class clazz) {
return EasyExcelFactory.read(file).sheet().head(clazz).doReadSync();
}
/**
* 同步按模型读默认表头占一行不读取表头从第2行开始读
* @param file
* @param clazz 模型的类类型excel数据会按该类型转换成对象
* @param sheetNum sheet页号从0开始
*/
public static <T> List<T> syncReadModel(String file, Class clazz, Integer sheetNum, Integer headNum) {
return EasyExcelFactory.read(file).sheet(sheetNum).headRowNumber(headNum).head(clazz).doReadSync();
}
/**
* 同步按模型读指定sheet,不读取表头)
* @param inputStream
* @param clazz 模型的类类型excel数据会按该类型转换成对象
* @param sheetNum sheet页号从0开始
*/
public static <T> List<T> syncReadModel(InputStream inputStream, Class clazz, Integer sheetNum, Integer headNum) {
return EasyExcelFactory.read(inputStream).sheet(sheetNum).headRowNumber(headNum).head(clazz).doReadSync();
}
/**
* 同步按模型读指定sheet,不读取表头)
* @param file
* @param clazz 模型的类类型excel数据会按该类型转换成对象
* @param sheetNum sheet页号从0开始
*/
public static <T> List<T> syncReadModel(File file, Class clazz, Integer sheetNum, Integer headNum) {
return EasyExcelFactory.read(file).sheet(sheetNum).headRowNumber(headNum).head(clazz).doReadSync();
}
//====================================================将excel数据同步到JAVA模型属性里===============================================================
//====================================================异步读取excel数据===============================================================
/**
* 异步无模型读默认读取sheet0,不读取表头,从第2行开始读
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param file 表头占的行数从0开始如果要连表头一起读出来则传0
*/
public static <T> void asyncRead(String file, AnalysisEventListener<T> listener) {
EasyExcelFactory.read(file, listener).sheet().doRead();
}
/**
* 异步无模型读(默认表头占一行,不读取表头,从第2行开始读
* @param file 表头占的行数从0开始如果要连表头一起读出来则传0
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param sheetNum sheet页号从0开始
*/
public static <T> void asyncRead(String file, AnalysisEventListener<T> listener, Integer sheetNum) {
EasyExcelFactory.read(file, listener).sheet(sheetNum).doRead();
}
/**
* 异步无模型读指定sheet和表头占的行数
* @param inputStream
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param sheetNum sheet页号从0开始
* @param headNum 表头占的行数从0开始如果要连表头一起读出来则传0
*/
public static <T> void asyncRead(InputStream inputStream, AnalysisEventListener<T> listener, Integer sheetNum, Integer headNum) {
EasyExcelFactory.read(inputStream, listener).sheet(sheetNum).headRowNumber(headNum).doRead();
}
/**
* 异步无模型读指定sheet和表头占的行数
* @param file
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param sheetNum sheet页号从0开始
* @param headNum 表头占的行数从0开始如果要连表头一起读出来则传0
*/
public static <T> void asyncRead(File file, AnalysisEventListener<T> listener, Integer sheetNum, Integer headNum) {
EasyExcelFactory.read(file, listener).sheet(sheetNum).headRowNumber(headNum).doRead();
}
/**
* 异步无模型读指定sheet和表头占的行数
* @param file
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param sheetNum sheet页号从0开始
* @param headNum 表头占的行数从0开始如果要连表头一起读出来则传0
* @return
*/
public static <T> void asyncRead(String file, AnalysisEventListener<T> listener, Integer sheetNum, Integer headNum) {
EasyExcelFactory.read(file, listener).sheet(sheetNum).headRowNumber(headNum).doRead();
}
//====================================================异步读取excel数据===============================================================
//====================================================将excel数据异步到JAVA模型属性里===============================================================
/**
* 异步按模型读取默认读取sheet0,不读取表头,从第2行开始读
* @param file
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param clazz 模型的类类型excel数据会按该类型转换成对象
*/
public static <T> void asyncReadModel(String file, AnalysisEventListener<T> listener, Class clazz) {
EasyExcelFactory.read(file, clazz, listener).sheet().doRead();
}
/**
* 异步按模型读取(默认表头占一行,不读取表头,从第2行开始读
* @param file
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param clazz 模型的类类型excel数据会按该类型转换成对象
* @param sheetNum sheet页号从0开始
*/
public static <T> void asyncReadModel(String file, AnalysisEventListener<T> listener, Class clazz, Integer sheetNum) {
EasyExcelFactory.read(file, clazz, listener).sheet(sheetNum).doRead();
}
/**
* 异步按模型读取
* @param file
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param clazz 模型的类类型excel数据会按该类型转换成对象
* @param sheetNum sheet页号从0开始
*/
public static <T> void asyncReadModel(File file, AnalysisEventListener<T> listener, Class clazz, Integer sheetNum) {
EasyExcelFactory.read(file, clazz, listener).sheet(sheetNum).doRead();
}
/**
* 异步按模型读取
* @param inputStream
* @param listener 监听器在监听器中可以处理行数据LinkedHashMap表头数据异常处理等
* @param clazz 模型的类类型excel数据会按该类型转换成对象
* @param sheetNum sheet页号从0开始
*/
public static <T> void asyncReadModel(InputStream inputStream, AnalysisEventListener<T> listener, Class clazz, Integer sheetNum) {
EasyExcelFactory.read(inputStream, clazz, listener).sheet(sheetNum).doRead();
}
//====================================================将excel数据异步到JAVA模型属性里===============================================================
//====================================================无JAVA模型写文件===============================================================
/**
* 无模板写文件
* @param file
* @param head 表头数据
* @param data 表内容数据
*/
public static void write(String file, List<List<String>> head, List<List<Object>> data) {
EasyExcel.write(file).head(head).sheet().doWrite(data);
}
/**
* 无模板写文件
* @param file
* @param head 表头数据
* @param data 表内容数据
* @param sheetNum sheet页号从0开始
* @param sheetName sheet名称
*/
public static void write(String file, List<List<String>> head, List<List<Object>> data, Integer sheetNum, String sheetName) {
EasyExcel.write(file).head(head).sheet(sheetNum, sheetName).doWrite(data);
}
//====================================================无JAVA模型写文件===============================================================
//====================================================有Excel模板写文件===============================================================
/**
* 根据excel模板文件写入文件可以实现向已有文件中添加数据的功能
* @param file
* @param template
* @param data
*/
public static <T> void writeTemplate(String file, String template, List<T> data) {
EasyExcel.write(file).withTemplate(template).sheet().doWrite(data);
}
/**
* 根据excel模板文件写入文件
* @param file
* @param template
* @param clazz
* @param data
*/
public static <T> void writeTemplate(String file, String template, Class clazz, List<T> data) {
EasyExcel.write(file, clazz).withTemplate(template).sheet().doWrite(data);
}
//====================================================无模板写文件===============================================================
//====================================================有模板写文件===============================================================
/**
* 按模板写文件
* @param file
* @param clazz 表头模板
* @param data 数据
*/
public static <T> void write(String file, Class clazz, List<T> data) {
EasyExcel.write(file, clazz).sheet().doWrite(data);
}
/**
* 按模板写文件
* @param file
* @param clazz 表头模板
* @param data 数据
* @param sheetNum sheet页号从0开始
* @param sheetName sheet名称
*/
public static <T> void write(String file, Class clazz, List<T> data, Integer sheetNum, String sheetName) {
EasyExcel.write(file, clazz).sheet(sheetNum, sheetName).doWrite(data);
}
/**
* 按模板写文件
* @param file
* @param clazz 表头模板
* @param data 数据
* @param writeHandler 自定义的处理器比如设置table样式设置超链接、单元格下拉框等等功能都可以通过这个实现需要注册多个则自己通过链式去调用
* @param sheetNum sheet页号从0开始
* @param sheetName sheet名称
*/
public static <T> void write(String file, Class clazz, List<T> data, WriteHandler writeHandler, Integer sheetNum, String sheetName) {
EasyExcel.write(file, clazz).registerWriteHandler(writeHandler).sheet(sheetNum, sheetName).doWrite(data);
}
/**
* 按模板写文件(包含某些字段)
* @param file
* @param clazz 表头模板
* @param data 数据
* @param includeCols 包含字段集合,根据字段名称显示
* @param sheetNum sheet页号从0开始
* @param sheetName sheet名称
*/
public static <T> void writeInclude(String file, Class clazz, List<T> data, Set<String> includeCols, Integer sheetNum, String sheetName) {
EasyExcel.write(file, clazz).includeColumnFiledNames(includeCols).sheet(sheetNum, sheetName).doWrite(data);
}
/**
* 按模板写文件(排除某些字段)
* @param file
* @param clazz 表头模板
* @param data 数据
* @param excludeCols 过滤排除的字段,根据字段名称过滤
* @param sheetNum sheet页号从0开始
* @param sheetName sheet名称
*/
public static <T> void writeExclude(String file, Class clazz, List<T> data, Set<String> excludeCols, Integer sheetNum, String sheetName) {
EasyExcel.write(file, clazz).excludeColumnFiledNames(excludeCols).sheet(sheetNum, sheetName).doWrite(data);
}
//------------------------------------------------------------------------------------------------
/**
* 多个sheet页的数据链式写入
*
* @param file
*/
public static EasyExcelWriteTool writeWithSheets(String file) {
return new EasyExcelWriteTool(file);
}
/**
* 多个sheet页的数据链式写入
*
* @param file
*/
public static EasyExcelWriteTool writeWithSheets(File file) {
return new EasyExcelWriteTool(file);
}
/**
* 多个sheet页的数据链式写入
*
* @param outputStream
*/
public static EasyExcelWriteTool writeWithSheets(OutputStream outputStream) {
return new EasyExcelWriteTool(outputStream);
}
/**
* 多个sheet页的数据链式写入失败了会返回一个有部分数据的Excel
*
* @param response
* @param exportFileName 导出的文件名称
*/
@SneakyThrows
public static EasyExcelWriteTool writeWithSheetsWeb(HttpServletResponse response, String exportFileName) throws IOException {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码
String fileName = URLEncoder.encode(exportFileName, "UTF-8");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
return new EasyExcelWriteTool(response.getOutputStream());
}
public static void main(String[] args) {
List<Map<Integer, String>> maps = EasyExcelUtil.syncRead("C:\\Users\\无名\\Desktop\\11.xlsx");
System.out.println(maps);
}
}

View File

@@ -0,0 +1,68 @@
package com.njcn.advance.utils;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import org.apache.poi.ss.formula.functions.T;
import java.io.File;
import java.io.OutputStream;
import java.util.List;
/**
* Description:
* Date: 2024/3/15 16:00【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class EasyExcelWriteTool {
private int sheetNum;
private ExcelWriter excelWriter;
public EasyExcelWriteTool(OutputStream outputStream) {
excelWriter = EasyExcel.write(outputStream).build();
}
public EasyExcelWriteTool(File file) {
excelWriter = EasyExcel.write(file).build();
}
public EasyExcelWriteTool(String filePath) {
excelWriter = EasyExcel.write(filePath).build();
}
/**
* 链式模板表头写入
* @param clazz 表头格式
* @param data 数据 List<ExcelModel> 或者List<List<Object>>
* @return
*/
public <T> EasyExcelWriteTool writeModel(Class clazz, List<T> data, String sheetName) {
final WriteSheet writeSheet = EasyExcel.writerSheet(this.sheetNum++, sheetName).head(clazz).build();
excelWriter.write(data, writeSheet);
return this;
}
/**
* 链式自定义表头写入
* @param head
* @param data 数据 List<ExcelModel> 或者List<List<Object>>
* @param sheetName
* @return
*/
public EasyExcelWriteTool write(List<List<String>> head, List<T> data, String sheetName) {
final WriteSheet writeSheet = EasyExcel.writerSheet(this.sheetNum++, sheetName).head(head).build();
excelWriter.write(data, writeSheet);
return this;
}
/**
* 使用此类结束后,一定要关闭流
*/
public void finish() {
excelWriter.finish();
}
}

View File

@@ -0,0 +1,71 @@
package com.njcn.advance.utils;
import cn.hutool.core.codec.Base64;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.io.*;
@Component
public class InstantiateUtil<E> {
private static final Logger logger= LoggerFactory.getLogger(InstantiateUtil.class);
public byte[] instantiate(E e) {
if (e == null) {
return null;
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(e);
objectOutputStream.close();
return byteArrayOutputStream.toByteArray();
} catch (IOException e1) {
logger.error("发生异常,"+e1.getMessage());
}
return null;
}
public <E> E deInstantiate(byte[] bytes) {
if (bytes == null) {
return null;
}
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
try {
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
try {
return (E) objectInputStream.readObject();
} catch (ClassNotFoundException e) {
logger.error("发生异常,"+e.getMessage());
}
} catch (IOException e) {
logger.error("发生异常,"+e.getMessage());
}
return null;
}
public String stringInstantiate(E e) { //序列化对象的byte[]数组转为字符串(包装类可不调用)
byte[] bytes = instantiate(e);
if (bytes != null && bytes.length>0 ) {
return Base64.encode(bytes);
}
return "";
}
public byte[] stringDeInstantiate(String str) { //stringInstantiate方法还原为byte[]数组
if (!StringUtils.isEmpty(str)) {
return Base64.decode(str);
}
return null;
}
}

View File

@@ -0,0 +1,247 @@
package com.njcn.advance.utils;
import cn.hutool.core.util.StrUtil;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Random;
import static java.math.BigDecimal.ROUND_HALF_UP;
public class NumberUtil {
private static final int DEFAULT_SCALE = 10;
private static final RoundingMode DEFAULT_ROUNDINGMODE = RoundingMode.HALF_UP;
private static Random rand = new Random();
public static boolean isNumber(String str) {
return isDouble(str);
}
public static boolean isInt(String str) {
if (StrUtil.isEmpty(str))
return false;
try
{
Integer.parseInt(str);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public static boolean isInteger(String str) {
return isInt(str);
}
public static boolean isLong(String str) {
if (StrUtil.isEmpty(str))
return false;
try
{
Long.parseLong(str);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public static boolean isFloat(String str) {
if (StrUtil.isEmpty(str))
return false;
try
{
Float.parseFloat(str);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public static boolean isDouble(String str) {
if (StrUtil.isEmpty(str))
return false;
try
{
Double.parseDouble(str);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public static double round(double v, int scale) {
BigDecimal b = new BigDecimal(Double.toString(v));
return b.setScale(scale, ROUND_HALF_UP).doubleValue();
}
public static int getRandomInt(int max) {
return rand.nextInt(max);
}
public static int toInt(byte[] bs) {
return toInt(bs, 0);
}
public static int toInt(byte[] bs, int start) {
int i = 0;
i += ((bs[start] & 0xFF) << 24);
i += ((bs[(start + 1)] & 0xFF) << 16);
i += ((bs[(start + 2)] & 0xFF) << 8);
i += (bs[(start + 3)] & 0xFF);
return i;
}
public static byte[] toBytes(int i) {
byte[] bs = new byte[4];
bs[0] = ((byte)(i >> 24));
bs[1] = ((byte)(i >> 16));
bs[2] = ((byte)(i >> 8));
bs[3] = ((byte)(i & 0xFF));
return bs;
}
public static void toBytes(int i, byte[] bs, int start) {
bs[start] = ((byte)(i >> 24));
bs[(start + 1)] = ((byte)(i >> 16));
bs[(start + 2)] = ((byte)(i >> 8));
bs[(start + 3)] = ((byte)(i & 0xFF));
}
public static short toShort(byte[] bs) {
return toShort(bs, 0);
}
public static short toShort(byte[] bs, int start) {
short i = 0;
i = (short)(i + ((bs[(start + 0)] & 0xFF) << 8));
i = (short)(i + (bs[(start + 1)] & 0xFF));
return i;
}
public static byte[] toBytes(short i) {
byte[] bs = new byte[2];
bs[0] = ((byte)(i >> 8));
bs[1] = ((byte)(i & 0xFF));
return bs;
}
public static void toBytes(short i, byte[] bs, int start) {
bs[(start + 0)] = ((byte)(i >> 8));
bs[(start + 1)] = ((byte)(i & 0xFF));
}
public static byte[] toBytes(long i) {
byte[] bs = new byte[8];
bs[0] = ((byte)(int)(i >> 56));
bs[1] = ((byte)(int)(i >> 48));
bs[2] = ((byte)(int)(i >> 40));
bs[3] = ((byte)(int)(i >> 32));
bs[4] = ((byte)(int)(i >> 24));
bs[5] = ((byte)(int)(i >> 16));
bs[6] = ((byte)(int)(i >> 8));
bs[7] = ((byte)(int)(i & 0xFF));
return bs;
}
public static void toBytes(long l, byte[] bs, int start) {
byte[] arr = toBytes(l);
for (int i = 0; i < 8; i++)
bs[(start + i)] = arr[i];
}
public static long toLong(byte[] bs) {
return toLong(bs, 0);
}
public static long toLong(byte[] bs, int index) {
return (bs[index] & 0xFF) << 56 | (bs[(index + 1)] & 0xFF) << 48 | (bs[(index + 2)] & 0xFF) << 40 |
(bs[(index + 3)] & 0xFF) << 32 | (bs[(index + 4)] & 0xFF) << 24 | (bs[(index + 5)] & 0xFF) << 16 |
(bs[(index + 6)] & 0xFF) << 8 | (bs[(index + 7)] & 0xFF) << 0;
}
public static String format(Number n, String format) {
DecimalFormat df = new DecimalFormat(format);
return df.format(n);
}
public static Double formatNumber(Number n, String format) {
return Double.valueOf(format(n,format));
}
public static Double formatNumber(Number n) {
String format = "0.00";
return Double.valueOf(format(n,format));
}
public static ArrayList<Integer> getBinaryList(int num) {
ArrayList<Integer> list = new ArrayList<Integer>();
String binStr = Integer.toBinaryString(num);
for (int i = 0; i < binStr.length(); i++) {
if (binStr.charAt(i) == '1') {
int intpow = (int)Math.pow(2.0D, binStr.length() - i - 1);
list.add(Integer.valueOf(intpow));
}
}
return list;
}
public static BigDecimal getBigDecimal(Object number) {
if (number == null) {
return null;
}
if ((number instanceof BigDecimal))
return (BigDecimal)number;
if (((number instanceof Double)) || ((number instanceof Float)))
return new BigDecimal(number.toString());
if ((number instanceof Integer))
return new BigDecimal(((Integer)number).intValue());
if ((number instanceof Long)) {
return new BigDecimal(((Long)number).longValue());
}
return new BigDecimal(number.toString());
}
public static Number div(Number a, Number b) {
return getBigDecimal(a).divide(getBigDecimal(b), DEFAULT_SCALE, DEFAULT_ROUNDINGMODE);
}
public static Number div(Number a, Number b, int scale) {
return getBigDecimal(a).divide(getBigDecimal(b), scale, DEFAULT_ROUNDINGMODE);
}
public static Number sum(Number a, Number b) {
return getBigDecimal(a).add(getBigDecimal(b));
}
public static Number sub(Number a, Number b) {
return getBigDecimal(a).subtract(getBigDecimal(b));
}
public static Number mul(Number a, Number b) {
return getBigDecimal(a).multiply(getBigDecimal(b));
}
public static boolean equal(Number a, Number b) {
if (((a instanceof Float)) || ((b instanceof Float)) || ((a instanceof Double)) || ((b instanceof Double))) {
return Math.abs(a.floatValue() - b.floatValue()) < 1.0E-006D;
}
return a.equals(b);
}
/**
* 判断key在数组arr中是否存在
* @param arr 数组
* @param key 待查找值
* @return key在数组arr中是否存在true存在false不存在
*/
public static boolean exist(Long[] arr, long key) {
for(int i=0; i<arr.length; i++) {
if(equal(arr[i], key)) {
return true;
}
}
return false;
}
}

View File

@@ -1,7 +1,6 @@
package com.njcn.advance.utils;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -33,8 +32,7 @@ public class WaveUtils {
public String getFile(String filePath){
String temJson = null;
try(InputStream inputStream = fileStorageUtil.getFileStream(filePath)){
temJson = IoUtil.read(inputStream, CharsetUtil.UTF_8);
temJson = IoUtil.readUtf8(inputStream);
} catch (IOException e) {
e.printStackTrace();
}

View File

@@ -56,9 +56,28 @@
<groupId>com.njcn</groupId>
<artifactId>event-api</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>com.sun.jna</groupId>
<artifactId>jna</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>pqs-influx</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.5.0</version>
</dependency>
</dependencies>

View File

@@ -2,13 +2,11 @@ package com.njcn.advance.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.netflix.ribbon.proxy.annotation.Http;
import com.njcn.advance.pojo.dto.BalanceInfo;
import com.njcn.advance.pojo.param.AdvanceBaseParam;
import com.njcn.advance.pojo.po.PqsRelevanceLog;
import com.njcn.advance.service.EventRelevantAnalysisService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
@@ -17,23 +15,20 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.PubUtils;
import com.njcn.event.pojo.po.RmpEventDetailAssPO;
import com.njcn.event.pojo.vo.AdvanceEventDetailVO;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.controller.BaseController;
import com.njcn.web.pojo.annotation.DateTimeStrValid;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.DataInputStream;
import java.net.URLDecoder;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
/**
* pqs
@@ -42,11 +37,11 @@ import java.util.Map;
* @author cdf
* @date 2023/6/30
*/
@Slf4j
@RestController
@RequestMapping("process")
@Api(tags = "暂降事件关联分析")
@RequiredArgsConstructor
@Slf4j
public class EventRelevantAnalysisController extends BaseController {
private final EventRelevantAnalysisService eventRelevantAnalysisService;
@@ -87,6 +82,11 @@ public class EventRelevantAnalysisController extends BaseController {
@ApiOperation("事件波形分析主列表")
public HttpResult<Page<RmpEventDetailAssPO>> queryEventsAssPage(@RequestBody BaseParam baseParam){
String methodDescribe = getMethodDescribe("queryEventsAssPage");
String searchValue = baseParam.getSearchValue();
Pattern pattern = Pattern.compile(PatternRegex.SPECIAL_REGEX);
if(pattern.matcher(searchValue).find()){
throw new BusinessException(ValidMessage.SPECIAL_REGEX);
}
Page<RmpEventDetailAssPO> page = eventRelevantAnalysisService.queryEventsAssPage(baseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
}
@@ -197,4 +197,12 @@ public class EventRelevantAnalysisController extends BaseController {
boolean flag = eventRelevantAnalysisService.delRelevantLog(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
}

View File

@@ -0,0 +1,132 @@
package com.njcn.advance.controller.carrycapacity;
import com.alibaba.excel.EasyExcel;
import com.njcn.advance.pojo.carrycapacity.excel.CarryCapcityDataEexcel;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityCalParam;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityEvaluateParam;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityQueryDataParam;
import com.njcn.advance.pojo.carrycapacity.param.ExcelDataParam;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityDResultVO;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityDataIVO;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityDataQVO;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityDataVO;
import com.njcn.advance.service.carrycapacity.CarryCapacityService;
import com.njcn.advance.utils.EasyExcelUtil;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年07月21日 10:06
*/
@RestController
@RequestMapping("carrycapacity")
@Api(tags = "承载能力评估")
@RequiredArgsConstructor
public class CarryCapacityController extends BaseController {
private final CarryCapacityService carryCapcityService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryCarryCapacityData")
@ApiOperation("承载能力评估数据查询-主页面")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<CarryCapacityDataVO> queryCarryCapacityData(@RequestBody @Validated CarryCapacityQueryDataParam queryParam) {
String methodDescribe = getMethodDescribe("queryCarryCapacityData");
CarryCapacityDataVO carryCapacityDataVO = carryCapcityService.queryCarryCapacityData(queryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, carryCapacityDataVO, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryCarryCapacityQData")
@ApiOperation("承载能力评估数据查询-无功功率")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<CarryCapacityDataQVO> queryCarryCapacityQData(@RequestBody @Validated CarryCapacityQueryDataParam queryParam) {
String methodDescribe = getMethodDescribe("queryCarryCapacityQData");
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, carryCapcityService.queryCarryCapacityqData(queryParam), methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryCarryCapacityIData")
@ApiOperation("承载能力评估数据查询-谐波电流幅值")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<CarryCapacityDataIVO> queryCarryCapacityIData(@RequestBody @Validated CarryCapacityQueryDataParam queryParam) {
String methodDescribe = getMethodDescribe("queryCarryCapacityIData");
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, carryCapcityService.queryCarryCapacityiData(queryParam), methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/carryCapacityCal")
@ApiOperation("承载能力评估")
@ApiImplicitParam(name = "calParam", value = "计算参数", required = true)
public HttpResult<CarryCapacityDResultVO> carryCapacityCal(@RequestBody @Validated CarryCapacityCalParam calParam) {
String methodDescribe = getMethodDescribe("carryCapacityCal");
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, carryCapcityService.carryCapacityCal(calParam), methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/carryCapacityTree")
@ApiOperation("承载能力评估-台账树")
public HttpResult<List<TerminalTree>> carryCapacityTree() {
String methodDescribe = getMethodDescribe("carryCapacityTree");
List<TerminalTree> terminalTree = carryCapcityService.carryCapacityTree();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, terminalTree, methodDescribe);
}
@ResponseBody
@ApiOperation("导出数据集模板")
@GetMapping(value = "getExcelTemplate")
public HttpResult<String> getExcelTemplate(HttpServletResponse response) throws IOException {
String sheetName = "数据集模版";
List<CarryCapcityDataEexcel> excels = new ArrayList<>();
CarryCapcityDataEexcel exportHeadersExcel = new CarryCapcityDataEexcel();
excels.add(exportHeadersExcel);
EasyExcel.write(response.getOutputStream(), CarryCapcityDataEexcel.class)
.sheet(sheetName)
.doWrite(excels);
EasyExcelUtil.writeWithSheetsWeb(response, "数据集模版.xlsx");
return null;
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/uploadExcel")
@ApiOperation("上传数据集")
public HttpResult<Boolean> uploadExcel(@Validated ExcelDataParam excelDataParam) throws Exception {
String methodDescribe = getMethodDescribe("uploadExcel");
boolean flag = carryCapcityService.uploadExcel(excelDataParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/carryCapacityEvaluate")
@ApiOperation("承载能力评估_充电站、电加热负荷、电气化铁路承载能力评估")
@ApiImplicitParam(name = "calParam", value = "计算参数", required = true)
public HttpResult<CarryCapacityDResultVO> carryCapacityEvaluate(@RequestBody @Validated CarryCapacityEvaluateParam calParam) {
String methodDescribe = getMethodDescribe("carryCapacityEvaluate");
CarryCapacityDResultVO vo = carryCapcityService.carryCapacityEvaluate(calParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
}
}

View File

@@ -0,0 +1,84 @@
package com.njcn.advance.controller.carrycapacity;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityDeviceParam;
import com.njcn.advance.pojo.carrycapacity.po.CarryCapacityDevicePO;
import com.njcn.advance.service.carrycapacity.CarryCapacityDevicePOService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年07月21日 10:06
*/
@RestController
@RequestMapping("carrycapacitydev")
@Api(tags = "承载能力评估用户设备")
@RequiredArgsConstructor
public class CarryCapacityDevController extends BaseController {
private final CarryCapacityDevicePOService carryCapacityDevicePOService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/add")
@ApiOperation("承载能力评估用户设备新增")
@ApiImplicitParam(name = "capacityDeviceParam", value = "新增参数", required = true)
public HttpResult<Boolean> add(@RequestBody @Validated CarryCapacityDeviceParam capacityDeviceParam) {
String methodDescribe = getMethodDescribe("add");
Boolean flag = carryCapacityDevicePOService.add(capacityDeviceParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/remove")
@ApiOperation("承载能力评估用户设备批量删除")
@ApiImplicitParam(name = "devIds", value = "用户id集合", required = true)
public HttpResult<Boolean> remove(@RequestParam("devIds") List<String> devIds) {
String methodDescribe = getMethodDescribe("remove");
Boolean flag = carryCapacityDevicePOService.removeByIds(devIds);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/update")
@ApiOperation("承载能力评估用户设备编辑")
@ApiImplicitParam(name = "deviceParam", value = "编辑参数", required = true)
public HttpResult<Boolean> update(@RequestBody @Validated CarryCapacityDeviceParam.CarryCapacityDeviceUpdateParam deviceParam) {
String methodDescribe = getMethodDescribe("update");
Boolean flag = carryCapacityDevicePOService.updateDevice(deviceParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queyDeviceList")
@ApiOperation("承载能力评估用户设备查询")
@ApiImplicitParam(name = "deviceParam", value = "编辑参数", required = true)
public HttpResult<List<CarryCapacityDevicePO>> queyDeviceList(@RequestBody @Validated CarryCapacityDeviceParam.CarryCapacityDeviceQueryParam deviceParam) {
String methodDescribe = getMethodDescribe("queyDeviceList");
List<CarryCapacityDevicePO> list = carryCapacityDevicePOService.lambdaQuery()
.eq(StringUtils.isNotBlank(deviceParam.getDevId()), CarryCapacityDevicePO::getDevId, deviceParam.getDevId())
.eq(StringUtils.isNotBlank(deviceParam.getUserId()), CarryCapacityDevicePO::getUserId, deviceParam.getUserId()).list();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -0,0 +1,58 @@
package com.njcn.advance.controller.carrycapacity;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityResultParam;
import com.njcn.advance.pojo.carrycapacity.po.CarryCapacityResultPO;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityDResultVO;
import com.njcn.advance.service.carrycapacity.CarryCapacityResultPOService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年07月21日 10:06
*/
@RestController
@RequestMapping("result")
@Api(tags = "承载能力评估结果")
@RequiredArgsConstructor
public class CarryCapacityResultController extends BaseController {
private final CarryCapacityResultPOService carryCapacityResultPOService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryResultList")
@ApiOperation("承载能力评估列表查询")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<IPage<CarryCapacityDResultVO>> queryResultList(@RequestBody @Validated CarryCapacityResultParam.CarryCapacityResultPageParam queryParam) {
String methodDescribe = getMethodDescribe("queryResultList");
IPage<CarryCapacityDResultVO> vo = carryCapacityResultPOService.queryResultList(queryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/remove")
@ApiOperation("承载能力评估用户批量删除")
public HttpResult<Boolean> remove(@RequestParam("ids") List<String> ids) {
String methodDescribe = getMethodDescribe("remove");
Boolean flag = carryCapacityResultPOService.lambdaUpdate().in(CarryCapacityResultPO::getId, ids).set(CarryCapacityResultPO::getStatus, 0).update();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
}

View File

@@ -0,0 +1,99 @@
package com.njcn.advance.controller.carrycapacity;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityStrategyParam;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityStrategyDhlVO;
import com.njcn.advance.pojo.carrycapacity.vo.CarryCapacityStrategyVO;
import com.njcn.advance.service.carrycapacity.CarryCapacityStrategyDhlPOService;
import com.njcn.advance.service.carrycapacity.CarryCapacityStrategyPOService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Description:
* Date: 2024/3/5 10:35【需求编号】
*
* @author clam
* @version V1.0.0
*/
@RestController
@RequestMapping("carrycapacity")
@Api(tags = "承载能力评估策略配置")
@RequiredArgsConstructor
public class CarryCapacityStrategyController extends BaseController {
private final CarryCapacityStrategyPOService carryCapacityStrategyPOService;
private final CarryCapacityStrategyDhlPOService carryCapacityStrategyDhlPOService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/add")
@ApiOperation("用户新增承载能力评估策略(光伏)")
@ApiImplicitParam(name = "carryCapacityStrategyParam", value = "新增参数", required = true)
public HttpResult<Boolean> add(@RequestBody @Validated CarryCapacityStrategyParam carryCapacityStrategyParam) {
String methodDescribe = getMethodDescribe("add");
Boolean flag = carryCapacityStrategyPOService.add(carryCapacityStrategyParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addList")
@ApiOperation("用户新增承载能力评估策略组(光伏)")
@ApiImplicitParam(name = "carryCapacityStrategyParamList", value = "新增参数", required = true)
public HttpResult<Boolean> addList(@RequestBody @Validated List<CarryCapacityStrategyParam> carryCapacityStrategyParamList) {
String methodDescribe = getMethodDescribe("addList");
Boolean flag = carryCapacityStrategyPOService.addList(carryCapacityStrategyParamList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queyDetail")
@ApiOperation("承载能力评估策略初始化查询(光伏)")
public HttpResult<List<CarryCapacityStrategyVO>> queyDetail() {
String methodDescribe = getMethodDescribe("queyDetail");
List<CarryCapacityStrategyVO> carryCapacityStrategyVOList = carryCapacityStrategyPOService.queyDetail();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, carryCapacityStrategyVOList, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/restore")
@ApiOperation("承载能力评估策略一键还原")
public HttpResult<Boolean> restore() {
String methodDescribe = getMethodDescribe("restore");
Boolean flag = carryCapacityStrategyPOService.restore();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/adddhl")
@ApiOperation("用户新增承载能力评估策略(电弧炉)")
@ApiImplicitParam(name = "capacityStrategyDhlVO", value = "新增参数", required = true)
public HttpResult<Boolean> adddhl(@RequestBody @Validated CarryCapacityStrategyDhlVO capacityStrategyDhlVO) {
String methodDescribe = getMethodDescribe("adddhl");
Boolean flag = carryCapacityStrategyDhlPOService.adddhl(capacityStrategyDhlVO);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queyDetailDhl")
@ApiOperation("承载能力评估策略初始化查询(电弧炉)")
public HttpResult<List<CarryCapacityStrategyDhlVO>> queyDetailDhl() {
String methodDescribe = getMethodDescribe("queyDetailDhl");
List<CarryCapacityStrategyDhlVO> car = carryCapacityStrategyDhlPOService.queyDetailDhl();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, car, methodDescribe);
}
}

View File

@@ -0,0 +1,89 @@
package com.njcn.advance.controller.carrycapacity;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityUserParam;
import com.njcn.advance.pojo.carrycapacity.po.CarryCapacityUserPO;
import com.njcn.advance.service.carrycapacity.CarryCapacityUserPOService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年07月21日 10:06
*/
@RestController
@RequestMapping("carrycapacityuser")
@Api(tags = "承载能力评估用户")
@RequiredArgsConstructor
public class CarryCapacityUserController extends BaseController {
private final CarryCapacityUserPOService carryCapacityUserPOService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/add")
@ApiOperation("承载能力评估用户新增")
@ApiImplicitParam(name = "carryCapacityUserParam", value = "新增参数", required = true)
public HttpResult<Boolean> add(@RequestBody @Validated CarryCapacityUserParam carryCapacityUserParam) {
String methodDescribe = getMethodDescribe("add");
Boolean flag = carryCapacityUserPOService.add(carryCapacityUserParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/remove")
@ApiOperation("承载能力评估用户批量删除")
@ApiImplicitParam(name = "userIds", value = "用户id集合", required = true)
public HttpResult<Boolean> remove(@RequestParam("userIds") List<String> userIds) {
String methodDescribe = getMethodDescribe("remove");
Boolean flag = carryCapacityUserPOService.lambdaUpdate().in(CarryCapacityUserPO::getUserId,userIds).set(CarryCapacityUserPO::getStatus,0).update();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/update")
@ApiOperation("承载能力评估用户编辑")
@ApiImplicitParam(name = "userUpdateParam", value = "编辑参数", required = true)
public HttpResult<Boolean> update(@RequestBody @Validated CarryCapacityUserParam.CarryCapacityUserUpdateParam userUpdateParam) {
String methodDescribe = getMethodDescribe("update");
Boolean flag = carryCapacityUserPOService.updateUser(userUpdateParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queyDetailUser")
@ApiOperation("承载能力评估用户查询")
@ApiImplicitParam(name = "pageParam", value = "编辑参数", required = true)
public HttpResult<IPage<CarryCapacityUserPO>> queyDetailUser(@RequestBody @Validated CarryCapacityUserParam.CarryCapacityUserPageParam pageParam) {
String methodDescribe = getMethodDescribe("queyDetailUser");
IPage<CarryCapacityUserPO> page = carryCapacityUserPOService.queyDetailUser(pageParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queyDetailUserById")
@ApiOperation("承载能力评估用户查询")
public HttpResult<CarryCapacityUserPO> queyDetailUserById(@RequestParam("userId") String userId) {
String methodDescribe = getMethodDescribe("queyDetailUserById");
CarryCapacityUserPO po = carryCapacityUserPOService.queyDetailUserById(userId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, po, methodDescribe);
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.advance.controller.eventGui;
import com.njcn.common.utils.PubUtils;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.DataInputStream;
import java.net.URLDecoder;
import java.time.LocalDateTime;
import java.util.List;
@RestController
@RequestMapping("process")
@Api(tags = "暂降事件关联分析")
@RequiredArgsConstructor
@Slf4j
public class EventGuiController {
}

View File

@@ -0,0 +1,75 @@
package com.njcn.advance.controller.govern.harmonic;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.advance.pojo.po.govern.harmonic.SgHarmonicFile;
import com.njcn.advance.service.govern.harmonic.ISgHarmonicFileService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-04-17
*/
@Slf4j
@RestController
@RequestMapping("/sgHarmonic")
@Api(tags = "暂降治理评估控制器")
@RequiredArgsConstructor
public class SgHarmonicFileController extends BaseController {
private final FileStorageUtil fileStorageUtil;
private final ISgHarmonicFileService harmonicFileService;
@PostMapping(value = "/importHarmonicData")
@ApiOperation("上传谐波数据文件")
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
public HttpResult<String> importHarmonicData(@RequestParam("file") MultipartFile file, @RequestParam("name") String name) {
String methodDescribe = getMethodDescribe("importHarmonicData");
String filePath = fileStorageUtil.uploadMultipart(file, OssPath.GOVERN_HARMONIC_FILE);
SgHarmonicFile sgHarmonicFile = new SgHarmonicFile();
sgHarmonicFile.setDataName(name);
sgHarmonicFile.setDataPath(filePath);
sgHarmonicFile.setState(DataStateEnum.ENABLE.getCode());
harmonicFileService.save(sgHarmonicFile);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@PostMapping(value = "/listHarmonicData")
@ApiOperation("获取谐波数据数据")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
public HttpResult<List<SgHarmonicFile>> listHarmonicData() {
String methodDescribe = getMethodDescribe("listHarmonicData");
LambdaQueryWrapper<SgHarmonicFile> sgHarmonicFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
sgHarmonicFileLambdaQueryWrapper.eq(SgHarmonicFile::getState,DataStateEnum.ENABLE.getCode());
List<SgHarmonicFile> files = harmonicFileService.list(sgHarmonicFileLambdaQueryWrapper);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, files, methodDescribe);
}
}

View File

@@ -0,0 +1,93 @@
package com.njcn.advance.controller.govern.voltage;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.advance.pojo.param.govern.voltage.SgGovernSchemeHistoryParam;
import com.njcn.advance.pojo.vo.govern.voltage.SgGovernSchemeHistoryAllVO;
import com.njcn.advance.pojo.vo.govern.voltage.SgGovernSchemeHistoryVO;
import com.njcn.advance.service.govern.voltage.IGovernSchemeCalcService;
import com.njcn.advance.service.govern.voltage.ISgGovernSchemeHistoryService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author hongawen
*/
@Slf4j
@Validated
@RestController
@Api(tags = "暂降治理评估控制器")
@RequestMapping("/sagGovernScheme")
@RequiredArgsConstructor
public class SagGovernSchemeController extends BaseController {
private final IGovernSchemeCalcService governSchemeCalcService;
private final ISgGovernSchemeHistoryService sgGovernSchemeHistoryService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/calc")
@ApiOperation("根据治理参数,进行暂降治理评估")
@ApiImplicitParam(name = "sgGovernSchemeHistoryParam", value = "计算参数", required = true)
public HttpResult<SgGovernSchemeHistoryAllVO> calc(@RequestBody SgGovernSchemeHistoryParam sgGovernSchemeHistoryParam ) {
String methodDescribe = getMethodDescribe("calc");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgGovernSchemeHistoryParam);
SgGovernSchemeHistoryAllVO sgGovernSchemeHistoryAllVO = governSchemeCalcService.calc(sgGovernSchemeHistoryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sgGovernSchemeHistoryAllVO, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@ApiOperation("查询历史治理方案")
@ApiImplicitParam(name = "SgSchemeHistoryQueryParam", value = "查询参数", required = true)
public HttpResult<Page<SgGovernSchemeHistoryVO>> list(@RequestBody SgGovernSchemeHistoryParam.SgSchemeHistoryQueryParam sgSchemeHistoryQueryParam) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgSchemeHistoryQueryParam);
Page<SgGovernSchemeHistoryVO> result = sgGovernSchemeHistoryService.schemeHistoryList(sgSchemeHistoryQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除治理方案")
@ApiImplicitParam(name = "ids", value = "治理方案索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}业务用户ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgGovernSchemeHistoryService.deleteScheme(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/detail")
@ApiOperation("根据治理方案索引,查询详细数据回显")
public HttpResult<SgGovernSchemeHistoryAllVO> detail(String id) {
String methodDescribe = getMethodDescribe("detail");
LogUtil.njcnDebug(log, "{},治理方案索引为:{}", methodDescribe, id);
SgGovernSchemeHistoryAllVO sgGovernSchemeHistoryAllVO = governSchemeCalcService.detail(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sgGovernSchemeHistoryAllVO, methodDescribe);
}
}

View File

@@ -0,0 +1,167 @@
package com.njcn.advance.controller.govern.voltage;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.advance.enums.AdvanceResponseEnum;
import com.njcn.advance.pojo.dto.govern.voltage.SgEventExcel;
import com.njcn.advance.pojo.param.govern.voltage.SgEventParam;
import com.njcn.advance.pojo.vo.govern.voltage.SgEventVO;
import com.njcn.advance.pojo.vo.govern.voltage.TransientEventCountVO;
import com.njcn.advance.service.govern.voltage.ISgEventService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.poi.util.PoiUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Slf4j
@Validated
@RestController
@Api(tags = "暂降治理暂降数据控制器")
@RequestMapping("/sgEvent")
@RequiredArgsConstructor
public class SgEventController extends BaseController {
private final ISgEventService sgEventService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@ApiOperation("查询指定生产线的暂降数据")
@ApiImplicitParam(name = "sgEventParamQueryParam", value = "查询参数", required = true)
public HttpResult<Page<SgEventVO>> list(@RequestBody SgEventParam.SgEventParamQueryParam sgEventParamQueryParam) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgEventParamQueryParam);
Page<SgEventVO> result = sgEventService.sgEventList(sgEventParamQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getEventDataByProductLineId")
@ApiOperation("查询生产线下时间范围内的暂降数据")
@ApiImplicitParam(name = "sgEventParamQueryParam", value = "查询参数", required = true)
public HttpResult<List<SgEventVO>> getEventDataByProductLineId(@RequestBody SgEventParam.SgEventParamQueryParam sgEventParamQueryParam) {
String methodDescribe = getMethodDescribe("getEventDataByProductLineId");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgEventParamQueryParam);
List<SgEventVO> result = sgEventService.getEventDataByProductLineId(sgEventParamQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/downloadTemplate")
@ApiOperation("下载暂降事件模板")
public void downloadTemplate() {
sgEventService.downloadTemplate();
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/exportEventData")
@ApiOperation("导出暂降数据")
@ApiImplicitParam(name = "sgEventParamQueryParam", value = "查询参数", required = true)
public void exportEventData(@RequestBody SgEventParam.SgEventParamQueryParam sgEventParamQueryParam) {
sgEventService.exportEventData(sgEventParamQueryParam);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/3DList")
@ApiOperation("获取3d数据")
@ApiImplicitParam(name = "sgEventParamQueryParam", value = "查询参数", required = true)
public HttpResult<TransientEventCountVO> threeDList(@RequestBody SgEventParam.SgEventParamQueryParam sgEventParamQueryParam) {
String methodDescribe = getMethodDescribe("threeDList");
TransientEventCountVO result = sgEventService.threeDList(sgEventParamQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@PostMapping(value = "/importEventData")
@ApiOperation("批量导入暂降数据")
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
public HttpResult<String> importEventData(@RequestParam("file") MultipartFile file, @RequestParam("incomingLineId") String incomingLineId, @RequestParam("productLineId") String productLineId, HttpServletResponse response) {
String methodDescribe = getMethodDescribe("importEventData");
// 检查文件MIME类型是否为csv
String contentType = file.getContentType();
if (!"text/csv".equals(contentType)) {
throw new BusinessException(AdvanceResponseEnum.INVALID_FILE_TYPE);
}
ImportParams params = new ImportParams();
params.setHeadRows(1);
params.setNeedVerify(true);
params.setStartSheetIndex(0);
params.setSheetNum(1);
try {
ExcelImportResult<SgEventExcel> sgEventExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SgEventExcel.class, params);
//如果存在非法数据,将不合格的数据导出
if (sgEventExcelExcelImportResult.isVerifyFail()) {
// 此处到处前端要做特殊处理具体可以参考技术监督的数据导入todo...
PoiUtil.exportFileByWorkbook(sgEventExcelExcelImportResult.getFailWorkbook(), "非法暂降数据.xlsx", response);
throw new BusinessException(AdvanceResponseEnum.IMPORT_EVENT_DATA_FAIL);
} else {
//批量录入暂降数据
List<SgEventExcel> sgEventExcels = sgEventExcelExcelImportResult.getList();
sgEventService.importEventData(sgEventExcels, incomingLineId, productLineId);
}
} catch (Exception e) {
throw new BusinessException(AdvanceResponseEnum.IMPORT_EVENT_DATA_FAIL);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/calcLoss")
@ApiOperation("计算暂降损失")
public HttpResult<String> calcLoss(String id) {
String methodDescribe = getMethodDescribe("calcLoss");
LogUtil.njcnDebug(log, "{}暂降事件ID数据为{}", methodDescribe, id);
sgEventService.calcLoss(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除暂降事件")
@ApiImplicitParam(name = "ids", value = "暂降事件索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}暂降事件ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgEventService.deleteEventData(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
}

View File

@@ -0,0 +1,114 @@
package com.njcn.advance.controller.govern.voltage;
import cn.hutool.core.util.StrUtil;
import com.njcn.advance.pojo.param.govern.voltage.IncomingLineParam;
import com.njcn.advance.pojo.vo.govern.voltage.IncomingLineVO;
import com.njcn.advance.pojo.vo.govern.voltage.SgOption;
import com.njcn.advance.service.govern.voltage.ISgIncomingLineService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Slf4j
@Validated
@Api(tags = "暂降治理业务进线控制器")
@RestController
@RequestMapping("/sgIncomingLine")
@RequiredArgsConstructor
public class SgIncomingLineController extends BaseController {
private final ISgIncomingLineService sgIncomingLineService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/list")
@ApiOperation("查询用户的进线数据")
public HttpResult<List<IncomingLineVO>> list(String userId) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询进线数据为:{}", methodDescribe, userId);
List<IncomingLineVO> result = sgIncomingLineService.incomingLineList(userId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/lineList")
@ApiOperation("查询监测点数据")
public HttpResult<List<SgOption>> lineList( ) {
String methodDescribe = getMethodDescribe("lineList");
LogUtil.njcnDebug(log, "{}", methodDescribe);
List<SgOption> result = sgIncomingLineService.lineList();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增业务用户的进线")
@ApiImplicitParam(name = "incomingLineParam", value = "进线数据", required = true)
public HttpResult<String> add(@RequestBody @Validated IncomingLineParam incomingLineParam) {
String methodDescribe = getMethodDescribe("add");
LogUtil.njcnDebug(log, "{},进线数据为:{}", methodDescribe, incomingLineParam);
String lineId = sgIncomingLineService.addIncomingLine(incomingLineParam);
if (StrUtil.isNotBlank(lineId)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineId, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/update")
@ApiOperation("更新业务用户的进线数据")
@ApiImplicitParam(name = "updateParam", value = "进线数据", required = true)
public HttpResult<Object> update(@RequestBody @Validated IncomingLineParam.IncomingLineUpdateParam updateParam) {
String methodDescribe = getMethodDescribe("update");
LogUtil.njcnDebug(log, "{},进线数据为:{}", methodDescribe, updateParam);
boolean result = sgIncomingLineService.updateIncomingLine(updateParam);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除业务用户的进线")
@ApiImplicitParam(name = "ids", value = "进线索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}进线ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgIncomingLineService.deleteIncomingLineData(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
}

View File

@@ -0,0 +1,120 @@
package com.njcn.advance.controller.govern.voltage;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.advance.pojo.param.govern.voltage.SgMachineParam;
import com.njcn.advance.pojo.vo.govern.voltage.SgMachineVO;
import com.njcn.advance.service.govern.voltage.ISgMachineService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Slf4j
@Validated
@Api(tags = "暂降治理设备控制器")
@RestController
@RequestMapping("/sgMachine")
@RequiredArgsConstructor
public class SgMachineController extends BaseController {
private final ISgMachineService sgMachineService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@ApiOperation("查询设备数据")
@ApiImplicitParam(name = "sgMachineQueryParam", value = "查询参数", required = true)
public HttpResult<Page<SgMachineVO>> list(@RequestBody SgMachineParam.SgMachineQueryParam sgMachineQueryParam) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询设备数据为:{}", methodDescribe, sgMachineQueryParam);
Page<SgMachineVO> result = sgMachineService.sgMachineListByProductLineId(sgMachineQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/querySgMachineByProductLineId")
@ApiOperation("根据生产线id查询所有的设备信息")
@ApiImplicitParam(name = "productId", value = "生产线Id", required = true)
public HttpResult<List<SgMachineVO>> querySgMachineByProductLineId(String productId) {
String methodDescribe = getMethodDescribe("querySgMachineByProductLineId");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, productId);
List<SgMachineVO> result = sgMachineService.listAllMachineByProductLineId(productId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增设备")
@ApiImplicitParam(name = "sgMachineParam", value = "设备数据", required = true)
public HttpResult<String> add(@RequestBody @Validated SgMachineParam sgMachineParam) {
String methodDescribe = getMethodDescribe("add");
LogUtil.njcnDebug(log, "{},设备数据:{}", methodDescribe, sgMachineParam);
String machineId = sgMachineService.addMachine(sgMachineParam);
if (StrUtil.isNotBlank(machineId)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, machineId, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/update")
@ApiOperation("更新设备")
@ApiImplicitParam(name = "updateParam", value = "设备数据", required = true)
public HttpResult<Object> update(@RequestBody @Validated SgMachineParam.SgMachineUpdateParam updateParam) {
String methodDescribe = getMethodDescribe("update");
LogUtil.njcnDebug(log, "{},设备数据:{}", methodDescribe, updateParam);
boolean result = sgMachineService.updateSgMachine(updateParam);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除设备")
@ApiImplicitParam(name = "ids", value = "设备索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}设备ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgMachineService.deleteSgMachineData(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
}

View File

@@ -0,0 +1,126 @@
package com.njcn.advance.controller.govern.voltage;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.advance.pojo.param.govern.voltage.SgProductLineParam;
import com.njcn.advance.pojo.vo.govern.voltage.SgProductLineVO;
import com.njcn.advance.service.govern.voltage.ISgProductLineService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Slf4j
@Validated
@Api(tags = "暂降治理生产线控制器")
@RestController
@RequestMapping("/sgProductLine")
@RequiredArgsConstructor
public class SgProductLineController extends BaseController {
private final ISgProductLineService sgProductLineService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@ApiOperation("查询用户生产线数据")
@ApiImplicitParam(name = "sgProductLineQueryParam", value = "查询参数", required = true)
public HttpResult<Page<SgProductLineVO>> list(@RequestBody SgProductLineParam.SgProductLineQueryParam sgProductLineQueryParam) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgProductLineQueryParam);
Page<SgProductLineVO> result = sgProductLineService.sgProductLineListByUserId(sgProductLineQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/querySgProductLineByUserId")
@ApiOperation("根据用户id查询所有的生产线信息")
@ApiImplicitParam(name = "userId", value = "用户id", required = true)
public HttpResult<List<SgProductLineVO>> querySgProductLineByUserId(String userId) {
String methodDescribe = getMethodDescribe("querySgProductLineByUserId");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, userId);
List<SgProductLineVO> result = sgProductLineService.querySgProductLineByUserId(userId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增生产线")
@ApiImplicitParam(name = "sgProductLineParam", value = "生产线数据", required = true)
public HttpResult<String> add(@RequestBody @Validated SgProductLineParam sgProductLineParam) {
String methodDescribe = getMethodDescribe("add");
LogUtil.njcnDebug(log, "{},生产线数据:{}", methodDescribe, sgProductLineParam);
String productLineId = sgProductLineService.addProductLine(sgProductLineParam);
if (StrUtil.isNotBlank(productLineId)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, productLineId, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/update")
@ApiOperation("更新生产线")
@ApiImplicitParam(name = "updateParam", value = "生产线数据", required = true)
public HttpResult<Object> update(@RequestBody @Validated SgProductLineParam.SgProductLineUpdateParam updateParam) {
String methodDescribe = getMethodDescribe("update");
LogUtil.njcnDebug(log, "{},生产线数据:{}", methodDescribe, updateParam);
boolean result = sgProductLineService.updateSgProductLine(updateParam);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除生产线")
@ApiImplicitParam(name = "ids", value = "生产线索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}生产线ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgProductLineService.deleteSgProductData(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
}

View File

@@ -0,0 +1,123 @@
package com.njcn.advance.controller.govern.voltage;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.advance.pojo.param.govern.voltage.SgSensitiveUnitParam;
import com.njcn.advance.pojo.vo.govern.voltage.SgSensitiveUnitVO;
import com.njcn.advance.service.govern.voltage.ISgSensitiveUnitService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-03-14
*/
@Slf4j
@Validated
@Api(tags = "暂降治理元器件控制器")
@RestController
@RequestMapping("/sgSensitiveUnit")
@RequiredArgsConstructor
public class SgSensitiveUnitController extends BaseController {
private final ISgSensitiveUnitService sgSensitiveUnitService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@ApiOperation("查询元器件数据")
@ApiImplicitParam(name = "sgSensitiveUnitQueryParam", value = "查询参数", required = true)
public HttpResult<Page<SgSensitiveUnitVO>> list(@RequestBody SgSensitiveUnitParam.SgSensitiveUnitQueryParam sgSensitiveUnitQueryParam) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询元器件数据为:{}", methodDescribe, sgSensitiveUnitQueryParam);
Page<SgSensitiveUnitVO> result = sgSensitiveUnitService.sgSensitiveListByMachineId(sgSensitiveUnitQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/queryUnitByMachineId")
@ApiOperation("根据设备id查询所有的元器件信息")
@ApiImplicitParam(name = "machineId", value = "设备id", required = true)
public HttpResult<List<SgSensitiveUnitVO>> queryUnitByMachineId(String machineId) {
String methodDescribe = getMethodDescribe("queryUnitByMachineId");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, machineId);
List<SgSensitiveUnitVO> result = sgSensitiveUnitService.listAllUnitByMachineId(machineId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增元器件")
@ApiImplicitParam(name = "sgSensitiveUnitParam", value = "元器件数据", required = true)
public HttpResult<String> add(@RequestBody @Validated SgSensitiveUnitParam sgSensitiveUnitParam) {
String methodDescribe = getMethodDescribe("add");
LogUtil.njcnDebug(log, "{},元器件数据:{}", methodDescribe, sgSensitiveUnitParam);
String sensitiveUnitId = sgSensitiveUnitService.addSensitiveUnit(sgSensitiveUnitParam);
if (StrUtil.isNotBlank(sensitiveUnitId)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sensitiveUnitId, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/update")
@ApiOperation("更新元器件")
@ApiImplicitParam(name = "updateParam", value = "元器件数据", required = true)
public HttpResult<Object> update(@RequestBody @Validated SgSensitiveUnitParam.SgSensitiveUnitUpdateParam updateParam) {
String methodDescribe = getMethodDescribe("update");
LogUtil.njcnDebug(log, "{},元器件数据:{}", methodDescribe, updateParam);
boolean result = sgSensitiveUnitService.updateSgSensitiveUnit(updateParam);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除元器件")
@ApiImplicitParam(name = "ids", value = "元器件索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}元器件ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgSensitiveUnitService.deleteSgSensitiveUnitData(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
}

View File

@@ -0,0 +1,118 @@
package com.njcn.advance.controller.govern.voltage;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.advance.pojo.param.govern.voltage.SgUserParam;
import com.njcn.advance.pojo.po.govern.voltage.SgUser;
import com.njcn.advance.pojo.vo.govern.voltage.SgUserVO;
import com.njcn.advance.service.govern.voltage.ISgUserService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import java.util.List;
/**
* <p>
* 暂降治理业务用户控制器
* </p>
*
* @author hongawen
* @since 2024-02-29
*/
@Slf4j
@Validated
@RestController
@Api(tags = "暂降治理业务用户控制器")
@RequestMapping("/sgUser")
@RequiredArgsConstructor
public class SgUserController extends BaseController {
private final ISgUserService sgUserService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/list")
@ApiOperation("查询用户数据")
@ApiImplicitParam(name = "sgUserQueryParam", value = "查询参数", required = true)
public HttpResult<Page<SgUserVO>> list(@RequestBody SgUserParam.SgUserQueryParam sgUserQueryParam) {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sgUserQueryParam);
Page<SgUserVO> result = sgUserService.sgUserList(sgUserQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/sgUserList")
@ApiOperation("查询所有的用户数据")
public HttpResult<List<SgUser>> sgUserList() {
String methodDescribe = getMethodDescribe("list");
LogUtil.njcnDebug(log, "{},查询所有的用户数据", methodDescribe);
List<SgUser> result = sgUserService.sgUserAllList();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增业务用户")
@ApiImplicitParam(name = "sgUserParam", value = "用户数据", required = true)
public HttpResult<String> add(@RequestBody @Validated SgUserParam sgUserParam) {
String methodDescribe = getMethodDescribe("add");
LogUtil.njcnDebug(log, "{},用户数据为:{}", methodDescribe, sgUserParam);
String userId = sgUserService.addUserInfo(sgUserParam);
if (StrUtil.isNotBlank(userId)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userId, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/update")
@ApiOperation("更新业务用户")
@ApiImplicitParam(name = "updateParam", value = "用户数据", required = true)
public HttpResult<Object> update(@RequestBody @Validated SgUserParam.SgUserUpdateParam updateParam) {
String methodDescribe = getMethodDescribe("update");
LogUtil.njcnDebug(log, "{},用户数据为:{}", methodDescribe, updateParam);
boolean result = sgUserService.updateSgUser(updateParam);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/delete")
@ApiOperation("删除业务用户")
@ApiImplicitParam(name = "ids", value = "用户索引", required = true, dataTypeClass = List.class)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
LogUtil.njcnDebug(log, "{}业务用户ID数据为{}", methodDescribe, String.join(StrUtil.COMMA, ids));
boolean result = sgUserService.deleteSgUserData(ids);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
}

View File

@@ -41,7 +41,7 @@ public class ResponsibilityController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/responsibilityList")
@ApiOperation("列表分页")
@ApiOperation("查询责任划分列表分页")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<Page<RespDataDTO>> responsibilityList(@RequestBody @Validated BaseParam queryParam) {
String methodDescribe = getMethodDescribe("responsibilityList");

View File

@@ -47,7 +47,7 @@ public class UserDataController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/userDataList")
@ApiOperation("列表分页")
@ApiOperation("查询用户列表分页")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<Page<RespUserData>> userDataList(@RequestBody @Validated BaseParam queryParam) {
String methodDescribe = getMethodDescribe("userDataList");
@@ -102,6 +102,7 @@ public class UserDataController extends BaseController {
if (fileSize > 3072) {
throw new BusinessException(CommonResponseEnum.FILE_SIZE_ERROR);
}
assert fileName != null;
if (!fileName.matches("^.+\\.(?i)(xlsx)$") && !fileName.matches("^.+\\.(?i)(xls)$")) {
throw new BusinessException(CommonResponseEnum.FILE_XLSX_ERROR);
}

Some files were not shown because too many files have changed in this diff Show More