jiang
5966d039de
refactor(backend)!: separate algorithm and data layers
...
Reorganize algorithm packages by business responsibility, move orchestration into services, and keep database access behind pooled repositories.
Harden analysis API validation, remove unsafe legacy simulation endpoints, and add regression and architecture boundary coverage.
BREAKING CHANGE: legacy algorithm module paths and obsolete simulation endpoints are removed.
2026-09-04 17:30:55 +08:00
jiang
9b095c7439
refactor(db)!: clean up business SQL access
...
- make realtime replacement and analysis result writes transactional\n- consolidate SCADA repositories and remove process-global project state\n- validate SCADA batches and use indexed GIS-backed business queries\n\nBREAKING CHANGE: remove the public analysis result writer and the pipeline-health network_name query parameter.
2026-08-28 11:37:36 +08:00
jiang
b74799a39d
refactor(db)!: finalize pooled WNDB v2 migration
2026-08-27 17:26:22 +08:00
jiang
fa188af0b1
refactor(db)!: adopt project-routed pooled databases
...
Reorganize WNDB by responsibility and remove legacy scheme endpoints.\n\nRoute analysis and time-series access through project pools, preserve transactional realtime replacement, and refresh GIS materialized views after writes.\n\nAdd database architecture documentation, live pooling coverage, API contract updates, and executable container verification.\n\nBREAKING CHANGE: legacy scheme APIs and flat app.native.wndb module imports are removed.
2026-08-25 18:35:05 +08:00
jiang
2581631b51
feat(simulation): 支持冲洗阀门状态与设置值
Generic Container CI/CD / test-build-publish (push) Successful in 2m39s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m40s
2026-08-17 18:28:57 +08:00
jiang
b0e9d480ef
refactor(sensor): 优化灵敏度监测点布置算法
2026-08-03 18:34:13 +08:00
jiang
ae1a657554
feat(server): add project RBAC and guarded workflows
2026-07-30 16:45:09 +08:00
jiang
3fbb17bb30
fix(sensor-placement): enforce project write boundaries
...
Bind every scheme request to ProjectContext, keep viewer access read-only, reject concurrent optimization jobs without blocking worker threads, and cap export/update payload sizes. Run optimization and workbook work off the event loop.
2026-07-30 16:21:38 +08:00
jiang
ddbb50173c
feat(sensor-placement): add editable scheme APIs
2026-07-30 16:16:51 +08:00
jiang
045d6c5b49
fix(simulation): use current user for stored schemes
Server CI/CD / docker-image (push) Successful in 23s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-17 16:49:20 +08:00
jiang
b4ecfbb87a
fix(scada): use project-scoped metadata
2026-07-17 16:28:40 +08:00
jiang
a204980944
fix(leakage): accept display flow units
2026-07-17 11:45:58 +08:00
jiang
775ecb8a58
fix(simulation): use hydraulic timestep
2026-07-16 14:16:06 +08:00
jiang
baeaa8a2e1
fix(burst-location): correct normal data window
Server CI/CD / docker-image (push) Successful in 22s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-09 11:51:40 +08:00
jiang
233960d8db
明确时间模拟需要 scheme_name 参数
2026-06-03 17:31:44 +08:00
jiang
3b712ea467
优化传感器布置算法,修复数据库更新逻辑
2026-04-17 17:21:50 +08:00
jiang
7c44654195
实现多进程 epanet 模拟,不保留临时文件
2026-03-18 16:56:44 +08:00
jiang
4ea0b8f05b
为爆管侦测模块新增模拟方案支持及相关参数
2026-03-11 16:15:02 +08:00
jiang
bef1c74782
新增爆管侦测功能及相关API接口
2026-03-11 10:31:24 +08:00
jiang
c946e1b58b
补充 __init__.py 导出;将 from app.services.tjnetwork import * 改为显式导入;删除以下仅做 @staticmethod 转发的类,保留模块级函数
2026-03-09 17:45:20 +08:00
jiang
0b72ac959a
重构 app/algorithms/api_ex 目录结构
2026-03-09 17:26:39 +08:00
jiang
6eec6c04de
调整 epanet 从 services 迁到 infra
2026-03-09 16:11:29 +08:00
jiang
eb1d9cce56
调整调用的最大进程数;删除wndb的封装文件
2026-03-09 16:05:31 +08:00
jiang
747b4cd229
补全 services/tjnetwork.py 的 Facade 覆盖,把绕过的 8 处直接引用都收归到 tjnetwork.py 导出
2026-03-09 14:45:30 +08:00
jiang
ed1eb74cfb
将 postgresql_info.py 移出 native/,合并到 core/config.py 或 infra/db/,便于后续项目环境变量读取发生变化
2026-03-09 14:41:50 +08:00
jiang
20ab08e206
将 native/api/ 改名为 native/wndb/,避免与 Web API 层命名冲突
2026-03-09 12:13:27 +08:00
jiang
f9111ab9c1
减少爆管定位代码中引入的不确定性
2026-03-09 11:29:57 +08:00
jiang
d55e23bc44
把所有 list(set(...)) 改为 sorted(set(...)),确保去重后顺序稳定
2026-03-08 21:05:57 +08:00
jiang
b3d58379ef
修复find_new_center_pipe中心点代码错误的bug
2026-03-08 20:45:22 +08:00
jiang
9a4a91c328
重构爆管定位算法,增加多进程支持与可视化功能
2026-03-08 20:01:21 +08:00
jiang
a7e3b6aff9
增加 wn_inp_path 参数以支持多进程处理
2026-03-07 15:34:40 +08:00
jiang
05ca940c9f
优化爆管定位算法,增加多进程支持
2026-03-07 15:31:04 +08:00
jiang
0f8d33291d
重构管道中心选择逻辑,优化数据处理方式
2026-03-07 15:23:05 +08:00
jiang
143b918b86
优化压力泄漏标准差计算方式
2026-03-07 15:21:33 +08:00
jiang
7ff28893a1
优化管道权重处理,增加非有限权重检查
2026-03-07 15:11:49 +08:00
jiang
b9d9cef5ef
修复管道加权计算逻辑bug,优化邻接关系处理
2026-03-07 15:04:08 +08:00
jiang
bc74e94fbb
重构爆管定位相关功能,优化输入验证与API接口
2026-03-06 16:19:14 +08:00
jiang
b83b895e2b
新增爆管位置检测模块及相关API接口
2026-03-06 15:27:59 +08:00
jiang
63d3458fb4
优化漏损识别器,支持多进程评估
2026-03-05 18:18:28 +08:00
jiang
61f6975296
完善区域漏损识别
2026-03-04 15:21:31 +08:00
jiang
d0abad3c65
使用pymoo实现遗传算法
2026-03-03 16:29:59 +08:00
jiang
e7a3aec02f
添加native.api源码;临时处理run_simulation中iot数据库name的判断
2026-03-03 09:47:13 +08:00
jiang
5566172e26
删除env.local;新增漏损区域识别功能
2026-02-27 17:37:39 +08:00
jiang
a472639b8a
新增Dockerfile;修改simulations中部分参数格式判断
2026-02-10 15:25:03 +08:00
jiang
a41be9c362
为 emitter_demand 添加新的 pattern,使用新的 pattern 模拟管道冲洗
2026-02-06 18:24:15 +08:00
jiang
63b31b46b9
修复管道清洗算法流量单位取值bug
2026-02-06 17:46:56 +08:00
jiang
e4f864a28c
更新爆管分析接受参数格式
2026-02-06 16:59:46 +08:00
jiang
dc38313cdc
修复scheme计算属性无法显示的问题
2026-02-06 11:32:47 +08:00
jiang
6434cae21c
统一scheme_type命名
2026-02-05 15:39:56 +08:00
jiang
2794114000
统一scheme_name命名规则
2026-02-05 10:47:38 +08:00