from django.db import models # 用印登记表 class SealUsageRegistry(models.Model): SEAL_TYPE_CHOICES = [ ('公章', '公章'), ('法人章', '法人章'), ('合同章', '合同章'), ('财务章', '财务章'), ('其他', '其他'), ] 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, choices=SEAL_TYPE_CHOICES, 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): ITEM_TYPE_CHOICES = [ ('公章', '公章'), ('法人章', '法人章'), ('财务章', '财务章'), ('合同章', '合同章'), ('执照正本', '执照正本'), ('执照副本', '执照副本'), ('开户许可证', '开户许可证'), ('法人身份证', '法人身份证'), ] 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, choices=ITEM_TYPE_CHOICES, verbose_name='借章/证类型') purpose = models.CharField(max_length=255, verbose_name='用途') borrower = models.CharField(max_length=255, verbose_name='借用人') borrowing_time = models.DateTimeField(verbose_name='借用时间') expected_return_date = models.DateField(verbose_name='约定归还日期') lender = models.CharField(max_length=255, verbose_name='借出人') returnee = models.CharField(max_length=255, verbose_name='归还人') return_date = models.DateField(verbose_name='归还日期') verifier = models.CharField(max_length=255, 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