fix: assgin_number_out bug

This commit is contained in:
caoqianming 2025-07-31 14:40:53 +08:00
parent 1fccdd042c
commit bbef553bd5
1 changed files with 3 additions and 2 deletions

View File

@ -93,12 +93,13 @@ class WprViewSet(CustomListModelMixin, RetrieveModelMixin, ComplexQueryMixin, Cu
sr = WproutListSerializer(data=request.data)
sr.is_valid(raise_exception=True)
vdata = sr.validated_data
number_outs = [i["number_out"] for i in vdata]
items = vdata["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)
if existing_numbers.exists():
used_numbers = list(existing_numbers)
raise ParseError(f"以下对外编号已被使用: {used_numbers[0]}{len(used_numbers)}")
for i in vdata:
for i in items:
wpr = Wpr.objects.get(id=i["id"])
if wpr.number_out:
raise ParseError(f"编号为{wpr.number}的产品已经分配了对外编号")