diff --git a/kfet/forms.py b/kfet/forms.py
index f89b8f08..e61773f9 100644
--- a/kfet/forms.py
+++ b/kfet/forms.py
@@ -517,11 +517,13 @@ class OrderArticleForm(forms.Form):
self.category = kwargs['initial']['category']
self.category_name = kwargs['initial']['category__name']
self.box_capacity = kwargs['initial']['box_capacity']
- self.v_s1 = kwargs['initial']['v_s1']
- self.v_s2 = kwargs['initial']['v_s2']
- self.v_s3 = kwargs['initial']['v_s3']
- self.v_s4 = kwargs['initial']['v_s4']
- self.v_s5 = kwargs['initial']['v_s5']
+ self.v_s_7 = kwargs['initial']['v_s_7']
+ self.v_s_6 = kwargs['initial']['v_s_6']
+ self.v_s_5 = kwargs['initial']['v_s_5']
+ self.v_s_4 = kwargs['initial']['v_s_4']
+ self.v_s_3 = kwargs['initial']['v_s_3']
+ self.v_s_2 = kwargs['initial']['v_s_2']
+ self.v_s_1 = kwargs['initial']['v_s_1']
self.v_moy = kwargs['initial']['v_moy']
self.v_et = kwargs['initial']['v_et']
self.v_prev = kwargs['initial']['v_prev']
diff --git a/kfet/templates/kfet/order_create.html b/kfet/templates/kfet/order_create.html
index c2d07f76..67ed437e 100644
--- a/kfet/templates/kfet/order_create.html
+++ b/kfet/templates/kfet/order_create.html
@@ -14,8 +14,8 @@
Article |
- Ventes
-
+ | Ventes
+
|
V. moy.
@@ -27,17 +27,22 @@
|
Stock |
+ Box
+
+ |
Rec.
|
Commande |
- S1 |
- S2 |
- S3 |
- S4 |
- S5 |
+ S -7 |
+ S -6 |
+ S -5 |
+ S -4 |
+ S -3 |
+ S -2 |
+ S -1 |
@@ -45,21 +50,24 @@
{% ifchanged form.category %}
{{ form.category_name }} |
- |
+ |
{% endifchanged %}
{{ form.article }}
{{ form.name }} |
- {{ form.v_s1 }} |
- {{ form.v_s2 }} |
- {{ form.v_s3 }} |
- {{ form.v_s4 }} |
- {{ form.v_s5 }} |
+ {{ form.v_s_7 }} |
+ {{ form.v_s_6 }} |
+ {{ form.v_s_5 }} |
+ {{ form.v_s_4 }} |
+ {{ form.v_s_3 }} |
+ {{ form.v_s_2 }} |
+ {{ form.v_s_1 }} |
{{ form.v_moy }} |
{{ form.v_et }} |
{{ form.v_prev }} |
{{ form.stock }} |
+ {{ form.box_capacity }} |
{{ form.c_rec }} |
{{ form.quantity_ordered | add_class:"form-control" }} |
diff --git a/kfet/views.py b/kfet/views.py
index 60dbb44b..afe26c70 100644
--- a/kfet/views.py
+++ b/kfet/views.py
@@ -1793,47 +1793,65 @@ def order_create(request, pk):
.select_related('group')
.filter(article__in=articles, canceled_at=None)
.values('article'))
- sales_s1 = (sales_q
+ sales_s_7 = (sales_q
+ .filter(
+ group__at__gte = today-timedelta(weeks=7),
+ group__at__lt = today-timedelta(weeks=7-1))
+ .annotate(nb=Sum('article_nb'))
+ )
+ sales_s_7 = { d['article']:d['nb'] for d in sales_s_7 }
+ sales_s_6 = (sales_q
+ .filter(
+ group__at__gte = today-timedelta(weeks=6),
+ group__at__lt = today-timedelta(weeks=6-1))
+ .annotate(nb=Sum('article_nb'))
+ )
+ sales_s_6 = { d['article']:d['nb'] for d in sales_s_6 }
+ sales_s_5 = (sales_q
.filter(
group__at__gte = today-timedelta(weeks=5),
- group__at__lt = today-timedelta(weeks=4))
+ group__at__lt = today-timedelta(weeks=5-1))
.annotate(nb=Sum('article_nb'))
)
- sales_s1 = { d['article']:d['nb'] for d in sales_s1 }
- sales_s2 = (sales_q
+ sales_s_5 = { d['article']:d['nb'] for d in sales_s_5 }
+ sales_s_4 = (sales_q
.filter(
group__at__gte = today-timedelta(weeks=4),
- group__at__lt = today-timedelta(weeks=3))
+ group__at__lt = today-timedelta(weeks=4-1))
.annotate(nb=Sum('article_nb'))
)
- sales_s2 = { d['article']:d['nb'] for d in sales_s2 }
- sales_s3 = (sales_q
+ sales_s_4 = { d['article']:d['nb'] for d in sales_s_4 }
+ sales_s_3 = (sales_q
.filter(
group__at__gte = today-timedelta(weeks=3),
- group__at__lt = today-timedelta(weeks=2))
+ group__at__lt = today-timedelta(weeks=3-1))
.annotate(nb=Sum('article_nb'))
)
- sales_s3 = { d['article']:d['nb'] for d in sales_s3 }
- sales_s4 = (sales_q
+ sales_s_3 = { d['article']:d['nb'] for d in sales_s_3 }
+ sales_s_2 = (sales_q
.filter(
group__at__gte = today-timedelta(weeks=2),
- group__at__lt = today-timedelta(weeks=1))
+ group__at__lt = today-timedelta(weeks=2-1))
.annotate(nb=Sum('article_nb'))
)
- sales_s4 = { d['article']:d['nb'] for d in sales_s4 }
- sales_s5 = (sales_q
- .filter(group__at__gte = today-timedelta(weeks=1))
+ sales_s_2 = { d['article']:d['nb'] for d in sales_s_2 }
+ sales_s_1 = (sales_q
+ .filter(
+ group__at__gte = today-timedelta(weeks=1),
+ group__at__lt = today
.annotate(nb=Sum('article_nb'))
)
- sales_s5 = { d['article']:d['nb'] for d in sales_s5 }
-
+ sales_s_1 = { d['article']:d['nb'] for d in sales_s_1 }
+
for article in articles:
- v_s1 = sales_s1.get(article.pk, 0)
- v_s2 = sales_s2.get(article.pk, 0)
- v_s3 = sales_s3.get(article.pk, 0)
- v_s4 = sales_s4.get(article.pk, 0)
- v_s5 = sales_s5.get(article.pk, 0)
- v_all = [v_s1, v_s2, v_s3, v_s4, v_s5]
+ v_s_7 = sales_s_7.get(article.pk, 0)
+ v_s_6 = sales_s_6.get(article.pk, 0)
+ v_s_5 = sales_s_5.get(article.pk, 0)
+ v_s_4 = sales_s_4.get(article.pk, 0)
+ v_s_3 = sales_s_3.get(article.pk, 0)
+ v_s_2 = sales_s_2.get(article.pk, 0)
+ v_s_1 = sales_s_1.get(article.pk, 0)
+ v_all = [v_s_7, v_s_6, v_s_5, v_s_4, v_s_3, v_s_2, v_s_1]
v_3max = heapq.nlargest(3, v_all)
v_moy = statistics.mean(v_3max)
v_et = statistics.pstdev(v_3max, v_moy)
@@ -1856,15 +1874,17 @@ def order_create(request, pk):
'category__name': article.category.name,
'stock': article.stock,
'box_capacity': article.box_capacity,
- 'v_s1': v_s1,
- 'v_s2': v_s2,
- 'v_s3': v_s3,
- 'v_s4': v_s4,
- 'v_s5': v_s5,
+ 'v_s_7': v_s_7,
+ 'v_s_6': v_s_6,
+ 'v_s_5': v_s_5,
+ 'v_s_4': v_s_4,
+ 'v_s_3': v_s_3,
+ 'v_s_2': v_s_2,
+ 'v_s_1': v_s_1,
'v_moy': round(v_moy),
'v_et': round(v_et),
'v_prev': round(v_prev),
- 'c_rec': article.box_capacity and c_rec or round(c_rec_tot),
+ 'c_rec': c_rec if article.box_capacity else round(c_rec_tot),
})
cls_formset = formset_factory(