diff --git a/asuzr/models.py b/asuzr/models.py index 3f55a72..30bead2 100644 --- a/asuzr/models.py +++ b/asuzr/models.py @@ -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,13 +73,12 @@ 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) #путь к файу - order = models.ForeignKey(Order) #id заказа + sketch_file = models.FileField(upload_to = 'sketches') #путь к файу + order = models.ForeignKey(Order) #id заказа #Действия class Action(models.Model): @@ -97,5 +100,5 @@ class AccessProtocol(models.Model): #План заказов class OrderPlan(models.Model): - month = models.DateField() + date = models.DateField() plan = models.IntegerField() \ No newline at end of file diff --git a/asuzr/models.pyc b/asuzr/models.pyc index 5da9309..9685f45 100644 Binary files a/asuzr/models.pyc and b/asuzr/models.pyc differ diff --git a/asuzr/views.py b/asuzr/views.py index d28a50b..2bb9b65 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -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,13 +73,16 @@ 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) 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, @@ -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)) - diff --git a/asuzr/views.pyc b/asuzr/views.pyc index 254769e..edad42c 100644 Binary files a/asuzr/views.pyc and b/asuzr/views.pyc differ diff --git a/db.sqlite3 b/db.sqlite3 index 780e608..879ba87 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/record/urls.py b/record/urls.py index 82c2dc6..ec4e03e 100644 --- a/record/urls.py +++ b/record/urls.py @@ -10,6 +10,7 @@ urlpatterns = patterns('', url(r'^product/$', 'asuzr.views.prod_list'), url(r'^product/(?P\d+)/$', 'asuzr.views.prod_detail'), url(r'^attendance/(?P\d+)/(?P\d+)/$', 'asuzr.views.attend_table'), + url(r'^main/(?P\d+)/(?P\d+)/(?P\d+)/$', 'asuzr.views.main', name='asuzr-main'), url(r'^orders/(?P\d+)/(?P\d+)/(?P\d+)/$', 'asuzr.views.orders_table'), url(r'^attend_order/(?P\d+)/(?P\d+)/$', 'asuzr.views.attend_order_table'), url(r'^admin/', include(admin.site.urls)), diff --git a/record/urls.pyc b/record/urls.pyc index 747de66..4566253 100644 Binary files a/record/urls.pyc and b/record/urls.pyc differ diff --git a/templates/asuzr/attend_order.html b/templates/asuzr/attend_order.html index f02c5bd..30014c2 100644 --- a/templates/asuzr/attend_order.html +++ b/templates/asuzr/attend_order.html @@ -1,2 +1,8 @@ -{% include 'asuzr/attendance.html' %} -{% include 'asuzr/orders.html' %} \ No newline at end of file + + + + + + +
{% include 'asuzr/attendance.html' %}{% include 'asuzr/orders.html' %}
+{% include 'asuzr/plan_balance.html' %} \ No newline at end of file diff --git a/templates/asuzr/attendance.html b/templates/asuzr/attendance.html index 43f1c60..0f318aa 100644 --- a/templates/asuzr/attendance.html +++ b/templates/asuzr/attendance.html @@ -17,13 +17,13 @@ Заказы Стоимость - {% for attend in attend_list %} + {% for attend in attend_list %} {{ attend.date_dd_mm_yy}} {{ attend.week_day}} {{ attend.calls }} {{ attend.visits }} - {{ attend.order_count}} + {{ attend.order_count}} {{ attend.orders_price}} {% endfor %} diff --git a/templates/asuzr/orders.html b/templates/asuzr/orders.html index 18f8baa..8ebb8bf 100644 --- a/templates/asuzr/orders.html +++ b/templates/asuzr/orders.html @@ -5,7 +5,7 @@ -

Заказы

+

Заказы на {{ d_date }}

{% if order_list %}
    diff --git a/templates/asuzr/plan_balance.html b/templates/asuzr/plan_balance.html new file mode 100644 index 0000000..a5154eb --- /dev/null +++ b/templates/asuzr/plan_balance.html @@ -0,0 +1,21 @@ + + + + + + + +

    Справочно:

    +
+
    +
+ + + + + + + + + + \ No newline at end of file
ПЛАН{{ plan.plan }}
Осталось до выполнения{{ balance }}