切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
2 years ago
提交
6593f91872f01dc7eb210165984ec767ff435b32
1 个父辈
841ae8f6
master
...
dev-pushdata
dev-tangxvhui
dev-zhengzhou
test
v2.2.0-fix
v2.2.0
v2.0.0
修复bug
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
3 行增加
和
427 行删除
pkg/application/task/service/check_task_recordv2.go
pkg/port/beego/controllers/task_controller.go
pkg/application/task/service/check_task_recordv2.go
已删除
100644 → 0
查看文件 @
841ae8f
package
service
// TODO 检查任务里程碑反馈, 记录异常情况
// func checkTaskRecordV2(param *domain.TaskRecord) error {
// transactionContext, err := factory.CreateTransactionContext(nil)
// if err != nil {
// return err
// }
// if err := transactionContext.StartTransaction(); err != nil {
// return err
// }
// defer func() {
// _ = transactionContext.RollbackTransaction()
// }()
// taskRepo := factory.CreateTaskRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, taskDataList, err := taskRepo.Find(map[string]interface{}{"id": param.TaskId})
// if err != nil {
// return fmt.Errorf("获取任务数据失败:%s", err)
// }
// if len(taskDataList) == 0 {
// return nil
// }
// taskData := taskDataList[0]
// //检查每日评估中任务的异常
// // anomaly1 := &domain.TaskAnomaly{}
// // ok := anomaly1.IsWarnFlag(taskData, param)
// // if ok {
// // }
// // 检查反馈异常
// if param.IsRemarkAnomaly() {
// taskData.Anomaly += 1
// err = isAssessFlag(transactionContext, taskData, param)
// if err != nil {
// return err
// }
// } else {
// taskData.Anomaly = 0
// err = isNotAssessFlag(transactionContext, taskData, param)
// if err != nil {
// return err
// }
// }
// // 检查里程碑异常
// if param.IsTaskStageAnomaly() {
// taskData.WarnFlag += 1
// err := isWarnFlag(transactionContext, taskData, param)
// if err != nil {
// return err
// }
// } else {
// taskData.WarnFlag = 0
// err := isNotWarnFlag(transactionContext, taskData, param)
// if err != nil {
// return err
// }
// }
// // 检查辅导异常
// if param.IsAssistAnomaly() {
// taskData.AssistFlag += 1
// err = isAssistFlag(transactionContext, taskData, param)
// if err != nil {
// return err
// }
// } else {
// taskData.AssistFlag = 0
// err = isNotAssistFlag(transactionContext, taskData, param)
// if err != nil {
// return err
// }
// }
// // 保存任务数据
// err = taskRepo.Save(taskData)
// if err != nil {
// return fmt.Errorf("保存任务数据:%s", err)
// }
// if err := transactionContext.CommitTransaction(); err != nil {
// return err
// }
// return nil
// }
// // 取消里程碑异常
// func isNotWarnFlag(transactionContext application.TransactionContext, taskData *domain.Task, taskRecord *domain.TaskRecord) error {
// taskAnomalyRepo := factory.CreateTaskAnomalyRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, oldAnomaly, err := taskAnomalyRepo.Find(map[string]interface{}{
// "isLast": 1,
// "category": domain.AnomalyCategoryType1,
// "limit": 1,
// "taskId": taskData.Id,
// "taskStageCheck": fmt.Sprintf(`{"id":"%d"}`, taskRecord.TaskStageCheck.Id),
// })
// if err != nil {
// return fmt.Errorf("查询里程碑异常的数据:%s", err)
// }
// if len(oldAnomaly) == 0 {
// return nil
// }
// oldAnomaly[0].IsLast = 2
// err = taskAnomalyRepo.Save(oldAnomaly[0])
// if err != nil {
// return fmt.Errorf("取消里程碑异常:%s", err)
// }
// return nil
// }
// // 处理里程碑异常的情况, 日评中 里程碑未正常填写,包含 逾期完成,逾期未完成。
// // 记录异常
// func isWarnFlag(transactionContext application.TransactionContext, taskData *domain.Task, taskRecord *domain.TaskRecord) error {
// nowTime := time.Now()
// if taskData.CurrentStage.Id == 0 && taskRecord.TaskStageCheck.RealCompletedAt > 0 {
// // 逾期完成,且没有后续的任务
// return isNotWarnFlag(transactionContext, taskData, taskRecord)
// }
// if taskData.CurrentStage.PlanCompletedAt > nowTime.Unix() && taskRecord.TaskStageCheck.RealCompletedAt > 0 {
// //逾期完成,且后续任务为过期
// return isNotWarnFlag(transactionContext, taskData, taskRecord)
// }
// taskAnomalyRepo := factory.CreateTaskAnomalyRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// userRepo := factory.CreateUserRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, oldAnomaly, err := taskAnomalyRepo.Find(map[string]interface{}{
// "isLast": 1,
// "category": domain.AnomalyCategoryType1,
// "limit": 1,
// "taskId": taskData.Id,
// "taskStageCheck": fmt.Sprintf(`{"id":"%d"}`, taskRecord.TaskStageCheck.Id),
// })
// if err != nil {
// return fmt.Errorf("查询里程碑异常的数据:%s", err)
// }
// anomalyDataTmp := domain.TaskAnomaly{
// Id: 0,
// CreatedAt: time.Now(),
// UpdatedAt: time.Now(),
// CompanyId: taskData.CompanyId,
// TaskId: taskData.Id,
// TaskRecordId: taskRecord.Id,
// Category: domain.AnomalyCategoryType1,
// CurrentStage: taskData.CurrentStage,
// LastStage: taskData.LastStage,
// TaskStageCheck: taskRecord.TaskStageCheck,
// AssessFlag: 0,
// WarnFlag: int(taskData.WarnFlag),
// AssistFlag: 0,
// IsLast: 1,
// RecordBegin: taskRecord.CreatedAt.Unix(),
// NoticeWho: []map[string]string{},
// Marks: map[string]string{
// "a": "去更新", "b": "去反馈", "c": "找上级", "d": "去辅导",
// },
// }
// if len(oldAnomaly) > 0 {
// anomalyDataTmp.WarnFlag = oldAnomaly[0].WarnFlag + 1
// anomalyDataTmp.RecordBegin = oldAnomaly[0].RecordBegin
// oldAnomaly[0].IsLast = 2
// err = taskAnomalyRepo.Save(oldAnomaly[0])
// if err != nil {
// return fmt.Errorf("更新里程碑异常记录:%s", err)
// }
// }
// _ = anomalyDataTmp.AnomalyDesc()
// // 异常就通知自己和上级
// //获取任务Leader的数据
// _, useList, err := userRepo.Find(map[string]interface{}{"id": taskData.Leader.Id, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader:%s", err)
// }
// var userParentId int64
// if len(useList) > 0 {
// anomalyDataTmp.SetNoticeWho(useList[0])
// userParentId = useList[0].ParentId
// }
// if userParentId > 0 {
// // 获取上级用户的数据
// _, useList2, err := userRepo.Find(map[string]interface{}{"id": userParentId, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader的上级:%s", err)
// }
// if len(useList2) > 0 {
// anomalyDataTmp.SetNoticeWho(useList2[0])
// }
// }
// err = taskAnomalyRepo.Save(&anomalyDataTmp)
// if err != nil {
// return fmt.Errorf("保存里程碑异常记录:%s", err)
// }
// return nil
// }
// // 取消辅导异常的情况
// func isNotAssistFlag(transactionContext application.TransactionContext, taskData *domain.Task, taskRecord *domain.TaskRecord) error {
// taskAnomalyRepo := factory.CreateTaskAnomalyRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, oldAnomaly, err := taskAnomalyRepo.Find(map[string]interface{}{
// "isLast": 1,
// "category": domain.AnomalyCategoryType3,
// "limit": 1,
// "taskId": taskData.Id,
// })
// if err != nil {
// return fmt.Errorf("查询辅导异常的数据:%s", err)
// }
// if len(oldAnomaly) == 0 {
// return nil
// }
// oldAnomaly[0].IsLast = 2
// err = taskAnomalyRepo.Save(oldAnomaly[0])
// if err != nil {
// return fmt.Errorf("取消辅导异常:%s", err)
// }
// return nil
// }
// // 处理辅导异常的情况
// func isAssistFlag(transactionContext application.TransactionContext, taskData *domain.Task, taskRecord *domain.TaskRecord) error {
// taskAnomalyRepo := factory.CreateTaskAnomalyRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// userRepo := factory.CreateUserRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, oldAnomaly, err := taskAnomalyRepo.Find(map[string]interface{}{
// "isLast": 1,
// "category": domain.AnomalyCategoryType3,
// "limit": 1,
// "taskId": taskData.Id,
// })
// if err != nil {
// return fmt.Errorf("查询辅导异常的数据:%s", err)
// }
// // 辅导异常通知该条任务负责人的上级;辅导异常超过N天,通知任务负责人的上上级
// anomalyDataTmp := domain.TaskAnomaly{
// Id: 0,
// CreatedAt: time.Now(),
// UpdatedAt: time.Now(),
// CompanyId: taskData.CompanyId,
// TaskRecordId: taskRecord.Id,
// TaskId: taskData.Id,
// Category: domain.AnomalyCategoryType3,
// CurrentStage: taskData.CurrentStage,
// LastStage: taskData.LastStage,
// TaskStageCheck: taskRecord.TaskStageCheck,
// AssessFlag: 0,
// WarnFlag: 0,
// AssistFlag: taskData.AssistFlag,
// IsLast: 1,
// RecordBegin: taskRecord.CreatedAt.Unix(),
// NoticeWho: []map[string]string{},
// Marks: map[string]string{
// "a": "去更新", "b": "去反馈", "c": "找上级", "d": "去辅导",
// },
// }
// if len(oldAnomaly) > 0 {
// anomalyDataTmp.RecordBegin = oldAnomaly[0].RecordBegin
// oldAnomaly[0].IsLast = 2
// err = taskAnomalyRepo.Save(oldAnomaly[0])
// if err != nil {
// return fmt.Errorf("更新里程碑异常记录:%s", err)
// }
// }
// _ = anomalyDataTmp.AnomalyDesc()
// //获取任务Leader的数据
// _, useList, err := userRepo.Find(map[string]interface{}{"id": taskData.Leader.Id, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader:%s", err)
// }
// var userParentId int64
// if len(useList) > 0 {
// userParentId = useList[0].ParentId
// }
// if userParentId > 0 {
// //通知任务负责人的上级
// _, useList2, err := userRepo.Find(map[string]interface{}{"id": userParentId, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader:%s", err)
// }
// var userParentId2 int64
// if len(useList2) > 0 {
// anomalyDataTmp.SetNoticeWho(useList2[0])
// userParentId2 = useList2[0].ParentId
// }
// // 辅导异常超过N天,通知任务负责人的上上级
// if taskData.AssistFlag >= taskData.AssistFlagMax && userParentId2 > 0 {
// _, useList3, err := userRepo.Find(map[string]interface{}{"id": userParentId, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader:%s", err)
// }
// if len(useList3) > 0 {
// anomalyDataTmp.SetNoticeWho(useList3[0])
// }
// }
// }
// err = taskAnomalyRepo.Save(&anomalyDataTmp)
// if err != nil {
// return fmt.Errorf("保存里程碑异常记录:%s", err)
// }
// return nil
// }
// // 取消反馈异常的情况
// func isNotAssessFlag(transactionContext application.TransactionContext, taskData *domain.Task, taskRecord *domain.TaskRecord) error {
// taskAnomalyRepo := factory.CreateTaskAnomalyRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, oldAnomaly, err := taskAnomalyRepo.Find(map[string]interface{}{
// "isLast": 1,
// "category": domain.AnomalyCategoryType2,
// "limit": 1,
// "taskId": taskData.Id,
// })
// if err != nil {
// return fmt.Errorf("查询辅导异常的数据:%s", err)
// }
// if len(oldAnomaly) == 0 {
// return nil
// }
// oldAnomaly[0].IsLast = 2
// err = taskAnomalyRepo.Save(oldAnomaly[0])
// if err != nil {
// return fmt.Errorf("取消辅导异常:%s", err)
// }
// return nil
// }
// // 处理反馈异常的情况
// func isAssessFlag(transactionContext application.TransactionContext, taskData *domain.Task, taskRecord *domain.TaskRecord) error {
// taskAnomalyRepo := factory.CreateTaskAnomalyRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// userRepo := factory.CreateUserRepository(map[string]interface{}{
// "transactionContext": transactionContext,
// })
// _, oldAnomaly, err := taskAnomalyRepo.Find(map[string]interface{}{
// "isLast": 1,
// "category": domain.AnomalyCategoryType2,
// "limit": 1,
// "taskId": taskData.Id,
// })
// if err != nil {
// return fmt.Errorf("查询反馈异常的数据:%s", err)
// }
// //
// anomalyDataTmp := domain.TaskAnomaly{
// Id: 0,
// CreatedAt: time.Now(),
// UpdatedAt: time.Now(),
// CompanyId: taskData.CompanyId,
// TaskId: taskData.Id,
// TaskRecordId: taskRecord.Id,
// Category: domain.AnomalyCategoryType2,
// CurrentStage: taskData.CurrentStage,
// LastStage: taskData.LastStage,
// TaskStageCheck: taskRecord.TaskStageCheck,
// AssessFlag: taskData.Anomaly,
// WarnFlag: 0,
// AssistFlag: 0,
// IsLast: 1,
// RecordBegin: taskRecord.CreatedAt.Unix(),
// NoticeWho: []map[string]string{},
// Marks: map[string]string{
// "a": "去更新", "b": "去反馈", "c": "找上级", "d": "去辅导",
// },
// }
// if len(oldAnomaly) > 0 {
// anomalyDataTmp.RecordBegin = oldAnomaly[0].RecordBegin
// oldAnomaly[0].IsLast = 2
// err = taskAnomalyRepo.Save(oldAnomaly[0])
// if err != nil {
// return fmt.Errorf("更新里程碑异常记录:%s", err)
// }
// }
// _ = anomalyDataTmp.AnomalyDesc()
// // 2天未反馈通知被评估人自己;3天通知上级
// // 获取任务Leader的数据
// _, useList, err := userRepo.Find(map[string]interface{}{"id": taskData.Leader.Id, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader:%s", err)
// }
// var userParentId int64
// if len(useList) > 0 {
// anomalyDataTmp.SetNoticeWho(useList[0])
// userParentId = useList[0].ParentId
// }
// anomalyDay := xtime.SubDayAbs(time.Now(), time.Unix(anomalyDataTmp.RecordBegin, 0))
// if anomalyDay >= 3 && userParentId > 0 {
// _, useList2, err := userRepo.Find(map[string]interface{}{"id": userParentId, "limit": 1})
// if err != nil {
// return fmt.Errorf("获取任务Leader:%s", err)
// }
// if len(useList2) > 0 {
// anomalyDataTmp.SetNoticeWho(useList2[0])
// }
// }
// err = taskAnomalyRepo.Save(&anomalyDataTmp)
// if err != nil {
// return fmt.Errorf("保存里程碑异常记录:%s", err)
// }
// return nil
// }
pkg/port/beego/controllers/task_controller.go
查看文件 @
6593f91
...
...
@@ -382,8 +382,10 @@ func (c *TaskController) TaskAnomalyInfo() {
return
}
userReq
:=
middlewares
.
GetUser
(
c
.
Ctx
)
paramReq
.
CompanyId
=
int
(
userReq
.
CompanyId
)
userReq
.
UserId
=
userReq
.
UserId
paramReq
.
UserId
=
int
(
userReq
.
UserId
)
resp
,
err
:=
srv
.
TaskAnomalyInfo
(
paramReq
)
c
.
Response
(
resp
,
err
)
}
...
...
请
注册
或
登录
后发表评论