From 9427544ccaa7c715423bb141529dd6ce692ef967 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 31 Oct 2023 15:06:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlog=E6=B7=BB=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wpm/migrations/0020_mlog_handle_user_2.py | 21 +++++++++++++ .../wpm/migrations/0021_auto_20231031_1505.py | 30 +++++++++++++++++++ apps/wpm/models.py | 7 ++++- apps/wpm/serializers.py | 10 +++++++ apps/wpm/views.py | 3 +- 5 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 apps/wpm/migrations/0020_mlog_handle_user_2.py create mode 100644 apps/wpm/migrations/0021_auto_20231031_1505.py diff --git a/apps/wpm/migrations/0020_mlog_handle_user_2.py b/apps/wpm/migrations/0020_mlog_handle_user_2.py new file mode 100644 index 00000000..754c14df --- /dev/null +++ b/apps/wpm/migrations/0020_mlog_handle_user_2.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.12 on 2023-10-31 06:32 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('wpm', '0019_alter_mlog_note'), + ] + + operations = [ + migrations.AddField( + model_name='mlog', + name='handle_user_2', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mlog_handle_user_2', to=settings.AUTH_USER_MODEL, verbose_name='操作人2'), + ), + ] diff --git a/apps/wpm/migrations/0021_auto_20231031_1505.py b/apps/wpm/migrations/0021_auto_20231031_1505.py new file mode 100644 index 00000000..0c1dd373 --- /dev/null +++ b/apps/wpm/migrations/0021_auto_20231031_1505.py @@ -0,0 +1,30 @@ +# Generated by Django 3.2.12 on 2023-10-31 07:05 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('em', '0006_alter_equipment_number_factory'), + ('wpm', '0020_mlog_handle_user_2'), + ] + + operations = [ + migrations.AddField( + model_name='mlog', + name='equipment_2', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mlog_equipment_2', to='em.equipment', verbose_name='生产设备2'), + ), + migrations.AddField( + model_name='mlog', + name='index', + field=models.PositiveSmallIntegerField(default=0, verbose_name='第几锅'), + ), + migrations.AlterField( + model_name='mlog', + name='equipment', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mlog_equipment', to='em.equipment', verbose_name='生产设备'), + ), + ] diff --git a/apps/wpm/models.py b/apps/wpm/models.py index e43d5a99..76a81895 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -90,7 +90,10 @@ class Mlog(CommonADModel): material_out = models.ForeignKey( Material, verbose_name='产物', on_delete=models.CASCADE, null=True, blank=True) equipment = models.ForeignKey( - Equipment, verbose_name='生产设备', on_delete=models.CASCADE, null=True, blank=True) + Equipment, verbose_name='生产设备', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_equipment') + equipment_2 = models.ForeignKey( + Equipment, verbose_name='生产设备2', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_equipment_2') + index = models.PositiveSmallIntegerField('第几锅', default=0) batch = models.CharField('批次号', max_length=50) count_use = models.PositiveIntegerField('领用数', default=0) count_real = models.PositiveIntegerField('实际生产数', default=0) @@ -112,6 +115,8 @@ class Mlog(CommonADModel): handle_date = models.DateField('操作日期') handle_user = models.ForeignKey( User, verbose_name='操作人', on_delete=models.CASCADE, related_name='mlog_handle_user', null=True, blank=True) + handle_user_2 = models.ForeignKey( + User, verbose_name='操作人2', on_delete=models.CASCADE, related_name='mlog_handle_user_2', null=True, blank=True) handle_users = models.ManyToManyField( User, verbose_name='操作人(多选)', blank=True) handle_leader = models.ForeignKey( diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index b3c785ed..28163988 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -90,6 +90,16 @@ class MlogSerializer(CustomModelSerializer): source='handover_mlog', read_only=True, many=True) material_out_ = MaterialSimpleSerializer( source='material_out', read_only=True) + handle_user_name = serializers.CharField( + source='handle_user.name', read_only=True) + handle_user_2_name = serializers.CharField( + source='handle_user_2.name', read_only=True) + handle_leader_name = serializers.CharField( + source='handle_leader.name', read_only=True) + equipment_name = serializers.CharField( + source='equipment.name', read_only=True) + equipment_2_name = serializers.CharField( + source='equipment_2.name', read_only=True) class Meta: model = Mlog diff --git a/apps/wpm/views.py b/apps/wpm/views.py index de98dcc9..287ac805 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -120,7 +120,8 @@ class MlogViewSet(CustomModelViewSet): """ queryset = Mlog.objects.all() serializer_class = MlogSerializer - select_related_fields = ['create_by', 'update_by', 'mtask'] + select_related_fields = ['create_by', 'update_by', 'mtask', + 'handle_user', 'handle_user_2', 'equipment', 'equipment_2'] filterset_class = MlogFilter def perform_destroy(self, instance):