def get_search_result(search_string):
if search_string[len(search_string) - 2] == '.':
search_string = search_string[:-2]
search_string = '%'.join(search_string.split())
search_result = []
# search for code
codes = Code.query.filter(Code.family_code.like('%{}%'.format(search_string))).all()
search_result += [code.family_code for code in codes]
codes_from_erp = CodeFromErp.query.filter(CodeFromErp.family_code.like('%{}%'.format(search_string))).all()
search_result += [code.family_code for code in codes_from_erp]
# search for original code
codes_from_italy_orcode = CodeFromItaly.query.filter(or_(
CodeFromItaly.original_code1.like('%{}%'.format(search_string)),
CodeFromItaly.original_code2.like('%{}%'.format(search_string)),
CodeFromItaly.original_code3.like('%{}%'.format(search_string)),
CodeFromItaly.original_code4.like('%{}%'.format(search_string)),
)).all()
search_result += [code.family_code for code in codes_from_italy_orcode]
codes_from_erp_or_code = CodeFromErp.query.filter(or_(
CodeFromErp.original_code1.like('%{}%'.format(search_string)),
CodeFromErp.original_code2.like('%{}%'.format(search_string)),
CodeFromErp.original_code3.like('%{}%'.format(search_string)),
CodeFromErp.original_code4.like('%{}%'.format(search_string)),
)).all()
search_result += [code.family_code for code in codes_from_erp_or_code]
# search for description
codes_from_italy_des = CodeFromItaly.query.filter(or_(
CodeFromItaly.description.like('%{}%'.format(search_string)),
CodeFromItaly.description.like('%{}%'.format(search_string)),
CodeFromItaly.description.like('%{}%'.format(search_string)),
CodeFromItaly.description.like('%{}%'.format(search_string)),
)).all()
search_result += [code.family_code for code in codes_from_italy_des]
codes_from_erp_des = CodeFromErp.query.filter(or_(
CodeFromErp.description.like('%{}%'.format(search_string)),
CodeFromErp.description.like('%{}%'.format(search_string)),
CodeFromErp.description.like('%{}%'.format(search_string)),
CodeFromErp.description.like('%{}%'.format(search_string)),
)).all()
search_result += [code.family_code for code in codes_from_erp_des]
# 去除OR开头的件号
search_result = [code for code in search_result if code[:2] != 'OR']
print('search result<{}>'.format(set(search_result)))
return set(search_result)
2018-08-07
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。