XH_Digital_Management/application/ops_tbl/models.py

41 lines
2.2 KiB
Python
Raw Normal View History

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="年度费用限额减去已报销额度,以万元为单位")
class Meta:
2024-06-06 15:08:38 +08:00
verbose_name = "各部门费用情况"
verbose_name_plural = "各部门费用情况"
# 添加模型注释
db_table_comment = '存储各部门费用情况数据,包括一级部门、年月、费用类型、费用明细、费用限额、已报销额度和可用额度等'
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)