operationlist接口返回设备、记录、玻璃详情
This commit is contained in:
parent
bfa2805142
commit
12798d4217
|
@ -0,0 +1,26 @@
|
|||
# Generated by Django 3.2.9 on 2021-12-01 08:08
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mtm', '0040_material_piece_count'),
|
||||
('em', '0009_auto_20210916_1108'),
|
||||
('wpm', '0025_alter_wmaterial_count'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='operationequip',
|
||||
name='equip',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='oe_equip', to='em.equipment', verbose_name='生产设备'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='operationrecord',
|
||||
name='form',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='or_form', to='mtm.recordform', verbose_name='所用的生产记录表格'),
|
||||
),
|
||||
]
|
|
@ -1,3 +1,4 @@
|
|||
import re
|
||||
from django.db import models
|
||||
from django.db.models.base import Model
|
||||
import django.utils.timezone as timezone
|
||||
|
@ -94,7 +95,7 @@ class OperationRecord(BaseModel):
|
|||
"""
|
||||
记录表格
|
||||
"""
|
||||
form = models.ForeignKey(RecordForm, verbose_name='所用的生产记录表格', on_delete=models.CASCADE)
|
||||
form = models.ForeignKey(RecordForm, verbose_name='所用的生产记录表格', on_delete=models.CASCADE, related_name='or_form')
|
||||
operation = models.ForeignKey(Operation, verbose_name='关联的生产操作', on_delete=models.CASCADE, related_name='or_operation')
|
||||
is_filled = models.BooleanField('是否填写', default=True)
|
||||
|
||||
|
@ -112,5 +113,5 @@ class OperationRecordItem(BaseModel):
|
|||
|
||||
class OperationEquip(BaseModel):
|
||||
operation = models.ForeignKey(Operation, verbose_name='关联操作', on_delete=models.CASCADE, related_name='oe_operation')
|
||||
equip = models.ForeignKey(Equipment, verbose_name='生产设备', on_delete=models.CASCADE)
|
||||
equip = models.ForeignKey(Equipment, verbose_name='生产设备', on_delete=models.CASCADE, related_name='oe_equip')
|
||||
remark = models.TextField('备注', null=True, blank=True)
|
|
@ -1,5 +1,6 @@
|
|||
from rest_framework import serializers, exceptions
|
||||
from rest_framework.serializers import ModelSerializer
|
||||
from apps.em.models import Equipment
|
||||
from apps.em.serializers import EquipmentSimpleSerializer
|
||||
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, MaterialBatch, WareHouse
|
||||
from apps.inm.signals import update_inm
|
||||
|
@ -143,21 +144,21 @@ class OperationDetailSerializer(serializers.ModelSerializer):
|
|||
class OperationListSerializer(serializers.ModelSerializer):
|
||||
create_by_ = UserSimpleSerializer(source='create_by', read_only=True)
|
||||
step_ = StepSimpleSerializer(source='step', read_only=True)
|
||||
wproduct_count = serializers.SerializerMethodField()
|
||||
equip_count = serializers.SerializerMethodField()
|
||||
record_count = serializers.SerializerMethodField()
|
||||
wproduct_ = serializers.SerializerMethodField()
|
||||
equip_ = serializers.SerializerMethodField()
|
||||
record_ = serializers.SerializerMethodField()
|
||||
class Meta:
|
||||
model = Operation
|
||||
fields = '__all__'
|
||||
|
||||
def get_wproduct_count(self, obj):
|
||||
return obj.ow_operation.count()
|
||||
def get_wproduct_(self, obj):
|
||||
return WProduct.objects.filter(ow_wproduct__operation=obj).values('id', 'number')
|
||||
|
||||
def get_equip_count(self, obj):
|
||||
return obj.oe_operation.count()
|
||||
def get_equip_(self, obj):
|
||||
return EquipmentSimpleSerializer(instance=Equipment.objects.filter(oe_equip__operation=obj), many=True).data
|
||||
|
||||
def get_record_count(self, obj):
|
||||
return obj.or_operation.count()
|
||||
def get_record_(self, obj):
|
||||
return RecordFormSimpleSerializer(instance=RecordForm.objects.filter(or_form__operation=obj), many=True).data
|
||||
|
||||
class OperationCreateSerializer(serializers.Serializer):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue