Selaa lähdekoodia

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

Anastasia 10 vuotta sitten
vanhempi
commit
c6ae0b5f73

BIN
asuzr/.views.py.kate-swp


+ 16 - 4
asuzr/models.py

@@ -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


+ 8 - 63
asuzr/views.py

@@ -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))
 
 

BIN
asuzr/views.pyc


BIN
db.sqlite3


+ 1 - 3
record/urls.py

@@ -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
sketches/front_view.PDF


BIN
sketches/top_view.PDF


+ 1 - 1
templates/asuzr/attend_order.html

@@ -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' %}

+ 32 - 23
templates/asuzr/orders.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>
     </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 - 0
templates/asuzr/orders_detail.html

@@ -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>