From c6481027bf68b7071c6705b91ed11f49b28c9974 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 15 Oct 2021 10:17:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E7=AD=BE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0004_subproductionplan_steps.py | 18 ++++++++++++++++++ hb_server/apps/pm/models.py | 2 +- hb_server/apps/pm/views.py | 6 +++++- hb_server/apps/wf/serializers.py | 2 +- hb_server/apps/wf/views.py | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 hb_server/apps/pm/migrations/0004_subproductionplan_steps.py diff --git a/hb_server/apps/pm/migrations/0004_subproductionplan_steps.py b/hb_server/apps/pm/migrations/0004_subproductionplan_steps.py new file mode 100644 index 0000000..56b78dd --- /dev/null +++ b/hb_server/apps/pm/migrations/0004_subproductionplan_steps.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.6 on 2021-10-15 02:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('pm', '0003_auto_20211014_1503'), + ] + + operations = [ + migrations.AddField( + model_name='subproductionplan', + name='steps', + field=models.JSONField(default=list, verbose_name='工艺步骤'), + ), + ] diff --git a/hb_server/apps/pm/models.py b/hb_server/apps/pm/models.py index f7db0c1..5aab5f3 100644 --- a/hb_server/apps/pm/models.py +++ b/hb_server/apps/pm/models.py @@ -37,7 +37,7 @@ class SubProductionPlan(CommonAModel): end_date = models.DateField('计划完工日期') workshop = models.ForeignKey(Organization, verbose_name='生产车间', on_delete=models.CASCADE) process = models.ForeignKey(Process, verbose_name='关联大工序', on_delete=models.CASCADE) - # steps = models.JSONField('工艺步骤', default=list) + steps = models.JSONField('工艺步骤', default=list) class Meta: verbose_name = '子生产计划' verbose_name_plural = verbose_name diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py index ca26e45..b74e05c 100644 --- a/hb_server/apps/pm/views.py +++ b/hb_server/apps/pm/views.py @@ -13,6 +13,7 @@ from apps.sam.models import Order from rest_framework.exceptions import APIException from rest_framework.response import Response from rest_framework.decorators import action +from django.db.models import F # Create your views here. def updateOrderPlanedCount(order): @@ -69,9 +70,12 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel raise APIException('已生成子计划') subps = SubProduction.objects.filter(product=production_plan.product).order_by('process__number') for i in subps: + steps = UsedStep.objects.filter(subproduction=i, is_deleted=False, subproduction__is_deleted=False, step__is_deleted=False)\ + .order_by('step__number').annotate(id=F('step__id'), number=F('step__number'), name=F('step__name')).values('id', 'number', 'name', 'remark') SubProductionPlan.objects.create(production_plan=production_plan, subproduction=i, start_date=production_plan.start_date, end_date=production_plan.end_date, - workshop=i.process.workshop, process=i.process, create_by=request.user) + workshop=i.process.workshop, process=i.process, create_by=request.user, + steps = list(steps)) production_plan.is_planed=True production_plan.save() return Response() diff --git a/hb_server/apps/wf/serializers.py b/hb_server/apps/wf/serializers.py index b9256bd..2029ec8 100644 --- a/hb_server/apps/wf/serializers.py +++ b/hb_server/apps/wf/serializers.py @@ -136,7 +136,7 @@ class TicketCloseSerializer(serializers.Serializer): class TicketAddNodeSerializer(serializers.Serializer): suggestion = serializers.CharField(label="加签说明", required = False) - add_node_man = serializers.IntegerField(label='加签人') + toadd_user = serializers.IntegerField(label='发送给谁去加签') class TicketAddNodeEndSerializer(serializers.Serializer): suggestion = serializers.CharField(label="加签意见", required = False) \ No newline at end of file diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index ddc9bc2..a96006c 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -321,7 +321,7 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin """ ticket = self.get_object() data = request.data - add_user = User.objects.get(pk=data['add_node_man']) + add_user = User.objects.get(pk=data['toadd_user']) ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL ticket.participant = add_user.id ticket.in_add_node = True