美文网首页
2018-08-07

2018-08-07

作者: Jack_Ren | 来源:发表于2018-08-07 17:46 被阅读9次
    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

          本文链接:https://www.haomeiwen.com/subject/sgbavftx.html