123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #coding=utf-8
- import django_filters
- from django.conf import settings
- from django.db.models import Q
- from models import PurchasePlan, PurchaseOrder, PurchaseUser, GodownEntry, PurchasePayment, PurchaseOrderDetail, \
- GodownEntryReturn, GodownEntryReturnDetail, PurchasePrice
- from apps.base import clean_datetime_range
- class PurchasePlanFilter(django_filters.FilterSet):
- no = django_filters.CharFilter(name='no', lookup_expr='icontains')
- name = django_filters.CharFilter(name='name', lookup_expr='icontains')
- notes = django_filters.CharFilter(name='notes', lookup_expr='icontains')
- class Meta:
- model = PurchasePlan
- fields = ('no', 'name', 'status', 'notes')
- # def filter_status(self, queryset, *args):
- # if args[1]:
- # value = int(args[1])
- # if value != 3:
- # queryset = queryset.filter(status=value)
- # else:
- # queryset = queryset.filter(~Q(status=settings.PASS))
- # return queryset
- class PurchasePriceFilter(django_filters.FilterSet):
- name = django_filters.CharFilter(name='purchase_detail__product__name', lookup_expr='icontains')
- model = django_filters.CharFilter(name='purchase_detail__product__model', lookup_expr='icontains')
- class Meta:
- model = PurchaseUser
- fields = "__all__"
- class PurchaseOrderFilter(django_filters.FilterSet):
- create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
- no = django_filters.CharFilter(name='no', lookup_expr='icontains')
- supplier_name = django_filters.CharFilter(name='supplier__name', lookup_expr='icontains')
- status = django_filters.CharFilter(field_name='status')
- notes = django_filters.CharFilter(name='notes', lookup_expr='icontains')
- class Meta:
- model = PurchaseOrder
- fields = (
- 'create_time', 'no', 'supplier_name', 'status', 'arrval', 'notes', )
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time','source')
- super(PurchaseOrderFilter, self).__init__(data, *args, **kwargs)
- class PurchaseOrderDetailFilter(django_filters.FilterSet):
- supplier_name = django_filters.CharFilter(name='main__supplier__name', lookup_expr='icontains')
- order_no = django_filters.CharFilter(name='main__no', lookup_expr='icontains')
- class Meta:
- model = PurchaseOrderDetail
- fields = ('order_no', 'supplier_name', 'check_status',)
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time')
- super(PurchaseOrderDetailFilter, self).__init__(data, *args, **kwargs)
- class GodownEntryFilter(django_filters.FilterSet):
- no = django_filters.CharFilter(name='no', lookup_expr='icontains')
- supplier_text = django_filters.CharFilter(name='supplier__name', lookup_expr='icontains')
- purchase_order_no = django_filters.CharFilter(name='purchase_order__no', lookup_expr='icontains')
- create_user_text = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
- create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
- check_time = django_filters.DateTimeFromToRangeFilter(field_name='check_time')
- class Meta:
- model = GodownEntry
- fields = "__all__"
-
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time', 'source')
- data = clean_datetime_range(data, 'check_time')
- super(GodownEntryFilter, self).__init__(data, *args, **kwargs)
- class GodownEntryReturnFilter(django_filters.FilterSet):
- no = django_filters.CharFilter(name='no', lookup_expr='icontains')
- supplier_text = django_filters.CharFilter(name='supplier__name', lookup_expr='icontains')
- create_user_text = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
- create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
- check_time = django_filters.DateTimeFromToRangeFilter(field_name='check_time')
- class Meta:
- model = GodownEntryReturn
- fields = "__all__"
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time', 'source')
- data = clean_datetime_range(data, 'check_time')
- super(GodownEntryReturnFilter, self).__init__(data, *args, **kwargs)
- class GodownEntryReturnDetailFilter(django_filters.FilterSet):
- main_no = django_filters.CharFilter(name='main__no', lookup_expr='icontains')
- godownentry_no = django_filters.CharFilter(name='godownentry_detail__main__no', lookup_expr='icontains')
- main_supplier = django_filters.CharFilter(name='main__supplier__name', lookup_expr='icontains')
- main_create_user = django_filters.CharFilter(name='main__create_user__name', lookup_expr='icontains')
- main_check_user = django_filters.CharFilter(name='main__check_user__name', lookup_expr='icontains')
- main_create_time = django_filters.DateTimeFromToRangeFilter(field_name='main__create_time')
- main_check_time = django_filters.DateTimeFromToRangeFilter(field_name='main__check_time')
- notes = django_filters.CharFilter(name='notes', lookup_expr='icontains')
- class Meta:
- model = GodownEntryReturnDetail
- fields = "__all__"
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'main__create_time')
- data = clean_datetime_range(data, 'main__check_time')
- super(GodownEntryReturnDetailFilter, self).__init__(data, *args, **kwargs)
- class PurchasePaymentFilter(django_filters.FilterSet):
- create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
- no = django_filters.CharFilter(name='no', lookup_expr='icontains')
- order_no = django_filters.CharFilter(name='order__no', lookup_expr='icontains')
- supplier_name = django_filters.CharFilter(name='order__supplier__name', lookup_expr='icontains')
- notes = django_filters.CharFilter(name='notes', lookup_expr='icontains')
- class Meta:
- model = PurchasePayment
- fields = (
- 'create_time', 'no', 'supplier_name', 'status', 'order_no', 'notes', )
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time','source')
- super(PurchasePaymentFilter, self).__init__(data, *args, **kwargs)
- class PurchasePriceExportFilter(django_filters.FilterSet):
- supplier_name = django_filters.CharFilter(name='supplier__name', lookup_expr='icontains')
- class Meta:
- model = PurchasePrice
- fields = "__all__"
|