fix: change_or_new该物料编号已存在不可使用
This commit is contained in:
parent
561fb94930
commit
9f56968385
|
@ -238,6 +238,8 @@ class MlogSerializer(CustomModelSerializer):
|
|||
source='create_by.name', read_only=True)
|
||||
update_by_name = serializers.CharField(
|
||||
source='update_by.name', read_only=True)
|
||||
material_in_ = MaterialSimpleSerializer(
|
||||
source='material_in', read_only=True)
|
||||
material_out_ = MaterialSimpleSerializer(
|
||||
source='material_out', read_only=True)
|
||||
material_out_name = serializers.StringRelatedField(
|
||||
|
|
|
@ -591,6 +591,8 @@ class MlogbwViewSet(CustomModelViewSet):
|
|||
def perform_create(self, serializer):
|
||||
ins:Mlogbw = serializer.save()
|
||||
mlogb:Mlogb = ins.mlogb
|
||||
if mlogb.mlog.submit_time is not None:
|
||||
raise ParseError('日志已提交不可修改')
|
||||
self.cal_mlogb_count(mlogb)
|
||||
# 如果是输入且输出追踪到个,需同步创建
|
||||
material_in:Material = mlogb.material_in
|
||||
|
@ -605,6 +607,8 @@ class MlogbwViewSet(CustomModelViewSet):
|
|||
@transaction.atomic
|
||||
def perform_destroy(self, instance):
|
||||
mlogb = instance.mlogb
|
||||
if mlogb.mlog.submit_time is not None:
|
||||
raise ParseError('日志已提交不可修改')
|
||||
instance.delete()
|
||||
self.cal_mlogb_count(mlogb)
|
||||
# 如果是输入且输出追踪到个,需同步创建
|
||||
|
|
|
@ -30,6 +30,8 @@ class Wpr(BaseModel):
|
|||
elif number:
|
||||
try:
|
||||
ins = cls.objects.get(number=number)
|
||||
if ins.wm or ins.wm:
|
||||
raise ParseError("该物料编号已存在不可使用")
|
||||
except cls.DoesNotExist:
|
||||
ins = cls(number=number)
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ class WprViewSet(CustomListModelMixin, CustomGenericViewSet):
|
|||
prefetch_related_fields = ["defects"]
|
||||
queryset = Wpr.objects.all()
|
||||
serializer_class = WprSerializer
|
||||
filter_fields = ["mb", "wm", "state", "material", "defects"]
|
||||
filterset_fields = ["mb", "wm", "state", "material", "defects"]
|
||||
ordering = ["-create_time"]
|
||||
ordering_fields = ["number", "create_time", "update_time"]
|
||||
search_fields = ["number", "material__name", "material__model", "material__specification"]
|
Loading…
Reference in New Issue