feat: mlogbbpatch修改批次号
This commit is contained in:
parent
52ebac68a0
commit
9ed78f8d32
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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,18 +1021,22 @@ 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):
|
||||||
ins: Mlogb = serializer.instance
|
if self.request.method == "PATCH":
|
||||||
mlog = MlogViewSet.lock_and_check_can_update(ins.mlog)
|
serializer.save()
|
||||||
material_out = serializer.validated_data.get("material_out")
|
else:
|
||||||
if material_out and material_out.tracking == Material.MA_TRACKING_SINGLE:
|
ins: Mlogb = serializer.instance
|
||||||
raise ParseError("单件产品不支持直接修改")
|
mlog = MlogViewSet.lock_and_check_can_update(ins.mlog)
|
||||||
ins: Mlogb = serializer.save()
|
material_out = serializer.validated_data.get("material_out")
|
||||||
mlog.cal_mlog_count_from_mlogb()
|
if material_out and material_out.tracking == Material.MA_TRACKING_SINGLE:
|
||||||
|
raise ParseError("单件产品不支持直接修改")
|
||||||
|
ins: Mlogb = serializer.save()
|
||||||
|
mlog.cal_mlog_count_from_mlogb()
|
||||||
|
|
||||||
|
|
||||||
class FmlogViewSet(CustomModelViewSet):
|
class FmlogViewSet(CustomModelViewSet):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue