cma_search/server/apps/information/models.py

177 lines
9.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.db import models
from django.utils import timezone
from apps.system.models import Organization
import uuid
class Qualification(models.Model):
quali_options = (('国家级','国家级'),('省级','省级'))
company_name = models.CharField(max_length=20, verbose_name='公司名称', null=True, blank=True)
name = models.CharField(max_length=20, verbose_name='资质名称',null=True, blank=True)
quali_type = models.CharField(max_length=20, choices=quali_options, verbose_name='资质类型')
org = models.CharField(max_length=20, verbose_name='发证单位', null=True, blank=True)
org_date = models.DateField(verbose_name='发证日期', null=True, blank=True)
expiration_date = models.DateField(verbose_name='截至日期', null=True, blank=True)
scope = models.TextField(verbose_name='资质范围', null=True, blank=True)
number = models.IntegerField(verbose_name='参数数量', null=True, blank=True)
cie_path = models.CharField(max_length=100, verbose_name='证书路径', null=True, blank=True)
create_date = models.DateTimeField(auto_now_add=True, null=True)
update_date = models.DateTimeField(auto_now=True, null=True)
department = models.ForeignKey(Organization, on_delete=models.PROTECT, null=True, verbose_name='所属单位')
def save(self, *args, **kwargs):
if not self.id:
self.create_date = timezone.now()
# update_date将自动设置为当前时间因为auto_now=True
super(Qualification, self).save(*args, **kwargs)
class Meta:
verbose_name = '资质情况'
db_table = 'qfn_info'
class AuditLog(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
action = models.CharField('动作', max_length=20)
instance_id = models.CharField('记录ID', max_length=20, editable=False)
change_reason = models.CharField('变更原因', default='', max_length=50)
change_user = models.ForeignKey('system.user', on_delete=models.SET_NULL, verbose_name='操作人', null=True, blank=True)
change_time = models.DateTimeField('变更时间')
val_new = models.JSONField('变更后完整数据', default=dict)
difference = models.JSONField('变更情况', default=list)
class Meta:
verbose_name = '资质变更情况'
db_table = 'qfn_change_info'
class AbilityReview(models.Model):
type_method = (
(0, '文审'),
(10, '现场'))
juge_type = ( (0, '初次'),
(10, '扩项'),
(20, '变更'),
(30, '复评'),
(40, '迁址'))
name = models.CharField(max_length=20, unique=True, verbose_name='公司名称')
qualification_name = models.CharField(max_length=20, verbose_name='资质名称')
judging_method = models.PositiveSmallIntegerField(max_length=20, choices=type_method, verbose_name='评审方法')
judging_type = models.PositiveSmallIntegerField(max_length=20, choices=juge_type, verbose_name='评审类型')
add_param = models.IntegerField(default=0, verbose_name='新增参数')
review_date = models.DateField(verbose_name='评审日期', null=True)
now_count = models.IntegerField(default=0, verbose_name='现有场所数量')
add_count = models.IntegerField(default=0, verbose_name='新增场所数量')
create_date = models.DateTimeField(auto_now_add=True, null=True)
update_date = models.DateTimeField(auto_now=True, null=True)
department = models.ForeignKey(Organization, on_delete=models.PROTECT, null=True, verbose_name='所属单位')
def save(self, *args, **kwargs):
if not self.id:
self.create_date = timezone.now()
# update_date将自动设置为当前时间因为auto_now=True
super(AbilityReview, self).save(*args, **kwargs)
class Meta:
verbose_name = '评审情况'
db_table = 'ability_review'
class QualityCommendation(models.Model):
name = models.CharField(max_length=20, unique=True, verbose_name='项目名称')
commendation_name = models.CharField(max_length=20, verbose_name='表彰名称')
Awards_level = models.CharField(max_length=20, verbose_name='获奖等级')
awardee_company = models.CharField(max_length=20, verbose_name='获奖单位', null=True)
awardee_people = models.CharField(max_length=20, verbose_name='获奖人', null=True)
awarded_by = models.CharField(max_length=20, verbose_name='颁奖单位')
awarded_date = models.DateField(verbose_name='获奖日期', null=True)
create_date = models.DateTimeField(auto_now_add=True, null=True)
update_date = models.DateTimeField(auto_now=True, null=True)
department = models.ForeignKey(Organization, on_delete=models.PROTECT, null=True, verbose_name='所属单位')
def save(self, *args, **kwargs):
if not self.id:
self.create_date = timezone.now()
# update_date将自动设置为当前时间因为auto_now=True
super(QualityCommendation, self).save(*args, **kwargs)
class Meta:
verbose_name = '质量表彰'
db_table = 'quality_commendation'
class QualityActivities(models.Model):
role = ((0,'组织方'),(1,'活动方'))
name = models.CharField(max_length=20, unique=True, verbose_name='活动名称')
roles = models.PositiveSmallIntegerField(max_length=20, choices=role, verbose_name='参与角色')
collaborators = models.CharField(max_length=20, verbose_name='合作方')
orgunits = models.CharField(max_length=20, verbose_name='组织单位')
place = models.CharField(max_length=50, verbose_name='活动地点')
activate_time = models.DateField(verbose_name='活动时间', null=True)
participations = models.IntegerField(verbose_name='活动参与单位数量', null=True, blank=True)
function = models.CharField(max_length=100, verbose_name='活动中发挥的作用', null=True)
earnings = models.FloatField(verbose_name='活动收益', null=True)
create_date = models.DateTimeField(auto_now_add=True, null=True)
update_date = models.DateTimeField(auto_now=True, null=True)
department = models.ForeignKey(Organization, on_delete=models.PROTECT, null=True, verbose_name='组织单位')
def save(self, *args, **kwargs):
if not self.id:
self.create_date = timezone.now()
# update_date将自动设置为当前时间因为auto_now=True
super(QualityActivities, self).save(*args, **kwargs)
class Meta:
verbose_name = '质量活动'
db_table = 'quality_activities'
class Contact(models.Model):
name = models.CharField(max_length=20, unique=True, verbose_name='姓名')
address = models.CharField(max_length=100, verbose_name='地址')
header = models.CharField(max_length=20, verbose_name='负责人')
tel = models.CharField(max_length=20, verbose_name='负责人电话')
email = models.CharField(max_length=50, verbose_name='负责人邮箱', null=True, blank=True)
head_technology = models.CharField(max_length=50, verbose_name='技术负责人')
tel_technology = models.CharField(max_length=20, verbose_name='技术负责人电话')
email_technology = models.CharField(max_length=50, verbose_name='技术负责人邮箱', null=True, blank=True)
head_quality = models.CharField(max_length=50, verbose_name='质量负责人')
tel_quality = models.CharField(max_length=20, verbose_name='质量负责人电话')
create_date = models.DateTimeField(auto_now_add=True, null=True)
update_date = models.DateTimeField(auto_now=True, null=True)
email_quality = models.CharField(max_length=50, verbose_name='质量负责人邮箱', null=True, blank=True)
def save(self, *args, **kwargs):
if not self.id:
self.create_date = timezone.now()
# update_date将自动设置为当前时间因为auto_now=True
super(Contact, self).save(*args, **kwargs)
class Meta:
verbose_name = '实验室联系方式'
db_table = 'contact'
class ExternalAuditors(models.Model):
review_type = ( (0, 'CNAS'),
(1, 'CMA'),
(2, 'DICA'))
name_company = models.CharField(max_length=20, unique=True, verbose_name='公司名称')
name = models.CharField(max_length=20, verbose_name='姓名')
review_types = models.PositiveSmallIntegerField(max_length=20, choices=review_type,verbose_name='评审类型', default=0)
certificate_expiration = models.DateField(verbose_name='证书有效期')
contact = models.CharField(max_length=20, verbose_name='联系方式')
judging_areas = models.CharField(max_length=20, verbose_name='评审领域')
remark = models.CharField(max_length=20, verbose_name='备注', null=True, blank=True)
create_date = models.DateTimeField(auto_now_add=True, null=True)
update_date = models.DateTimeField(auto_now=True, null=True)
department = models.ForeignKey(Organization, on_delete=models.PROTECT, null=True, verbose_name='单位名称')
def save(self, *args, **kwargs):
if not self.id:
self.create_date = timezone.now()
# update_date将自动设置为当前时间因为auto_now=True
super(ExternalAuditors, self).save(*args, **kwargs)
class Meta:
verbose_name = '外审员情况'
db_table = 'externalauditors'