26 lines
919 B
Python
26 lines
919 B
Python
from .models import MaterialBatch
|
|
from apps.mtm.models import Material, Mgroup
|
|
from apps.system.models import Dept
|
|
from rest_framework.exceptions import ParseError
|
|
def correct_material_batch():
|
|
"""矫正物料批次
|
|
"""
|
|
mgroups = Mgroup.objects.all()
|
|
p_dict = {}
|
|
for mgroup in mgroups:
|
|
if mgroup.process:
|
|
processId = mgroup.process.id
|
|
dept: Dept = mgroup.belong_dept
|
|
if processId not in p_dict:
|
|
p_dict[processId] = dept
|
|
else:
|
|
raise ParseError('存在多个同工序的工段:{}'.format(mgroup.name))
|
|
mbs = MaterialBatch.objects.filter(material__type__in=[Material.MA_TYPE_GOOD, Material.MA_TYPE_HALFGOOD],
|
|
production_dept=None)
|
|
for mb in mbs:
|
|
if mb.material.process:
|
|
processId = mb.material.process.id
|
|
mb.production_dept = p_dict[processId]
|
|
mb.save()
|
|
|