Таблица выхода заказов
This commit is contained in:
BIN
asuzr/.views.py.kate-swp
Normal file
BIN
asuzr/.views.py.kate-swp
Normal file
Binary file not shown.
@@ -71,10 +71,22 @@ class Order(models.Model):
|
|||||||
phone_num = 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) #отменен
|
cancelled = models.BooleanField(default=False) #отменен
|
||||||
|
|
||||||
|
@property
|
||||||
|
def date_dmy(self):
|
||||||
|
return self.date.strftime("%d/%m/%Y")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def deadline_dmy(self):
|
def deadline_dmy(self):
|
||||||
return self.deadline.strftime("%d/%m/%Y")
|
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):
|
class Sketch(models.Model):
|
||||||
sketch_file = models.FileField(upload_to = 'sketches') #путь к файу
|
sketch_file = models.FileField(upload_to = 'sketches') #путь к файу
|
||||||
|
|||||||
BIN
asuzr/models.pyc
BIN
asuzr/models.pyc
Binary file not shown.
@@ -20,39 +20,6 @@ def prod_detail(request, prod_id):
|
|||||||
return HttpResponse("This is %s" % 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):
|
def get_filtered_list(p_list, year, month):
|
||||||
filtered_list=[]
|
filtered_list=[]
|
||||||
for a in p_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')
|
order_list = Order.objects.filter(date=dt).order_by('id')
|
||||||
return order_list
|
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):
|
def main(request, day, month, year):
|
||||||
attend_list = Attendance.objects.all().order_by('date')
|
attend_list = Attendance.objects.all().order_by('date')
|
||||||
@@ -131,5 +69,12 @@ def main(request, day, month, year):
|
|||||||
})
|
})
|
||||||
return HttpResponse(t.render(c))
|
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))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
asuzr/views.pyc
BIN
asuzr/views.pyc
Binary file not shown.
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@@ -9,9 +9,7 @@ urlpatterns = patterns('',
|
|||||||
# url(r'^blog/', include('blog.urls')),
|
# url(r'^blog/', include('blog.urls')),
|
||||||
url(r'^product/$', 'asuzr.views.prod_list'),
|
url(r'^product/$', 'asuzr.views.prod_list'),
|
||||||
url(r'^product/(?P<prod_id>\d+)/$', 'asuzr.views.prod_detail'),
|
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'^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'^orders/$', 'asuzr.views.orders'),
|
||||||
url(r'^attend_order/(?P<year>\d+)/(?P<month>\d+)/$', 'asuzr.views.attend_order_table'),
|
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^admin/', include(admin.site.urls)),
|
||||||
)
|
)
|
||||||
|
|||||||
BIN
record/urls.pyc
BIN
record/urls.pyc
Binary file not shown.
BIN
sketches/front_view.PDF
Normal file
BIN
sketches/front_view.PDF
Normal file
Binary file not shown.
BIN
sketches/top_view.PDF
Normal file
BIN
sketches/top_view.PDF
Normal file
Binary file not shown.
@@ -2,7 +2,7 @@
|
|||||||
<TR VALIGN=top>
|
<TR VALIGN=top>
|
||||||
<TD WIDTH="40%">{% include 'asuzr/attendance.html' %}</TD>
|
<TD WIDTH="40%">{% include 'asuzr/attendance.html' %}</TD>
|
||||||
<TD WIDTH="5%"></TD>
|
<TD WIDTH="5%"></TD>
|
||||||
<TD WIDTH="55%">{% include 'asuzr/orders.html' %}</TD>
|
<TD WIDTH="55%">{% include 'asuzr/orders_detail.html' %}</TD>
|
||||||
</TR>
|
</TR>
|
||||||
</table>
|
</table>
|
||||||
{% include 'asuzr/plan_balance.html' %}
|
{% include 'asuzr/plan_balance.html' %}
|
||||||
@@ -1,41 +1,50 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Заказы</title>
|
<title></title>
|
||||||
<meta content="">
|
<meta content="">
|
||||||
<style></style>
|
<style></style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<H1>Заказы на {{ d_date }} </H1>
|
<H1>Таблица выхода заказов</H1>
|
||||||
<TABLE BORDER WIDTH="100%">
|
<TABLE BORDER WIDTH="100%">
|
||||||
{% if order_list %}
|
{% if order_list %}
|
||||||
<ul>
|
<ul>
|
||||||
<TR>
|
<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>
|
||||||
|
<TH>Сдан</TH>
|
||||||
</TR>
|
</TR>
|
||||||
{% for order in order_list %}
|
{% for order in order_list %}
|
||||||
<TR>
|
<TR>
|
||||||
<TD>{{ order.product.name }}</TD>
|
<TD>{{ order.date_dmy }}</TD>
|
||||||
<TD>{{ order.price }}</TD>
|
|
||||||
<TD>{{ order.address }}</TD>
|
|
||||||
<TD>{{ order.designer.first_name }}</TD>
|
|
||||||
<TD>{{ order.deadline_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>
|
</TR>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<TR>
|
|
||||||
<TD> ИТОГО:</TD>
|
|
||||||
<TD>{{sum_price}}</TD>
|
|
||||||
<TD></TD>
|
|
||||||
<TD></TD>
|
|
||||||
<TD></TD>
|
|
||||||
</TR>
|
|
||||||
</ul>
|
</ul>
|
||||||
{% else %}
|
{% else %}
|
||||||
<p> Список заказов пуст</p>
|
<p>Список заказов пуст</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</TABLE>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
41
templates/asuzr/orders_detail.html
Normal file
41
templates/asuzr/orders_detail.html
Normal 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>
|
||||||
Reference in New Issue
Block a user