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'
|
'utask', 'mgroup__process__sort', 'create_time'
|
||||||
)
|
)
|
||||||
return Mtask.objects.none()
|
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 import serializers
|
||||||
from rest_framework.exceptions import ValidationError
|
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.pm.models import Mtask, Utask
|
||||||
from apps.sam.models import OrderItem
|
from apps.sam.models import OrderItem
|
||||||
from apps.utils.serializers import CustomModelSerializer
|
from apps.utils.serializers import CustomModelSerializer
|
||||||
from apps.system.models import Dept
|
from apps.system.models import Dept
|
||||||
|
from apps.wpm.models import Mlog
|
||||||
|
|
||||||
|
|
||||||
class UtaskSerializer(CustomModelSerializer):
|
class UtaskSerializer(CustomModelSerializer):
|
||||||
material_ = MaterialSerializer(source='material', read_only=True)
|
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
||||||
belong_dept = serializers.PrimaryKeyRelatedField(
|
belong_dept = serializers.PrimaryKeyRelatedField(
|
||||||
queryset=Dept.objects.all(), required=False)
|
queryset=Dept.objects.all(), required=False)
|
||||||
|
|
||||||
|
@ -30,9 +31,20 @@ class UtaskSerializer(CustomModelSerializer):
|
||||||
return super().update(instance, new_data)
|
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):
|
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)
|
mgroup_name = serializers.CharField(source='mgroup.name', read_only=True)
|
||||||
|
mlogs = MlogSimpleSerializer(label='日志信息', many=True, required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Mtask
|
model = Mtask
|
||||||
|
|
|
@ -120,6 +120,7 @@ class MtaskViewSet(CustomModelViewSet):
|
||||||
serializer_class = MtaskSerializer
|
serializer_class = MtaskSerializer
|
||||||
filterset_class = MtaskFilter
|
filterset_class = MtaskFilter
|
||||||
select_related_fields = ['material_in', 'material_out', 'mgroup']
|
select_related_fields = ['material_in', 'material_out', 'mgroup']
|
||||||
|
prefetch_related_fields = ['mlog_mtask']
|
||||||
ordering_fields = ['start_date', 'mgroup__process__sort']
|
ordering_fields = ['start_date', 'mgroup__process__sort']
|
||||||
ordering = ['-start_date', 'mgroup__process__sort', '-create_time']
|
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 = 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 = models.ForeignKey(
|
||||||
Mgroup, verbose_name='工段', on_delete=models.CASCADE, null=True, blank=True)
|
Mgroup, verbose_name='工段', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
material_in = models.ForeignKey(
|
material_in = models.ForeignKey(
|
||||||
|
|
Loading…
Reference in New Issue