From fa243faf346911c00a9fea0d96adc8157be18440 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 27 Aug 2025 15:35:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlog=20=E6=B7=BB=E5=8A=A0=E7=B4=A2?= =?UTF-8?q?=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wpm/migrations/0122_auto_20250827_1522.py | 24 +++++++++++++++++++ apps/wpm/models.py | 11 +++++---- apps/wpm/views.py | 2 +- 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 apps/wpm/migrations/0122_auto_20250827_1522.py diff --git a/apps/wpm/migrations/0122_auto_20250827_1522.py b/apps/wpm/migrations/0122_auto_20250827_1522.py new file mode 100644 index 00000000..8dffe1f8 --- /dev/null +++ b/apps/wpm/migrations/0122_auto_20250827_1522.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.12 on 2025-08-27 07:22 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('wpm', '0121_auto_20250723_0912'), + ] + + operations = [ + migrations.AlterField( + model_name='mlog', + name='create_time', + field=models.DateTimeField(db_index=True, default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间'), + ), + migrations.AlterField( + model_name='mlog', + name='handle_date', + field=models.DateField(blank=True, db_index=True, null=True, verbose_name='操作日期'), + ), + ] diff --git a/apps/wpm/models.py b/apps/wpm/models.py index 90aa4f44..809ad22e 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -15,6 +15,7 @@ from django.db import transaction from django.db.models import Max import re from django.db.models import Q +import django.utils.timezone as timezone # Create your models here. class SfLog(CommonADModel): @@ -198,7 +199,7 @@ class Mlog(CommonADModel): mtask = models.ForeignKey( Mtask, verbose_name='关联任务', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_mtask') mgroup = models.ForeignKey( - Mgroup, verbose_name='工段', on_delete=models.CASCADE, null=True, blank=True) + Mgroup, verbose_name='工段', on_delete=models.CASCADE, null=True, blank=True, db_index=True) wm_in = models.ForeignKey(WMaterial, verbose_name='投入物料所在库存', on_delete=models.SET_NULL, null=True, blank=True, related_name='mlog_wm_in') material_in = models.ForeignKey( Material, verbose_name='消耗物', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_material_in') @@ -267,10 +268,10 @@ class Mlog(CommonADModel): count_n_b = models.DecimalField('扁', default=0, max_digits=11, decimal_places=1) # 光芯七车间 count_n_qt = models.DecimalField('其他', default=0, max_digits=11, decimal_places=1) - handle_date = models.DateField('操作日期', null=True, blank=True) + handle_date = models.DateField('操作日期', null=True, blank=True, db_index=True) team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.SET_NULL, null=True, blank=True) handle_user = models.ForeignKey( - User, verbose_name='操作人', on_delete=models.CASCADE, related_name='mlog_handle_user', null=True, blank=True) # 成型人 + User, verbose_name='操作人', on_delete=models.CASCADE, related_name='mlog_handle_user', null=True, blank=True, db_index=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( @@ -292,7 +293,9 @@ class Mlog(CommonADModel): test_user = models.ForeignKey( User, verbose_name='检验人', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_test_user') test_time = models.DateTimeField('检验时间', null=True, blank=True) - + create_time = models.DateTimeField( + default=timezone.now, verbose_name='创建时间', help_text='创建时间', db_index=True) + @property def mlogb(self): return Mlogb.objects.filter(mlog=self).exclude(material_out=None) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index cc41d5ce..e026ca85 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -1043,7 +1043,7 @@ class MlogbwViewSet(CustomModelViewSet): @action(methods=['post'], detail=False, perms_map={'post': 'mlog.update'}, serializer_class=MlogbwStartTestSerializer) @transaction.atomic def start_test(self, request, *args, **kwargs): - sr = self.get_serializer(data=request.data) + sr = MlogbwStartTestSerializer(data=request.data) sr.is_valid(raise_exception=True) sr.save() return Response()