危险源管理模块接入真实数据库:新增危大/超危工程、风险控制清单、安全验收、安全巡检、临时用电管理(含前端页面、BLL/API服务、WebAPI控制器、Model项、SQL脚本与接口文档)

排除 CreateModel.bat(含明文sa密码与本地服务器名,未入库)
This commit is contained in:
2026-08-24 11:07:59 +08:00
parent 4925a6c4b0
commit 55944d732a
323 changed files with 9806 additions and 922 deletions
+40
View File
@@ -0,0 +1,40 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
智慧施工管理信息系统(河北安装):WebForms + ASP.NET Web API.NET Framework 4.8SQL ServerLINQ to SQL。解决方案 `SGGL.sln` 在本目录;仓库根是上一级 `SGGL_HBAZ/`,其中的 `AGENTS.md` 记录了更多运维细节,与本文件会同时被加载。
## Commands
构建(`msbuild` 不在 PATH,用 VS2022 的 MSBuild):
```
& 'D:\Development Kit\MVStudio\2022\MSBuild\Current\Bin\MSBuild.exe' 'SGGL.sln' /p:Configuration=Debug
```
`/p:Configuration=Release` 同理。
- 打发布包:仓库根 `ReleasePackerALL2022.bat`aspnet_compiler 预编译 + aspnet_merge 合并 → `SGGLPackFile/`)。
- 重新生成实体:仓库根 `CreateModel.bat`SqlMetal 从 SQL2022 实例 / `SGGLDB_HBAZ` 库生成 `Model/Model.cs`)。
- 无测试项目,无测试命令。
## Architecture
- `FineUIPro.Web/` — WebForms 主站。入口 `Login.aspx``index*.aspx`;基类 `common/PageBase.cs``Session["CurrUser"]` 鉴权)。业务模块按文件夹组织:BaseInfo、CQMS、HSSE、HJGL、JDGL、PZHGL、SHIYE、SYHSE、SysManage、TaskScheduling、ZHGL、DigData、Door、Notice、OfficeCheck、Person、PersonManage、ProjectData、SubPackManage、Video 等。
- `BLL/` — 业务逻辑层,业务类为 `public static class XxxService`。核心:`Common/Funs.cs`(全局配置 + LINQ-to-SQL 上下文 `Funs.DB`,类型 `Model.SGGLDB`,按线程 `ManagedThreadId` 缓存实例);`SQLHelper.cs`(原始 ADO.NET);`API/` 外部接口;`TaskScheduling/` Quartz 定时任务;`ErrLogInfo.cs`(错误落库)。
- `Model/` — LINQ to SQL 实体。`Model.cs` 由 SqlMetal 生成(约 14MB,勿手改);实体前缀 `Sys_``Sys_User``Sys_Role``Sys_ErrLogInfo`)。
- `WebAPI/` — 经典 ASP.NET Web API`System.Web.Http`),`Controllers/` 供移动端/第三方调用(材料、人员、人脸、身份证、视频、车辆、用户等)。
- `SgManager.AI/` — AI 辅助库:百度 OCR/人脸(`IDCardRecognition``FaceClass`)、地图、邮件;被 BLL 与 FineUIPro.Web 引用。
- `FineUIPro/` — 商业 UI 框架 FineUIPro v6.3.0 的 DLL(非源码,勿改)。
## Conventions
- 中文注释;公共方法用 `/// <summary>` XML 注释。
- 数据访问优先 `Funs.DB`LINQ to SQL`InsertOnSubmit`/`SubmitChanges`),复杂 SQL 用 `SQLHelper`
- 错误记录走 `ErrLogInfo.WriteLog(...)``Global.asax``Application_Error` 落库 `Sys_ErrLogInfo`
- 连接字符串与第三方密钥(含明文密码/API Key)在 `FineUIPro.Web/Web.config` 的 AppSettings 中,`Application_Start` 赋值给 `Funs.*` —— 勿把凭据写进提交内容。
- WebAPI 响应统一包装 `Model.ResponeData`action 常用 `[HttpPost]` + `[FromBody]`
- `Backup*` 是开发备份目录,不要在其中改代码;`packages/` 被 gitignoreNuGet 还原)。
## 本地运行 / 联调注意
- WebForms 站点:`iisexpress.exe /path:"SGGL\FineUIPro.Web" /port:4528`WebAPI`/path:"SGGL\WebAPI" /port:7143`(数据库 `SGGLDB_HBAZ` 在本机 SQL Server)。
- PowerShell 下用 `curl.exe -d '{"..."}'` 会把 JSON 双引号剥掉导致反序列化失败,须改用 `--data-binary '@body.json'` 文件方式发 JSON body。