计划监控增加计划名
This commit is contained in:
102
docs/docs.go
102
docs/docs.go
@@ -998,7 +998,6 @@ const docTemplate = `{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
7,
|
|
||||||
-1,
|
-1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@@ -1008,12 +1007,12 @@ const docTemplate = `{
|
|||||||
5,
|
5,
|
||||||
-1,
|
-1,
|
||||||
5,
|
5,
|
||||||
6
|
6,
|
||||||
|
7
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"_numLevels",
|
|
||||||
"DebugLevel",
|
"DebugLevel",
|
||||||
"InfoLevel",
|
"InfoLevel",
|
||||||
"WarnLevel",
|
"WarnLevel",
|
||||||
@@ -1023,7 +1022,8 @@ const docTemplate = `{
|
|||||||
"FatalLevel",
|
"FatalLevel",
|
||||||
"_minLevel",
|
"_minLevel",
|
||||||
"_maxLevel",
|
"_maxLevel",
|
||||||
"InvalidLevel"
|
"InvalidLevel",
|
||||||
|
"_numLevels"
|
||||||
],
|
],
|
||||||
"name": "level",
|
"name": "level",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
@@ -3600,7 +3600,7 @@ const docTemplate = `{
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "获取所有计划的列表",
|
"description": "获取所有计划的列表,支持按类型过滤和分页",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3608,6 +3608,26 @@ const docTemplate = `{
|
|||||||
"计划管理"
|
"计划管理"
|
||||||
],
|
],
|
||||||
"summary": "获取计划列表",
|
"summary": "获取计划列表",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "页码",
|
||||||
|
"name": "page",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "每页大小",
|
||||||
|
"name": "pageSize",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "计划类型 (all, custom, system),默认为 custom",
|
||||||
|
"name": "planType",
|
||||||
|
"in": "query"
|
||||||
|
}
|
||||||
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
"200": {
|
"200": {
|
||||||
"description": "业务码为200代表成功获取列表",
|
"description": "业务码为200代表成功获取列表",
|
||||||
@@ -3620,10 +3640,7 @@ const docTemplate = `{
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"data": {
|
"data": {
|
||||||
"type": "array",
|
"$ref": "#/definitions/dto.ListPlansResponse"
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/dto.PlanResponse"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3733,7 +3750,7 @@ const docTemplate = `{
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID更新计划的详细信息。",
|
"description": "根据计划ID更新计划的详细信息。系统计划不允许修改。",
|
||||||
"consumes": [
|
"consumes": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3789,7 +3806,7 @@ const docTemplate = `{
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID删除计划。(软删除)",
|
"description": "根据计划ID删除计划。(软删除)系统计划不允许删除。",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3823,7 +3840,7 @@ const docTemplate = `{
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID启动一个计划的执行。",
|
"description": "根据计划ID启动一个计划的执行。系统计划不允许手动启动。",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3857,7 +3874,7 @@ const docTemplate = `{
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID停止一个正在执行的计划。",
|
"description": "根据计划ID停止一个正在执行的计划。系统计划不能被停止。",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -4154,6 +4171,7 @@ const docTemplate = `{
|
|||||||
2001,
|
2001,
|
||||||
4000,
|
4000,
|
||||||
4001,
|
4001,
|
||||||
|
4003,
|
||||||
4004,
|
4004,
|
||||||
4009,
|
4009,
|
||||||
5000,
|
5000,
|
||||||
@@ -4163,6 +4181,7 @@ const docTemplate = `{
|
|||||||
"CodeBadRequest": "请求参数错误",
|
"CodeBadRequest": "请求参数错误",
|
||||||
"CodeConflict": "资源冲突",
|
"CodeConflict": "资源冲突",
|
||||||
"CodeCreated": "创建成功",
|
"CodeCreated": "创建成功",
|
||||||
|
"CodeForbidden": "禁止访问",
|
||||||
"CodeInternalError": "服务器内部错误",
|
"CodeInternalError": "服务器内部错误",
|
||||||
"CodeNotFound": "资源未找到",
|
"CodeNotFound": "资源未找到",
|
||||||
"CodeServiceUnavailable": "服务不可用",
|
"CodeServiceUnavailable": "服务不可用",
|
||||||
@@ -4174,6 +4193,7 @@ const docTemplate = `{
|
|||||||
"创建成功",
|
"创建成功",
|
||||||
"请求参数错误",
|
"请求参数错误",
|
||||||
"未授权",
|
"未授权",
|
||||||
|
"禁止访问",
|
||||||
"资源未找到",
|
"资源未找到",
|
||||||
"资源冲突",
|
"资源冲突",
|
||||||
"服务器内部错误",
|
"服务器内部错误",
|
||||||
@@ -4184,6 +4204,7 @@ const docTemplate = `{
|
|||||||
"CodeCreated",
|
"CodeCreated",
|
||||||
"CodeBadRequest",
|
"CodeBadRequest",
|
||||||
"CodeUnauthorized",
|
"CodeUnauthorized",
|
||||||
|
"CodeForbidden",
|
||||||
"CodeNotFound",
|
"CodeNotFound",
|
||||||
"CodeConflict",
|
"CodeConflict",
|
||||||
"CodeInternalError",
|
"CodeInternalError",
|
||||||
@@ -4744,6 +4765,21 @@ const docTemplate = `{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dto.ListPlansResponse": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"plans": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/dto.PlanResponse"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"total": {
|
||||||
|
"type": "integer",
|
||||||
|
"example": 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"dto.ListRawMaterialPurchaseResponse": {
|
"dto.ListRawMaterialPurchaseResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -5439,6 +5475,9 @@ const docTemplate = `{
|
|||||||
"plan_id": {
|
"plan_id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
"plan_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"started_at": {
|
"started_at": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
@@ -5493,6 +5532,14 @@ const docTemplate = `{
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "猪舍温度控制计划"
|
"example": "猪舍温度控制计划"
|
||||||
},
|
},
|
||||||
|
"plan_type": {
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/models.PlanType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"example": "自定义任务"
|
||||||
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
@@ -6737,6 +6784,17 @@ const docTemplate = `{
|
|||||||
"PlanStatusFailed"
|
"PlanStatusFailed"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"models.PlanType": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"自定义任务",
|
||||||
|
"系统任务"
|
||||||
|
],
|
||||||
|
"x-enum-varnames": [
|
||||||
|
"PlanTypeCustom",
|
||||||
|
"PlanTypeSystem"
|
||||||
|
]
|
||||||
|
},
|
||||||
"models.SensorType": {
|
"models.SensorType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
@@ -6792,22 +6850,26 @@ const docTemplate = `{
|
|||||||
"enum": [
|
"enum": [
|
||||||
"计划分析",
|
"计划分析",
|
||||||
"等待",
|
"等待",
|
||||||
"下料"
|
"下料",
|
||||||
|
"全量采集"
|
||||||
],
|
],
|
||||||
"x-enum-comments": {
|
"x-enum-comments": {
|
||||||
"TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务",
|
"TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务",
|
||||||
|
"TaskTypeFullCollection": "新增的全量采集任务",
|
||||||
"TaskTypeReleaseFeedWeight": "下料口释放指定重量任务",
|
"TaskTypeReleaseFeedWeight": "下料口释放指定重量任务",
|
||||||
"TaskTypeWaiting": "等待任务"
|
"TaskTypeWaiting": "等待任务"
|
||||||
},
|
},
|
||||||
"x-enum-descriptions": [
|
"x-enum-descriptions": [
|
||||||
"解析Plan的Task列表并添加到待执行队列的特殊任务",
|
"解析Plan的Task列表并添加到待执行队列的特殊任务",
|
||||||
"等待任务",
|
"等待任务",
|
||||||
"下料口释放指定重量任务"
|
"下料口释放指定重量任务",
|
||||||
|
"新增的全量采集任务"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"TaskPlanAnalysis",
|
"TaskPlanAnalysis",
|
||||||
"TaskTypeWaiting",
|
"TaskTypeWaiting",
|
||||||
"TaskTypeReleaseFeedWeight"
|
"TaskTypeReleaseFeedWeight",
|
||||||
|
"TaskTypeFullCollection"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"models.ValueDescriptor": {
|
"models.ValueDescriptor": {
|
||||||
@@ -6845,7 +6907,6 @@ const docTemplate = `{
|
|||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"enum": [
|
"enum": [
|
||||||
7,
|
|
||||||
-1,
|
-1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@@ -6855,10 +6916,10 @@ const docTemplate = `{
|
|||||||
5,
|
5,
|
||||||
-1,
|
-1,
|
||||||
5,
|
5,
|
||||||
6
|
6,
|
||||||
|
7
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"_numLevels",
|
|
||||||
"DebugLevel",
|
"DebugLevel",
|
||||||
"InfoLevel",
|
"InfoLevel",
|
||||||
"WarnLevel",
|
"WarnLevel",
|
||||||
@@ -6868,7 +6929,8 @@ const docTemplate = `{
|
|||||||
"FatalLevel",
|
"FatalLevel",
|
||||||
"_minLevel",
|
"_minLevel",
|
||||||
"_maxLevel",
|
"_maxLevel",
|
||||||
"InvalidLevel"
|
"InvalidLevel",
|
||||||
|
"_numLevels"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -990,7 +990,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
7,
|
|
||||||
-1,
|
-1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@@ -1000,12 +999,12 @@
|
|||||||
5,
|
5,
|
||||||
-1,
|
-1,
|
||||||
5,
|
5,
|
||||||
6
|
6,
|
||||||
|
7
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"_numLevels",
|
|
||||||
"DebugLevel",
|
"DebugLevel",
|
||||||
"InfoLevel",
|
"InfoLevel",
|
||||||
"WarnLevel",
|
"WarnLevel",
|
||||||
@@ -1015,7 +1014,8 @@
|
|||||||
"FatalLevel",
|
"FatalLevel",
|
||||||
"_minLevel",
|
"_minLevel",
|
||||||
"_maxLevel",
|
"_maxLevel",
|
||||||
"InvalidLevel"
|
"InvalidLevel",
|
||||||
|
"_numLevels"
|
||||||
],
|
],
|
||||||
"name": "level",
|
"name": "level",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
@@ -3592,7 +3592,7 @@
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "获取所有计划的列表",
|
"description": "获取所有计划的列表,支持按类型过滤和分页",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3600,6 +3600,26 @@
|
|||||||
"计划管理"
|
"计划管理"
|
||||||
],
|
],
|
||||||
"summary": "获取计划列表",
|
"summary": "获取计划列表",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "页码",
|
||||||
|
"name": "page",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "每页大小",
|
||||||
|
"name": "pageSize",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "计划类型 (all, custom, system),默认为 custom",
|
||||||
|
"name": "planType",
|
||||||
|
"in": "query"
|
||||||
|
}
|
||||||
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
"200": {
|
"200": {
|
||||||
"description": "业务码为200代表成功获取列表",
|
"description": "业务码为200代表成功获取列表",
|
||||||
@@ -3612,10 +3632,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"data": {
|
"data": {
|
||||||
"type": "array",
|
"$ref": "#/definitions/dto.ListPlansResponse"
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/dto.PlanResponse"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3725,7 +3742,7 @@
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID更新计划的详细信息。",
|
"description": "根据计划ID更新计划的详细信息。系统计划不允许修改。",
|
||||||
"consumes": [
|
"consumes": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3781,7 +3798,7 @@
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID删除计划。(软删除)",
|
"description": "根据计划ID删除计划。(软删除)系统计划不允许删除。",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3815,7 +3832,7 @@
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID启动一个计划的执行。",
|
"description": "根据计划ID启动一个计划的执行。系统计划不允许手动启动。",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -3849,7 +3866,7 @@
|
|||||||
"BearerAuth": []
|
"BearerAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "根据计划ID停止一个正在执行的计划。",
|
"description": "根据计划ID停止一个正在执行的计划。系统计划不能被停止。",
|
||||||
"produces": [
|
"produces": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
@@ -4146,6 +4163,7 @@
|
|||||||
2001,
|
2001,
|
||||||
4000,
|
4000,
|
||||||
4001,
|
4001,
|
||||||
|
4003,
|
||||||
4004,
|
4004,
|
||||||
4009,
|
4009,
|
||||||
5000,
|
5000,
|
||||||
@@ -4155,6 +4173,7 @@
|
|||||||
"CodeBadRequest": "请求参数错误",
|
"CodeBadRequest": "请求参数错误",
|
||||||
"CodeConflict": "资源冲突",
|
"CodeConflict": "资源冲突",
|
||||||
"CodeCreated": "创建成功",
|
"CodeCreated": "创建成功",
|
||||||
|
"CodeForbidden": "禁止访问",
|
||||||
"CodeInternalError": "服务器内部错误",
|
"CodeInternalError": "服务器内部错误",
|
||||||
"CodeNotFound": "资源未找到",
|
"CodeNotFound": "资源未找到",
|
||||||
"CodeServiceUnavailable": "服务不可用",
|
"CodeServiceUnavailable": "服务不可用",
|
||||||
@@ -4166,6 +4185,7 @@
|
|||||||
"创建成功",
|
"创建成功",
|
||||||
"请求参数错误",
|
"请求参数错误",
|
||||||
"未授权",
|
"未授权",
|
||||||
|
"禁止访问",
|
||||||
"资源未找到",
|
"资源未找到",
|
||||||
"资源冲突",
|
"资源冲突",
|
||||||
"服务器内部错误",
|
"服务器内部错误",
|
||||||
@@ -4176,6 +4196,7 @@
|
|||||||
"CodeCreated",
|
"CodeCreated",
|
||||||
"CodeBadRequest",
|
"CodeBadRequest",
|
||||||
"CodeUnauthorized",
|
"CodeUnauthorized",
|
||||||
|
"CodeForbidden",
|
||||||
"CodeNotFound",
|
"CodeNotFound",
|
||||||
"CodeConflict",
|
"CodeConflict",
|
||||||
"CodeInternalError",
|
"CodeInternalError",
|
||||||
@@ -4736,6 +4757,21 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dto.ListPlansResponse": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"plans": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/dto.PlanResponse"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"total": {
|
||||||
|
"type": "integer",
|
||||||
|
"example": 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"dto.ListRawMaterialPurchaseResponse": {
|
"dto.ListRawMaterialPurchaseResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -5431,6 +5467,9 @@
|
|||||||
"plan_id": {
|
"plan_id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
"plan_name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"started_at": {
|
"started_at": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
@@ -5485,6 +5524,14 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "猪舍温度控制计划"
|
"example": "猪舍温度控制计划"
|
||||||
},
|
},
|
||||||
|
"plan_type": {
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/models.PlanType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"example": "自定义任务"
|
||||||
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
@@ -6729,6 +6776,17 @@
|
|||||||
"PlanStatusFailed"
|
"PlanStatusFailed"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"models.PlanType": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"自定义任务",
|
||||||
|
"系统任务"
|
||||||
|
],
|
||||||
|
"x-enum-varnames": [
|
||||||
|
"PlanTypeCustom",
|
||||||
|
"PlanTypeSystem"
|
||||||
|
]
|
||||||
|
},
|
||||||
"models.SensorType": {
|
"models.SensorType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
@@ -6784,22 +6842,26 @@
|
|||||||
"enum": [
|
"enum": [
|
||||||
"计划分析",
|
"计划分析",
|
||||||
"等待",
|
"等待",
|
||||||
"下料"
|
"下料",
|
||||||
|
"全量采集"
|
||||||
],
|
],
|
||||||
"x-enum-comments": {
|
"x-enum-comments": {
|
||||||
"TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务",
|
"TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务",
|
||||||
|
"TaskTypeFullCollection": "新增的全量采集任务",
|
||||||
"TaskTypeReleaseFeedWeight": "下料口释放指定重量任务",
|
"TaskTypeReleaseFeedWeight": "下料口释放指定重量任务",
|
||||||
"TaskTypeWaiting": "等待任务"
|
"TaskTypeWaiting": "等待任务"
|
||||||
},
|
},
|
||||||
"x-enum-descriptions": [
|
"x-enum-descriptions": [
|
||||||
"解析Plan的Task列表并添加到待执行队列的特殊任务",
|
"解析Plan的Task列表并添加到待执行队列的特殊任务",
|
||||||
"等待任务",
|
"等待任务",
|
||||||
"下料口释放指定重量任务"
|
"下料口释放指定重量任务",
|
||||||
|
"新增的全量采集任务"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"TaskPlanAnalysis",
|
"TaskPlanAnalysis",
|
||||||
"TaskTypeWaiting",
|
"TaskTypeWaiting",
|
||||||
"TaskTypeReleaseFeedWeight"
|
"TaskTypeReleaseFeedWeight",
|
||||||
|
"TaskTypeFullCollection"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"models.ValueDescriptor": {
|
"models.ValueDescriptor": {
|
||||||
@@ -6837,7 +6899,6 @@
|
|||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"enum": [
|
"enum": [
|
||||||
7,
|
|
||||||
-1,
|
-1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@@ -6847,10 +6908,10 @@
|
|||||||
5,
|
5,
|
||||||
-1,
|
-1,
|
||||||
5,
|
5,
|
||||||
6
|
6,
|
||||||
|
7
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"_numLevels",
|
|
||||||
"DebugLevel",
|
"DebugLevel",
|
||||||
"InfoLevel",
|
"InfoLevel",
|
||||||
"WarnLevel",
|
"WarnLevel",
|
||||||
@@ -6860,7 +6921,8 @@
|
|||||||
"FatalLevel",
|
"FatalLevel",
|
||||||
"_minLevel",
|
"_minLevel",
|
||||||
"_maxLevel",
|
"_maxLevel",
|
||||||
"InvalidLevel"
|
"InvalidLevel",
|
||||||
|
"_numLevels"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ definitions:
|
|||||||
- 2001
|
- 2001
|
||||||
- 4000
|
- 4000
|
||||||
- 4001
|
- 4001
|
||||||
|
- 4003
|
||||||
- 4004
|
- 4004
|
||||||
- 4009
|
- 4009
|
||||||
- 5000
|
- 5000
|
||||||
@@ -26,6 +27,7 @@ definitions:
|
|||||||
CodeBadRequest: 请求参数错误
|
CodeBadRequest: 请求参数错误
|
||||||
CodeConflict: 资源冲突
|
CodeConflict: 资源冲突
|
||||||
CodeCreated: 创建成功
|
CodeCreated: 创建成功
|
||||||
|
CodeForbidden: 禁止访问
|
||||||
CodeInternalError: 服务器内部错误
|
CodeInternalError: 服务器内部错误
|
||||||
CodeNotFound: 资源未找到
|
CodeNotFound: 资源未找到
|
||||||
CodeServiceUnavailable: 服务不可用
|
CodeServiceUnavailable: 服务不可用
|
||||||
@@ -36,6 +38,7 @@ definitions:
|
|||||||
- 创建成功
|
- 创建成功
|
||||||
- 请求参数错误
|
- 请求参数错误
|
||||||
- 未授权
|
- 未授权
|
||||||
|
- 禁止访问
|
||||||
- 资源未找到
|
- 资源未找到
|
||||||
- 资源冲突
|
- 资源冲突
|
||||||
- 服务器内部错误
|
- 服务器内部错误
|
||||||
@@ -45,6 +48,7 @@ definitions:
|
|||||||
- CodeCreated
|
- CodeCreated
|
||||||
- CodeBadRequest
|
- CodeBadRequest
|
||||||
- CodeUnauthorized
|
- CodeUnauthorized
|
||||||
|
- CodeForbidden
|
||||||
- CodeNotFound
|
- CodeNotFound
|
||||||
- CodeConflict
|
- CodeConflict
|
||||||
- CodeInternalError
|
- CodeInternalError
|
||||||
@@ -421,6 +425,16 @@ definitions:
|
|||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/dto.PaginationDTO'
|
$ref: '#/definitions/dto.PaginationDTO'
|
||||||
type: object
|
type: object
|
||||||
|
dto.ListPlansResponse:
|
||||||
|
properties:
|
||||||
|
plans:
|
||||||
|
items:
|
||||||
|
$ref: '#/definitions/dto.PlanResponse'
|
||||||
|
type: array
|
||||||
|
total:
|
||||||
|
example: 100
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
dto.ListRawMaterialPurchaseResponse:
|
dto.ListRawMaterialPurchaseResponse:
|
||||||
properties:
|
properties:
|
||||||
list:
|
list:
|
||||||
@@ -879,6 +893,8 @@ definitions:
|
|||||||
type: integer
|
type: integer
|
||||||
plan_id:
|
plan_id:
|
||||||
type: integer
|
type: integer
|
||||||
|
plan_name:
|
||||||
|
type: string
|
||||||
started_at:
|
started_at:
|
||||||
type: string
|
type: string
|
||||||
status:
|
status:
|
||||||
@@ -914,6 +930,10 @@ definitions:
|
|||||||
name:
|
name:
|
||||||
example: 猪舍温度控制计划
|
example: 猪舍温度控制计划
|
||||||
type: string
|
type: string
|
||||||
|
plan_type:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/definitions/models.PlanType'
|
||||||
|
example: 自定义任务
|
||||||
status:
|
status:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/models.PlanStatus'
|
- $ref: '#/definitions/models.PlanStatus'
|
||||||
@@ -1808,6 +1828,14 @@ definitions:
|
|||||||
- PlanStatusEnabled
|
- PlanStatusEnabled
|
||||||
- PlanStatusStopped
|
- PlanStatusStopped
|
||||||
- PlanStatusFailed
|
- PlanStatusFailed
|
||||||
|
models.PlanType:
|
||||||
|
enum:
|
||||||
|
- 自定义任务
|
||||||
|
- 系统任务
|
||||||
|
type: string
|
||||||
|
x-enum-varnames:
|
||||||
|
- PlanTypeCustom
|
||||||
|
- PlanTypeSystem
|
||||||
models.SensorType:
|
models.SensorType:
|
||||||
enum:
|
enum:
|
||||||
- 信号强度
|
- 信号强度
|
||||||
@@ -1855,19 +1883,23 @@ definitions:
|
|||||||
- 计划分析
|
- 计划分析
|
||||||
- 等待
|
- 等待
|
||||||
- 下料
|
- 下料
|
||||||
|
- 全量采集
|
||||||
type: string
|
type: string
|
||||||
x-enum-comments:
|
x-enum-comments:
|
||||||
TaskPlanAnalysis: 解析Plan的Task列表并添加到待执行队列的特殊任务
|
TaskPlanAnalysis: 解析Plan的Task列表并添加到待执行队列的特殊任务
|
||||||
|
TaskTypeFullCollection: 新增的全量采集任务
|
||||||
TaskTypeReleaseFeedWeight: 下料口释放指定重量任务
|
TaskTypeReleaseFeedWeight: 下料口释放指定重量任务
|
||||||
TaskTypeWaiting: 等待任务
|
TaskTypeWaiting: 等待任务
|
||||||
x-enum-descriptions:
|
x-enum-descriptions:
|
||||||
- 解析Plan的Task列表并添加到待执行队列的特殊任务
|
- 解析Plan的Task列表并添加到待执行队列的特殊任务
|
||||||
- 等待任务
|
- 等待任务
|
||||||
- 下料口释放指定重量任务
|
- 下料口释放指定重量任务
|
||||||
|
- 新增的全量采集任务
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- TaskPlanAnalysis
|
- TaskPlanAnalysis
|
||||||
- TaskTypeWaiting
|
- TaskTypeWaiting
|
||||||
- TaskTypeReleaseFeedWeight
|
- TaskTypeReleaseFeedWeight
|
||||||
|
- TaskTypeFullCollection
|
||||||
models.ValueDescriptor:
|
models.ValueDescriptor:
|
||||||
properties:
|
properties:
|
||||||
multiplier:
|
multiplier:
|
||||||
@@ -1893,7 +1925,6 @@ definitions:
|
|||||||
- NotifierTypeLog
|
- NotifierTypeLog
|
||||||
zapcore.Level:
|
zapcore.Level:
|
||||||
enum:
|
enum:
|
||||||
- 7
|
|
||||||
- -1
|
- -1
|
||||||
- 0
|
- 0
|
||||||
- 1
|
- 1
|
||||||
@@ -1904,10 +1935,10 @@ definitions:
|
|||||||
- -1
|
- -1
|
||||||
- 5
|
- 5
|
||||||
- 6
|
- 6
|
||||||
|
- 7
|
||||||
format: int32
|
format: int32
|
||||||
type: integer
|
type: integer
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- _numLevels
|
|
||||||
- DebugLevel
|
- DebugLevel
|
||||||
- InfoLevel
|
- InfoLevel
|
||||||
- WarnLevel
|
- WarnLevel
|
||||||
@@ -1918,6 +1949,7 @@ definitions:
|
|||||||
- _minLevel
|
- _minLevel
|
||||||
- _maxLevel
|
- _maxLevel
|
||||||
- InvalidLevel
|
- InvalidLevel
|
||||||
|
- _numLevels
|
||||||
info:
|
info:
|
||||||
contact:
|
contact:
|
||||||
email: divano@example.com
|
email: divano@example.com
|
||||||
@@ -2489,7 +2521,6 @@ paths:
|
|||||||
name: end_time
|
name: end_time
|
||||||
type: string
|
type: string
|
||||||
- enum:
|
- enum:
|
||||||
- 7
|
|
||||||
- -1
|
- -1
|
||||||
- 0
|
- 0
|
||||||
- 1
|
- 1
|
||||||
@@ -2500,12 +2531,12 @@ paths:
|
|||||||
- -1
|
- -1
|
||||||
- 5
|
- 5
|
||||||
- 6
|
- 6
|
||||||
|
- 7
|
||||||
format: int32
|
format: int32
|
||||||
in: query
|
in: query
|
||||||
name: level
|
name: level
|
||||||
type: integer
|
type: integer
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- _numLevels
|
|
||||||
- DebugLevel
|
- DebugLevel
|
||||||
- InfoLevel
|
- InfoLevel
|
||||||
- WarnLevel
|
- WarnLevel
|
||||||
@@ -2516,6 +2547,7 @@ paths:
|
|||||||
- _minLevel
|
- _minLevel
|
||||||
- _maxLevel
|
- _maxLevel
|
||||||
- InvalidLevel
|
- InvalidLevel
|
||||||
|
- _numLevels
|
||||||
- enum:
|
- enum:
|
||||||
- 邮件
|
- 邮件
|
||||||
- 企业微信
|
- 企业微信
|
||||||
@@ -4038,7 +4070,20 @@ paths:
|
|||||||
- 猪场管理
|
- 猪场管理
|
||||||
/api/v1/plans:
|
/api/v1/plans:
|
||||||
get:
|
get:
|
||||||
description: 获取所有计划的列表
|
description: 获取所有计划的列表,支持按类型过滤和分页
|
||||||
|
parameters:
|
||||||
|
- description: 页码
|
||||||
|
in: query
|
||||||
|
name: page
|
||||||
|
type: integer
|
||||||
|
- description: 每页大小
|
||||||
|
in: query
|
||||||
|
name: pageSize
|
||||||
|
type: integer
|
||||||
|
- description: 计划类型 (all, custom, system),默认为 custom
|
||||||
|
in: query
|
||||||
|
name: planType
|
||||||
|
type: string
|
||||||
produces:
|
produces:
|
||||||
- application/json
|
- application/json
|
||||||
responses:
|
responses:
|
||||||
@@ -4049,9 +4094,7 @@ paths:
|
|||||||
- $ref: '#/definitions/controller.Response'
|
- $ref: '#/definitions/controller.Response'
|
||||||
- properties:
|
- properties:
|
||||||
data:
|
data:
|
||||||
items:
|
$ref: '#/definitions/dto.ListPlansResponse'
|
||||||
$ref: '#/definitions/dto.PlanResponse'
|
|
||||||
type: array
|
|
||||||
type: object
|
type: object
|
||||||
security:
|
security:
|
||||||
- BearerAuth: []
|
- BearerAuth: []
|
||||||
@@ -4088,7 +4131,7 @@ paths:
|
|||||||
- 计划管理
|
- 计划管理
|
||||||
/api/v1/plans/{id}:
|
/api/v1/plans/{id}:
|
||||||
delete:
|
delete:
|
||||||
description: 根据计划ID删除计划。(软删除)
|
description: 根据计划ID删除计划。(软删除)系统计划不允许删除。
|
||||||
parameters:
|
parameters:
|
||||||
- description: 计划ID
|
- description: 计划ID
|
||||||
in: path
|
in: path
|
||||||
@@ -4135,7 +4178,7 @@ paths:
|
|||||||
put:
|
put:
|
||||||
consumes:
|
consumes:
|
||||||
- application/json
|
- application/json
|
||||||
description: 根据计划ID更新计划的详细信息。
|
description: 根据计划ID更新计划的详细信息。系统计划不允许修改。
|
||||||
parameters:
|
parameters:
|
||||||
- description: 计划ID
|
- description: 计划ID
|
||||||
in: path
|
in: path
|
||||||
@@ -4167,7 +4210,7 @@ paths:
|
|||||||
- 计划管理
|
- 计划管理
|
||||||
/api/v1/plans/{id}/start:
|
/api/v1/plans/{id}/start:
|
||||||
post:
|
post:
|
||||||
description: 根据计划ID启动一个计划的执行。
|
description: 根据计划ID启动一个计划的执行。系统计划不允许手动启动。
|
||||||
parameters:
|
parameters:
|
||||||
- description: 计划ID
|
- description: 计划ID
|
||||||
in: path
|
in: path
|
||||||
@@ -4188,7 +4231,7 @@ paths:
|
|||||||
- 计划管理
|
- 计划管理
|
||||||
/api/v1/plans/{id}/stop:
|
/api/v1/plans/{id}/stop:
|
||||||
post:
|
post:
|
||||||
description: 根据计划ID停止一个正在执行的计划。
|
description: 根据计划ID停止一个正在执行的计划。系统计划不能被停止。
|
||||||
parameters:
|
parameters:
|
||||||
- description: 计划ID
|
- description: 计划ID
|
||||||
in: path
|
in: path
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ func (c *Controller) ListPlanExecutionLogs(ctx *gin.Context) {
|
|||||||
opts.Status = &status
|
opts.Status = &status
|
||||||
}
|
}
|
||||||
|
|
||||||
data, total, err := c.monitorService.ListPlanExecutionLogs(opts, req.Page, req.PageSize)
|
planLogs, plans, total, err := c.monitorService.ListPlanExecutionLogs(opts, req.Page, req.PageSize)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.Is(err, repository.ErrInvalidPagination) {
|
if errors.Is(err, repository.ErrInvalidPagination) {
|
||||||
c.logger.Warnf("%s: 无效的分页参数: %v", actionType, err)
|
c.logger.Warnf("%s: 无效的分页参数: %v", actionType, err)
|
||||||
@@ -162,8 +162,8 @@ func (c *Controller) ListPlanExecutionLogs(ctx *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
resp := dto.NewListPlanExecutionLogResponse(data, total, req.Page, req.PageSize)
|
resp := dto.NewListPlanExecutionLogResponse(planLogs, plans, total, req.Page, req.PageSize)
|
||||||
c.logger.Infof("%s: 成功, 获取到 %d 条记录, 总计 %d 条", actionType, len(data), total)
|
c.logger.Infof("%s: 成功, 获取到 %d 条记录, 总计 %d 条", actionType, len(planLogs), total)
|
||||||
controller.SendSuccessWithAudit(ctx, controller.CodeSuccess, "获取计划执行日志成功", resp, actionType, "获取计划执行日志成功", req)
|
controller.SendSuccessWithAudit(ctx, controller.CodeSuccess, "获取计划执行日志成功", resp, actionType, "获取计划执行日志成功", req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,14 +53,20 @@ func NewListDeviceCommandLogResponse(data []models.DeviceCommandLog, total int64
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewListPlanExecutionLogResponse 从模型数据创建列表响应 DTO
|
// NewListPlanExecutionLogResponse 从模型数据创建列表响应 DTO
|
||||||
func NewListPlanExecutionLogResponse(data []models.PlanExecutionLog, total int64, page, pageSize int) *ListPlanExecutionLogResponse {
|
func NewListPlanExecutionLogResponse(planLogs []models.PlanExecutionLog, plans []models.Plan, total int64, page, pageSize int) *ListPlanExecutionLogResponse {
|
||||||
dtos := make([]PlanExecutionLogDTO, len(data))
|
planId2Name := make(map[uint]string)
|
||||||
for i, item := range data {
|
for _, plan := range plans {
|
||||||
|
planId2Name[plan.ID] = plan.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
dtos := make([]PlanExecutionLogDTO, len(planLogs))
|
||||||
|
for i, item := range planLogs {
|
||||||
dtos[i] = PlanExecutionLogDTO{
|
dtos[i] = PlanExecutionLogDTO{
|
||||||
ID: item.ID,
|
ID: item.ID,
|
||||||
CreatedAt: item.CreatedAt,
|
CreatedAt: item.CreatedAt,
|
||||||
UpdatedAt: item.UpdatedAt,
|
UpdatedAt: item.UpdatedAt,
|
||||||
PlanID: item.PlanID,
|
PlanID: item.PlanID,
|
||||||
|
PlanName: planId2Name[item.PlanID],
|
||||||
Status: item.Status,
|
Status: item.Status,
|
||||||
StartedAt: item.StartedAt,
|
StartedAt: item.StartedAt,
|
||||||
EndedAt: item.EndedAt,
|
EndedAt: item.EndedAt,
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ type PlanExecutionLogDTO struct {
|
|||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
UpdatedAt time.Time `json:"updated_at"`
|
UpdatedAt time.Time `json:"updated_at"`
|
||||||
PlanID uint `json:"plan_id"`
|
PlanID uint `json:"plan_id"`
|
||||||
|
PlanName string `json:"plan_name"`
|
||||||
Status models.ExecutionStatus `json:"status"`
|
Status models.ExecutionStatus `json:"status"`
|
||||||
StartedAt time.Time `json:"started_at"`
|
StartedAt time.Time `json:"started_at"`
|
||||||
EndedAt time.Time `json:"ended_at"`
|
EndedAt time.Time `json:"ended_at"`
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
type MonitorService interface {
|
type MonitorService interface {
|
||||||
ListSensorData(opts repository.SensorDataListOptions, page, pageSize int) ([]models.SensorData, int64, error)
|
ListSensorData(opts repository.SensorDataListOptions, page, pageSize int) ([]models.SensorData, int64, error)
|
||||||
ListDeviceCommandLogs(opts repository.DeviceCommandLogListOptions, page, pageSize int) ([]models.DeviceCommandLog, int64, error)
|
ListDeviceCommandLogs(opts repository.DeviceCommandLogListOptions, page, pageSize int) ([]models.DeviceCommandLog, int64, error)
|
||||||
ListPlanExecutionLogs(opts repository.PlanExecutionLogListOptions, page, pageSize int) ([]models.PlanExecutionLog, int64, error)
|
ListPlanExecutionLogs(opts repository.PlanExecutionLogListOptions, page, pageSize int) ([]models.PlanExecutionLog, []models.Plan, int64, error)
|
||||||
ListTaskExecutionLogs(opts repository.TaskExecutionLogListOptions, page, pageSize int) ([]models.TaskExecutionLog, int64, error)
|
ListTaskExecutionLogs(opts repository.TaskExecutionLogListOptions, page, pageSize int) ([]models.TaskExecutionLog, int64, error)
|
||||||
ListPendingCollections(opts repository.PendingCollectionListOptions, page, pageSize int) ([]models.PendingCollection, int64, error)
|
ListPendingCollections(opts repository.PendingCollectionListOptions, page, pageSize int) ([]models.PendingCollection, int64, error)
|
||||||
ListUserActionLogs(opts repository.UserActionLogListOptions, page, pageSize int) ([]models.UserActionLog, int64, error)
|
ListUserActionLogs(opts repository.UserActionLogListOptions, page, pageSize int) ([]models.UserActionLog, int64, error)
|
||||||
@@ -32,6 +32,7 @@ type monitorService struct {
|
|||||||
sensorDataRepo repository.SensorDataRepository
|
sensorDataRepo repository.SensorDataRepository
|
||||||
deviceCommandLogRepo repository.DeviceCommandLogRepository
|
deviceCommandLogRepo repository.DeviceCommandLogRepository
|
||||||
executionLogRepo repository.ExecutionLogRepository
|
executionLogRepo repository.ExecutionLogRepository
|
||||||
|
planRepository repository.PlanRepository
|
||||||
pendingCollectionRepo repository.PendingCollectionRepository
|
pendingCollectionRepo repository.PendingCollectionRepository
|
||||||
userActionLogRepo repository.UserActionLogRepository
|
userActionLogRepo repository.UserActionLogRepository
|
||||||
rawMaterialRepo repository.RawMaterialRepository
|
rawMaterialRepo repository.RawMaterialRepository
|
||||||
@@ -49,6 +50,7 @@ func NewMonitorService(
|
|||||||
sensorDataRepo repository.SensorDataRepository,
|
sensorDataRepo repository.SensorDataRepository,
|
||||||
deviceCommandLogRepo repository.DeviceCommandLogRepository,
|
deviceCommandLogRepo repository.DeviceCommandLogRepository,
|
||||||
executionLogRepo repository.ExecutionLogRepository,
|
executionLogRepo repository.ExecutionLogRepository,
|
||||||
|
planRepository repository.PlanRepository,
|
||||||
pendingCollectionRepo repository.PendingCollectionRepository,
|
pendingCollectionRepo repository.PendingCollectionRepository,
|
||||||
userActionLogRepo repository.UserActionLogRepository,
|
userActionLogRepo repository.UserActionLogRepository,
|
||||||
rawMaterialRepo repository.RawMaterialRepository,
|
rawMaterialRepo repository.RawMaterialRepository,
|
||||||
@@ -64,6 +66,7 @@ func NewMonitorService(
|
|||||||
sensorDataRepo: sensorDataRepo,
|
sensorDataRepo: sensorDataRepo,
|
||||||
deviceCommandLogRepo: deviceCommandLogRepo,
|
deviceCommandLogRepo: deviceCommandLogRepo,
|
||||||
executionLogRepo: executionLogRepo,
|
executionLogRepo: executionLogRepo,
|
||||||
|
planRepository: planRepository,
|
||||||
pendingCollectionRepo: pendingCollectionRepo,
|
pendingCollectionRepo: pendingCollectionRepo,
|
||||||
userActionLogRepo: userActionLogRepo,
|
userActionLogRepo: userActionLogRepo,
|
||||||
rawMaterialRepo: rawMaterialRepo,
|
rawMaterialRepo: rawMaterialRepo,
|
||||||
@@ -88,8 +91,25 @@ func (s *monitorService) ListDeviceCommandLogs(opts repository.DeviceCommandLogL
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ListPlanExecutionLogs 负责处理查询计划执行日志列表的业务逻辑
|
// ListPlanExecutionLogs 负责处理查询计划执行日志列表的业务逻辑
|
||||||
func (s *monitorService) ListPlanExecutionLogs(opts repository.PlanExecutionLogListOptions, page, pageSize int) ([]models.PlanExecutionLog, int64, error) {
|
func (s *monitorService) ListPlanExecutionLogs(opts repository.PlanExecutionLogListOptions, page, pageSize int) ([]models.PlanExecutionLog, []models.Plan, int64, error) {
|
||||||
return s.executionLogRepo.ListPlanExecutionLogs(opts, page, pageSize)
|
planLogs, total, err := s.executionLogRepo.ListPlanExecutionLogs(opts, page, pageSize)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, 0, err
|
||||||
|
}
|
||||||
|
planIds := []uint{}
|
||||||
|
for _, datum := range planLogs {
|
||||||
|
for _, id := range planIds {
|
||||||
|
if id == datum.PlanID {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
planIds = append(planIds, datum.PlanID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
plans, err := s.planRepository.GetPlansByIDs(planIds)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, 0, err
|
||||||
|
}
|
||||||
|
return planLogs, plans, total, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListTaskExecutionLogs 负责处理查询任务执行日志列表的业务逻辑
|
// ListTaskExecutionLogs 负责处理查询任务执行日志列表的业务逻辑
|
||||||
|
|||||||
@@ -196,6 +196,7 @@ func initAppServices(infra *Infrastructure, domainServices *DomainServices, logg
|
|||||||
infra.Repos.SensorDataRepo,
|
infra.Repos.SensorDataRepo,
|
||||||
infra.Repos.DeviceCommandLogRepo,
|
infra.Repos.DeviceCommandLogRepo,
|
||||||
infra.Repos.ExecutionLogRepo,
|
infra.Repos.ExecutionLogRepo,
|
||||||
|
infra.Repos.PlanRepo,
|
||||||
infra.Repos.PendingCollectionRepo,
|
infra.Repos.PendingCollectionRepo,
|
||||||
infra.Repos.UserActionLogRepo,
|
infra.Repos.UserActionLogRepo,
|
||||||
infra.Repos.RawMaterialRepo,
|
infra.Repos.RawMaterialRepo,
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ type PlanRepository interface {
|
|||||||
GetBasicPlanByID(id uint) (*models.Plan, error)
|
GetBasicPlanByID(id uint) (*models.Plan, error)
|
||||||
// GetPlanByID 根据ID获取计划,包含子计划和任务详情
|
// GetPlanByID 根据ID获取计划,包含子计划和任务详情
|
||||||
GetPlanByID(id uint) (*models.Plan, error)
|
GetPlanByID(id uint) (*models.Plan, error)
|
||||||
|
// GetPlansByIDs 根据ID列表获取计划,不包含子计划和任务详情
|
||||||
|
GetPlansByIDs(ids []uint) ([]models.Plan, error)
|
||||||
// CreatePlan 创建一个新的计划
|
// CreatePlan 创建一个新的计划
|
||||||
CreatePlan(plan *models.Plan) error
|
CreatePlan(plan *models.Plan) error
|
||||||
// UpdatePlan 更新计划,包括子计划和任务
|
// UpdatePlan 更新计划,包括子计划和任务
|
||||||
@@ -139,6 +141,19 @@ func (r *gormPlanRepository) GetBasicPlanByID(id uint) (*models.Plan, error) {
|
|||||||
return &plan, nil
|
return &plan, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPlansByIDs 根据ID列表获取计划,不包含子计划和任务详情
|
||||||
|
func (r *gormPlanRepository) GetPlansByIDs(ids []uint) ([]models.Plan, error) {
|
||||||
|
var plans []models.Plan
|
||||||
|
if len(ids) == 0 {
|
||||||
|
return plans, nil
|
||||||
|
}
|
||||||
|
err := r.db.Where("id IN ?", ids).Find(&plans).Error
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return plans, nil
|
||||||
|
}
|
||||||
|
|
||||||
// GetPlanByID 根据ID获取计划,包含子计划和任务详情
|
// GetPlanByID 根据ID获取计划,包含子计划和任务详情
|
||||||
func (r *gormPlanRepository) GetPlanByID(id uint) (*models.Plan, error) {
|
func (r *gormPlanRepository) GetPlanByID(id uint) (*models.Plan, error) {
|
||||||
var plan models.Plan
|
var plan models.Plan
|
||||||
|
|||||||
Reference in New Issue
Block a user