安全巡检接入真实数据库:编码字段自动生成、公示牌二维码修复、安全问题统计排除作废
- 安全巡检表新增编码字段(Code,全局唯一 XJ-序号),WebAPI/桌面端新增时自动生成,不可重复 - 修复危大超危工程公示牌二维码不显示:urlName 含非法字符?导致 image.Save 抛异常,改用主键+内容哈希安全文件名 - 安全问题统计(mainProject/main3)排除作废数据(States=4),图表口径与顶部计数一致 - Word 导出文件名改为 监督巡视部位+编号 - Model.cs 由 SqlMetal 重新生成,补齐巡检人ID/签收人ID/发现问题/处理要求等字段;新增 HSSE_SafetyPatrol.Code.cs 补充 Code 列 - 新增安全巡检完整建表脚本(SGGLDB_V2026-08-25-001);删除已过时的接口文档 SafetyPatrol_API.md
This commit is contained in:
@@ -34,6 +34,7 @@ namespace WebAPI.Controllers.HSSE.HazardousMG
|
||||
foreach (var item in dataList)
|
||||
{
|
||||
item.AttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolMenuId);
|
||||
item.RectifyAttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolRectifyMenuId);
|
||||
}
|
||||
responeData.data = new { totalCount, dataList };
|
||||
}
|
||||
@@ -62,6 +63,7 @@ namespace WebAPI.Controllers.HSSE.HazardousMG
|
||||
{
|
||||
////附件关联
|
||||
item.AttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolMenuId);
|
||||
item.RectifyAttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolRectifyMenuId);
|
||||
}
|
||||
responeData.data = item;
|
||||
}
|
||||
|
||||
@@ -1,168 +0,0 @@
|
||||
# 安全巡检接口文档
|
||||
|
||||
## 1. 概述
|
||||
|
||||
- **基础地址**:`http://{host}:{port}`(WebAPI 独立站点,本地调试默认 `http://localhost:7143`)
|
||||
- **路由规则**:`api/{controller}/{action}/{id}`
|
||||
- **Controller**:`SafetyPatrol`
|
||||
- **数据格式**:JSON(请求体、响应体均为 JSON)
|
||||
|
||||
## 2. 通用返回结构 `ResponeData`
|
||||
|
||||
所有接口统一返回以下结构:
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `code` | int | `1` 成功,`0` 失败 |
|
||||
| `message` | string | 提示消息(成功时为空,失败时为异常信息) |
|
||||
| `data` | object | 业务数据(各接口不同,见下文) |
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 1,
|
||||
"message": null,
|
||||
"data": { }
|
||||
}
|
||||
```
|
||||
|
||||
## 3. 数据对象 `SafetyPatrolItem`
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `PatrolId` | string | 编辑时必填 | 主键(新增时可不传,服务端自动生成 GUID) |
|
||||
| `ProjectId` | string | 新增时必填 | 项目主键 |
|
||||
| `HazardProjectId` | string | 否 | 危大、超危工程主键 |
|
||||
| `HazardProjectName` | string | 否 | 工程名称 |
|
||||
| `PatrolDate` | datetime | 否 | 巡检日期(ISO 格式,如 `2026-08-19T10:00:00`) |
|
||||
| `PatrolMan` | string | 否 | 巡检人 |
|
||||
| `PatrolStatus` | string | 否 | 巡检状态:`正常` / `待整改` |
|
||||
| `Content` | string | 否 | 巡检内容(语音转文字) |
|
||||
| `AttachUrl` | string | 否 | 巡检图片附件 URL(逗号分隔);查询接口自动回填,新增/编辑时传入则自动写入附件表关联 |
|
||||
|
||||
## 4. 接口列表
|
||||
|
||||
### 4.1 获取安全巡检分页列表
|
||||
|
||||
- **请求方式**:`GET`
|
||||
- **URL**:`/api/SafetyPatrol/getSafetyPatrolList`
|
||||
|
||||
**请求参数(Query)**
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `projectId` | string | 是 | 项目主键 |
|
||||
| `pageNumber` | int | 否 | 页码,从 1 开始;为 0 时不限制 |
|
||||
| `pageSize` | int | 否 | 每页条数;为 0 时不限制 |
|
||||
| `keyword` | string | 否 | 工程名称关键字(模糊匹配) |
|
||||
|
||||
**示例**
|
||||
|
||||
```
|
||||
GET /api/SafetyPatrol/getSafetyPatrolList?projectId=xxx&pageNumber=1&pageSize=10&keyword=基坑
|
||||
```
|
||||
|
||||
**返回 `data`**
|
||||
|
||||
```json
|
||||
{
|
||||
"totalCount": 12,
|
||||
"dataList": [
|
||||
{
|
||||
"PatrolId": "9f1a...",
|
||||
"ProjectId": "xxx",
|
||||
"HazardProjectId": "hd-001",
|
||||
"HazardProjectName": "深基坑土方开挖工程",
|
||||
"PatrolDate": "2026-08-19T10:00:00",
|
||||
"PatrolMan": "张建国",
|
||||
"PatrolStatus": "正常",
|
||||
"Content": "现场深基坑边坡稳定,无裂缝。",
|
||||
"AttachUrl": "fileupload/safetypatrol/patrol_001.jpg,fileupload/safetypatrol/patrol_002.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 4.2 获取安全巡检详情
|
||||
|
||||
- **请求方式**:`GET`
|
||||
- **URL**:`/api/SafetyPatrol/getSafetyPatrolById`
|
||||
|
||||
**请求参数(Query)**
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `patrolId` | string | 是 | 巡检记录主键 |
|
||||
|
||||
**示例**
|
||||
|
||||
```
|
||||
GET /api/SafetyPatrol/getSafetyPatrolById?patrolId=9f1a...
|
||||
```
|
||||
|
||||
**返回 `data`**:单个 `SafetyPatrolItem` 对象(含 `AttachUrl`),不存在时为 `null`。
|
||||
|
||||
### 4.3 新增安全巡检
|
||||
|
||||
- **请求方式**:`POST`
|
||||
- **URL**:`/api/SafetyPatrol/addSafetyPatrol`
|
||||
- **Content-Type**:`application/json`
|
||||
|
||||
**请求体(JSON)**
|
||||
|
||||
```json
|
||||
{
|
||||
"ProjectId": "xxx",
|
||||
"HazardProjectId": "hd-001",
|
||||
"HazardProjectName": "深基坑土方开挖工程",
|
||||
"PatrolDate": "2026-08-19T10:00:00",
|
||||
"PatrolMan": "张建国",
|
||||
"PatrolStatus": "正常",
|
||||
"Content": "现场深基坑边坡稳定,无裂缝。",
|
||||
"AttachUrl": "fileupload/safetypatrol/patrol_001.jpg"
|
||||
}
|
||||
```
|
||||
|
||||
> 说明:`AttachUrl` 非必填;传入图片 URL(多个用英文逗号分隔)时,服务端会自动写入附件表(`ToKeyId`=PatrolId、`MenuId`=SafetyPatrolMenuId),之后查询接口即可回读。
|
||||
|
||||
**返回 `data`**
|
||||
|
||||
```json
|
||||
{ "patrolId": "9f1a..." }
|
||||
```
|
||||
|
||||
> 校验:`ProjectId` 为空时返回 `code=0`,`message="项目主键不能为空!"`。
|
||||
|
||||
### 4.4 编辑安全巡检
|
||||
|
||||
- **请求方式**:`POST`
|
||||
- **URL**:`/api/SafetyPatrol/updateSafetyPatrol`
|
||||
- **Content-Type**:`application/json`
|
||||
|
||||
**请求体(JSON)**(需携带 `PatrolId`)
|
||||
|
||||
```json
|
||||
{
|
||||
"PatrolId": "9f1a...",
|
||||
"ProjectId": "xxx",
|
||||
"HazardProjectId": "hd-001",
|
||||
"HazardProjectName": "深基坑土方开挖工程",
|
||||
"PatrolDate": "2026-08-19T10:00:00",
|
||||
"PatrolMan": "张建国",
|
||||
"PatrolStatus": "待整改",
|
||||
"Content": "边坡局部有积水,需整改。",
|
||||
"AttachUrl": "fileupload/safetypatrol/patrol_003.jpg"
|
||||
}
|
||||
```
|
||||
|
||||
> 说明:传入 `AttachUrl` 时会覆盖该记录的原有附件;不传则保留原附件不变。
|
||||
|
||||
**返回 `data`**:成功时无数据(`data` 为空)。
|
||||
|
||||
> 校验:`PatrolId` 为空返回 `"巡检主键不能为空!"`;记录不存在返回 `"未找到对应记录!"`。
|
||||
|
||||
## 5. 错误码
|
||||
|
||||
| `code` | 含义 |
|
||||
|--------|------|
|
||||
| `1` | 成功 |
|
||||
| `0` | 失败(`message` 为具体原因,如参数校验失败、数据库异常) |
|
||||
Reference in New Issue
Block a user