Commit Graph
64 Commits
Author SHA1 Message Date
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