# 定时任务「是否启用」前端联调文档 ## 1. 变更范围 本次改动覆盖两个模块的定时任务管理: 1. 设备巡检定时任务(`inspectiontask`) 2. 设备保养定时任务(`device`) 两个模块均新增并启用字段:`isEnabled`。 ## 2. 字段定义 | 字段名 | 类型 | 说明 | 取值 | |---|---|---|---| | isEnabled | number | 是否启用 | `1`=启用,`0`=禁用 | 说明: 1. 新增任务时,如果前端不传 `isEnabled`,后端默认按 `1`(启用)处理。 2. 任务禁用后,不再生成新的巡检/保养记录。 3. 切换启用状态会同步更新 Quartz 调度(启用=恢复,禁用=暂停)。 ## 3. 数据库脚本 执行脚本: `sql/timing_and_maintenance_task_add_is_enabled.sql` 新增列: 1. `timing_task.is_enabled` 2. `maintenance_task.is_enabled` ## 4. 巡检定时任务接口(inspectiontask) 基础路径:`/timingTask` ### 4.1 列表查询 - `GET /timingTask/list` - 支持筛选参数:`isEnabled` 示例参数: ```http GET /timingTask/list?current=1&size=10&isEnabled=1 ``` ### 4.2 新增/编辑任务 - `POST /timingTask/addOrEditTimingTask` - 请求体可带 `isEnabled` 示例: ```json { "id": null, "taskName": "空压机巡检", "frequencyType": "DAILY", "frequencyDetail": "09:00", "taskIds": [101, 102], "isEnabled": 1 } ``` ### 4.3 切换启用状态(推荐前端开关直接调用) - `POST /timingTask/changeEnable` 示例: ```json { "id": 12, "isEnabled": 0 } ``` 返回:`R`,`data` 为受影响行数(成功通常为 `1`)。 ## 5. 保养定时任务接口(device) 基础路径:`/deviceMaintenanceTask` ### 5.1 列表查询 - `GET /deviceMaintenanceTask/listPage` - 支持筛选参数:`isEnabled` 示例参数: ```http GET /deviceMaintenanceTask/listPage?current=1&size=10&isEnabled=1 ``` ### 5.2 新增任务 - `POST /deviceMaintenanceTask/add` - 请求体可带 `isEnabled` 示例: ```json { "taskName": "反应釜保养", "frequencyType": "WEEKLY", "frequencyDetail": "MON,10:00", "deviceLedgerIds": [301, 302], "isEnabled": 1 } ``` ### 5.3 编辑任务 - `POST /deviceMaintenanceTask/update` - 请求体可带 `isEnabled` ### 5.4 切换启用状态(推荐前端开关直接调用) - `POST /deviceMaintenanceTask/changeEnable` 示例: ```json { "id": 26, "isEnabled": 0 } ``` 返回:`AjaxResult`。 ## 6. 前端联调建议 1. 列表页新增「是否启用」列,使用开关组件映射:开=`1`,关=`0`。 2. 开关变更时直接调用对应 `changeEnable` 接口,成功后刷新当前行或列表。 3. 新增/编辑弹窗中增加「是否启用」字段,默认勾选(`1`)。 4. 如果后端返回 `id和isEnabled不能为空`,检查开关提交参数是否完整。