资源计算返回增加count_safe字段

This commit is contained in:
caoqianming 2022-01-26 08:41:03 +08:00
parent 9d3cbbd151
commit 47804a0835
1 changed files with 9 additions and 4 deletions

View File

@ -7,7 +7,7 @@ from apps.em.models import Equipment
from apps.em.serializers import EquipmentSimpleSerializer from apps.em.serializers import EquipmentSimpleSerializer
from apps.inm.models import MaterialBatch from apps.inm.models import MaterialBatch
from apps.inm.serializers import MaterialBatchSerializer from apps.inm.serializers import MaterialBatchSerializer
from apps.mtm.models import Step, SubProduction, SubprodctionMaterial, UsedStep from apps.mtm.models import Material, Step, SubProduction, SubprodctionMaterial
from apps.pm.filters import PlanFilterSet, SubproductionProgressFilterSet from apps.pm.filters import PlanFilterSet, SubproductionProgressFilterSet
from apps.system.mixins import CreateUpdateModelAMixin from apps.system.mixins import CreateUpdateModelAMixin
from apps.pm.serializers import GenSubPlanSerializer, PickNeedSerializer, PlanDestorySerializer, ProductionPlanCreateFromOrderSerializer, ProductionPlanSerializer, ResourceCalListSerializer, ResourceCalSerializer, SubProductionPlanListSerializer, SubProductionPlanUpdateSerializer, SubProductionProgressSerializer from apps.pm.serializers import GenSubPlanSerializer, PickNeedSerializer, PlanDestorySerializer, ProductionPlanCreateFromOrderSerializer, ProductionPlanSerializer, ResourceCalListSerializer, ResourceCalSerializer, SubProductionPlanListSerializer, SubProductionPlanUpdateSerializer, SubProductionProgressSerializer
@ -220,8 +220,12 @@ class ResourceViewSet(GenericViewSet):
for i in rdata: for i in rdata:
# 计算输入物料 # 计算输入物料
materials = SubprodctionMaterial.objects.filter(subproduction__product__id=i['id'], materials = SubprodctionMaterial.objects.filter(subproduction__product__id=i['id'],
subproduction__is_deleted=False, is_deleted=False, material__type__in=[3,4], type=1).order_by('material__number')\ subproduction__is_deleted=False, is_deleted=False,
.values('material__id', 'material__name', 'material__number', 'material__type', 'count', 'material__count') material__type__in=[Material.MA_TYPE_MAINSO,
Material.MA_TYPE_HELPSO], type= SubprodctionMaterial.SUB_MA_TYPE_IN).order_by('material__number')\
.values('material__id', 'material__name',
'material__number', 'material__type',
'count', 'material__count', 'material__count_safe')
l_m = list(materials) l_m = list(materials)
for m in l_m: for m in l_m:
if m['material__id'] in res_d_list: if m['material__id'] in res_d_list:
@ -231,7 +235,8 @@ class ResourceViewSet(GenericViewSet):
res_d_list.append(m['material__id']) res_d_list.append(m['material__id'])
res.append({'id':m['material__id'], 'name':m['material__name'], res.append({'id':m['material__id'], 'name':m['material__name'],
'type':m['material__type'], 'number':m['material__number'], 'type':m['material__type'], 'number':m['material__number'],
'count':m['count']*i['count'], 'inv_count':m['material__count']}) 'count':m['count']*i['count'], 'inv_count':m['material__count'],
'count_safe':'material__count_safe'})
return Response(res) return Response(res)
@action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=ResourceCalListSerializer) @action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=ResourceCalListSerializer)