feat: labelmat 返回state_name

This commit is contained in:
caoqianming 2024-10-14 13:20:36 +08:00
parent af751f5a9d
commit 3d7a9fb481
2 changed files with 13 additions and 1 deletions

View File

@ -1,6 +1,7 @@
from rest_framework import serializers from rest_framework import serializers
from .models import LableMat from .models import LableMat
from apps.qm.models import NotOkOption from apps.qm.models import NotOkOption
from apps.wpm.models import WmStateOption
class TidSerializer(serializers.Serializer): class TidSerializer(serializers.Serializer):
@ -12,9 +13,13 @@ class LabelMatSerializer(serializers.ModelSerializer):
material_origin_name = serializers.StringRelatedField(source='material_origin', read_only=True) material_origin_name = serializers.StringRelatedField(source='material_origin', read_only=True)
supplier_name = serializers.CharField(source='supplier.name', read_only=True) supplier_name = serializers.CharField(source='supplier.name', read_only=True)
notok_sign_name = serializers.SerializerMethodField() notok_sign_name = serializers.SerializerMethodField()
state_name = serializers.SerializerMethodField()
class Meta: class Meta:
model = LableMat model = LableMat
fields = '__all__' fields = '__all__'
def get_notok_sign_name(self, obj): def get_notok_sign_name(self, obj):
return getattr(NotOkOption, obj.notok_sign, NotOkOption.qt).label if obj.notok_sign else None return getattr(NotOkOption, obj.notok_sign, NotOkOption.qt).label if obj.notok_sign else None
def get_state_name(self, obj):
return getattr(WmStateOption, str(obj.state), WmStateOption.OK).label if obj.state else None

View File

@ -9,6 +9,7 @@ from apps.system.models import Dept
from datetime import timedelta from datetime import timedelta
from apps.pum.models import Supplier from apps.pum.models import Supplier
from django.db.models import Sum from django.db.models import Sum
from django.utils.translation import gettext_lazy as _
# Create your models here. # Create your models here.
@ -86,6 +87,12 @@ class SfLogExp(CommonADModel):
class Meta: class Meta:
unique_together = ('sflog', 'stlog') unique_together = ('sflog', 'stlog')
class WmStateOption(models.IntegerChoices):
OK = 10, _("合格")
NOTOK = 20, _("不合格")
REPAIR = 30, _("返修")
TEST = 40, _("检验")
SCRAP = 50, _("报废")
class WMaterial(CommonBDModel): class WMaterial(CommonBDModel):
""" """
belong_dept是所在车间 belong_dept是所在车间