From b05d6349d2b2f6feb55aa46a7573293ecf307357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 13 Jun 2022 09:28:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=A2=E5=8D=95,=20=E8=AE=A1=E5=88=92,?= =?UTF-8?q?=20=E4=BA=A7=E5=93=81=E7=BC=96=E5=8F=B7=E8=87=AA=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/pm/serializers.py | 2 +- hb_server/apps/pm/views.py | 2 +- .../migrations/0029_alter_testrecord_number.py | 18 ++++++++++++++++++ hb_server/apps/qm/models.py | 1 + hb_server/apps/sam/serializers.py | 4 ++-- hb_server/apps/wpm/services.py | 6 +++++- 6 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 hb_server/apps/qm/migrations/0029_alter_testrecord_number.py 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: From c819e4233a6e9bf1ded695a4438b3df86e93e254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 13 Jun 2022 09:57:48 +0800 Subject: [PATCH 2/2] testrecord update --- hb_server/apps/qm/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hb_server/apps/qm/serializers.py b/hb_server/apps/qm/serializers.py index 0dd0def..48ab58d 100644 --- a/hb_server/apps/qm/serializers.py +++ b/hb_server/apps/qm/serializers.py @@ -129,7 +129,7 @@ class TestRecordUpdateSerializer(serializers.ModelSerializer): record_data = TestRecordItemUpdatexSerializer(many=True, write_only=True) class Meta: model = TestRecord - fields = ['is_testok', 'record_data'] + fields = ['is_testok', 'record_data', 'number', 'remark'] def update(self, instance, validated_data): # 获取更新人