Таблица детализации заказов. Расчет выполнения плана

This commit is contained in:
Anastasia
2015-05-07 16:42:03 +05:00
parent f0a9db1c86
commit e62be89b3d
11 changed files with 84 additions and 14 deletions

View File

@@ -23,7 +23,11 @@ class Attendance(models.Model):
@property
def date_dd_mm_yy(self):
return self.date.strftime("%d/%m/%y")
return self.date.strftime("%d/%m/%Y")
@property
def date_as_tuple(self):
return tuple(self.date_dd_mm_yy().split("/"))
@property
def week_day(self):
@@ -69,12 +73,11 @@ class Order(models.Model):
@property
def deadline_dmy(self):
return self.deadline.strftime("%d/%m/%y")
return self.deadline.strftime("%d/%m/%Y")
#Эскизы
class Sketch(models.Model):
file_name = models.CharField(max_length=150) #имя файла
file_path = models.CharField(max_length=150) #путь к файу
sketch_file = models.FileField(upload_to = 'sketches') #путь к файу
order = models.ForeignKey(Order) #id заказа
#Действия
@@ -97,5 +100,5 @@ class AccessProtocol(models.Model):
#План заказов
class OrderPlan(models.Model):
month = models.DateField()
date = models.DateField()
plan = models.IntegerField()

Binary file not shown.

View File

@@ -4,6 +4,7 @@ from django.template import Context, loader
from asuzr.models import Product
from asuzr.models import Attendance
from asuzr.models import Order
from asuzr.models import OrderPlan
from datetime import datetime, date, time
# Create your views here.
@@ -56,7 +57,7 @@ def get_filtered_list(p_list, year, month):
filtered_list=[]
for a in p_list:
a_date = a.date
if a_date.strftime('%m/%Y') == month+'/'+year:
if a_date.strftime('%m/%Y').lstrip('0') == '/'.join((month,year)).lstrip('0'):
filtered_list.append(a)
return filtered_list
@@ -72,6 +73,9 @@ def attend_order_table(request, year, month):
order_list = Order.objects.all().order_by('id')
filtered_order_list = get_filtered_list(order_list, year, month)
plan = OrderPlan.objects.all()
filtered_plan = get_filtered_list(plan, year, month)
sum_calls = sum(l.calls for l in filtered_attend_list)
sum_visits = sum(l.visits for l in filtered_attend_list)
sum_orders = sum(l.order_count for l in filtered_attend_list)
@@ -88,9 +92,44 @@ def attend_order_table(request, year, month):
'sum_orders': sum_orders,
'sum_price': sum_price,
'sum_order_price': sum_order_price,
'plan': filtered_plan[0],
})
return HttpResponse(t.render(c))
def main(request, day, month, year):
attend_list = Attendance.objects.all().order_by('date')
filtered_attend_list=get_filtered_list(attend_list, year, month)
p_date = datetime.strptime(day+'/'+month+'/'+year, '%d/%m/%Y')
order_list = Order.objects.filter(date=p_date).order_by('id')
plan = OrderPlan.objects.all()
filtered_plan = get_filtered_list(plan, year, month)
sum_calls = sum(l.calls for l in filtered_attend_list)
sum_visits = sum(l.visits for l in filtered_attend_list)
sum_orders = sum(l.order_count for l in filtered_attend_list)
sum_price = sum(l.orders_price for l in filtered_attend_list)
sum_order_price = sum(l.price for l in order_list)
plan_balance = filtered_plan[0].plan-sum_price
d_date = p_date.strftime("%d/%m/%Y")
t = loader.get_template('asuzr/attend_order.html')
c = Context({
'attend_list': filtered_attend_list,
'order_list': order_list,
'sum_calls': sum_calls,
'sum_visits': sum_visits,
'sum_orders': sum_orders,
'sum_price': sum_price,
'sum_order_price': sum_order_price,
'plan': filtered_plan[0],
'balance': plan_balance,
'd_date': d_date,
})
return HttpResponse(t.render(c))

Binary file not shown.

Binary file not shown.

View File

@@ -10,6 +10,7 @@ urlpatterns = patterns('',
url(r'^product/$', 'asuzr.views.prod_list'),
url(r'^product/(?P<prod_id>\d+)/$', 'asuzr.views.prod_detail'),
url(r'^attendance/(?P<year>\d+)/(?P<month>\d+)/$', 'asuzr.views.attend_table'),
url(r'^main/(?P<day>\d+)/(?P<month>\d+)/(?P<year>\d+)/$', 'asuzr.views.main', name='asuzr-main'),
url(r'^orders/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/$', 'asuzr.views.orders_table'),
url(r'^attend_order/(?P<year>\d+)/(?P<month>\d+)/$', 'asuzr.views.attend_order_table'),
url(r'^admin/', include(admin.site.urls)),

Binary file not shown.

View File

@@ -1,2 +1,8 @@
{% include 'asuzr/attendance.html' %}
{% include 'asuzr/orders.html' %}
<table WIDTH="100%">
<TR VALIGN=top>
<TD WIDTH="40%">{% include 'asuzr/attendance.html' %}</TD>
<TD WIDTH="5%"></TD>
<TD WIDTH="55%">{% include 'asuzr/orders.html' %}</TD>
</TR>
</table>
{% include 'asuzr/plan_balance.html' %}

View File

@@ -23,7 +23,7 @@
<TD>{{ attend.week_day}}</TD>
<TD>{{ attend.calls }}</TD>
<TD>{{ attend.visits }}</TD>
<TD>{{ attend.order_count}}</TD>
<TD><a href="{% url 'asuzr-main' attend.date.day attend.date.month attend.date.year %}">{{ attend.order_count}}</a></TD>
<TD>{{ attend.orders_price}}</TD>
</TR>
{% endfor %}

View File

@@ -5,7 +5,7 @@
<style></style>
</head>
<body>
<H1>Заказы</H1>
<H1>Заказы на {{ d_date }} </H1>
<TABLE BORDER WIDTH="100%">
{% if order_list %}
<ul>

View File

@@ -0,0 +1,21 @@
<html>
<head>
<title></title>
<meta content="">
<style></style>
</head>
<body>
<H4>Справочно:</H4>
<TABLE BORDER WIDTH="20%">
<ul>
<TR>
<TD>ПЛАН</TD>
<TD>{{ plan.plan }}</TD>
</TR>
<TR>
<TD>Осталось до выполнения</TD>
<TD>{{ balance }}</TD>
</TR>
</ul>
</body>
</html>