Esempio n. 1
0
def create_rebate_cost_fee(waybill_number, source, waybill_servercode):
    """
    造运单应付返点数据
    :param waybill_number:
    :param source:
    :param waybill_servercode:
    :return:
    """

    service_order_number = "Srv" + str(random.randint(10000000, 99999999))

    params = {
        "shipperCode": waybill_number,
        "serviceOrderNumber": service_order_number,
        "serverCode": waybill_servercode,
        "ytAmount": random.randint(1, 99),
        "ytCurrency": "RMB",
        "serviceAmount": random.randint(1, 99),
        "serviceCurrency": "RMB",
        "sourceId": source,
        "serviceBillAmount": random.randint(1, 99),
        "chargeweight": random.random() * 10,
        "productCode": ProductCode.yt_product_code,
        "serverChannelCode": ServerChannelCode.server_channel_code,
        "shipperOgId": 74,
        "branchAmount": random.randint(1, 99),
        "sallerId": 99,
        "sallerAmount": random.randint(1, 99),
        "costAmount": random.randint(1, 99),
        "billCycle": ymd() + "-" + ymd()
    }
    request_url = BaseUrl.fms_url + Path.PayableRebate
    request_interface(request_url, params)
Esempio n. 2
0
def create_WayBill_fee(waybill_number, waybill_servercode, source):
    """
    末端运单费用接口
    :param waybill_number:
    :param waybill_servercode:
    :param source:
    :return:
    """
    request_data = params_WayBill_fee(waybill_number, waybill_servercode,
                                      source)
    request_url = BaseUrl.fms_url + Path.EndFee
    request_interface(request_url, request_data)
Esempio n. 3
0
def create_bill_income_fee(waybill_code, customer_code, income_type, source):
    """
    空运/清关/中转/末端应收费用接口
    :param waybill_code:
    :param customer_code:
    :param income_type:
    :param source:
    :return:
    """
    if source == 1:
        source = "YT"

    else:
        source = "WT"

    # 币种
    currency_list = ["RMB", "USD", "EUR", "HKD"]
    currency = random.choice(currency_list)
    # 销售产品
    product_code_list = ["DHL-NL", "FDXGR-CA"]
    product_code = random.choice(product_code_list)

    params = []
    fee_code_list = ["E1", "QQ", "H5", "E2"]
    for fee_code in fee_code_list:
        arrival_date = faker.past_datetime()
        fee_data = {
            "Waybill_Code": waybill_code,
            "Fee_Code": fee_code,
            "Fee_Name": fee_code,
            "Fee_Expense_Time": now(),
            "Zone_Code": None,
            "Zone_Name": None,
            "Price_Total_Value": round(random.uniform(100, 999), 2),
            "Currency": currency,
            "system_source": source,
            "Fk_type": "N",
            "calculate_unit": "KG",
            "note": "脚本测试数据",
            "income_type": income_type,
            "price_level": None,
            "Customer_Code": customer_code,
            "Charge_Weight": round(random.uniform(10, 99), 2),
            "express_sallerid": None,
            "business_ownership": None,
            "Product_Code": product_code,
            "Product_Name": None,
            "Arrival_Date": str(arrival_date)
        }
        params.append(fee_data)

    request_url = BaseUrl.fms_url + Path.BillIncomeFee
    request_interface(request_url, params)
Esempio n. 4
0
def create_clearance_vat_fee(lading_number, waybill_list, fee_count):
    """
    清关运单费用接口
    :param lading_number:
    :param waybill_list:
    :param fee_count:
    :return:
    """
    request_data = params_clearance_vat_fee(lading_number, waybill_list,
                                            fee_count)
    request_url = BaseUrl.fms_url + Path.CustomsVatFee
    request_interface(request_url, request_data)
Esempio n. 5
0
def create_clearance_fee(lading_number, fee_count, clearance_servercode):
    """
    清关提单费用接口
    :param lading_number:
    :param fee_count:
    :param clearance_servercode:
    :return:
    """
    request_data = params_clearance_fee(lading_number, fee_count,
                                        clearance_servercode)
    request_url = BaseUrl.fms_url + Path.CustomsFee
    request_interface(request_url, request_data)
Esempio n. 6
0
def create_AirTransport_fee(lading_number, fee_count, air_servercode, source,
                            charge_type):
    """
    空运提单费用接口
    :param lading_number:
    :param fee_count:
    :param air_servercode:
    :return:
    """
    request_data = params_AirTransport_fee(lading_number, fee_count,
                                           air_servercode, source, charge_type)
    request_url = BaseUrl.fms_url + Path.AirFee
    request_interface(request_url, request_data)
Esempio n. 7
0
def create_OverseasReturn_fee(waybill_number, waybill_servercode, fee_count,
                              source):
    """
    海外退件运单费用接口
    :param waybill_number:
    :param waybill_servercode:
    :param fee_count:
    :param source:
    :return:
    """
    request_data = params_OverseasReturn_fee(waybill_number,
                                             waybill_servercode, fee_count,
                                             source)
    request_url = BaseUrl.fms_url + Path.ReturnFee
    request_interface(request_url, request_data)
Esempio n. 8
0
def create_car_fee(car_number, departure_number, server_code, fee_count,
                   order_type):
    """
    海外中转/发货中转/调拨运输费用接口
    :param car_number:
    :param departure_number:
    :param server_code:
    :param fee_count:
    :param order_type:
    :return:
    """
    request_data = params_car_fee(car_number, departure_number, server_code,
                                  fee_count, order_type)
    request_url = BaseUrl.fms_url + Path.TransferFee
    request_interface(request_url, request_data)
Esempio n. 9
0
def pqm_to_OpeLabrary_fee(waybill_number, operation_type_code):
    """
    调拨库内应付报价计费接口参数
    :param waybill_number:
    :return:
    """

    params = {
        "shipper_hawbcode": waybill_number,
        "orig_warehouse_og_code": "YT-SZ",
        "operation_type_code": operation_type_code,
        "operation_time": now(),
        "weight": round(random.uniform(10, 99), 2),
        "weight_unit_code": "KG",
        "system_source_code": 101
    }
    request_url = BaseUrl.pqm_url + Path.CostAllocate
    request_interface(request_url, params)
Esempio n. 10
0
def create_rebate_income_fee(waybill_number, source, customer_code):
    """
    造运单应收返点数据
    :param waybill_number:
    :param source:
    :param customer_code:
    :return:
    """
    params = {
        "shipperCode": waybill_number,
        "ablerebateAmount": random.random() * 10,
        "currency": "RMB",
        "sourceId": source,
        "customerCode": customer_code,
        "billCycle": ymd(),
        "productCode": "productCode" + str(random.randint(1000, 9999)),
        "chargeweight": random.random() * 10,
        "shipperOgId": 1,
        "totaleFreight": random.random() * 10
    }
    request_url = BaseUrl.fms_url + Path.ReceivableRebate
    request_interface(request_url, params)
Esempio n. 11
0
def pqm_to_cost(waybill_number, waybill_list, server_code, product_code,
                customer_code, cost_type, charge_type, source):
    global api_Cost, jsonstring
    if source == 1:
        source = "YT"
    else:
        source = "WT"
    # 判断下income_type,如果是末端环节就不添加下面的子单
    detailEntities_list = []
    if cost_type != "PS":
        for sonwaybill_code in waybill_list:
            ExtraServiceCodes_list = ["CR", "B4", "null"]  # "T5", "B3",
            ExtraServiceCodes = random.sample(ExtraServiceCodes_list, 1)
            detailEntities_detail = {
                "sonwaybill_code": sonwaybill_code,
                "declared_value": 6,
                "declared_value_currency": "RMB",
                "charged_weight": "5",
                "Country": "US",
                "ExtraServiceCodes": ExtraServiceCodes
            }
            detailEntities_list.append(detailEntities_detail)
    # 空运
    jsonstring_air = {
        "Waybill_Code": waybill_number,
        "Volume_Weight": round(random.uniform(1000, 9999), 2),
        "Charge_Weight": round(random.uniform(1000, 9999), 2),
        "PV_Weight": round(random.uniform(1000, 9999), 2),
        "PvPlateParam": None,
        "Tune_Weight": None,
        "AirServer_Code": None,
        "Server_Code": server_code,
        "Airline_Two_Code": "TV",
        "Airport_Code_Start": "HKG",
        "Airport_Code_End": "AMS",
        "Rule_Type": "ZB",  # 板型
        "Server_Type": "FWF",  # 服务类型
        "Quo_Type": "FDF",  # 价格类型
        "Status": None,
        "Current_date": now_T(),
        "System_Code": source,
        "OrgShortCode": source + "-SZ",
        "Unit_Code": None,
        "Ticket": 3427,
        "Box_Number": 100,
        "CargoRatio": None,
        "AirCharge_Type": charge_type,
        "detailEntities": detailEntities_list,
        "Dimension_TimeType": "DG"
    }

    # 清关
    jsonstring_clearance = {
        "waybill_code":
        waybill_number,
        "currency_code":
        "TD",
        "Server_Code":
        server_code,
        "server_type":
        cost_type,
        "serverplace_code":
        "IC0165",
        "system_code":
        source,
        "arrival_date":
        now(),
        "country":
        "",
        "charge_weight":
        round(random.uniform(100, 999), 2),
        "unit_code":
        "KG",
        "pieces":
        13536,
        "declared_value":
        10,
        "declared_value_currency":
        "RMB",
        "currency":
        "RMB",
        "airline":
        None,
        "departure_airport":
        "HKG",
        "destination_airport":
        "CDG",
        "customs_clearance_port":
        "CDG",  # AMS,PRG,CDG
        "end_place":
        "",
        "ticket":
        8057,
        "hs_code":
        1,
        "box_number":
        2,
        "businesstime":
        now(),
        "airline_two_code":
        "TV",
        "chargtype":
        "Cost",
        "lcustomsnumber":
        8057,
        "lcargovaluenumber":
        72305.52,
        "timeunti":
        "Day",
        "trackingnumber":
        "",
        "dock_system":
        "CIS",
        "clearancecharge_type":
        charge_type,
        "detailEntities":
        detailEntities_list,
        "End_PlaceList": [{
            "End_Place_Code": "CPS010",
            "End_Box_Number": 1,
            "End_Weight": round(random.uniform(10, 99), 2)
        }]
    }

    # 末端
    jsonstring_deliver = {
        "Waybill_Code": waybill_number,
        "Currency_Code": "YD",
        "Server_Code": server_code,
        "Server_Type": cost_type,
        "ServerPlace_Code": "LM0252",
        "System_Code": source,
        "Og_id_ChargeFirst": source + "-SZ",
        "Og_id_ChargeSecond": None,
        "Arrival_Date": now(),
        "Country": None,
        "Postcode": None,
        "City": None,
        "Province": None,
        "Charge_Weight": round(random.uniform(10, 99), 2),
        "Unit_Code": "KG",
        "Unit_Length": None,
        "Unit_Area": None,
        "Unit_Bulk": None,
        "Unit_Volume": None,
        "ExtraService": None,
        "ExtraService_Coefficient": None,
        "Pieces": 0,
        "Category_Code": None,
        "Declared_Value": 0,
        "Currency": None,
        "Tariff": None,
        "Airline": None,
        "Departure_Airport": None,
        "Destination_Airport": None,
        "Customs_Clearance_Port": None,
        "Start_Place": "AF#01",
        "end_Place": "AF#01",
        "Remark": None,
        "Ticket": 0,
        "HS_Code": 0,
        "Box_Number": 0,
        "First_Long": 0,
        "Two_Long": 0,
        "Three_Long": 0,
        "BusinessTime": now(),
        "airline_two_code": None,
        "detailEntities": None,
        "Goods_Code": None,
        "IsFinalCharge": False,
        "ChargType": None,
        "HCustomsNumber": 0,
        "MCustomsNumber": 0,
        "LCustomsNumber": 0,
        "HCargoValueNumber": 0,
        "MCargoValueNumber": 0,
        "LCargoValueNumber": 0,
        "Charge_Volume": 2,
        "Tray_Number": 0,
        "Truck_Number": 0,
        "TimeUnti": None,
        "TimeVaule": 0,
        "TrackingNumber": None
    }

    jsonstring_OverseasDispatch = {
        "Waybill_Code": str(waybill_number),
        "Currency_Code": "YD",
        "Customer_Code": customer_code,
        "Server_Code": server_code,
        "Server_Type": "PS",
        "ServerPlace_Code": "LM0252",
        "System_Code": source,
        "Og_id_ChargeFirst": source + "-SZ",
        "Arrival_Date": now(),
        "Country": "US",
        "Postcode": 518000,
        "City": "AT",
        "Charge_Weight": round(random.uniform(10, 99), 2),
        "Dock_system": "RMS",
        "Charge_Pattern": "0"
    }

    jsonstring_OverseasReturn = {
        "Waybill_Code": waybill_number,
        "Currency_Code": "YD",
        "Server_Code": server_code,
        "ServerPlace_Code": "LM0252",
        "System_Code": source,
        "Og_id_ChargeFirst": source + "-SZ",
        "Og_id_ChargeSecond": None,
        "Arrival_Date": now(),
        "Charge_Weight": round(random.uniform(10, 99), 2),
        "Country": "US",
        "Postcode": 518000,
        "Unit_Code": "KG",
        "Unit_Length": None,
        "Pieces": 0,
        "Category_Code": None,
        "Declared_Value": 0,
        "airline_two_code": None,
        "Ticket": 0,
        "Box_Number": 0,
        "First_Long": 0,
        "Two_Long": 0,
        "Three_Long": 0,
        "detailEntities": [],
        "Dock_system": "RMS",
        "Extra_ServicesList": [],
        "Charge_Pattern": 2  # 末端海外业务方案(0表示正常派送  1表示海外重派  2表示海外退件)
    }

    if cost_type == "KY":
        api_Cost = Path.CostAir
        jsonstring = json.dumps(jsonstring_air, ensure_ascii=False)

    elif cost_type == "QG":
        api_Cost = Path.CostClearance
        jsonstring = json.dumps(jsonstring_clearance, ensure_ascii=False)

    elif cost_type == "PS":
        api_Cost = Path.CostDeliver
        jsonstring = json.dumps(jsonstring_deliver, ensure_ascii=False)

    elif cost_type == "CP":
        api_Cost = Path.CostDeliver
        jsonstring = json.dumps(jsonstring_OverseasDispatch,
                                ensure_ascii=False)

    elif cost_type == "TJ":
        api_Cost = Path.CostDeliver
        jsonstring = json.dumps(jsonstring_OverseasReturn, ensure_ascii=False)

    # 请求参数
    request_data = {
        "waybill_code": waybill_number,
        "jsonstring": jsonstring,
        "system_source": source,
        "product_code": product_code,
        "cost_type": cost_type
    }

    if jsonstring_air["AirCharge_Type"] == 1:
        request_data["cost_type"] = cost_type + "-F"

    request_url = BaseUrl.pqm_url + api_Cost
    request_interface(request_url, request_data)
Esempio n. 12
0
def pqm_to_transport_fee(transport_info, transport_type_code):
    """
    调拨运输报价计费接口参数
    :param transport_info:
    :param transport_type_code:
    :return:
    """

    params = {
        "allocation_labelcode":
        transport_info["allocation_labelcode"],
        "transport_hawbcode":
        transport_info["transport_hawbcode"],
        "transport_server_code":
        transport_info["transport_server_code"],
        "bag_count":
        transport_info["bag_count"],
        "express_count":
        transport_info["express_count"],
        "transport_total_weight":
        transport_info["transport_total_weight"],
        "weight_unit_code":
        "kg",
        "orig_warehouse_code":
        transport_info["orig_warehouse_code"],
        "dest_warehouse_code":
        transport_info["dest_warehouse_code"],
        "transport_send_time":
        now(),
        "transport_type_code":
        transport_info["transport_type_code"],
        "load_type_code":
        transport_info["load_type_code"],
        "transport_service_body_code":
        transport_info["transport_service_body_code"],
        "settlement_code":
        "KC",
        "transport_code":
        "ZY",
        "system_source_code":
        transport_info["system_source_code"],
        "first_billing_location_code":
        "YT-XM",
        "dest_country_code":
        "AF",
        "kc_count":
        "1",
        "airline_company_code":
        "TV",
        "take_off_code":
        "HKG",
        "take_ground_code":
        "AMS",
        "service_type_code":
        "FWF",
        "fare_type_code":
        "FDF",
        "charge_type_code":
        "",
        "transport_receive_time":
        now()
    }

    if transport_type_code == "AN":
        params["charge_type_code"] = "KY"
        params["transport_code"] = ""

    request_url = BaseUrl.pqm_url + Path.CostAirTransfer
    request_interface(request_url, params)
Esempio n. 13
0
def pqm_to_TransitTransport_fee(waybill_number, waybill_list, car_number,
                                server_code, product_code, start_place,
                                end_place, cost_type, source):
    """
    海外中转/发货中转应付报价计费接口参数
    :param waybill_number:
    :param car_number:
    :param server_code:
    :param product_code:
    :param start_place:
    :param end_place:
    :param cost_type:
    :param source:
    :return:
    """

    if source == 1:
        source = "YT"
    else:
        source = "WT"
    # 判断下income_type,如果是末端环节就不添加下面的子单
    detailEntities_list = []
    if cost_type != "PS":
        for sonwaybill_code in waybill_list:
            ExtraServiceCodes_list = ["CR", "B4"]  # "T5", "B3",
            ExtraServiceCodes = random.sample(ExtraServiceCodes_list, 2)
            detailEntities_detail = {
                "sonwaybill_code": sonwaybill_code,
                "declared_value": 6,
                "declared_value_currency": "RMB",
                "charged_weight": "5",
                "Country": "US",
                "ExtraServiceCodes": ExtraServiceCodes
            }
            detailEntities_list.append(detailEntities_detail)
    jsonstring = {
        "Waybill_Code": waybill_number,
        "Currency_Code": "KC",
        "Server_Code": server_code,
        "ServerPlace_Code": server_code,
        "System_Code": source,
        "Og_id_ChargeFirst": source + "-SZ",
        "Arrival_Date": now(),
        "Charge_Weight": round(random.uniform(10, 99), 2),
        "Start_Place": start_place,  # "US33--美东ACI仓" "DE02--德国WT仓"
        "end_Place": end_place,
        "Dock_system": "OTS",
        "Car_Number": car_number,
        "Extra_ServicesList": [],
        "detailEntities": detailEntities_list,
        "Tray_Number": 0
    }

    request_data = {
        "waybill_code": waybill_number,
        "jsonstring": json.dumps(jsonstring, ensure_ascii=False),
        "system_source": source,
        "product_code": product_code,
        "cost_type": cost_type
    }
    request_url = BaseUrl.pqm_url + Path.CostTransfer
    request_interface(request_url, request_data)
Esempio n. 14
0
def pqm_to_income(waybill_number, waybill_list, server_code, product_code,
                  customer_code, income_type, source):
    global api_Income
    if source == 1:
        source = "YT"
    else:
        source = "WT"

    Country_list = ["US"]
    # 判断下income_type,如果是末端环节就不添加下面的子单
    detailEntities_list = []
    if income_type != "PS":
        for sonwaybill_code in waybill_list:
            ExtraServiceCodes_list = ["CR", "B4", ""]  # "T5", "B3",
            ExtraServiceCodes = random.sample(ExtraServiceCodes_list, 1)
            detailEntities_detail = {
                "sonwaybill_code": sonwaybill_code,
                "declared_value": 6,
                "declared_value_currency": "RMB",
                "charged_weight": "5",
                "Country": "US",
                "ExtraServiceCodes": ExtraServiceCodes
            }
            detailEntities_list.append(detailEntities_detail)

    jsonstring = {
        "Waybill_Code": waybill_number,
        "Customer_Code": customer_code,
        "Product_Code": product_code,
        "Currency_Code": "",
        "System_Code": source,
        "Server_Code": server_code,
        "Og_id_ChargeFirst": source + "-SZ",
        "Og_id_ChargeSecond": None,
        "Arrival_Date": now(),
        "Charge_Weight": random.randint(20, 55),
        "Country": "US",
        "Postcode": None,
        "Unit_Code": "KG",
        "Pieces": 0,
        "Category_Code": None,
        "Declared_Value": 17415.02,
        "airline_two_code": "KE",
        "HS_Code": 0,
        "First_Long": 0,
        "Two_Long": 0,
        "Three_Long": 0,
        "detailEntities": detailEntities_list,
        "Dock_system": None,
        "Extra_ServicesList": [],
        "Currency": "RMB",
        "sku_number": 71
    }

    # 环节不同,需要更改某些参数
    if income_type == "KY":
        jsonstring["Currency_Code"] = "TD"
        api_Income = Path.Income
    elif income_type == "ZY":
        jsonstring["Currency_Code"] = "KC"
        api_Income = Path.Income
    elif income_type == "QG":
        jsonstring["Currency_Code"] = "TD"
        api_Income = Path.IncomeClearance
    elif income_type == "PS":
        jsonstring["Currency_Code"] = "YD"
        api_Income = Path.Income

    request_data = {
        "waybill_code": waybill_number,
        "jsonstring": json.dumps(jsonstring, ensure_ascii=False),
        "system_source": source,
        "product_code": product_code,
        "income_type": income_type
    }
    request_url = BaseUrl.pqm_url + api_Income
    request_interface(request_url, request_data)
Esempio n. 15
0
def create_OpeLabrary_fee(waybill_number, operation_type_code, source):
    request_data = params_OpeLabrary_fee(waybill_number, operation_type_code,
                                         source)
    request_url = BaseUrl.fms_url + Path.OpeLabraryFee
    request_interface(request_url, request_data)