diff --git a/hb_server/apps/pm/serializers.py b/hb_server/apps/pm/serializers.py index 13b55fb..4feced5 100644 --- a/hb_server/apps/pm/serializers.py +++ b/hb_server/apps/pm/serializers.py @@ -11,7 +11,7 @@ from utils.mixins import DynamicFieldsSerializerMixin class ProductionPlanCreateFromOrderSerializer(serializers.ModelSerializer): class Meta: model = ProductionPlan - fields = ['order', 'count', 'start_date', 'end_date'] + fields = ['order', 'count', 'start_date', 'end_date', 'number'] class ProductionPlanSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer): order_ = OrderSimpleSerializer(source='order', read_only=True) diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py index 0cd7d44..e8ea9aa 100644 --- a/hb_server/apps/pm/views.py +++ b/hb_server/apps/pm/views.py @@ -71,7 +71,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel pass else: raise APIException('排产数量错误') - instance = serializer.save(create_by=request.user, product=order.product, number='JH'+ranstr(7)) + instance = serializer.save(create_by=request.user, product=order.product) updateOrderPlanedCount(instance.order) return Response() diff --git a/hb_server/apps/qm/migrations/0029_alter_testrecord_number.py b/hb_server/apps/qm/migrations/0029_alter_testrecord_number.py new file mode 100644 index 0000000..7a05324 --- /dev/null +++ b/hb_server/apps/qm/migrations/0029_alter_testrecord_number.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2022-06-13 01:25 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('qm', '0028_alter_testrecord_fifo_item'), + ] + + operations = [ + migrations.AlterField( + model_name='testrecord', + name='number', + field=models.CharField(blank=True, max_length=20, null=True, verbose_name='玻璃编号'), + ), + ] diff --git a/hb_server/apps/qm/models.py b/hb_server/apps/qm/models.py index 3e2bc54..4a042b2 100644 --- a/hb_server/apps/qm/models.py +++ b/hb_server/apps/qm/models.py @@ -72,6 +72,7 @@ class TestRecord(CommonADModel): is_submited = models.BooleanField('是否提交', default=False) is_midtesting = models.BooleanField('是否子工序检验中', default=False) remark = models.TextField('备注', default='') + number = models.CharField('玻璃编号', max_length=20, null=True, blank=True) class TestRecordItem(CommonADModel): diff --git a/hb_server/apps/sam/serializers.py b/hb_server/apps/sam/serializers.py index 31d2ab0..2fd2928 100644 --- a/hb_server/apps/sam/serializers.py +++ b/hb_server/apps/sam/serializers.py @@ -43,10 +43,10 @@ class ContractCreateUpdateSerializer(serializers.ModelSerializer): class OrderCreateUpdateSerializer(serializers.ModelSerializer): class Meta: model = Order - fields = ['customer', 'contract', 'product', 'count', 'delivery_date', 'need_mtest'] + fields = ['customer', 'contract', 'product', 'count', 'delivery_date', 'need_mtest', 'number'] def create(self, validated_data): - validated_data['number'] = 'DD' + ranstr(7) + # validated_data['number'] = 'DD' + ranstr(7) return super().create(validated_data) class OrderSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer): diff --git a/hb_server/apps/wpm/services.py b/hb_server/apps/wpm/services.py index 4440122..384f036 100644 --- a/hb_server/apps/wpm/services.py +++ b/hb_server/apps/wpm/services.py @@ -9,6 +9,7 @@ from apps.system.models import User from apps.wf.models import State, TicketFlow, Transition from apps.wpm.models import Operation, OperationMaterial, WProduct, WproductFlow, WprouctTicket from utils.tools import ranstr +from rest_framework.exceptions import ParseError class WpmService(object): @classmethod @@ -70,7 +71,10 @@ class WpmService(object): else: wproduct.act_state = WProduct.WPR_ACT_STATE_OK if wproduct.number is None: # 产生半成品编号 - wproduct.number = 'WP'+ranstr(7) + if test.number: + wproduct.number = test.number + else: + raise ParseError('请提供玻璃编号') # 去除ng_sign if wproduct.ng_sign: