浏览代码

Добавлена таблица Производственный план

Anastasia 10 年之前
父节点
当前提交
5d944c0c89
共有 4 个文件被更改,包括 33 次插入2 次删除
  1. 10 0
      asuzr/tables.py
  2. 21 2
      asuzr/views.py
  3. 1 0
      record/urls.py
  4. 1 0
      templates/asuzr/base.html

+ 10 - 0
asuzr/tables.py

@@ -134,3 +134,13 @@ class VisitTable(tables.Table):
 
   class Meta:
     attrs = {'class': 'paleblue'}
+    
+class ProdPlanTable(tables.Table):
+  date = tables.Column(verbose_name = 'Дата')
+  week_day = tables.Column(verbose_name = 'День недели', accessor = 'date.weekday_name')
+  executor = EditableColumn('executor', 'prodplan',verbose_name = 'Исполнитель')
+  order = EditableColumn('order', 'prodplan', verbose_name = 'Заказ')
+  action = EditableColumn('action', 'prodplan', verbose_name = 'Действие')
+
+  class Meta:
+    attrs = {'class': 'paleblue'}

+ 21 - 2
asuzr/views.py

@@ -8,6 +8,7 @@ from asuzr.models import Attendance
 from asuzr.models import Order
 from asuzr.models import OrderPlan
 from asuzr.models import Schedule
+from asuzr.models import ProdPlan
 from datetime import datetime, date, timedelta
 import calendar
 from django.db.models import Count, Sum
@@ -70,8 +71,6 @@ def visit_view(request):
       month_days[day]['designer'] = '%s, %s' % (month_days[day]['designer'], designer)
     else:
       month_days[day]['designer'] = designer
-
-  print month_days 
  
   table = VisitTable(month_days.values())
   RequestConfig(request, paginate={'per_page': 32}).configure(table)
@@ -188,3 +187,23 @@ def production_table(request, order_id):
     'cost_items' : cost_items,
     })
   return HttpResponse(t.render(c))
+
+@login_required
+def prod_plan_view(request):
+  curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y')
+  y,m = curr_date.year, curr_date.month
+  wd = curr_date.weekday()
+  sdate = curr_date - timedelta(days = wd)
+  edate = curr_date + timedelta(days = 6-wd)
+  
+  week_days = {i: {'date': custom_date(y,m,sdate.day+i)} for i in range(0,7)}
+  
+  prodplan_list = ProdPlan.objects.filter(start_date__range = (sdate,edate))
+  
+  for prodplan in prodplan_list:
+    week_days[prodplan.start_date.weekday()]['prodplan'] = prodplan
+  
+  table = ProdPlanTable(week_days.values())
+  title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y'))
+  RequestConfig(request).configure(table)
+  return render(request, 'asuzr/table.html', {'table': table, 'title': title})

+ 1 - 0
record/urls.py

@@ -20,6 +20,7 @@ urlpatterns = patterns('',
     url(r'^desreport/$', 'asuzr.views.desreport'),
     url(r'^production_table/(?P<order_id>\d+)/$', 'asuzr.views.production_table'),
     url(r'^sketches/(?P<order_id>\d+)/$', 'asuzr.views.sketches'),
+    url(r'^prodplan/$', 'asuzr.views.prod_plan_view'),
     url(r'^admin/', include(admin.site.urls)),
     url(r'^inplaceeditform/', include('inplaceeditform.urls')),
     url(r'^accounts/login/$',  login),

+ 1 - 0
templates/asuzr/base.html

@@ -34,6 +34,7 @@
  <li><a href={% url 'asuzr.views.orders' 0 %}>Таблица выхода заказов</a></li>
  <li><a href={% url 'asuzr.views.orders' 1 %}>Архивная таблица</a></li>
  <li><a href={% url 'asuzr.views.desreport' %}>Отчет по дизайнерам</a></li>
+ <li><a href={% url 'asuzr.views.prod_plan_view' %}>Производственный план</a></li>
  {% if request.user.is_staff %}<li><a href={% url 'admin:index' %}>Администрирование</a></li>{% endif %}
 </ul>
 <div id="user">