Таблица выхода заказов

This commit is contained in:
Anastasia
2015-05-08 15:29:19 +05:00
parent e62be89b3d
commit c6ae0b5f73
13 changed files with 100 additions and 95 deletions

BIN
asuzr/.views.py.kate-swp Normal file

Binary file not shown.

View File

@@ -63,18 +63,30 @@ class Order(models.Model):
delivery = models.BooleanField(default=False) #доставка
lifting = models.BooleanField(default=False) #подъем
paid = models.DecimalField(max_digits=12, decimal_places=2) #оплачено
approved = models.DateTimeField(null=True, blank = True) #согласовано
approved = models.DateTimeField(null=True, blank = True) #согласовано
executor = models.ForeignKey(User, related_name='+') #id исполнителя
is_done = models.BooleanField(default=False) #сдан
calls = models.TextField(null=True, blank = True) #обзвон
contact = models.CharField(max_length=150, null=True, blank = True) #контактное лицо
phone_num = models.CharField(max_length=150,null=True, blank = True) #контактный телефон
calls = models.TextField(null=True, blank = True) #обзвон
contact = models.CharField(max_length=150, null=True, blank = True) #контактное лицо
phone_num = models.CharField(max_length=150,null=True, blank = True) #контактный телефон
cancelled = models.BooleanField(default=False) #отменен
@property
def date_dmy(self):
return self.date.strftime("%d/%m/%Y")
@property
def deadline_dmy(self):
return self.deadline.strftime("%d/%m/%Y")
@property
def approved_date(self):
return self.approved.strftime("%d/%m/%Y")
@property
def ostatok(self):
return self.price-self.paid
#Эскизы
class Sketch(models.Model):
sketch_file = models.FileField(upload_to = 'sketches') #путь к файу

Binary file not shown.

View File

@@ -20,39 +20,6 @@ def prod_detail(request, prod_id):
return HttpResponse("This is %s" % prod_id)
def attend_table(request, year, month):
attend_list = Attendance.objects.all().order_by('date')
filtered_list=[]
for a in attend_list:
a_date = a.date
if a_date.strftime('%m/%Y') == month+'/'+year:
filtered_list.append(a)
sum_calls = sum(l.calls for l in filtered_list)
sum_visits = sum(l.visits for l in filtered_list)
sum_orders = sum(l.order_count for l in filtered_list)
sum_price = sum(l.orders_price for l in filtered_list)
t = loader.get_template('asuzr/attendance.html')
c = Context({
'attend_list': filtered_list,
'sum_calls': sum_calls,
'sum_visits': sum_visits,
'sum_orders': sum_orders,
'sum_price': sum_price,
})
return HttpResponse(t.render(c))
def orders_table(request, year, month, day):
p_date = datetime.strptime(day+'/'+month+'/'+year, '%d/%m/%Y')
order_list = Order.objects.filter(date=p_date).order_by('id')
sum_price = sum(l.price for l in order_list)
t = loader.get_template('asuzr/orders.html')
c = Context({
'order_list': order_list,
'sum_price': sum_price,
})
return HttpResponse(t.render(c))
def get_filtered_list(p_list, year, month):
filtered_list=[]
for a in p_list:
@@ -66,35 +33,6 @@ def get_orders_by_date(dt):
order_list = Order.objects.filter(date=dt).order_by('id')
return order_list
def attend_order_table(request, year, month):
attend_list = Attendance.objects.all().order_by('date')
filtered_attend_list=get_filtered_list(attend_list, 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)
sum_price = sum(l.orders_price for l in filtered_attend_list)
sum_order_price = sum(l.price for l in filtered_order_list)
t = loader.get_template('asuzr/attend_order.html')
c = Context({
'attend_list': filtered_attend_list,
'order_list': filtered_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],
})
return HttpResponse(t.render(c))
def main(request, day, month, year):
attend_list = Attendance.objects.all().order_by('date')
@@ -130,6 +68,13 @@ def main(request, day, month, year):
'd_date': d_date,
})
return HttpResponse(t.render(c))
def orders (request):
order_list = Order.objects.filter(is_done=False).order_by('-id')
t=loader.get_template('asuzr/orders.html')
c=Context({
'order_list': order_list,
})
return HttpResponse(t.render(c))

Binary file not shown.

Binary file not shown.

View File

@@ -9,9 +9,7 @@ urlpatterns = patterns('',
# url(r'^blog/', include('blog.urls')),
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'^orders/$', 'asuzr.views.orders'),
url(r'^admin/', include(admin.site.urls)),
)

Binary file not shown.

BIN
sketches/front_view.PDF Normal file

Binary file not shown.

BIN
sketches/top_view.PDF Normal file

Binary file not shown.

View File

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

View File

@@ -1,41 +1,50 @@
<html>
<head>
<title>Заказы</title>
<title></title>
<meta content="">
<style></style>
</head>
<body>
<H1>Заказы на {{ d_date }} </H1>
<H1>Таблица выхода заказов</H1>
<TABLE BORDER WIDTH="100%">
{% if order_list %}
<ul>
<ul>
<TR>
<TH>Наименование</TH>
<TH>Стоимость</TH>
<TH>Адрес</TH>
<TH>Дизайнер</TH>
<TH>Дата</TH>
<TH>Срок сдачи</TH>
<TH>Наименование</TH>
<TH>Доставка</TH>
<TH>Подьем</TH>
<TH>Адрес</TH>
<TH>Стоимость</TH>
<TH>Оплачено</TH>
<TH>Остаток</TH>
<TH>Согласовано</TH>
<TH>Эскиз</TH>
<TH>Исполнитель</TH>
<TH>Сдан</TH>
</TR>
{% for order in order_list %}
<TR>
<TD>{{ order.product.name }}</TD>
<TD>{{ order.price }}</TD>
<TD>{{ order.address }}</TD>
<TD>{{ order.designer.first_name }}</TD>
<TD>{{ order.deadline_dmy }}</TD>
</TR>
<TR>
<TD>{{ order.date_dmy }}</TD>
<TD>{{ order.deadline_dmy }}</TD>
<TD>{{ order.product.name }}</TD>
<TD>{%if order.delivery%} Да {% else %} Нет {% endif %} </TD>
<TD>{%if order.lifting%} Да {% else %} Нет {% endif %}</TD>
<TD>{{ order.address }}</TD>
<TD>{{ order.price }}</TD>
<TD>{{ order.paid }}</TD>
<TD>{{ order.ostatok }}</TD>
<TD>{%if order.approved%} {{ order.approved_date }} {%else%} Нет {% endif %}</TD>
<TD>{{order.sketch.sketch_file}}</TD>
<TD>{{ order.executor.first_name }}</TD>
<TD>{%if order.is_done%} Да {%else%} Нет {% endif %}</TD>
</TR>
{% endfor %}
<TR>
<TD> ИТОГО:</TD>
<TD>{{sum_price}}</TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
</ul>
</ul>
{% else %}
<p> Список заказов пуст</p>
<p>Список заказов пуст</p>
{% endif %}
</TABLE>
</table>
</body>
</html>

View File

@@ -0,0 +1,41 @@
<html>
<head>
<title>Заказы</title>
<meta content="">
<style></style>
</head>
<body>
<H1>Заказы на {{ d_date }} </H1>
<TABLE BORDER WIDTH="100%">
{% if order_list %}
<ul>
<TR>
<TH>Наименование</TH>
<TH>Стоимость</TH>
<TH>Адрес</TH>
<TH>Дизайнер</TH>
<TH>Срок сдачи</TH>
</TR>
{% for order in order_list %}
<TR>
<TD>{{ order.product.name }}</TD>
<TD>{{ order.price }}</TD>
<TD>{{ order.address }}</TD>
<TD>{{ order.designer.first_name }}</TD>
<TD>{{ order.deadline_dmy }}</TD>
</TR>
{% endfor %}
<TR>
<TD> ИТОГО:</TD>
<TD>{{sum_price}}</TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
</ul>
{% else %}
<p> Список заказов пуст</p>
{% endif %}
</TABLE>
</body>
</html>