物料消耗计算
This commit is contained in:
parent
243613bfdf
commit
4913162ff8
|
@ -66,15 +66,20 @@ class ResourceViewSet(GenericViewSet):
|
||||||
rdata = request.data
|
rdata = request.data
|
||||||
serializer = self.get_serializer(data=rdata)
|
serializer = self.get_serializer(data=rdata)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
|
res_d_list = []
|
||||||
res = []
|
res = []
|
||||||
for i in rdata:
|
for i in rdata:
|
||||||
materials = InputMaterial.objects.filter(subproduction__product__id=i['id'],
|
materials = InputMaterial.objects.filter(subproduction__product__id=i['id'],
|
||||||
subproduction__is_deleted=False, is_deleted=False, material__type__in=[3,4]).order_by('material__number')
|
subproduction__is_deleted=False, is_deleted=False, material__type__in=[3,4]).order_by('material__number')\
|
||||||
for m in materials:
|
.values('material__id', 'material__name', 'material__number', 'material__type', 'count', 'material__count')
|
||||||
for x in res:
|
l_m = list(materials)
|
||||||
if x['id'] == m.material.id:
|
for m in l_m:
|
||||||
x['count'] = x['count'] + m.count*i['count']
|
if m['material__id'] in res_d_list:
|
||||||
break
|
index = res_d_list.index(m['material__id'])
|
||||||
|
res[index]['count'] = res[index]['count'] + m['count']*i['count']
|
||||||
else:
|
else:
|
||||||
res.append({'id':m.material.id, 'name':m.material.name, 'type':m.material.type, 'number':m.material.number, 'count':m.count*i['count']})
|
res_d_list.append(m['material__id'])
|
||||||
|
res.append({'id':m['material__id'], 'name':m['material__name'],
|
||||||
|
'type':m['material__type'], 'number':m['material__number'],
|
||||||
|
'count':m['count']*i['count'], 'inv_count':m['material__count']})
|
||||||
return Response(res)
|
return Response(res)
|
||||||
|
|
Loading…
Reference in New Issue