销售审核bug
This commit is contained in:
parent
03437e1e4d
commit
439566b4e5
|
@ -36,7 +36,7 @@ def update_inm(instance:FIFO, type:int=1):
|
|||
ips2.append(IProduct(**ip))
|
||||
IProduct.objects.bulk_create(ips2)
|
||||
|
||||
elif instance.type in [FIFO.FIFO_TYPE_DO_OUT]: # 生产领料
|
||||
elif instance.type in [FIFO.FIFO_TYPE_DO_OUT, FIFO.FIFO_TYPE_SALE_OUT]: # 生产领料 销售出库
|
||||
# 更新相关表
|
||||
for i in FIFOItem.objects.filter(fifo=instance):
|
||||
material = i.material
|
||||
|
@ -49,8 +49,9 @@ def update_inm(instance:FIFO, type:int=1):
|
|||
o2.save()
|
||||
material.count = material.count - i.count
|
||||
material.save()
|
||||
|
||||
# 删除IProduct
|
||||
numbers = FIFOItemProduct.objects.filter(fifoitem=i).values_list('number', flat=True)
|
||||
IProduct.objects.filter(number__in=numbers).delete()
|
||||
|
||||
# 删除IProduct
|
||||
if instance.type == FIFO.FIFO_TYPE_DO_OUT:
|
||||
numbers = FIFOItemProduct.objects.filter(fifoitem=i).values_list('number', flat=True)
|
||||
IProduct.objects.filter(number__in=numbers).delete()
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@ from django.db import transaction
|
|||
from django.db.models.aggregates import Count
|
||||
from rest_framework import exceptions, serializers
|
||||
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin
|
||||
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct
|
||||
from apps.mtm.models import Material
|
||||
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, WareHouse
|
||||
from apps.inm.signals import update_inm
|
||||
from apps.sam.serializers import ContractCreateUpdateSerializer, ContractSerializer, CustomerCreateUpdateSerializer, CustomerSerializer, OrderCreateUpdateSerializer, OrderSerializer, SaleCreateSerializer, SaleListSerializer, SaleProductCreateSerializer, SaleProductListSerializer, SaleProductMtestSerializer
|
||||
from apps.sam.models import Contract, Customer, Order, Sale, SaleProduct
|
||||
|
@ -142,16 +143,18 @@ class SaleViewSet(CreateUpdateCustomMixin, ListModelMixin, RetrieveModelMixin, C
|
|||
ips = IProduct.objects.filter(sale_iproduct__sale=obj)
|
||||
items = ips.values('warehouse', 'material', 'batch').annotate(total=Count('id'))
|
||||
for i in items:
|
||||
warehouse = WareHouse.objects.get(id=i['warehouse'])
|
||||
material = Material.objects.get(id=i['material'])
|
||||
fifoitem = FIFOItem()
|
||||
fifoitem.is_tested = True
|
||||
fifoitem.is_testok = True
|
||||
fifoitem.warehouse = i['warehouse']
|
||||
fifoitem.material = i['material']
|
||||
fifoitem.warehouse = warehouse
|
||||
fifoitem.material = material
|
||||
fifoitem.count = i['total']
|
||||
fifoitem.batch = i['batch']
|
||||
fifoitem.fifo = fifo
|
||||
fifoitem.save()
|
||||
items_p = ips.filter(warehouse=i['warehouse'], batch=i['batch'])
|
||||
items_p = ips.filter(warehouse=warehouse, batch=i['batch'])
|
||||
ips = []
|
||||
for i in items_p:
|
||||
# 创建入库明细半成品
|
||||
|
|
Loading…
Reference in New Issue