feat(project): 添加日报进度分析建议功能
All checks were successful
Lint Code / Lint Code (push) Successful in 3m0s

- 在项目详情页新增进度更新建议面板,展示AI分析的进度评估和具体建议
- 添加获取和应用日报建议的API接口及类型定义
- 支持批量选择和同意建议,自动更新项目状态
- 优化权限管理表格的树形选择配置,启用严格模式
- 更新.gitignore文件,排除.trae相关文件
This commit is contained in:
2026-04-01 11:02:04 +08:00
parent d698fae12a
commit dab86a40ff
5 changed files with 845 additions and 126 deletions

View File

@@ -0,0 +1,295 @@
{
"openapi": "3.0.1",
"info": {
"title": "默认模块",
"description": "",
"version": "1.0.0"
},
"tags": [],
"paths": {
"/api/v1/daily-report/analysis/suggestions": {
"get": {
"summary": "获取日报进度更新建议",
"deprecated": false,
"description": "",
"tags": [],
"parameters": [
{
"name": "projectId",
"in": "query",
"description": "项目ID",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "reportId",
"in": "query",
"description": "日报ID",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "reportDate",
"in": "query",
"description": "日报日期",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "submitterUsername",
"in": "query",
"description": "日报提交人用户名",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "Authorization",
"in": "header",
"description": "",
"example": "Bearer b35c6f5b-bc0b-4652-bef2-eca04a5cdd95",
"schema": {
"type": "string",
"default": "Bearer b35c6f5b-bc0b-4652-bef2-eca04a5cdd95"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResponseDailyReportAnalysisSuggestionsVO"
}
}
}
}
},
"security": []
}
},
"/api/v1/daily-report/analysis/suggestions/apply": {
"post": {
"summary": "应用日报进度回写建议",
"deprecated": false,
"description": "",
"tags": [],
"parameters": [
{
"name": "Authorization",
"in": "header",
"description": "",
"example": "Bearer b35c6f5b-bc0b-4652-bef2-eca04a5cdd95",
"schema": {
"type": "string",
"default": "Bearer b35c6f5b-bc0b-4652-bef2-eca04a5cdd95"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApplyDailyReportSuggestionsRequest",
"description": "建议ID列表"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResponseInteger",
"description": "应用结果"
}
}
}
}
},
"security": []
}
}
},
"components": {
"schemas": {
"OverallProgressAssessment": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "进度状态ahead-提前on_track-正常delayed-滞后"
},
"deviationPercentage": {
"type": "number",
"description": "进度偏差百分比 (正数表示提前,负数表示滞后)"
},
"description": {
"type": "string",
"description": "评估说明"
},
"keyIssues": {
"type": "array",
"items": {
"type": "string"
},
"description": "关键问题"
}
}
},
"DailyReportUpdateSuggestionVO": {
"type": "object",
"properties": {
"suggestionId": {
"type": "integer",
"description": "",
"format": "int64"
},
"targetType": {
"type": "string",
"description": ""
},
"targetId": {
"type": "integer",
"description": "",
"format": "int64"
},
"targetName": {
"type": "string",
"description": ""
},
"currentStatus": {
"type": "string",
"description": ""
},
"currentProgress": {
"type": "integer",
"description": ""
},
"suggestedStatus": {
"type": "string",
"description": ""
},
"suggestedProgress": {
"type": "integer",
"description": ""
},
"reason": {
"type": "string",
"description": ""
},
"confidence": {
"type": "number",
"description": ""
},
"status": {
"type": "string",
"description": ""
}
}
},
"DailyReportAnalysisSuggestionsVO": {
"type": "object",
"properties": {
"analysisId": {
"type": "integer",
"description": "",
"format": "int64"
},
"reportId": {
"type": "integer",
"description": "",
"format": "int64"
},
"projectId": {
"type": "integer",
"description": "",
"format": "int64"
},
"reportDate": {
"type": "string",
"description": ""
},
"overallProgressAssessment": {
"$ref": "#/components/schemas/OverallProgressAssessment",
"description": ""
},
"suggestions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DailyReportUpdateSuggestionVO",
"description": "cn.yinlihupo.domain.vo.DailyReportUpdateSuggestionVO"
},
"description": ""
}
}
},
"BaseResponseDailyReportAnalysisSuggestionsVO": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": ""
},
"data": {
"$ref": "#/components/schemas/DailyReportAnalysisSuggestionsVO",
"description": ""
},
"message": {
"type": "string",
"description": ""
}
}
},
"BaseResponseInteger": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": ""
},
"data": {
"type": "integer",
"description": ""
},
"message": {
"type": "string",
"description": ""
}
}
},
"ApplyDailyReportSuggestionsRequest": {
"type": "object",
"properties": {
"projectId": {
"type": "integer",
"description": "",
"format": "int64"
},
"suggestionIds": {
"type": "array",
"items": {
"type": "integer"
},
"description": ""
}
},
"required": ["projectId", "suggestionIds"]
}
},
"responses": {},
"securitySchemes": {}
},
"servers": [],
"security": []
}