销售审核bug

This commit is contained in:
caoqianming 2021-12-07 10:24:37 +08:00
parent 03437e1e4d
commit 439566b4e5
2 changed files with 13 additions and 9 deletions

View File

@ -36,7 +36,7 @@ def update_inm(instance:FIFO, type:int=1):
ips2.append(IProduct(**ip)) ips2.append(IProduct(**ip))
IProduct.objects.bulk_create(ips2) 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): for i in FIFOItem.objects.filter(fifo=instance):
material = i.material material = i.material
@ -51,6 +51,7 @@ def update_inm(instance:FIFO, type:int=1):
material.save() material.save()
# 删除IProduct # 删除IProduct
if instance.type == FIFO.FIFO_TYPE_DO_OUT:
numbers = FIFOItemProduct.objects.filter(fifoitem=i).values_list('number', flat=True) numbers = FIFOItemProduct.objects.filter(fifoitem=i).values_list('number', flat=True)
IProduct.objects.filter(number__in=numbers).delete() IProduct.objects.filter(number__in=numbers).delete()

View File

@ -2,7 +2,8 @@ from django.db import transaction
from django.db.models.aggregates import Count from django.db.models.aggregates import Count
from rest_framework import exceptions, serializers from rest_framework import exceptions, serializers
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin 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.inm.signals import update_inm
from apps.sam.serializers import ContractCreateUpdateSerializer, ContractSerializer, CustomerCreateUpdateSerializer, CustomerSerializer, OrderCreateUpdateSerializer, OrderSerializer, SaleCreateSerializer, SaleListSerializer, SaleProductCreateSerializer, SaleProductListSerializer, SaleProductMtestSerializer 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 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) ips = IProduct.objects.filter(sale_iproduct__sale=obj)
items = ips.values('warehouse', 'material', 'batch').annotate(total=Count('id')) items = ips.values('warehouse', 'material', 'batch').annotate(total=Count('id'))
for i in items: for i in items:
warehouse = WareHouse.objects.get(id=i['warehouse'])
material = Material.objects.get(id=i['material'])
fifoitem = FIFOItem() fifoitem = FIFOItem()
fifoitem.is_tested = True fifoitem.is_tested = True
fifoitem.is_testok = True fifoitem.is_testok = True
fifoitem.warehouse = i['warehouse'] fifoitem.warehouse = warehouse
fifoitem.material = i['material'] fifoitem.material = material
fifoitem.count = i['total'] fifoitem.count = i['total']
fifoitem.batch = i['batch'] fifoitem.batch = i['batch']
fifoitem.fifo = fifo fifoitem.fifo = fifo
fifoitem.save() fifoitem.save()
items_p = ips.filter(warehouse=i['warehouse'], batch=i['batch']) items_p = ips.filter(warehouse=warehouse, batch=i['batch'])
ips = [] ips = []
for i in items_p: for i in items_p:
# 创建入库明细半成品 # 创建入库明细半成品