예제 #1
0
def is_special_cargo(cargo_name: str) -> bool:
    cursor = oms_db.cursor(pymysql.cursors.DictCursor)
    sql = "SELECT `VALUE` FROM mms_db.td_s_dict WHERE DICT_CODE = 'SHOW_SPECIAL_RATE';"
    cursor.execute(sql)
    data = cursor.fetchone()
    cursor.close()
    raw_data = eval(data['VALUE'])
    dict_classify = {}
    if raw_data.get(1, None):
        dict_classify['LAYER1_ID'] = raw_data.get(1)
    if raw_data.get(2, None):
        dict_classify['LAYER2_ID'] = raw_data.get(2)
    if raw_data.get(3, None):
        dict_classify['LAYER3_ID'] = raw_data.get(3)
    classify_id = get_classify_id(cargo_name)
    classify = get_classify_info_by_classify_id(classify_id)
    cargo_classify = {
        'LAYER1_ID': classify['LAYER1_NAME'],
        'LAYER2_ID': classify['LAYER2_NAME'],
        'LAYER3_ID': classify['LAYER3_NAME']
    }
    for key, value in dict_classify.items():
        if cargo_classify.get(key) in value:
            return True
    return False
예제 #2
0
def get_consignor_cargo_list(user_id: str) -> List[dict]:
    """关联货主的货物信息列表"""
    sql = (
        'SELECT `ID`, `BASE_NAME`, `STATE`, '
        '`LAYER1_ID`, `LAYER1_NAME`, `LAYER2_ID`, `LAYER2_NAME`, `LAYER3_ID`, `LAYER3_NAME` '
        'FROM oms_db.tf_f_cargo_consignor '
        'WHERE CONSIGNOR_USER_ID={user_id};').format(user_id=user_id)
    cursor = oms_db.cursor(pymysql.cursors.DictCursor)
    cursor.execute(sql)
    cargo_list = cursor.fetchall()
    cursor.close()
    return cargo_list
예제 #3
0
def get_classify_id(cargo_name: str) -> int:
    """获取货物的classify_id"""
    sql = ('SELECT `CLA_ID` '
           'FROM oms_db.tf_b_classify_keywords_new '
           'WHERE `IS_DELETE`= 0 AND `KEYWORD`= "{cargo}";').format(
               cargo=cargo_name)
    cursor = oms_db.cursor(pymysql.cursors.DictCursor)
    cursor.execute(sql)
    data = cursor.fetchone()
    cursor.close()
    try:
        return data.get('CLA_ID')
    except AttributeError:
        return -1
예제 #4
0
def _classify_info_generator(classify_id: int):
    """查询货物分类的迭代器"""
    cursor = oms_db.cursor(pymysql.cursors.DictCursor)
    father_layer = classify_id
    while father_layer > 0:
        sql = ('SELECT '
               '`NAME`, `LAYER`, `FATHER_LAYER`, `IS_END` '
               'FROM oms_db.tf_b_classify_info '
               'WHERE ID={id};').format(id=father_layer)

        cursor.execute(sql)
        data = cursor.fetchone()
        father_layer = data.get('FATHER_LAYER')
        yield data
        _classify_info_generator(father_layer)
    cursor.close()
예제 #5
0
def get_receipt_default(consignor_user_id):
    """获取回单快递信息"""
    cursor = oms_db.cursor(pymysql.cursors.DictCursor)
    sql = ('SELECT `ID`,'
           '`USER_ID`,'
           '`CUSTOMER_ID`,'
           '`CONSIGNOR_COMPANY`,'
           '`CONSIGNOR_USER_NAME`,'
           '`RECEIPT_NAME`,'
           '`RECEIPT_MOBILE`,'
           '`RECEIPT_PROVINCE`,'
           '`RECEIPT_CITY`,'
           '`RECEIPT_AREA`,'
           '`RECEIPT_DETAIL_ADDR`,'
           '`RECEIPT_TITLE` '
           'FROM oms_db.tf_f_receipt '
           'WHERE user_id={user_id} AND DEFAULT_TYPE=1;').format(
               user_id=consignor_user_id)
    cursor.execute(sql)
    receipt_default = cursor.fetchone()
    cursor.close()
    return receipt_default
예제 #6
0
def get_deliver_default(user_id):
    """获取发货信息"""
    cursor = oms_db.cursor(pymysql.cursors.DictCursor)
    sql = ('SELECT '
           '`CONS_COMPANY_NAME` as despatchCompanyName,'
           '`ID` as despatchId,'
           '`CONS_COORDINATE_X` as despatchCoordinateX,'
           '`CONS_COORDINATE_Y` as despatchCoordinateY,'
           '`CONS_NAME` as despatchName,'
           '`CONS_NAME` as despatchInfo, '
           '`CONS_PROVINCE` as despatchprovince,'
           '`CONS_CITY` as despatchcity,'
           '`CONS_AREA` as despatcharea,'
           '`CONS_DETAIL_ADDR` as despatchAddress,'
           '`CONS_LOCATION_ADDR` as despatchPlaceStr,'
           '`CONS_MOBILE` as despatchMobile,'
           '`SPARE_MOBILE` as despatchBackupMobile '
           'FROM oms_db.tf_f_despatch_deliver '
           'WHERE USER_ID ={user_id} '
           'AND CONS_TYPE=1 AND DEFAULT_TYPE=1;').format(user_id=user_id)
    cursor.execute(sql)
    deliver_list = cursor.fetchone()
    cursor.close()
    return deliver_list