feat: assgin_number_out 支持置空

This commit is contained in:
caoqianming 2025-07-31 15:02:57 +08:00
parent bbef553bd5
commit 33709bbb60
1 changed files with 1 additions and 3 deletions

View File

@ -95,14 +95,12 @@ class WprViewSet(CustomListModelMixin, RetrieveModelMixin, ComplexQueryMixin, Cu
vdata = sr.validated_data vdata = sr.validated_data
items = vdata["items"] items = vdata["items"]
number_outs = [i["number_out"] for i in items] number_outs = [i["number_out"] for i in items]
existing_numbers = Wpr.objects.filter(number_out__in=number_outs).values_list('number_out', flat=True) existing_numbers = Wpr.objects.filter(number_out__in=number_outs, number_out__isnull=False).values_list('number_out', flat=True)
if existing_numbers.exists(): if existing_numbers.exists():
used_numbers = list(existing_numbers) used_numbers = list(existing_numbers)
raise ParseError(f"以下对外编号已被使用: {used_numbers[0]}{len(used_numbers)}") raise ParseError(f"以下对外编号已被使用: {used_numbers[0]}{len(used_numbers)}")
for i in items: for i in items:
wpr = Wpr.objects.get(id=i["id"]) wpr = Wpr.objects.get(id=i["id"])
if wpr.number_out:
raise ParseError(f"编号为{wpr.number}的产品已经分配了对外编号")
wpr.number_out = i["number_out"] wpr.number_out = i["number_out"]
wpr.save() wpr.save()
return Response() return Response()