cnas/server/apps/accessment/models.py

42 lines
1.8 KiB
Python

from utils import model
from django.contrib.postgres.fields import JSONField
from django.db import models
from rest_framework.exceptions import ParseError
from simple_history.models import HistoricalRecords
from apps.certset.models import ImplementRule, UnitType, EvaluationItem, Standard
from apps.crm.models import Enterprise
from apps.project.models import CertApp
from apps.system.models import CommonAModel, CommonBModel, Dict, User
class Certaccess(CommonAModel):
"""
业务评定
"""
certapp = models.ForeignKey('project.certapp', on_delete=models.CASCADE, related_name='unitaccess_certapp')
conclusion = models.ForeignKey(Dict, verbose_name='工厂检查结论', on_delete=models.CASCADE, related_name='certaccess_conclusion')
nonitems = models.ManyToManyField(Dict, verbose_name='不符合项目', related_name='certaccess_nonitems')
score = models.IntegerField('审核质量评分', default=0)
class Meta:
verbose_name = '业务评定'
verbose_name_plural = verbose_name
def __str__(self):
return self.certapp.number
class Unitaccess(CommonAModel):
"""
单元评定
"""
certunit = models.ForeignKey('crm.Certunit', on_delete=models.CASCADE, related_name='unitaccess_certunit')
certificate = models.ForeignKey('certificate.Certificate', on_delete=models.CASCADE, null=True, blank=True, related_name='unitaccess_certificate')
decision = models.ForeignKey(Dict,verbose_name='认证决定', on_delete=models.CASCADE)
certaccess = models.ForeignKey('accessment.Certaccess', on_delete=models.CASCADE, related_name='unitaccess_certaccess')
class Meta:
verbose_name = '认证单元评定'
verbose_name_plural = verbose_name
def __str__(self):
return self.decision