2024-05-16 21:23:15 +08:00
|
|
|
from django.db import models
|
|
|
|
|
|
|
|
|
2024-06-06 15:08:38 +08:00
|
|
|
class DepartmentExpenseData(models.Model):
|
|
|
|
primary_department = models.CharField(max_length=255, verbose_name="一级部门", help_text="用于筛选、区分一级部门")
|
|
|
|
year_month = models.CharField(max_length=7, verbose_name="年月", help_text="格式为'YYYY-MM',表示统计数据的年月")
|
|
|
|
expense_type = models.CharField(max_length=255, verbose_name="费用类型", help_text="费用的分类,如营销、行政等")
|
|
|
|
expense_detail = models.CharField(max_length=255, verbose_name="费用明细",
|
|
|
|
help_text="费用的具体明细项,如办公耗材、差旅费等")
|
|
|
|
budget_limit = models.DecimalField(max_digits=15, decimal_places=2, verbose_name="费用限额",
|
|
|
|
help_text="按年度预算设定的费用限额,以万元为单位")
|
|
|
|
reimbursed_amount = models.DecimalField(max_digits=15, decimal_places=2, verbose_name="已报销额度",
|
|
|
|
help_text="当年已报销的金额总额,以万元为单位")
|
|
|
|
available_budget = models.DecimalField(max_digits=15, decimal_places=2, verbose_name="可用额度",
|
|
|
|
help_text="年度费用限额减去已报销额度,以万元为单位")
|
2024-05-16 21:23:15 +08:00
|
|
|
|
|
|
|
class Meta:
|
2024-06-06 15:08:38 +08:00
|
|
|
verbose_name = "各部门费用情况"
|
|
|
|
verbose_name_plural = "各部门费用情况"
|
|
|
|
# 添加模型注释
|
|
|
|
db_table_comment = '存储各部门费用情况数据,包括一级部门、年月、费用类型、费用明细、费用限额、已报销额度和可用额度等'
|
2024-05-16 21:23:15 +08:00
|
|
|
|
|
|
|
def __str__(self):
|
2024-06-06 15:08:38 +08:00
|
|
|
return f"Expense Data for {self.primary_department} in {self.year_month}"
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_field_labels():
|
|
|
|
return {
|
|
|
|
'primary_department': '一级部门',
|
|
|
|
'year_month': '年月',
|
|
|
|
'expense_type': '费用类型',
|
|
|
|
'expense_detail': '费用明细',
|
|
|
|
'budget_limit': '费用限额',
|
|
|
|
'reimbursed_amount': '已报销额度',
|
|
|
|
'available_budget': '可用额度',
|
|
|
|
}
|
|
|
|
|
|
|
|
def get_field_label(self, field_name):
|
|
|
|
field_labels = self.get_field_labels()
|
|
|
|
return field_labels.get(field_name, field_name)
|