From 1b77c2724e38d087f3eab4a2f27b3b165f4265dc Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 25 五月 2026 14:37:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_tide' into dev_tide

---
 doc/safety-front-integration.md |  274 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 274 insertions(+), 0 deletions(-)

diff --git a/doc/safety-front-integration.md b/doc/safety-front-integration.md
new file mode 100644
index 0000000..a10e9e3
--- /dev/null
+++ b/doc/safety-front-integration.md
@@ -0,0 +1,274 @@
+# safety妯″潡鍓嶇鑱旇皟鏂囨。
+
+鏇存柊鏃堕棿锛�2026-05-25
+
+## 1. 鍏叡绾﹀畾
+
+### 1.1 璁よ瘉
+
+- 璇锋眰澶达細`Authorization: Bearer ${token}`
+- 鐧诲綍鎺ュ彛锛歚POST /login`
+
+### 1.2 缁熶竴杩斿洖
+
+鏅�氭帴鍙g粺涓�杩斿洖 `AjaxResult`锛�
+
+```json
+{
+  "code": 200,
+  "msg": "鎿嶄綔鎴愬姛",
+  "data": {}
+}
+```
+
+### 1.3 鍒嗛〉杩斿洖
+
+safety 妯″潡鍒楄〃鎺ュ彛杩斿洖 MyBatis Plus `Page`锛屾牳蹇冨瓧娈碉細
+
+- `data.records`
+- `data.total`
+- `data.current`
+- `data.size`
+
+鍒嗛〉鍙傛暟寤鸿缁熶竴浣跨敤锛�
+
+- `pageNum`
+- `pageSize`
+
+### 1.4 鏃ユ湡鏍煎紡
+
+- `LocalDate`锛歚yyyy-MM-dd`
+- `LocalDateTime`锛歚yyyy-MM-dd HH:mm:ss`
+
+### 1.5 鍏叡瀛楁
+
+鎵�鏈� safety 瀹炰綋閮藉寘鍚互涓嬪叕鍏卞瓧娈碉紙鏂板鏃舵棤闇�浼狅級锛�
+
+- `id`
+- `createBy`
+- `createTime`
+- `updateBy`
+- `updateTime`
+- `remark`
+- `delFlag`锛堥�昏緫鍒犻櫎锛�
+- `tenantId`
+
+## 2. 鎺ュ彛娓呭崟
+
+### 2.1 鍩虹妗f
+
+- 浜哄憳妗f
+  - `GET /safety/personnel/list`
+  - `POST /safety/personnel/add`
+  - `PUT /safety/personnel/update`
+  - `DELETE /safety/personnel/delete/{id}`
+  - `GET /safety/personnel/detail/{id}`
+- 宀椾綅椋庨櫓
+  - `GET /safety/risk/list`
+  - `POST /safety/risk/add`
+  - `PUT /safety/risk/update`
+  - `DELETE /safety/risk/delete/{id}`
+  - `GET /safety/risk/detail/{id}`
+- 浣滀笟鍖哄煙
+  - `GET /safety/workArea/list`
+  - `GET /safety/workArea/all`
+  - `POST /safety/workArea/add`
+  - `PUT /safety/workArea/update`
+  - `DELETE /safety/workArea/delete/{id}`
+  - `GET /safety/workArea/detail/{id}`
+- 璁惧璁炬柦
+  - `GET /safety/equipment/list`
+  - `POST /safety/equipment/add`
+  - `PUT /safety/equipment/update`
+  - `DELETE /safety/equipment/delete/{id}`
+  - `GET /safety/equipment/detail/{id}`
+- 搴旀�ヨ祫婧�
+  - `GET /safety/emergency/list`
+  - `POST /safety/emergency/add`
+  - `PUT /safety/emergency/update`
+  - `DELETE /safety/emergency/delete/{id}`
+  - `GET /safety/emergency/detail/{id}`
+
+### 2.2 宸℃
+
+- 宸℃璁板綍
+  - `GET /safety/inspection/record/list`
+  - `POST /safety/inspection/record/add`
+  - `PUT /safety/inspection/record/update`
+  - `DELETE /safety/inspection/record/delete/{id}`
+  - `POST /safety/inspection/record/sync`锛堟柊澧烇細妯℃嫙瀛愮郴缁熷悓姝ワ紝鑷姩鍒涘缓18鏉★級
+- 宸℃缁熻
+  - `GET /safety/inspection/statistics/today`
+  - `GET /safety/inspection/statistics/trend`
+  - `GET /safety/inspection/statistics/type`
+  - `GET /safety/inspection/statistics/inspector`
+
+### 2.3 鍩硅瀛︿範
+
+- 鍩硅璧勬枡
+  - `GET /safety/training/material/list`
+  - `POST /safety/training/material/upload`锛堜繚瀛樺厓鏁版嵁锛�
+  - `PUT /safety/training/material/update`
+  - `DELETE /safety/training/material/delete/{id}`
+  - `GET /safety/training/material/detail/{id}`
+- 鍩硅璁″垝
+  - `GET /safety/training/plan/list`
+  - `POST /safety/training/plan/add`
+  - `PUT /safety/training/plan/update`
+  - `DELETE /safety/training/plan/delete/{id}`
+  - `GET /safety/training/plan/detail/{id}`
+- 鍩硅瀹屾垚璁板綍
+  - `GET /safety/training/record/list`
+  - `POST /safety/training/record/add`
+  - `PUT /safety/training/record/update`
+  - `DELETE /safety/training/record/delete/{id}`
+  - `GET /safety/training/record/detail/{id}`
+  - `GET /safety/training/record/export`
+- 鍛樺伐瀛︿範璁板綍
+  - `GET /safety/learning/record/list`
+  - `GET /safety/learning/record/statistics`
+
+### 2.4 娴嬭瘎涓庢姤鍛�
+
+- 娴嬭瘎浠诲姟
+  - `GET /safety/learning/assessment/list`
+  - `POST /safety/learning/assessment/start`
+  - `POST /safety/learning/assessment/submit`
+- 鑰冩牳鎶ュ憡
+  - `GET /safety/learning/report/list`
+  - `GET /safety/learning/report/detail/{id}`
+
+## 3. 宸℃妯″潡鑱旇皟閲嶇偣
+
+### 3.1 宸℃璁板綍鏌ヨ
+
+`GET /safety/inspection/record/list`
+
+鍙敤绛涢�夊弬鏁帮細
+
+- `startDate`銆乣endDate`锛堟寜宸℃鏃堕棿鍖洪棿锛�
+- `inspectorId`銆乣inspector`
+- `areaId`銆乣area`
+- `type`
+- `status`
+- `pageNum`銆乣pageSize`
+
+鍏抽敭瀛楁锛�
+
+- `inspectionTime`
+- `inspectorId`銆乣inspector`
+- `areaId`銆乣area`
+- `type`
+- `status`
+- `abnormalDesc`
+- `isMissed`
+
+### 3.2 宸℃鐘舵�佸彛寰勶紙鍚庣缁熻鍙e緞锛�
+
+- `status=0`锛氬凡瀹屾垚锛堟甯革級
+- `status=1`锛氬凡瀹屾垚锛堝紓甯革級
+- `status=2`锛氬凡瀹屾垚锛堟紡妫�锛�
+- `status=3`锛氭湭鎵ц
+- `isMissed=1`锛氫篃璁″叆婕忔缁熻
+
+### 3.3 鍚屾妯℃嫙瀛愮郴缁熸暟鎹紙鏂板锛�
+
+鎺ュ彛锛歚POST /safety/inspection/record/sync`
+
+鐢ㄩ�旓細鍓嶇鐐瑰嚮鈥滃悓姝ユ暟鎹�濇寜閽椂璋冪敤锛岀郴缁熶細鑷姩鐢熸垚 18 鏉℃ā鎷熷贰妫�鏁版嵁鍐欏叆鏁版嵁搴擄紝骞跺皢杩� 18 鏉¤褰曡繑鍥炵粰鍓嶇銆�
+
+璇锋眰鍙傛暟锛氭棤
+
+璋冪敤闄愬埗锛氭瘡澶╁彧鑳芥垚鍔熻皟鐢� 1 娆★紙Redis 鎸夆�滅鎴�+鏃ユ湡鈥濇帶鍒讹級銆傚悓涓�澶╅噸澶嶈皟鐢ㄤ細杩斿洖澶辫触鎻愮ず锛歚浠婃棩宸插悓姝ワ紝鏄庡ぉ鍐嶈瘯`銆�
+
+杩斿洖绀轰緥锛�
+
+```json
+{
+  "code": 200,
+  "msg": "鎿嶄綔鎴愬姛",
+  "data": {
+    "count": 18,
+    "records": [
+      {
+        "inspectionTime": "2026-05-25 08:20:00",
+        "inspectorId": 101,
+        "inspector": "inspector-a",
+        "areaId": 1,
+        "area": "workshop-a",
+        "type": "daily",
+        "status": 0,
+        "abnormalDesc": null,
+        "isMissed": 0
+      }
+    ]
+  }
+}
+```
+
+鑱旇皟寤鸿璋冪敤椤哄簭锛�
+
+1. 鐐瑰嚮鍚屾鎸夐挳鍚庡厛璋冪敤 `POST /safety/inspection/record/sync`
+2. 鎴愬姛鍚庡埛鏂板垪琛細`GET /safety/inspection/record/list`
+3. 鍐嶅埛鏂扮粺璁″崱鐗囧拰鍥捐〃锛�
+   - `GET /safety/inspection/statistics/today`
+   - `GET /safety/inspection/statistics/trend`
+   - `GET /safety/inspection/statistics/type`
+   - `GET /safety/inspection/statistics/inspector`
+
+### 3.4 宸℃缁熻榛樿鏃堕棿鑼冨洿
+
+`trend/type/inspector` 涓変釜缁熻鎺ュ彛鑻ヤ笉浼� `startDate/endDate`锛屽悗绔粯璁ゆ渶杩� 7 澶╋紙褰撳ぉ寰�鍓嶆帹 6 澶╋級銆�
+
+## 4. 鍩硅璧勬枡涓婁紶璇存槑
+
+`/safety/training/material/upload` 鍙繚瀛樿祫鏂欏厓鏁版嵁锛屼笉鎺ユ敹浜岃繘鍒舵枃浠躲��
+
+鎺ㄨ崘娴佺▼锛�
+
+1. 鍏堣皟鐢� `POST /common/upload` 涓婁紶鏂囦欢
+2. 鎷垮埌 `url/fileName/originalFilename` 鍚庤皟鐢� `POST /safety/training/material/upload` 淇濆瓨鍏冩暟鎹�
+
+## 5. 鍓嶇灏佽绀轰緥锛堝贰妫�鍚屾锛�
+
+```js
+import request from '@/utils/request'
+
+export function syncInspectionData() {
+  return request({
+    url: '/safety/inspection/record/sync',
+    method: 'post'
+  })
+}
+```
+
+## 6. 鍩硅瀹屾垚璁板綍琛ュ厖锛堝鍒犳敼鏌ワ級
+
+鍩虹鍦板潃锛歚/safety/training/record`
+
+宸插紑鏀炬帴鍙o細
+
+1. `GET /list`锛氬垎椤垫煡璇�
+2. `POST /add`锛氭柊澧�
+3. `PUT /update`锛氫慨鏀�
+4. `DELETE /delete/{id}`锛氬垹闄�
+5. `GET /detail/{id}`锛氳鎯�
+6. `GET /export`锛氬鍑�
+
+鏂板/淇敼璇锋眰浣撶ず渚嬶細
+
+```json
+{
+  "planId": 1,
+  "employeeId": 1001,
+  "employeeName": "寮犱笁",
+  "content": "涓夌骇瀹夊叏鏁欒偛鍩硅",
+  "completeTime": "2026-05-25 10:00:00",
+  "duration": 2.0,
+  "method": "绾夸笅鎺堣",
+  "result": "閫氳繃",
+  "score": 92,
+  "status": 1,
+  "remark": "琛ュ綍"
+}
+```

--
Gitblit v1.9.3