recordformfield update __all__

This commit is contained in:
曹前明 2022-05-24 15:22:08 +08:00
parent 072a3ad0ed
commit e80d404de8
3 changed files with 18 additions and 12 deletions

View File

@ -227,7 +227,7 @@ class RecordFormCreateSerializer(serializers.ModelSerializer):
class RecordFormUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = RecordForm
fields = ['name', 'type', 'number', 'enabled', 'export_template', 'material']
fields = ['name', 'type', 'number', 'enabled', 'export_template', 'material', 'form']
# def validate(self, attrs):
# if attrs['enabled']:
@ -280,7 +280,7 @@ class RecordFormFieldCreateSerializer(serializers.ModelSerializer):
class RecordFormFieldUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = RecordFormField
exclude = ['field_key']
fields = '__all__'
class RecordFormFieldSimpleSerializer(serializers.ModelSerializer):
class Meta:

View File

@ -8,7 +8,7 @@ from apps.inm.serializers import WareHouseSimpleSerializer
from apps.inm.services import InmService
from apps.mtm.models import Material, RecordForm, RecordFormField, Step, SubprodctionMaterial
from apps.mtm.serializers import MaterialSimpleSerializer, ProcessSimpleSerializer, RecordFormSimpleSerializer, StepSimpleSerializer
from django.db.models.aggregates import Sum
from django.db.models.aggregates import Sum, Count
from apps.pm.models import ProductionPlan, SubProductionPlan, SubProductionProgress
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
@ -282,12 +282,18 @@ class OperationListSerializer(serializers.ModelSerializer):
# return WProduct.objects.filter(ow_wproduct__operation=obj).values('id', 'number')
def get_out_detail(self, obj):
rets = []
if obj.step.type == Step.STEP_TYPE_NOM:
qs = OperationWproduct.objects.filter(operation=obj).values(
'subproduction_plan__production_plan',
'subproduction_plan__production_plan__product'
).annotate(count=Count('wproduct'))
else:
qs = OperationMaterial.objects.filter(operation=obj,
type=SubprodctionMaterial.SUB_MA_TYPE_OUT, subproduction_progress__is_main=True).values(
'subproduction_plan__production_plan',
'subproduction_plan__production_plan__product'
).annotate(count=Sum('count'))
rets = []
for i in qs:
ret = {}
ret['plan'] = ProductionPlanSimpleSerializer(instance=ProductionPlan.objects.get(

View File

@ -605,8 +605,8 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd
# 查询需要填写的自定义表格
forms = RecordForm.objects.filter(
step=step, type=RecordForm.RF_TYPE_DO, enabled=True)
# 根据产品不同进行筛选
if 'wproducts' in vdata:
# 根据产品不同进行筛选 这里其实是有问题的,应该是以产出物归属产品来查表,但操作刚创建是没有的,先这样吧
if 'wproducts' in vdata and splans:
xforms = forms.filter(material=splans[0].production_plan.product)
if xforms.exists():
forms = xforms