feat: mlogbbpatch修改批次号

This commit is contained in:
caoqianming 2026-01-04 11:10:54 +08:00
parent 52ebac68a0
commit 9ed78f8d32
2 changed files with 19 additions and 9 deletions

View File

@ -1049,6 +1049,11 @@ class MlogbwStartTestSerializer(serializers.Serializer):
test_equip=test_equip test_equip=test_equip
) )
class MlogbOutPatchUpdateSerializer(CustomModelSerializer):
class Meta:
model = Mlogb
fields = ["batch"]
class MlogbOutUpdateSerializer(CustomModelSerializer): class MlogbOutUpdateSerializer(CustomModelSerializer):
mlogbdefect = MlogbDefectSerializer(many=True, required=False) mlogbdefect = MlogbDefectSerializer(many=True, required=False)
count_json = CountJsonSerializer(required=False, many=True) count_json = CountJsonSerializer(required=False, many=True)

View File

@ -50,7 +50,8 @@ from .serializers import (
MlogQuickSerializer, MlogQuickSerializer,
MlogbwStartTestSerializer, MlogbwStartTestSerializer,
HandoverListSerializer, HandoverListSerializer,
BatchChangeSerializer BatchChangeSerializer,
MlogbOutPatchUpdateSerializer
) )
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
@ -1020,11 +1021,15 @@ class MlogbInViewSet(BulkCreateModelMixin, BulkUpdateModelMixin, BulkDestroyMode
class MlogbOutViewSet(BulkUpdateModelMixin, CustomGenericViewSet): class MlogbOutViewSet(BulkUpdateModelMixin, CustomGenericViewSet):
perms_map = {"put": "mlog.update"} perms_map = {"put": "mlog.update", "patch": "mlog.update"}
queryset = Mlogb.objects.filter(material_out__isnull=False) queryset = Mlogb.objects.filter(material_out__isnull=False)
serializer_class = MlogbOutUpdateSerializer serializer_class = MlogbOutUpdateSerializer
partial_update_serializer_class = MlogbOutPatchUpdateSerializer
def perform_update(self, serializer): def perform_update(self, serializer):
if self.request.method == "PATCH":
serializer.save()
else:
ins: Mlogb = serializer.instance ins: Mlogb = serializer.instance
mlog = MlogViewSet.lock_and_check_can_update(ins.mlog) mlog = MlogViewSet.lock_and_check_can_update(ins.mlog)
material_out = serializer.validated_data.get("material_out") material_out = serializer.validated_data.get("material_out")