Files

3.6 KiB
Raw Permalink Blame History

SGGL_HBAZ — 智慧施工管理信息系统(河北安装)

施工管理信息系统(WebForms + Web API),.NET Framework 4.8,SQL Server,LINQ to SQL。解决方案在 SGGL/SGGL.sln(仓库根即本目录,与解决方案目录不同级)。

Commands

  • 构建(msbuild 不在 PATH,用 VS2022 的 MSBuild): & 'D:\Development Kit\MVStudio\2022\MSBuild\Current\Bin\MSBuild.exe' 'SGGL\SGGL.sln' /p:Configuration=Debug(Release 同理,已验证可构建)
  • 打发布包:ReleasePacker.bat(aspnet_compiler 预编译 + aspnet_merge 合并 → SGGLPackFile/;脚本引用 %VS100COMNTOOLS%,旧环境)
  • 重新生成 Model:CreateModel.bat(SqlMetal 从 SQL2022 实例 / SGGLDB_HBAZ 库生成 SGGL/Model/Model.cs)
  • 无测试项目 / 无测试命令(项目内没有单元测试)。

Architecture

  • SGGL/FineUIPro.Web/ — WebForms 主站。入口 Login.aspx、index*.aspx、indexProject*.aspx;基类 common/PageBase.cs(Session["CurrUser"] 鉴权);业务模块按文件夹组织(BaseInfo、CQMS、HSSE、HJGL、JDGL、PZHGL、SHIYE、SYHSE、SysManage、TaskScheduling、ZHGL 等)。
  • SGGL/BLL/ — 业务逻辑层。Common/Funs.cs(全局配置 + LINQ-to-SQL 上下文 Funs.DB);SQLHelper.cs 原始 ADO.NET;API/ 外部接口;TaskScheduling/ Quartz 定时任务。业务类为 public static class XxxService。
  • SGGL/Model/ — LINQ to SQL 实体,Model.cs 由 SqlMetal 生成(约 14MB,勿手改);实体前缀 Sys_(Sys_User、Sys_Role、Sys_ErrLogInfo)。
  • SGGL/WebAPI/ — 经典 ASP.NET Web API(System.Web.Http),Controllers/ 供移动端/第三方调用(材料、人员、人脸、身份证、视频、车辆、用户等)。
  • SGGL/SgManager.AI/ — AI 辅助库:百度 OCR/人脸(IDCardRecognition、FaceClass)、地图、邮件。被 BLL 与 FineUIPro.Web 引用。
  • SGGL/FineUIPro/ — 商业 UI 框架 FineUIPro v6.3.0 的 DLL(非源码,勿改)。
  • DataBase/版本日志/ — 数据库增量变更脚本,命名 SGGLDB_V<yyyy-MM-dd>-<序号>-<作者>.sql;script/script.sql 为库整体脚本;SGGLPackFile/ 为发布包输出目录(ReleasePacker 产物)。

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]。
  • SGGL/Backup* 是开发备份目录,不要在其中改代码;packages/ 被 gitignore(NuGet 还原)。

Notes

  • 构建警告基线(2026-02 优化后):845 → 40,剩余 40 条均为 CS0618(Aspose.Words/Office Interop 过时 API,有意使用,勿自动改)。
  • FineUIPro.Web/ErrLog.txt 为运行时日志,已加入 .gitignore(git rm --cached 后本地保留)。
  • Web.config 含明文数据库密码与第三方 API Key,注意勿泄露/勿提交外发。
  • 测试 WebAPI 时注意:PowerShell 调用 curl.exe -d '{"..."}' 会剥掉 JSON 双引号导致反序列化失败,须用 --data-binary '@body.json'(文件方式)发 JSON body。
  • 本地运行验证:iisexpress.exe /path:"SGGL\FineUIPro.Web" /port:4528(WebForms)与 /path:"SGGL\WebAPI" /port:7143(WebAPI),数据库 SGGLDB_HBAZ 在本机 SQL Server 可用。