80 lines
2.8 KiB
Python
80 lines
2.8 KiB
Python
from rest_framework import serializers
|
|
from apps.system.serializers import OrganizationSimpleSerializer
|
|
from apps.system.models import Organization
|
|
from .models import AbilityReview, QualityCommendation, QualityActivities, Contact, ExternalAuditors, AuditLog, Qualification, Parsepdf, YearReport
|
|
from django.utils import timezone
|
|
|
|
class BaseMeta:
|
|
fields = '__all__'
|
|
read_only_fields = ['create_time', 'update_time', 'create_by', 'update_by', 'is_deleted', 'belong_dept']
|
|
|
|
|
|
class QualityCommendationSerializer(serializers.ModelSerializer):
|
|
class Meta(BaseMeta):
|
|
model = QualityCommendation
|
|
fields = '__all__'
|
|
read_only_fields = ['id']
|
|
|
|
class QualityActivitiesSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta(BaseMeta):
|
|
model = QualityActivities
|
|
fields = '__all__'
|
|
read_only_fields = ['id']
|
|
|
|
class ContactSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta(BaseMeta):
|
|
model = Contact
|
|
fields = '__all__'
|
|
|
|
|
|
class ExternalAuditorsSerializer(serializers.ModelSerializer):
|
|
class Meta(BaseMeta):
|
|
model = ExternalAuditors
|
|
fields = '__all__'
|
|
|
|
|
|
class Qualification2Serializer(serializers.ModelSerializer):
|
|
class Meta(BaseMeta):
|
|
model = Qualification
|
|
fields = ["id","name","company_name","quali_type","org","org_date","expiration_date","number","scope", "cie_path"]
|
|
|
|
def create(self, validated_data):
|
|
data = Organization.objects.filter(name = validated_data.get("company_name"))
|
|
if not data:
|
|
raise serializers.ValidationError("公司名称不存在")
|
|
validated_data["belong_dept_id"] = Organization.objects.filter(name = validated_data.get("company_name")).first().id
|
|
return super().create(validated_data)
|
|
|
|
def update(self, instance, validated_data):
|
|
validated_data["change_date"] = timezone.now().date()
|
|
return super().update(instance, validated_data)
|
|
|
|
class AbilityReviewSerializer(serializers.ModelSerializer):
|
|
quali_name = serializers.CharField(source='quali.name', read_only=True)
|
|
|
|
class Meta(BaseMeta):
|
|
model = AbilityReview
|
|
fields = '__all__'
|
|
|
|
|
|
class AuditLogSerializer(serializers.ModelSerializer):
|
|
company_name = serializers.CharField(source='instance.company_name', read_only=True)
|
|
|
|
class Meta(BaseMeta):
|
|
model = AuditLog
|
|
fields = '__all__'
|
|
|
|
class ParsepdfSerializer(serializers.ModelSerializer):
|
|
dep = serializers.CharField(source='belong_dept.name', read_only=True)
|
|
class Meta(BaseMeta):
|
|
model = Parsepdf
|
|
fields = '__all__'
|
|
|
|
class YearReportSerializer(serializers.ModelSerializer):
|
|
dep = serializers.CharField(source='belong_dept.name', read_only=True)
|
|
class Meta(BaseMeta):
|
|
model = YearReport
|
|
fields = '__all__'
|