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']
|
read_only_fields = EXCLUDE_FIELDS_BASE + ['handover']
|
||||||
extra_kwargs = {'wm': {'required': True}}
|
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):
|
class HandoverSerializer(CustomModelSerializer):
|
||||||
# wm = serializers.PrimaryKeyRelatedField(
|
# wm = serializers.PrimaryKeyRelatedField(
|
||||||
# label='车间库存ID', queryset=WMaterial.objects.all())
|
# label='车间库存ID', queryset=WMaterial.objects.all())
|
||||||
|
@ -1363,6 +1369,8 @@ class HandoverUpdateSerializer(CustomModelSerializer):
|
||||||
model = Handover
|
model = Handover
|
||||||
fields = ['id', 'send_date', 'send_user', 'count', 'count_eweight', 'recive_user', 'note']
|
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):
|
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 .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter, MlogbwFilter
|
||||||
from .models import (SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb,
|
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,
|
from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer,
|
||||||
MlogRevertSerializer,
|
MlogRevertSerializer,
|
||||||
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer,
|
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer,
|
||||||
|
@ -25,7 +25,8 @@ from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer,
|
||||||
MlogbDetailSerializer, MlogbInSerializer, MlogbInUpdateSerializer,
|
MlogbDetailSerializer, MlogbInSerializer, MlogbInUpdateSerializer,
|
||||||
MlogbOutUpdateSerializer, FmlogSerializer, FmlogUpdateSerializer, BatchStSerializer,
|
MlogbOutUpdateSerializer, FmlogSerializer, FmlogUpdateSerializer, BatchStSerializer,
|
||||||
MlogbwCreateUpdateSerializer, HandoverMgroupSerializer, MlogListSerializer,
|
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 .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.wpm.services import mlog_submit_validate, generate_new_batch
|
||||||
from apps.wf.models import State, Ticket
|
from apps.wf.models import State, Ticket
|
||||||
|
@ -493,12 +494,15 @@ class HandoverViewSet(CustomModelViewSet):
|
||||||
交接记录
|
交接记录
|
||||||
"""
|
"""
|
||||||
queryset = Handover.objects.all()
|
queryset = Handover.objects.all()
|
||||||
|
list_serializer_class = HandoverListSerializer
|
||||||
serializer_class = HandoverSerializer
|
serializer_class = HandoverSerializer
|
||||||
select_related_fields = ['send_user', 'send_mgroup', 'send_dept', 'recive_user', 'recive_mgroup', 'recive_dept', 'wm']
|
select_related_fields = ['send_user', 'send_mgroup', 'send_dept', 'recive_user', 'recive_mgroup', 'recive_dept', 'wm']
|
||||||
filterset_class = HandoverFilter
|
filterset_class = HandoverFilter
|
||||||
search_fields = ['id', 'material__name',
|
search_fields = ['id', 'material__name',
|
||||||
'material__number', 'material__specification', 'batch', 'material__model', 'b_handover__batch', "new_batch", "wm__batch"]
|
'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):
|
def perform_destroy(self, instance):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
|
|
Loading…
Reference in New Issue