12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- from django_filters import FilterSet
- from .models import InboundBill, MaterialDetail ,OutboundBill ,OutMaterialDetail
- from django_filters import rest_framework as filters
- class OutboundBillFilter(FilterSet):
- class Meta:
- model = OutboundBill
- fields = {
- "billId": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "number": ['exact', 'icontains'],
- "type": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range', 'icontains'],
- "date": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "department": ['exact', 'icontains'],
- "warehouse": ['exact', 'icontains'],
- "creater": ['exact', 'icontains'],
- "note": ['exact', 'icontains'],
- "totalCount": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "create_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "update_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "is_delete": ['exact'],
- "bound_status" : ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "audit_status" : ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "save_status" : ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- }
- class InboundBillFilter(FilterSet):
- class Meta:
- model = InboundBill
- fields = {
- "billId": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "number": ['exact', 'icontains'],
- "type": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range', 'icontains'],
- "date": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "department": ['exact', 'icontains'],
- "warehouse": ['exact', 'icontains'],
- "creater": ['exact', 'icontains'],
- "note": ['exact', 'icontains'],
- "totalCount": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "create_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "update_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "is_delete": ['exact'],
- "bound_status" : ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "audit_status" : ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "save_status" : ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- }
- class MaterialDetailFilter(filters.FilterSet):
- # 修正字段引用为正确的 number 字段
- bound_billId_code__icontains = filters.CharFilter(
- field_name='bound_billId__number', # 使用正确的字段名
- lookup_expr='icontains', # 匹配 URL 参数的后缀
- label='入库单代码'
- )
-
- class Meta:
- model = MaterialDetail
- fields = {
- "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "bound_billId": ['exact'],
- "entryIds": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "production_batch": ['exact', 'icontains'],
- "material_goods_code": ['exact', 'icontains'],
- "material_batch_order": ['exact', 'icontains'],
- "goods_code": ['exact', 'icontains'],
- "goods_name": ['exact', 'icontains'],
- "goods_std": ['exact', 'icontains'],
- "goods_weight": ['exact', 'icontains'],
- "plan_qty": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "goods_total_weight": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "goods_unit": ['exact', 'icontains'],
- "note": ['exact', 'icontains'],
- "create_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "update_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "is_delete": ['exact'],
- "status": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- }
- class OutMaterialDetailFilter(FilterSet):
- class Meta:
- model = OutMaterialDetail
- fields = {
- "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "bound_billId": ['exact'],
- "entryIds": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "production_batch": ['exact', 'icontains'],
- "goods_code": ['exact', 'icontains'],
- "goods_name": ['exact', 'icontains'],
- "goods_weight": ['exact', 'icontains'],
- "goods_out_qty": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "goods_total_weight": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
- "goods_unit": ['exact', 'icontains'],
- "note": ['exact', 'icontains'],
- "create_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "update_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
- "is_delete": ['exact'],
- }
|