XH_Digital_Management/application/bde_perm/models.py

79 lines
3.3 KiB
Python

from django.db import models
class ProjectResource(models.Model):
resource_id = models.AutoField(primary_key=True, verbose_name='项目资源ID')
name = models.CharField(max_length=255, verbose_name='姓名')
unit = models.CharField(max_length=255, verbose_name='单位')
position = models.CharField(max_length=255, verbose_name='职务')
contact_phone = models.CharField(max_length=20, verbose_name='联系电话')
contact_address = models.CharField(max_length=255, verbose_name='联系地址')
resource_manager = models.IntegerField(verbose_name='资源维护人') # 假设你有一个人员基本信息表
class Meta:
verbose_name = '项目资源'
verbose_name_plural = '项目资源表'
def __str__(self):
return f"{self.resource_id} - {self.name}"
class ProjectResourceGift(models.Model):
resource_id = models.ForeignKey('ProjectResource', on_delete=models.CASCADE, verbose_name='项目资源ID')
gift_date = models.DateField(verbose_name='送礼日期')
giver = models.ForeignKey('Person', on_delete=models.CASCADE, verbose_name='送礼人') # 假设你有一个 Person 模型
gift_description = models.TextField(verbose_name='送礼说明')
class Meta:
verbose_name = '项目资源送礼'
verbose_name_plural = '项目资源送礼表'
def __str__(self):
return f"{self.resource_id} - {self.gift_date}"
class ProjectResourceMaintenance(models.Model):
resource_id = models.ForeignKey(ProjectResource, on_delete=models.CASCADE, verbose_name='项目资源ID')
project_id = models.ForeignKey(Project, on_delete=models.CASCADE, verbose_name='项目ID')
settled_income = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='已落地收入')
estimated_pending_income = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='未落地预估收入')
class Meta:
verbose_name = '项目资源维护'
verbose_name_plural = '项目资源维护表'
def __str__(self):
return f"{self.resource_id} - {self.project_id}"
class Customer(models.Model):
RELATIONSHIP_TYPE_CHOICES = (
('资源方', '资源方'),
('客户', '客户'),
)
COOPERATION_CHOICES = (
('', ''),
('', ''),
)
customer_id = models.AutoField(primary_key=True, verbose_name='客户ID')
relationship_type = models.CharField(max_length=10, choices=RELATIONSHIP_TYPE_CHOICES, verbose_name='关系类型')
detailed_description = models.CharField(max_length=255, verbose_name='详细说明')
name = models.CharField(max_length=255, verbose_name='姓名')
unit = models.CharField(max_length=255, verbose_name='单位')
position = models.CharField(max_length=255, verbose_name='职务')
residence = models.CharField(max_length=255, verbose_name='常住地')
cooperation = models.CharField(max_length=2, choices=COOPERATION_CHOICES, verbose_name='是否合作')
main_organizer = models.ForeignKey(Person, related_name='main_customers', on_delete=models.CASCADE, verbose_name='主办人')
assistant = models.ForeignKey(Person, related_name='assistant_customers', on_delete=models.CASCADE, verbose_name='辅助人')
class Meta:
verbose_name = '客户'
verbose_name_plural = '客户表'
def __str__(self):
return self.name