diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 614cdea0..97aeeda8 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -10,7 +10,7 @@ from django.db.models import Sum from django.utils import timezone from apps.system.models import User -from apps.mtm.models import Material +from apps.mtm.models import Material, Process from apps.pm.models import Mtask from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.mixins import BulkCreateModelMixin @@ -465,6 +465,8 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust def perform_create(self, serializer): ins: Mlogb = serializer.save() mlog: Mlog = ins.mlog + process: Process = mlog.mgroup.process + supplier = mlog.supplier # 创建输出 if ins.mtask and ins.material_in: material_out = mlog.material_out @@ -480,9 +482,14 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust m_dict['batch'] = ins.batch else: new_batch = ins.batch - number = mlog.equipment.number if mlog.equipment else '' - if number: - new_batch = f'{new_batch}{number}' + if mlog.mtype == Mlog.MTYPE_OUT: + supplier_number = supplier.number if supplier else '' + if supplier_number: + new_batch = f'{new_batch}{supplier_number}' + elif process.batch_append_equip: + number = mlog.equipment.number if mlog.equipment else '' + if number: + new_batch = f'{new_batch}{number}' m_dict['batch'] = new_batch Mlogb.objects.get_or_create(**m_dict, defaults=m_dict)