2018-08-07

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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是一段城中村的生活。 租住的房子,一个800元,住了两个人,我和我的老乡。由于是板房式的筒子楼,房间很昏暗,白天...
    见贤思齐阅读 206评论 0 1
  • 文/完美的补丁 男人啊! 你不懂, 女人要的不一定是奢华, 女人最想要一个贮满爱和温馨的家; 男人啊...
    完美的补丁阅读 267评论 2 4
  • 那春秋看破? 桃红柳绿又何如? 好尽似,悠悠荡荡三更梦 空一场,昏昏惨惨一腔愁 空对着,素锦流年 落日楼台终不见 ...
    zhanzhan不自喜阅读 240评论 2 2
  • 有一天我划着一艘船,从岸边到河里的时候,心情异常激动,对未知充满好奇,为冲动做好了准备,我没有考虑更多,我必须往前...
    天外飞逸阅读 389评论 0 0