sam order增加过期提醒
This commit is contained in:
parent
400173c0cf
commit
aec8841ba6
|
@ -1,22 +1,36 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
|
|
||||||
from apps.sam.models import Order
|
from apps.sam.models import Order
|
||||||
|
from django.db.models import F
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
|
|
||||||
class OrderFilterSet(filters.FilterSet):
|
class OrderFilterSet(filters.FilterSet):
|
||||||
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
||||||
create_time_end = filters.DateFilter(field_name="create_time", lookup_expr='lte')
|
create_time_end = filters.DateFilter(field_name="create_time", lookup_expr='lte')
|
||||||
material = filters.NumberFilter(method='filter_material')
|
material = filters.NumberFilter(method='filter_material')
|
||||||
|
tag = filters.CharFilter(method='filter_tag')
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Order
|
model = Order
|
||||||
fields = ['product', 'contract', 'customer', 'create_time_start', 'create_time_end']
|
fields = ['product', 'contract', 'customer', 'create_time_start',
|
||||||
|
'create_time_end', 'tag']
|
||||||
|
|
||||||
def filter_material(self, queryset, name, value):
|
def filter_material(self, queryset, name, value):
|
||||||
"""
|
"""
|
||||||
按物料筛选
|
按物料筛选
|
||||||
"""
|
"""
|
||||||
return queryset.filter(plan_order__subplan_plan__progress_subplan__material__id=value).distinct()
|
return queryset.filter(
|
||||||
|
plan_order__subplan_plan__progress_subplan__material__id=value).distinct()
|
||||||
|
|
||||||
|
def filter_tag(self, queryset, name, value):
|
||||||
|
if value == 'near_delivery':
|
||||||
|
day7_after = datetime.now() + timedelta(days=7)
|
||||||
|
queryset = queryset.filter(delivered_count__lt=F('count'),
|
||||||
|
delivery_date__lte = datetime.date(day7_after))
|
||||||
|
elif value == 'out_delivery':
|
||||||
|
queryset = queryset.filter(delivered_count__lt=F('count'),
|
||||||
|
delivery_date__gt = datetime.date(datetime.now()))
|
||||||
|
return queryset
|
||||||
|
|
||||||
class ContractFilterSet(filters.FilterSet):
|
class ContractFilterSet(filters.FilterSet):
|
||||||
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
||||||
|
|
|
@ -66,6 +66,7 @@ class Order(CommonAModel):
|
||||||
planed_count = models.PositiveIntegerField('已排数量', default=0)
|
planed_count = models.PositiveIntegerField('已排数量', default=0)
|
||||||
delivered_count = models.PositiveIntegerField('已交货数量', default=0)
|
delivered_count = models.PositiveIntegerField('已交货数量', default=0)
|
||||||
delivery_date = models.DateField('交货日期')
|
delivery_date = models.DateField('交货日期')
|
||||||
|
need_mtest = models.BooleanField('是否需要军检', default=False)
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '订单信息'
|
verbose_name = '订单信息'
|
||||||
verbose_name_plural = verbose_name
|
verbose_name_plural = verbose_name
|
||||||
|
|
Loading…
Reference in New Issue