物料消耗计算
This commit is contained in:
parent
243613bfdf
commit
4913162ff8
|
@ -66,15 +66,20 @@ class ResourceViewSet(GenericViewSet):
|
|||
rdata = request.data
|
||||
serializer = self.get_serializer(data=rdata)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
res_d_list = []
|
||||
res = []
|
||||
for i in rdata:
|
||||
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')
|
||||
for m in materials:
|
||||
for x in res:
|
||||
if x['id'] == m.material.id:
|
||||
x['count'] = x['count'] + m.count*i['count']
|
||||
break
|
||||
subproduction__is_deleted=False, is_deleted=False, material__type__in=[3,4]).order_by('material__number')\
|
||||
.values('material__id', 'material__name', 'material__number', 'material__type', 'count', 'material__count')
|
||||
l_m = list(materials)
|
||||
for m in l_m:
|
||||
if m['material__id'] in res_d_list:
|
||||
index = res_d_list.index(m['material__id'])
|
||||
res[index]['count'] = res[index]['count'] + m['count']*i['count']
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue