正在显示
7 个修改的文件
包含
164 行增加
和
109 行删除
| @@ -91,6 +91,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -91,6 +91,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 91 | } | 91 | } |
| 92 | leaderData := leaderList[0] | 92 | leaderData := leaderList[0] |
| 93 | nowTime := time.Now() | 93 | nowTime := time.Now() |
| 94 | + nowEndTime := dayEndTime(nowTime) | ||
| 94 | newTask := domain.Task{ | 95 | newTask := domain.Task{ |
| 95 | Id: 0, | 96 | Id: 0, |
| 96 | CreatedAt: time.Time{}, | 97 | CreatedAt: time.Time{}, |
| @@ -116,7 +117,6 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -116,7 +117,6 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 116 | if err != nil { | 117 | if err != nil { |
| 117 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | 118 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) |
| 118 | } | 119 | } |
| 119 | - nowEndTime := dayEndTime(nowTime) | ||
| 120 | newTaskStage := []*domain.TaskStage{ | 120 | newTaskStage := []*domain.TaskStage{ |
| 121 | { | 121 | { |
| 122 | Id: 0, | 122 | Id: 0, |
| @@ -143,11 +143,15 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -143,11 +143,15 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 143 | RealCompletedAt: 0, | 143 | RealCompletedAt: 0, |
| 144 | }, | 144 | }, |
| 145 | } | 145 | } |
| 146 | - | ||
| 147 | err = taskStageRepo.Save(newTaskStage) | 146 | err = taskStageRepo.Save(newTaskStage) |
| 148 | if err != nil { | 147 | if err != nil { |
| 149 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | 148 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) |
| 150 | } | 149 | } |
| 150 | + newTask.CurrentStage = *newTaskStage[0] | ||
| 151 | + err = taskRepo.Save(&newTask) | ||
| 152 | + if err != nil { | ||
| 153 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务失败:"+err.Error()) | ||
| 154 | + } | ||
| 151 | return nil | 155 | return nil |
| 152 | } | 156 | } |
| 153 | 157 | ||
| @@ -282,11 +286,17 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | @@ -282,11 +286,17 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | ||
| 282 | } | 286 | } |
| 283 | } | 287 | } |
| 284 | } | 288 | } |
| 285 | - | 289 | + //更新当前 执行的里程碑 |
| 286 | err = taskStageRepo.Save(stageList) | 290 | err = taskStageRepo.Save(stageList) |
| 287 | if err != nil { | 291 | if err != nil { |
| 288 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 292 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 289 | } | 293 | } |
| 294 | + for _, val := range stageList { | ||
| 295 | + if val.RealCompletedAt == 0 { | ||
| 296 | + taskData.CurrentStage = *val | ||
| 297 | + break | ||
| 298 | + } | ||
| 299 | + } | ||
| 290 | err = taskRepo.Save(taskData) | 300 | err = taskRepo.Save(taskData) |
| 291 | if err != nil { | 301 | if err != nil { |
| 292 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 302 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| @@ -770,6 +780,7 @@ func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]i | @@ -770,6 +780,7 @@ func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]i | ||
| 770 | case 5: | 780 | case 5: |
| 771 | taskData.StageE = stage | 781 | taskData.StageE = stage |
| 772 | } | 782 | } |
| 783 | + | ||
| 773 | } | 784 | } |
| 774 | result := tool_funs.SimpleWrapGridMap(int64(taskCount), taskResult) | 785 | result := tool_funs.SimpleWrapGridMap(int64(taskCount), taskResult) |
| 775 | result["taskStageAnomaly"] = taskStageAnomalyCnt | 786 | result["taskStageAnomaly"] = taskStageAnomalyCnt |
| @@ -896,38 +907,43 @@ func (srv TaskService) ReplyTaskStage(transactionContext application.Transaction | @@ -896,38 +907,43 @@ func (srv TaskService) ReplyTaskStage(transactionContext application.Transaction | ||
| 896 | taskStageRepo := factory.CreateTaskStageRepository(map[string]interface{}{ | 907 | taskStageRepo := factory.CreateTaskStageRepository(map[string]interface{}{ |
| 897 | "transactionContext": transactionContext, | 908 | "transactionContext": transactionContext, |
| 898 | }) | 909 | }) |
| 899 | - var taskList []*domain.Task | ||
| 900 | - var taskStages []*domain.TaskStage | ||
| 901 | for _, val := range param { | 910 | for _, val := range param { |
| 902 | taskData, err := taskRepo.FindOne(map[string]interface{}{"id": val.TaskId}) | 911 | taskData, err := taskRepo.FindOne(map[string]interface{}{"id": val.TaskId}) |
| 903 | if err != nil { | 912 | if err != nil { |
| 904 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "找不到任务数据"+err.Error()) | 913 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "找不到任务数据"+err.Error()) |
| 905 | } | 914 | } |
| 906 | - _, stageList, err := taskStageRepo.Find(map[string]interface{}{"ids": []int{val.TaskStageCheck.Id}}) | 915 | + _, stageList, err := taskStageRepo.Find(map[string]interface{}{"taskId": []int{val.TaskId}}) |
| 907 | if err != nil { | 916 | if err != nil { |
| 908 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "找不到任务里程碑数据"+err.Error()) | 917 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "找不到任务里程碑数据"+err.Error()) |
| 909 | } | 918 | } |
| 910 | if val.AnomalyState == domain.AnomalyState1 { | 919 | if val.AnomalyState == domain.AnomalyState1 { |
| 911 | taskData.Anomaly = 0 | 920 | taskData.Anomaly = 0 |
| 912 | } | 921 | } |
| 913 | - if len(stageList) > 0 { | ||
| 914 | - stageList[0].RealCompletedAt = val.TaskStageCheck.RealCompletedAt | ||
| 915 | - taskStages = append(taskStages, stageList[0]) | ||
| 916 | - if stageList[0].PlanCompletedAt < stageList[0].RealCompletedAt { | 922 | + for _, val2 := range stageList { |
| 923 | + if val2.Id == val.TaskStageCheck.Id { | ||
| 924 | + continue | ||
| 925 | + } | ||
| 926 | + val2.RealCompletedAt = val.TaskStageCheck.RealCompletedAt | ||
| 927 | + if val2.PlanCompletedAt < val2.RealCompletedAt { | ||
| 917 | taskData.WarnFlag = domain.TaskWarn | 928 | taskData.WarnFlag = domain.TaskWarn |
| 918 | } else { | 929 | } else { |
| 919 | taskData.WarnFlag = domain.TaskWarnNull | 930 | taskData.WarnFlag = domain.TaskWarnNull |
| 920 | } | 931 | } |
| 932 | + break | ||
| 921 | } | 933 | } |
| 922 | - | ||
| 923 | - taskList = append(taskList, taskData) | ||
| 924 | - } | ||
| 925 | - err := taskStageRepo.Save(taskStages) | ||
| 926 | - if err != nil { | ||
| 927 | - return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务里程碑数据"+err.Error()) | ||
| 928 | - } | ||
| 929 | - for _, val := range taskList { | ||
| 930 | - err = taskRepo.Save(val) | 934 | + taskData.CurrentStage = domain.TaskStage{} |
| 935 | + //设置下一个 待执行的里程碑 | ||
| 936 | + for _, val2 := range stageList { | ||
| 937 | + if val2.RealCompletedAt == 0 { | ||
| 938 | + taskData.CurrentStage = *val2 | ||
| 939 | + break | ||
| 940 | + } | ||
| 941 | + } | ||
| 942 | + err = taskStageRepo.Save(stageList) | ||
| 943 | + if err != nil { | ||
| 944 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务里程碑数据"+err.Error()) | ||
| 945 | + } | ||
| 946 | + err = taskRepo.Save(taskData) | ||
| 931 | if err != nil { | 947 | if err != nil { |
| 932 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务数据"+err.Error()) | 948 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务数据"+err.Error()) |
| 933 | } | 949 | } |
| @@ -19,22 +19,23 @@ const ( | @@ -19,22 +19,23 @@ const ( | ||
| 19 | 19 | ||
| 20 | // 任务 | 20 | // 任务 |
| 21 | type Task struct { | 21 | type Task struct { |
| 22 | - Id int `json:"id"` | ||
| 23 | - CreatedAt time.Time `json:"createdAt"` | ||
| 24 | - UpdatedAt time.Time `json:"updatedAt"` | ||
| 25 | - DeletedAt *time.Time `json:"deletedAt"` | ||
| 26 | - CompanyId int `json:"companyId,string"` | ||
| 27 | - Name string `json:"name"` // 任务名称 | ||
| 28 | - Alias string `json:"alias"` // 任务别名 | ||
| 29 | - Leader TaskLeader `json:"leader"` // 任务负责人 | ||
| 30 | - Status TaskState `json:"status"` // 任务的状态 | ||
| 31 | - Level int `json:"level"` // 优先级,值越小优先级越高 | ||
| 32 | - LevelName string `json:"levelName"` // 优先级名称 | ||
| 33 | - RelatedUser []int `json:"relatedUser"` // 相关的员工id | ||
| 34 | - RunAt int64 `json:"runAt"` // 启动的时间戳,秒 | ||
| 35 | - StopAt int64 `json:"stopAt"` // 停止的时间戳,秒 | ||
| 36 | - Anomaly int `json:"anomaly"` // 异常反馈的次数 | ||
| 37 | - WarnFlag TaskWarnFlag `json:"warnFlag"` // 里程碑异常标记 | 22 | + Id int `json:"id"` |
| 23 | + CreatedAt time.Time `json:"createdAt"` | ||
| 24 | + UpdatedAt time.Time `json:"updatedAt"` | ||
| 25 | + DeletedAt *time.Time `json:"deletedAt"` | ||
| 26 | + CompanyId int `json:"companyId,string"` | ||
| 27 | + Name string `json:"name"` // 任务名称 | ||
| 28 | + Alias string `json:"alias"` // 任务别名 | ||
| 29 | + Leader TaskLeader `json:"leader"` // 任务负责人 | ||
| 30 | + Status TaskState `json:"status"` // 任务的状态 | ||
| 31 | + Level int `json:"level"` // 优先级,值越小优先级越高 | ||
| 32 | + LevelName string `json:"levelName"` // 优先级名称 | ||
| 33 | + RelatedUser []int `json:"relatedUser"` // 相关的员工id | ||
| 34 | + RunAt int64 `json:"runAt"` // 启动的时间戳,秒 | ||
| 35 | + StopAt int64 `json:"stopAt"` // 停止的时间戳,秒 | ||
| 36 | + Anomaly int `json:"anomaly"` // 异常反馈的次数 | ||
| 37 | + WarnFlag TaskWarnFlag `json:"warnFlag"` // 里程碑异常标记 | ||
| 38 | + CurrentStage TaskStage `json:"currentStage"` // 当前执行的里程碑 | ||
| 38 | } | 39 | } |
| 39 | 40 | ||
| 40 | type TaskLeader struct { | 41 | type TaskLeader struct { |
| @@ -196,6 +196,7 @@ func (d *StaffAssessDao) SearchTargetUserCycleProject(companyId int, targetUserI | @@ -196,6 +196,7 @@ func (d *StaffAssessDao) SearchTargetUserCycleProject(companyId int, targetUserI | ||
| 196 | and staff_assess."types" ='self' | 196 | and staff_assess."types" ='self' |
| 197 | and staff_assess_task.deleted_at isnull | 197 | and staff_assess_task.deleted_at isnull |
| 198 | and staff_assess.deleted_at isnull | 198 | and staff_assess.deleted_at isnull |
| 199 | + and staff_assess.end_time <=now() | ||
| 199 | and staff_assess.target_user ->>'userId'='?' | 200 | and staff_assess.target_user ->>'userId'='?' |
| 200 | and staff_assess.company_id=? | 201 | and staff_assess.company_id=? |
| 201 | ` | 202 | ` |
| @@ -8,21 +8,22 @@ import ( | @@ -8,21 +8,22 @@ import ( | ||
| 8 | 8 | ||
| 9 | // 任务 | 9 | // 任务 |
| 10 | type Task struct { | 10 | type Task struct { |
| 11 | - tableName struct{} `comment:"任务" pg:"task"` | ||
| 12 | - Id int `pg:"id,pk"` // | ||
| 13 | - CreatedAt time.Time `pg:"created_at"` // | ||
| 14 | - UpdatedAt time.Time `pg:"updated_at"` // | ||
| 15 | - DeletedAt *time.Time `pg:"deleted_at"` // | ||
| 16 | - Name string `pg:"name"` // 任务名称 | ||
| 17 | - Alias string `pg:"alias"` // | ||
| 18 | - CompanyId int `pg:"company_id"` // | ||
| 19 | - Leader domain.TaskLeader `pg:"leader"` // 任务负责人 | ||
| 20 | - Status int `pg:"status,use_zero"` // 任务的状态 | ||
| 21 | - Level int `pg:"level,use_zero"` // 优先级,值越小优先级越高 | ||
| 22 | - LevelName string `pg:"level_name"` // 优先级名称 | ||
| 23 | - RelatedUser []int `pg:"related_user"` // | ||
| 24 | - RunAt int64 `pg:"run_at,use_zero"` // 启动的时间 | ||
| 25 | - StopAt int64 `pg:"stop_at,use_zero" ` // 停止的时间 | ||
| 26 | - Anomaly int `pg:"anomaly,use_zero"` // 异常反馈的数量 | ||
| 27 | - WarnFlag int `pg:"warn_flag,use_zero"` // 里程碑异常标记 | 11 | + tableName struct{} `comment:"任务" pg:"task"` |
| 12 | + Id int `pg:"id,pk"` // | ||
| 13 | + CreatedAt time.Time `pg:"created_at"` // | ||
| 14 | + UpdatedAt time.Time `pg:"updated_at"` // | ||
| 15 | + DeletedAt *time.Time `pg:"deleted_at"` // | ||
| 16 | + Name string `pg:"name"` // 任务名称 | ||
| 17 | + Alias string `pg:"alias"` // | ||
| 18 | + CompanyId int `pg:"company_id"` // | ||
| 19 | + Leader domain.TaskLeader `pg:"leader"` // 任务负责人 | ||
| 20 | + Status int `pg:"status,use_zero"` // 任务的状态 | ||
| 21 | + Level int `pg:"level,use_zero"` // 优先级,值越小优先级越高 | ||
| 22 | + LevelName string `pg:"level_name"` // 优先级名称 | ||
| 23 | + RelatedUser []int `pg:"related_user"` // | ||
| 24 | + RunAt int64 `pg:"run_at,use_zero"` // 启动的时间 | ||
| 25 | + StopAt int64 `pg:"stop_at,use_zero" ` // 停止的时间 | ||
| 26 | + Anomaly int `pg:"anomaly,use_zero"` // 异常反馈的数量 | ||
| 27 | + WarnFlag int `pg:"warn_flag,use_zero"` // 里程碑异常标记 | ||
| 28 | + CurrentStage domain.TaskStage `pg:"current_stage"` // 当前执行的里程碑 | ||
| 28 | } | 29 | } |
| @@ -26,22 +26,23 @@ func NewTaskRepository(transactionContext *pgTransaction.TransactionContext) *Ta | @@ -26,22 +26,23 @@ func NewTaskRepository(transactionContext *pgTransaction.TransactionContext) *Ta | ||
| 26 | 26 | ||
| 27 | func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { | 27 | func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { |
| 28 | return &domain.Task{ | 28 | return &domain.Task{ |
| 29 | - Id: d.Id, | ||
| 30 | - CreatedAt: d.CreatedAt, | ||
| 31 | - UpdatedAt: d.UpdatedAt, | ||
| 32 | - DeletedAt: d.DeletedAt, | ||
| 33 | - CompanyId: d.CompanyId, | ||
| 34 | - Name: d.Name, | ||
| 35 | - Alias: d.Alias, | ||
| 36 | - Leader: d.Leader, | ||
| 37 | - Status: domain.TaskState(d.Status), | ||
| 38 | - Level: d.Level, | ||
| 39 | - LevelName: d.LevelName, | ||
| 40 | - RelatedUser: d.RelatedUser, | ||
| 41 | - RunAt: d.RunAt, | ||
| 42 | - StopAt: d.StopAt, | ||
| 43 | - Anomaly: d.Anomaly, | ||
| 44 | - WarnFlag: domain.TaskWarnFlag(d.WarnFlag), | 29 | + Id: d.Id, |
| 30 | + CreatedAt: d.CreatedAt, | ||
| 31 | + UpdatedAt: d.UpdatedAt, | ||
| 32 | + DeletedAt: d.DeletedAt, | ||
| 33 | + CompanyId: d.CompanyId, | ||
| 34 | + Name: d.Name, | ||
| 35 | + Alias: d.Alias, | ||
| 36 | + Leader: d.Leader, | ||
| 37 | + Status: domain.TaskState(d.Status), | ||
| 38 | + Level: d.Level, | ||
| 39 | + LevelName: d.LevelName, | ||
| 40 | + RelatedUser: d.RelatedUser, | ||
| 41 | + RunAt: d.RunAt, | ||
| 42 | + StopAt: d.StopAt, | ||
| 43 | + Anomaly: d.Anomaly, | ||
| 44 | + WarnFlag: domain.TaskWarnFlag(d.WarnFlag), | ||
| 45 | + CurrentStage: d.CurrentStage, | ||
| 45 | } | 46 | } |
| 46 | } | 47 | } |
| 47 | 48 | ||
| @@ -51,22 +52,23 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | @@ -51,22 +52,23 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | ||
| 51 | param.CreatedAt = time.Now() | 52 | param.CreatedAt = time.Now() |
| 52 | } | 53 | } |
| 53 | m := models.Task{ | 54 | m := models.Task{ |
| 54 | - Id: param.Id, | ||
| 55 | - CreatedAt: param.CreatedAt, | ||
| 56 | - UpdatedAt: param.UpdatedAt, | ||
| 57 | - DeletedAt: param.DeletedAt, | ||
| 58 | - Name: param.Name, | ||
| 59 | - Alias: param.Alias, | ||
| 60 | - CompanyId: param.CompanyId, | ||
| 61 | - Leader: param.Leader, | ||
| 62 | - Status: int(param.Status), | ||
| 63 | - Level: param.Level, | ||
| 64 | - LevelName: param.LevelName, | ||
| 65 | - RelatedUser: param.RelatedUser, | ||
| 66 | - RunAt: param.RunAt, | ||
| 67 | - StopAt: param.StopAt, | ||
| 68 | - Anomaly: param.Anomaly, | ||
| 69 | - WarnFlag: int(param.WarnFlag), | 55 | + Id: param.Id, |
| 56 | + CreatedAt: param.CreatedAt, | ||
| 57 | + UpdatedAt: param.UpdatedAt, | ||
| 58 | + DeletedAt: param.DeletedAt, | ||
| 59 | + Name: param.Name, | ||
| 60 | + Alias: param.Alias, | ||
| 61 | + CompanyId: param.CompanyId, | ||
| 62 | + Leader: param.Leader, | ||
| 63 | + Status: int(param.Status), | ||
| 64 | + Level: param.Level, | ||
| 65 | + LevelName: param.LevelName, | ||
| 66 | + RelatedUser: param.RelatedUser, | ||
| 67 | + RunAt: param.RunAt, | ||
| 68 | + StopAt: param.StopAt, | ||
| 69 | + Anomaly: param.Anomaly, | ||
| 70 | + WarnFlag: int(param.WarnFlag), | ||
| 71 | + CurrentStage: param.CurrentStage, | ||
| 70 | } | 72 | } |
| 71 | db := repo.transactionContext.PgTx | 73 | db := repo.transactionContext.PgTx |
| 72 | if m.Id == 0 { | 74 | if m.Id == 0 { |
| @@ -75,28 +75,3 @@ SET | @@ -75,28 +75,3 @@ SET | ||
| 75 | WHERE | 75 | WHERE |
| 76 | id IN (18404, 18458); | 76 | id IN (18404, 18458); |
| 77 | 77 | ||
| 78 | --- | ||
| 79 | -WITH t1 AS ( | ||
| 80 | - SELECT | ||
| 81 | - summary_evaluation_value.evaluation_item_id, | ||
| 82 | - summary_evaluation_value.value, | ||
| 83 | - summary_evaluation_value.id AS value_id, | ||
| 84 | - summary_evaluation_value.score, | ||
| 85 | - summary_evaluation.company_id | ||
| 86 | - FROM | ||
| 87 | - summary_evaluation_value | ||
| 88 | - JOIN summary_evaluation ON summary_evaluation_value.summary_evaluation_id = summary_evaluation.id | ||
| 89 | - WHERE | ||
| 90 | - summary_evaluation_value.value = summary_evaluation_value.score | ||
| 91 | - AND summary_evaluation."types" = 1 | ||
| 92 | - ORDER BY | ||
| 93 | - summary_evaluation_value.created_at | ||
| 94 | -) | ||
| 95 | -SELECT | ||
| 96 | - t1.value_id, | ||
| 97 | - cast(evaluation_item_used.weight AS float) AS weight, | ||
| 98 | - cast(t1.value AS float) AS value, | ||
| 99 | - cast(t1.value AS float) * cast(evaluation_item_used.weight AS float) AS real_value | ||
| 100 | -FROM | ||
| 101 | - evaluation_item_used | ||
| 102 | - JOIN t1 ON t1.evaluation_item_id = evaluation_item_used.id |
sql/2023-05-05.sql
0 → 100644
| 1 | +-- 调整 summary_evaluation_value 数据 | ||
| 2 | +WITH t1 AS ( | ||
| 3 | + SELECT | ||
| 4 | + summary_evaluation_value.evaluation_item_id, | ||
| 5 | + summary_evaluation_value.value, | ||
| 6 | + summary_evaluation_value.id AS value_id, | ||
| 7 | + summary_evaluation_value.score, | ||
| 8 | + summary_evaluation.company_id | ||
| 9 | + FROM | ||
| 10 | + summary_evaluation_value | ||
| 11 | + JOIN summary_evaluation ON summary_evaluation_value.summary_evaluation_id = summary_evaluation.id | ||
| 12 | + JOIN evaluation_item_used ON evaluation_item_used.id = summary_evaluation_value.evaluation_item_id | ||
| 13 | + WHERE | ||
| 14 | + summary_evaluation_value.value = summary_evaluation_value.score | ||
| 15 | + AND summary_evaluation."types" = 1 | ||
| 16 | + AND evaluation_item_used.weight > 0 | ||
| 17 | + ORDER BY | ||
| 18 | + summary_evaluation_value.created_at | ||
| 19 | +), | ||
| 20 | +t2 AS ( | ||
| 21 | + SELECT | ||
| 22 | + t1.value_id, | ||
| 23 | + cast(evaluation_item_used.weight AS float) AS weight, | ||
| 24 | + cast(t1.value AS float) AS value, | ||
| 25 | + cast(t1.value AS float) * cast(evaluation_item_used.weight AS float) AS real_value | ||
| 26 | +FROM | ||
| 27 | + evaluation_item_used | ||
| 28 | + JOIN t1 ON t1.evaluation_item_id = evaluation_item_used.id) | ||
| 29 | +UPDATE | ||
| 30 | + summary_evaluation_value | ||
| 31 | +SET | ||
| 32 | + score = t2.real_value | ||
| 33 | +FROM | ||
| 34 | + t2 | ||
| 35 | +WHERE | ||
| 36 | + summary_evaluation_value.id = t2.value_id; | ||
| 37 | + | ||
| 38 | +-- 调整summary_evaluation 数据 | ||
| 39 | +WITH t1 AS ( | ||
| 40 | + SELECT | ||
| 41 | + sum(cast(summary_evaluation_value.score AS float)) AS total_score, | ||
| 42 | + summary_evaluation_value.summary_evaluation_id | ||
| 43 | + FROM | ||
| 44 | + summary_evaluation_value | ||
| 45 | + JOIN summary_evaluation ON summary_evaluation_value.summary_evaluation_id = summary_evaluation.id | ||
| 46 | + JOIN evaluation_item_used ON evaluation_item_used.id = summary_evaluation_value.evaluation_item_id | ||
| 47 | + WHERE | ||
| 48 | + summary_evaluation."types" = 1 | ||
| 49 | + AND evaluation_item_used.weight > 0 | ||
| 50 | + GROUP BY | ||
| 51 | + summary_evaluation_value.summary_evaluation_id) | ||
| 52 | +UPDATE | ||
| 53 | + summary_evaluation | ||
| 54 | +SET | ||
| 55 | + total_score = t1.total_score | ||
| 56 | +FROM | ||
| 57 | + t1 | ||
| 58 | +WHERE | ||
| 59 | + summary_evaluation.id = t1.summary_evaluation_id |
-
请 注册 或 登录 后发表评论