示例#1
0
def get_monthwise_order_completed_count_restaurant(rest_id):
    from browse.utils_db import namedtuplefetchall
    query = "select branch.branch_name                               as name,\
					to_char(date_trunc('month', ao.time), 'Month')   as month,\
					EXTRACT(month from date_trunc('month', ao.time)) as monthval,\
					count(ao.delivery_id)                            as sale\
			from accounts_restaurantbranch branch\
					left join accounts_order ao on branch.id = ao.branch_id and ao.order_status = 'DELIVERED' and\
													date_part('year', ao.time) = date_part('year', CURRENT_DATE)\
			where branch.restaurant_id = %s\
			group by branch.branch_name, date_trunc('month', ao.time)"

    branches_sales = namedtuplefetchall(query, [rest_id])

    fillcolors = [
        "rgba(220,0,220,0.3)", "rgba(0,220,220,0.3)", "rgba(220,90,220,0.3)",
        "rgba(120,220,220,0.3)"
    ] * 3
    branches = {b.name: [0] * 12 for b in branches_sales}
    barcolors = {b.name: fillcolors.pop() for b in branches_sales}

    for b in branches_sales:
        if b.monthval is not None:
            branches[b.name][int(b.monthval) - 1] = b.sale

    return [{
        'name': b,
        'sale': branches[b],
        'fillColor': barcolors[b]
    } for b in branches.keys()]
示例#2
0
def get_deliverymen_list():
    """
	:return: charges of only current month
	"""
    from browse.utils_db import namedtuplefetchall
    query = "select delman.id,\
					delman.name,\
					delman.user_id,\
					delman.address,\
					count(delivery.id) as order_cnt,\
					sum(delivery.charge) as payment\
			from accounts_deliveryman delman\
					join accounts_delivery delivery on delman.id = delivery.deliveryman_id\
					join accounts_order on delivery.id = accounts_order.delivery_id\
			where accounts_order.time >= date_trunc('month', CURRENT_DATE)\
			group by delman.id"

    return namedtuplefetchall(query, [])
示例#3
0
def get_packagewise_order_completed_count_all(last_n_months=1):
    from browse.utils_db import namedtuplefetchall
    query = "select package.pkg_name as name, sum(order_pack.quantity) as sale\
			from browse_package package\
					join accounts_orderpackagelist order_pack on package.id = order_pack.package_id\
					join accounts_order ordr on order_pack.order_id = ordr.id\
			where ordr.order_status = 'DELIVERED'\
				and ordr.time >= CURRENT_DATE - INTERVAL '%s months'\
			group by package.pkg_name\
			order by sale desc"

    packages = namedtuplefetchall(query, [last_n_months])
    fillcolors = [
        "rgba(220,0,220,0.3)", "rgba(0,220,220,0.3)", "rgba(220,90,220,0.3)",
        "rgba(120,220,220,0.3)"
    ] * len(packages)

    return [{
        'name': p.name,
        'sale': p.sale,
        'fillColor': fillcolors.pop()
    } for p in packages]
示例#4
0
def get_packagewise_order_completed_count_restaurant(rest_id, last_n_months=1):
    from browse.utils_db import namedtuplefetchall
    query = "select package.pkg_name as name, sum(order_pack.quantity) as sale\
			from browse_package package\
					join accounts_orderpackagelist order_pack on package.id = order_pack.package_id\
					join accounts_order ordr on order_pack.order_id = ordr.id\
			where ordr.order_status = 'DELIVERED'\
				and package.restaurant_id = %s\
				and ordr.time >= CURRENT_DATE - INTERVAL '%s months'\
			group by package.pkg_name\
			order by sale desc"

    packages = namedtuplefetchall(query, [rest_id, last_n_months])
    fillcolors = [
        "#FF6384", "#63FF84", "#84FF63", "#8463FF", "#6384FF", "#44EF93",
        "#5466FD", "#2314EF"
    ] * len(packages)

    return [{
        'name': p.name,
        'sale': p.sale,
        'fillColor': fillcolors.pop()
    } for p in packages]
示例#5
0
def get_monthwise_order_completed_count_branch(branch_id):
    from browse.utils_db import namedtuplefetchall
    query = "select to_char(date_trunc('month', ao.time), 'Month')   as month,\
					EXTRACT(month from date_trunc('month', ao.time)) as monthval,\
					count(ao.delivery_id)                            as sale\
			from accounts_restaurantbranch branch\
					left join accounts_order ao on branch.id = ao.branch_id and ao.order_status = 'DELIVERED' and\
													date_part('year', ao.time) = date_part('year', CURRENT_DATE)\
			where branch.id = %s\
			group by date_trunc('month', ao.time)"

    month_sales = namedtuplefetchall(query, [branch_id])

    fillcolors = [
        "#396AB1", "#DA7C30", "#3E9651", "#CC2529", "#535154", "#6B4C9A",
        "#922428", "#45FF88"
    ] * 3
    sales = [0] * 12
    for m in month_sales:
        if m.monthval is not None:
            sales[int(m.monthval) - 1] = m.sale

    return {'sale': sales, 'fillColor': fillcolors}