Таблица выхода заказов
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.
@@ -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') #путь к файу
|
||||
|
||||
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)
|
||||
|
||||
|
||||
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')
|
||||
@@ -131,5 +69,12 @@ def main(request, day, month, year):
|
||||
})
|
||||
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'^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)),
|
||||
)
|
||||
|
||||
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>
|
||||
<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' %}
|
||||
@@ -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>
|
||||
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