feat:兼容Sqlite3,去除Find_in_set函数,将数据拆分读取
This commit is contained in:
@ -146,6 +146,27 @@ FROM %s AS s WHERE s.is_deleted = %d ORDER BY s.kind ASC, s.stage ASC, s.step A
|
||||
return out, err
|
||||
}
|
||||
|
||||
// WorkSchedules 工作流程信息
|
||||
func (m *WorkSchedule) WorkSchedules(kind model.WorkScheduleKind, condition *WorkbenchCondition) ([]uint64, error) {
|
||||
sql := `SELECT id FROM %s WHERE
|
||||
(CASE target
|
||||
WHEN %d THEN
|
||||
( SELECT GROUP_CONCAT( a.id SEPARATOR ',' ) FROM ( SELECT id FROM work_schedule WHERE target = 1 AND target_value IN (%s)) AS a )
|
||||
WHEN %d THEN
|
||||
(SELECT GROUP_CONCAT( a.id SEPARATOR ',' ) FROM ( SELECT id FROM work_schedule WHERE target = 2 AND target_value IN (%s)) AS a )
|
||||
ELSE "" END) != '' AND kind = %d
|
||||
AND is_deleted = %d`
|
||||
|
||||
out := make([]uint64, 0)
|
||||
|
||||
err := orm.GetDB().Raw(fmt.Sprintf(sql, m.TableName(),
|
||||
model.WorkScheduleTargetForPerson, condition.UID,
|
||||
model.WorkScheduleTargetForRole, condition.roleInfo(),
|
||||
kind, model.DeleteStatusForNot)).Pluck("id", &out).Error
|
||||
|
||||
return out, err
|
||||
}
|
||||
|
||||
func NewWorkSchedule() *WorkSchedule {
|
||||
return &WorkSchedule{model.NewWorkSchedule()}
|
||||
}
|
||||
|
Reference in New Issue
Block a user