39 lines
2.5 KiB
Python
39 lines
2.5 KiB
Python
from apps.utils.models import CommonADModel, CommonBDModel, CommonAModel
|
|
from django.db import models
|
|
|
|
class AssetCate(CommonAModel):
|
|
name = models.CharField('类别名称',max_length=50, unique=True)
|
|
code = models.CharField('类别编码',max_length=50, unique=True, null=True, blank=True)
|
|
default_unit = models.CharField('默认单位', max_length=20, default='台')
|
|
|
|
class Asset(CommonAModel):
|
|
"""
|
|
TN:固定资产台账
|
|
"""
|
|
card_number = models.CharField('卡片编号',max_length=50, unique=True, blank=True, null=True)
|
|
name = models.CharField('固定资产名称',max_length=100)
|
|
specification = models.CharField("规格型号", max_length=100, blank=True, null=True)
|
|
cate = models.ForeignKey(AssetCate, verbose_name='资产类别', on_delete=models.PROTECT)
|
|
quantity = models.PositiveIntegerField("数量", default=1)
|
|
start_date = models.DateField("启用日期")
|
|
canuse_year = models.PositiveSmallIntegerField("可用年限", null=True, blank=True)
|
|
original_value = models.DecimalField('资产原值', max_digits=15, decimal_places=2)
|
|
storage_location = models.CharField("存放地点", max_length=100, blank=True, null=True)
|
|
keeper = models.ForeignKey('system.user', verbose_name='保管人', on_delete=models.SET_NULL, null=True, blank=True)
|
|
keep_dept = models.ForeignKey('system.dept', verbose_name='保管部门', on_delete=models.SET_NULL, null=True, blank=True)
|
|
state = models.CharField("使用状态", max_length=50, help_text="在用/闲置")
|
|
supplier = models.ForeignKey('pum.supplier', verbose_name='供应商', on_delete=models.SET_NULL, null=True, blank=True)
|
|
unit = models.CharField("计量单位", max_length=50, default='台')
|
|
note = models.TextField("备注", blank=True, null=True)
|
|
|
|
class AssetLog(CommonADModel):
|
|
"""
|
|
TN:资产操作日志
|
|
"""
|
|
type = models.CharField("流水类型", max_length=50, help_text="入库/出库")
|
|
keep_dept = models.ForeignKey('system.dept', verbose_name='保管部门', on_delete=models.SET_NULL, null=True, blank=True)
|
|
keeper = models.ForeignKey('system.user', verbose_name='保管人', on_delete=models.SET_NULL, null=True, blank=True)
|
|
start_date = models.DateField("启用日期", null=True, blank=True)
|
|
items = models.JSONField(verbose_name='资产明细', default=list, null=True, blank=True)
|
|
ticket = models.OneToOneField('wf.ticket', verbose_name='关联工单',
|
|
on_delete=models.PROTECT, related_name='assetlog_ticket', null=True, blank=True) |