XH_Digital_Management/application/cpc_mgnt/models.py

123 lines
5.7 KiB
Python

from django.db import models
# 用印登记表
class SealUsageRegistry(models.Model):
record_id = models.AutoField(primary_key=True, verbose_name='记录ID')
applicant = models.CharField(max_length=255, verbose_name='申请人')
seal_date = models.DateField(verbose_name='用印日期')
seal_entity = models.CharField(max_length=255, verbose_name='用印主体')
seal_type = models.CharField(max_length=255, verbose_name='用印类型')
document_name = models.CharField(max_length=255, verbose_name='文件名称')
number_of_copies = models.IntegerField(verbose_name='用印份数')
handler = models.CharField(max_length=255, verbose_name='经办人')
class Meta:
verbose_name = '用印登记表'
verbose_name_plural = '用印登记表'
def __str__(self):
return f"{self.document_name} - {self.applicant} - {self.seal_date}"
# 印章证件借用登记表
class SealAndDocumentBorrowingRegistry(models.Model):
record_id = models.AutoField(primary_key=True, verbose_name='记录ID')
entity_name = models.CharField(max_length=255, verbose_name='主体名称')
item_type = models.CharField(max_length=255, verbose_name='借章/证类型')
purpose = models.CharField(max_length=255, verbose_name='用途')
borrower = models.IntegerField(verbose_name='借用人')
borrowing_time = models.DateTimeField(verbose_name='借用时间')
expected_return_date = models.DateField(verbose_name='约定归还日期')
lender = models.IntegerField(verbose_name='借出人')
returnee = models.IntegerField(verbose_name='归还人')
return_date = models.DateField(verbose_name='归还日期')
verifier = models.IntegerField(verbose_name='确认人')
class Meta:
verbose_name = '印章证件借用登记表'
verbose_name_plural = '印章证件借用登记表'
def __str__(self):
return f"{self.entity_name} - {self.borrower}"
# 合同管理台账
class ContractManagementLedger(models.Model):
project_name = models.CharField(max_length=255, verbose_name='项目名称')
contract_number = models.CharField(max_length=255, unique=True, verbose_name='合同编号')
contract_name = models.CharField(max_length=255, verbose_name='合同名称')
primary_department = models.CharField(max_length=255, verbose_name='一级部门')
project_leader = models.CharField(max_length=255, verbose_name='项目负责人')
project_progress = models.CharField(max_length=255, verbose_name='项目进度')
CONTRACT_STATUS_CHOICES = [
('已生效未履行', '已生效未履行'),
('履行中', '履行中'),
('履行中止', '履行中止'),
('协商变更', '协商变更'),
('期满终止', '期满终止'),
('协商解除', '协商解除'),
('未生效', '未生效'),
]
contract_status = models.CharField(max_length=20, choices=CONTRACT_STATUS_CHOICES, verbose_name='合同状态')
CONTRACT_TYPE_CHOICES = [
('业务类', '业务类'),
('采购类', '采购类'),
('用工类', '用工类'),
('租赁类', '租赁类'),
('其他类', '其他类'),
]
contract_type = models.CharField(max_length=20, choices=CONTRACT_TYPE_CHOICES, verbose_name='合同类别')
business_type = models.CharField(max_length=255, verbose_name='业务类型')
number_of_copies = models.IntegerField(verbose_name='合同份数')
cost_agreement = models.CharField(max_length=255, verbose_name='费用约定')
review_date = models.DateField(verbose_name='审核日期')
signing_date = models.DateField(verbose_name='签约日期')
effective_date = models.DateField(verbose_name='生效日期')
expiration_date = models.DateField(verbose_name='约定到期日')
our_side = models.CharField(max_length=255, verbose_name='我方单位')
other_side = models.CharField(max_length=255, verbose_name='对方单位')
submitter_for_review = models.CharField(max_length=255, verbose_name='提交审核人')
custodian_of_original = models.CharField(max_length=255, verbose_name='合同原件保管人')
payment_agreement_needed = models.BooleanField(verbose_name='是否需要付款协议')
signed = models.BooleanField(verbose_name='签章否')
backup_location = models.CharField(max_length=255, verbose_name='备份地点')
notes = models.TextField(verbose_name='备注')
class Meta:
verbose_name = '合同管理台账'
verbose_name_plural = '合同管理台账'
def __str__(self):
return self.contract_name
# 公司制度表
class CompanyPolicies(models.Model):
policy_id = models.AutoField(primary_key=True, verbose_name='制度ID')
issuing_unit = models.CharField(max_length=255, verbose_name='发布单位')
POLICY_CATEGORY_CHOICES = [
('公司治理', '公司治理'),
('人力资源', '人力资源'),
('财务', '财务'),
# 其他制度类别可以继续添加
]
policy_category = models.CharField(max_length=20, choices=POLICY_CATEGORY_CHOICES, verbose_name='制度类别')
policy_name = models.CharField(max_length=255, verbose_name='制度名称')
version = models.CharField(max_length=255, verbose_name='版本')
publication_date = models.DateField(verbose_name='发布日期')
effective_date = models.DateField(verbose_name='生效日期')
STATUS_CHOICES = [
('有效', '有效'),
('待生效', '待生效'),
('废止', '废止'),
]
status = models.CharField(max_length=20, choices=STATUS_CHOICES, verbose_name='状态')
class Meta:
verbose_name = '公司制度表'
verbose_name_plural = '公司制度表'
def __str__(self):
return self.policy_name