Exemple #1
0
def generate_object_item_delivery():
    idelivr = ItemDelivery()
    type_d = generate_type_driver()
    idelivr.load = generate_load_transport(type_d)
    idelivr.name = generate_name_item_delivery(type_d)
    # TODO: change to all BR, for a while, just CG.
    lat_o, lng_o = random_lat_lon()
    lat_t, lng_t = random_lat_lon()
    idelivr.lat = lat_o
    idelivr.lng = lng_o
    address = Address()
    address.lat = lat_t
    address.lng = lng_t
    idelivr.address = geolocation_reverse(lat_o, lng_o)
    address.address = geolocation_reverse(lat_t, lng_t)
    address.save()
    idelivr.target = address
    idelivr.save()
    for i in range(generate_stops_number()):
        lat_stop, lng_stop = random_lat_lon()
        stop = Stop()
        stop.lat = lat_stop
        stop.lng = lng_stop
        stop.item_delivery = idelivr
        stop.save()
    idelivr.distance = get_distance_total_idelivery(idelivr)
    idelivr.save()
    idelivr.amount_receivable = Money(
        generate_profit_item_delivery(type_d, idelivr.distance) +
        get_cost_travel(generate_kml_transport(type_d), idelivr.distance,
                        type_d), 'BRL')
    idelivr.save()
    return idelivr