recordformfield update __all__
This commit is contained in:
parent
072a3ad0ed
commit
e80d404de8
|
@ -227,7 +227,7 @@ class RecordFormCreateSerializer(serializers.ModelSerializer):
|
||||||
class RecordFormUpdateSerializer(serializers.ModelSerializer):
|
class RecordFormUpdateSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = RecordForm
|
model = RecordForm
|
||||||
fields = ['name', 'type', 'number', 'enabled', 'export_template', 'material']
|
fields = ['name', 'type', 'number', 'enabled', 'export_template', 'material', 'form']
|
||||||
|
|
||||||
# def validate(self, attrs):
|
# def validate(self, attrs):
|
||||||
# if attrs['enabled']:
|
# if attrs['enabled']:
|
||||||
|
@ -280,7 +280,7 @@ class RecordFormFieldCreateSerializer(serializers.ModelSerializer):
|
||||||
class RecordFormFieldUpdateSerializer(serializers.ModelSerializer):
|
class RecordFormFieldUpdateSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = RecordFormField
|
model = RecordFormField
|
||||||
exclude = ['field_key']
|
fields = '__all__'
|
||||||
|
|
||||||
class RecordFormFieldSimpleSerializer(serializers.ModelSerializer):
|
class RecordFormFieldSimpleSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -8,7 +8,7 @@ from apps.inm.serializers import WareHouseSimpleSerializer
|
||||||
from apps.inm.services import InmService
|
from apps.inm.services import InmService
|
||||||
from apps.mtm.models import Material, RecordForm, RecordFormField, Step, SubprodctionMaterial
|
from apps.mtm.models import Material, RecordForm, RecordFormField, Step, SubprodctionMaterial
|
||||||
from apps.mtm.serializers import MaterialSimpleSerializer, ProcessSimpleSerializer, RecordFormSimpleSerializer, StepSimpleSerializer
|
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 apps.pm.models import ProductionPlan, SubProductionPlan, SubProductionProgress
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
@ -282,18 +282,24 @@ class OperationListSerializer(serializers.ModelSerializer):
|
||||||
# return WProduct.objects.filter(ow_wproduct__operation=obj).values('id', 'number')
|
# return WProduct.objects.filter(ow_wproduct__operation=obj).values('id', 'number')
|
||||||
|
|
||||||
def get_out_detail(self, obj):
|
def get_out_detail(self, obj):
|
||||||
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 = []
|
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'))
|
||||||
for i in qs:
|
for i in qs:
|
||||||
ret = {}
|
ret = {}
|
||||||
ret['plan'] = ProductionPlanSimpleSerializer(instance=ProductionPlan.objects.get(
|
ret['plan'] = ProductionPlanSimpleSerializer(instance=ProductionPlan.objects.get(
|
||||||
id= i['subproduction_plan__production_plan'])).data
|
id= i['subproduction_plan__production_plan'])).data
|
||||||
ret['product'] = MaterialSimpleSerializer(instance=Material.objects.get(
|
ret['product'] = MaterialSimpleSerializer(instance=Material.objects.get(
|
||||||
id=i['subproduction_plan__production_plan__product'])).data
|
id=i['subproduction_plan__production_plan__product'])).data
|
||||||
ret['count'] = i['count']
|
ret['count'] = i['count']
|
||||||
rets.append(ret)
|
rets.append(ret)
|
||||||
return rets
|
return rets
|
||||||
|
|
|
@ -605,8 +605,8 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd
|
||||||
# 查询需要填写的自定义表格
|
# 查询需要填写的自定义表格
|
||||||
forms = RecordForm.objects.filter(
|
forms = RecordForm.objects.filter(
|
||||||
step=step, type=RecordForm.RF_TYPE_DO, enabled=True)
|
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)
|
xforms = forms.filter(material=splans[0].production_plan.product)
|
||||||
if xforms.exists():
|
if xforms.exists():
|
||||||
forms = xforms
|
forms = xforms
|
||||||
|
|
Loading…
Reference in New Issue