feat:完善项目
This commit is contained in:
@ -18,9 +18,8 @@ type WorkSchedules struct {
|
||||
|
||||
// WorkScheduleInfo 工单流程信息
|
||||
type WorkScheduleInfo struct {
|
||||
ID uint64 `json:"id"`
|
||||
IsNextStage bool `json:"is_next_stage"` // 下一步骤
|
||||
Reviewer []string `json:"reviewer"`
|
||||
ID uint64 `json:"id"`
|
||||
Reviewer []string `json:"reviewer"`
|
||||
}
|
||||
|
||||
// ValidateAuth 验证权限
|
||||
@ -70,6 +69,22 @@ func (m *WorkSchedule) FirstSchedule(kind model.WorkScheduleKind) (bool, error)
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// LastSchedule 上一流程信息
|
||||
func (m *WorkSchedule) LastSchedule() (*WorkScheduleInfo, error) {
|
||||
mLastWorkSchedule := model.NewWorkSchedule()
|
||||
|
||||
isExist, err := model.FirstField(mLastWorkSchedule, []string{"id", "stage", "step"},
|
||||
model.NewWhere("kind", m.Kind),
|
||||
model.NewWhere("stage", m.Stage), model.NewWhereCondition("step", "<", m.Step))
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !isExist { // 直接抛出当前阶段下一流程信息
|
||||
return nil, nil
|
||||
}
|
||||
return &WorkScheduleInfo{ID: mLastWorkSchedule.ID, Reviewer: mLastWorkSchedule.GetTargetValueAttribute()}, err
|
||||
}
|
||||
|
||||
// NextSchedule 下一流程
|
||||
func (m *WorkSchedule) NextSchedule(isAssets bool) (*WorkScheduleInfo, error) {
|
||||
nextWorkSchedule := model.NewWorkSchedule()
|
||||
@ -80,7 +95,7 @@ func (m *WorkSchedule) NextSchedule(isAssets bool) (*WorkScheduleInfo, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if isExist { // 直接抛出当前阶段下一流程信息
|
||||
return &WorkScheduleInfo{ID: nextWorkSchedule.ID, Reviewer: nextWorkSchedule.GetTargetValueAttribute()}, err
|
||||
goto RETURN
|
||||
}
|
||||
// 进入下一阶段
|
||||
// 是否需要下一阶段协助
|
||||
@ -99,7 +114,17 @@ func (m *WorkSchedule) NextSchedule(isAssets bool) (*WorkScheduleInfo, error) {
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
return &WorkScheduleInfo{ID: nextWorkSchedule.ID, IsNextStage: true, Reviewer: nextWorkSchedule.GetTargetValueAttribute()}, err
|
||||
RETURN:
|
||||
//var count int64
|
||||
//// 判断是否当前阶段第一个元素
|
||||
//if err = orm.GetDB().Table(nextWorkSchedule.TableName()).
|
||||
// Where("kind = ? AND is_deleted = ?", nextWorkSchedule.Kind, model.DeleteStatusForNot).
|
||||
// Where("stage = ?", nextWorkSchedule.Stage).
|
||||
// Where("step < ?", nextWorkSchedule.Step).
|
||||
// Count(&count).Error; err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
return &WorkScheduleInfo{ID: nextWorkSchedule.ID, Reviewer: nextWorkSchedule.GetTargetValueAttribute()}, err
|
||||
}
|
||||
|
||||
// Schedules 流程信息
|
||||
|
Reference in New Issue
Block a user