diff --git a/models/interview_zsgc.py b/models/interview_zsgc.py index f101850..01d00a3 100644 --- a/models/interview_zsgc.py +++ b/models/interview_zsgc.py @@ -299,6 +299,19 @@ class InterviewDo: for fstr in self.find_column: findStr += fstr + ', ' for key, value in self.where.items(): + if key in ['interview_id', 'hr_id', 'interview_name', 'hr_name']: + # 多个条件 + if ',' in value: + values = value.split(',') + for index, i in enumerate(values): + if index > 0: + whereStr += 'or ' + str(key) + 'like %' + "'" + i + "'" + '% ' + else: + whereStr += str(key) + 'like %' + "'" + i + "'" + '% ' + continue + # 单个条件 + whereStr += str(key) + 'like %' + "'" + value + "'" + '% ' + continue if isinstance(value, str): whereStr += str(key) + ' = ' + "'" + value + "'" + ' ' continue @@ -312,6 +325,38 @@ class InterviewDo: 'sql': sql, } + # 包含所有查询 + def find_interview_every_sql(self): + whereStr = '' + findStr = '' + for fstr in self.find_column: + findStr += fstr + ', ' + for key, value in self.where.items(): + if key in ['interview_id', 'hr_id', 'interview_name', 'hr_name']: + # 多个条件 + if ',' in value: + values = value.split(',') + for index, i in enumerate(values): + if index > 0: + whereStr += 'or ' + str(key) + 'like %' + "'" + i + "'" + '% ' + else: + whereStr += str(key) + 'like %' + "'" + i + "'" + '% ' + continue + # 单个条件 + whereStr += str(key) + 'like %' + "'" + value + "'" + '% ' + continue + if isinstance(value, str): + whereStr += str(key) + ' = ' + "'" + value + "'" + ' ' + continue + whereStr += str(key) + ' = ' + str(value) + ' ' + whereStr = whereStr.strip() + findStr = findStr.strip().strip(',') + sql = f"select {findStr} from HR.resumes where {whereStr}" + print(sql) + return { + 'sql': sql, + } + # 主页初筛查询 def find_interview_home_sql(self): self.where.update({'interview_stage': 1})