| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- from rest_framework import serializers
- from .models import LocationStatistics, LocationGroupStatistics
- class LocationStatisticsSerializer(serializers.ModelSerializer):
- """货位统计序列化器"""
-
- warehouse_display = serializers.CharField(source='warehouse_name', read_only=True)
- layer_display = serializers.SerializerMethodField()
-
- class Meta:
- model = LocationStatistics
- fields = [
- 'id', 'warehouse_code', 'warehouse_name', 'warehouse_display', 'layer', 'layer_display',
- 't5_total', 't5_used', 't5_available',
- 't4_total', 't4_used', 't4_available',
- 's4_total', 's4_used', 's4_available',
- 't2_total', 't2_used', 't2_available',
- 't1_total', 't1_used', 't1_available',
- 'total_locations', 'total_used', 'total_available', 'utilization_rate',
- 'statistic_time', 'is_latest'
- ]
-
- def get_layer_display(self, obj):
- return f"{obj.layer}层"
- class LocationGroupStatisticsSerializer(serializers.ModelSerializer):
- """货位组统计序列化器"""
-
- warehouse_display = serializers.CharField(source='warehouse_name', read_only=True)
- layer_display = serializers.SerializerMethodField()
-
- class Meta:
- model = LocationGroupStatistics
- fields = [
- 'id', 'warehouse_code', 'warehouse_name', 'warehouse_display',
- 'layer', 'layer_display', 'location_group',
- 'total_locations', 'used_locations', 'available_locations', 'utilization_rate',
- 'location_type_breakdown', 'statistic_time'
- ]
- ordering = ['warehouse_code', 'layer', 'total_locations']
-
- def get_layer_display(self, obj):
- return f"{obj.layer}层"
|