from django.db import models from apps.hrm.models import Employee from apps.utils.models import CommonAModel, CommonBModel, BaseModel from apps.system.models import User # Create your models here. class Visit(CommonBModel): """ 访问项目 """ VISIT_PURPOSE_CHOICES = ( (10, '参观'), (20, '拜访'), (30, '面试'), (40, '开会') ) V_CREATE = 10 V_AUDIT = 20 V_ENTER = 30 V_WORKING = 40 V_DONE = 50 V_STATE_CHOICES = ( (10, '创建中'), (20, '审批中'), (30, '待入厂'), (40, '进行中'), (50, '已完成') ) purpose = models.PositiveSmallIntegerField('来访事由') state = models.PositiveSmallIntegerField(choices=V_STATE_CHOICES, default=10) name = models.CharField('来访概述', max_length=50) description = models.TextField('来访详述', null=True, blank=True) visit_time = models.DateTimeField('来访时间') leave_time = models.DateTimeField('离开时间') receptionist = models.ForeignKey(User, verbose_name='接待人', on_delete=models.CASCADE) class Visitor(CommonAModel): """ 访客信息 """ employee = models.ForeignKey(Employee, verbose_name='成员信息', on_delete=models.CASCADE, null=True, blank=True) name = models.CharField('姓名', max_length=20) phone = models.CharField('手机号', max_length=11) photo = models.CharField('证件照', max_length=1000) id_number = models.CharField('身份证号', max_length=100) visit = models.ForeignKey(Visit, verbose_name='最近所属访问项目', on_delete=models.CASCADE, null=True, blank=True) class Vpeople(BaseModel): """ 访客项目人员 """ visit = models.ForeignKey(Visit, verbose_name='关联访问项目', on_delete=models.CASCADE) visitor = models.ForeignKey(Visitor, verbose_name='访客', on_delete=models.CASCADE) is_main = models.BooleanField('是否主访人', default=False)