feat: 出入库记录添加乐观锁
This commit is contained in:
parent
4cffb8a563
commit
01b30e21d3
|
@ -206,12 +206,13 @@ class MIOViewSet(CustomModelViewSet):
|
|||
if ins.state != MIO.MIO_CREATE:
|
||||
raise ParseError('记录状态异常')
|
||||
with transaction.atomic():
|
||||
ins.submit_time = timezone.now()
|
||||
ins.state = MIO.MIO_SUBMITED
|
||||
ins.submit_user = request.user
|
||||
ins.update_by = request.user
|
||||
ins.save()
|
||||
InmService.update_inm(ins)
|
||||
now = timezone.now()
|
||||
updated_count = MIO.objects.filter(id=ins.id, submit_time__isnull=True).update(
|
||||
submit_time=now, update_time=now, state=MIO.MIO_SUBMITED, submit_user=request.user, update_by=request.user)
|
||||
if updated_count == 1:
|
||||
InmService.update_inm(ins)
|
||||
else:
|
||||
raise ParseError('记录正在处理中,请稍后再试')
|
||||
InmService.update_material_count(ins)
|
||||
return Response(MIOListSerializer(instance=ins).data)
|
||||
|
||||
|
@ -228,11 +229,12 @@ class MIOViewSet(CustomModelViewSet):
|
|||
if ins.submit_user != user:
|
||||
raise ParseError('非提交人不可撤回')
|
||||
with transaction.atomic():
|
||||
ins.submit_time = None
|
||||
ins.state = MIO.MIO_CREATE
|
||||
ins.update_by = user
|
||||
ins.save()
|
||||
InmService.update_inm(ins, is_reverse=True)
|
||||
updated_count = MIO.objects.filter(id=ins.id, submit_time__isnull=False).update(
|
||||
submit_time=None, update_time=timezone.now(), state=MIO.MIO_CREATE, submit_user=None, update_by=request.user)
|
||||
if updated_count == 1:
|
||||
InmService.update_inm(ins, is_reverse=True)
|
||||
else:
|
||||
raise ParseError('记录正在处理中,请稍后再试')
|
||||
InmService.update_material_count(ins)
|
||||
return Response()
|
||||
|
||||
|
|
Loading…
Reference in New Issue