feat: 优化handover list接口
This commit is contained in:
parent
f6720ad7ce
commit
f6668b5d38
|
@ -1149,6 +1149,12 @@ class HandoverbSerializer(CustomModelSerializer):
|
|||
read_only_fields = EXCLUDE_FIELDS_BASE + ['handover']
|
||||
extra_kwargs = {'wm': {'required': True}}
|
||||
|
||||
class HandoverbListSerializer(serializers.Serializer):
|
||||
defect_name = serializers.CharField(source="wm.defect.name", read_only=True)
|
||||
class Meta:
|
||||
model = Handoverb
|
||||
fields = "__all__"
|
||||
|
||||
class HandoverSerializer(CustomModelSerializer):
|
||||
# wm = serializers.PrimaryKeyRelatedField(
|
||||
# label='车间库存ID', queryset=WMaterial.objects.all())
|
||||
|
@ -1363,6 +1369,8 @@ class HandoverUpdateSerializer(CustomModelSerializer):
|
|||
model = Handover
|
||||
fields = ['id', 'send_date', 'send_user', 'count', 'count_eweight', 'recive_user', 'note']
|
||||
|
||||
class HandoverListSerializer(HandoverSerializer):
|
||||
handoverb = HandoverbListSerializer(many=True, required=False)
|
||||
|
||||
|
||||
class GenHandoverSerializer(serializers.Serializer):
|
||||
|
|
|
@ -15,7 +15,7 @@ from apps.utils.mixins import CustomListModelMixin, BulkCreateModelMixin, Comple
|
|||
|
||||
from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter, MlogbwFilter
|
||||
from .models import (SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb,
|
||||
Mlogbw, AttLog, OtherLog, Fmlog, BatchSt, MlogbDefect, MlogUser, BatchLog)
|
||||
Mlogbw, AttLog, OtherLog, Fmlog, BatchSt, MlogbDefect, MlogUser, BatchLog, Handoverb)
|
||||
from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer,
|
||||
MlogRevertSerializer,
|
||||
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer,
|
||||
|
@ -25,7 +25,8 @@ from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer,
|
|||
MlogbDetailSerializer, MlogbInSerializer, MlogbInUpdateSerializer,
|
||||
MlogbOutUpdateSerializer, FmlogSerializer, FmlogUpdateSerializer, BatchStSerializer,
|
||||
MlogbwCreateUpdateSerializer, HandoverMgroupSerializer, MlogListSerializer,
|
||||
MlogbSerializer, MlogUserSerializer, BatchLogSerializer, MlogQuickSerializer, MlogbwStartTestSerializer)
|
||||
MlogbSerializer, MlogUserSerializer, BatchLogSerializer, MlogQuickSerializer,
|
||||
MlogbwStartTestSerializer, HandoverListSerializer)
|
||||
from .services import mlog_submit, handover_submit, mlog_revert, get_batch_dag, handover_revert
|
||||
from apps.wpm.services import mlog_submit_validate, generate_new_batch
|
||||
from apps.wf.models import State, Ticket
|
||||
|
@ -493,12 +494,15 @@ class HandoverViewSet(CustomModelViewSet):
|
|||
交接记录
|
||||
"""
|
||||
queryset = Handover.objects.all()
|
||||
list_serializer_class = HandoverListSerializer
|
||||
serializer_class = HandoverSerializer
|
||||
select_related_fields = ['send_user', 'send_mgroup', 'send_dept', 'recive_user', 'recive_mgroup', 'recive_dept', 'wm']
|
||||
filterset_class = HandoverFilter
|
||||
search_fields = ['id', 'material__name',
|
||||
'material__number', 'material__specification', 'batch', 'material__model', 'b_handover__batch', "new_batch", "wm__batch"]
|
||||
prefetch_related_fields = ["b_handover"]
|
||||
prefetch_related_fields = [
|
||||
Prefetch('b_handover', queryset=Handoverb.objects.select_related('wm__defect'))
|
||||
]
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
user = self.request.user
|
||||
|
|
Loading…
Reference in New Issue