feat: mtask serializer增加mlogs
This commit is contained in:
parent
53ca8f1742
commit
a591abab8a
|
@ -85,3 +85,8 @@ class Mtask(CommonADModel):
|
|||
'utask', 'mgroup__process__sort', 'create_time'
|
||||
)
|
||||
return Mtask.objects.none()
|
||||
|
||||
@property
|
||||
def mlogs(self):
|
||||
from apps.wpm.models import Mlog
|
||||
return Mlog.objects.filter(mtask=self)
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ValidationError
|
||||
|
||||
from apps.mtm.serializers import MaterialSerializer
|
||||
from apps.mtm.serializers import MaterialSimpleSerializer
|
||||
from apps.pm.models import Mtask, Utask
|
||||
from apps.sam.models import OrderItem
|
||||
from apps.utils.serializers import CustomModelSerializer
|
||||
from apps.system.models import Dept
|
||||
from apps.wpm.models import Mlog
|
||||
|
||||
|
||||
class UtaskSerializer(CustomModelSerializer):
|
||||
material_ = MaterialSerializer(source='material', read_only=True)
|
||||
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
||||
belong_dept = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Dept.objects.all(), required=False)
|
||||
|
||||
|
@ -30,9 +31,20 @@ class UtaskSerializer(CustomModelSerializer):
|
|||
return super().update(instance, new_data)
|
||||
|
||||
|
||||
class MlogSimpleSerializer(CustomModelSerializer):
|
||||
shift_name = serializers.CharField(source='shift.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Mlog
|
||||
fields = ['id', 'shift_name', 'count_use',
|
||||
'count_ok', 'count_real', 'submit_time']
|
||||
|
||||
|
||||
class MtaskSerializer(CustomModelSerializer):
|
||||
material_out_ = MaterialSerializer(source='material_out', read_only=True)
|
||||
material_out_ = MaterialSimpleSerializer(
|
||||
source='material_out', read_only=True)
|
||||
mgroup_name = serializers.CharField(source='mgroup.name', read_only=True)
|
||||
mlogs = MlogSimpleSerializer(label='日志信息', many=True, required=False)
|
||||
|
||||
class Meta:
|
||||
model = Mtask
|
||||
|
|
|
@ -120,6 +120,7 @@ class MtaskViewSet(CustomModelViewSet):
|
|||
serializer_class = MtaskSerializer
|
||||
filterset_class = MtaskFilter
|
||||
select_related_fields = ['material_in', 'material_out', 'mgroup']
|
||||
prefetch_related_fields = ['mlog_mtask']
|
||||
ordering_fields = ['start_date', 'mgroup__process__sort']
|
||||
ordering = ['-start_date', 'mgroup__process__sort', '-create_time']
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
# Generated by Django 3.2.12 on 2023-11-14 05:46
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pm', '0014_mtask_peifen_kg'),
|
||||
('wpm', '0030_alter_mlogb_mlog'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='mlog',
|
||||
name='mtask',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mlog_mtask', to='pm.mtask', verbose_name='关联任务'),
|
||||
),
|
||||
]
|
|
@ -87,7 +87,7 @@ class Mlog(CommonADModel):
|
|||
生产日志
|
||||
"""
|
||||
mtask = models.ForeignKey(
|
||||
Mtask, verbose_name='关联任务', on_delete=models.CASCADE, null=True, blank=True)
|
||||
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)
|
||||
material_in = models.ForeignKey(
|
||||
|
|
Loading…
Reference in New Issue