# -*- coding: utf-8 -*- # @Time : 2023/11/21 10:20 # @Author : tx # @File : drug_item.py # @Description : 盒装药剂明细 from enum import IntEnum from tortoise import fields, models class DrugItemStateEnum(IntEnum): # 0 = 待入库, 1 = 在库, 2 = 出库, 3 = 空瓶, 4 = 报废 INITIAL = 0 IN = 1 OUT = 2 EMPTY = 3 SCRAP = 4 class DrugItem(models.Model): id = fields.UUIDField(pk=True) dictionary = fields.ForeignKeyField('rms.Dictionary', null=True, to_field='id') drug = fields.ForeignKeyField('rms.Drug', null=True, to_field='id') rfid = fields.CharField(max_length=255, description='电子标签') barcode = fields.CharField(null=True, max_length=255, description='标签条码') state = fields.IntEnumField(DrugItemStateEnum, default=DrugItemStateEnum.INITIAL, description='0=待入库,1=在库,2=出库,3=空瓶,4=报废') name = fields.CharField(max_length=255, description="名称") fill_json_content = fields.JSONField(null=True, description='扩展字段') bind = fields.ForeignKeyField('rms.User', related_name="item_bind", null=True, description='绑定人') bind_at = fields.DatetimeField(null=True, description='绑定时间') storage = fields.ForeignKeyField('rms.User', related_name="item_storage", null=True, description='入库人') storage_at = fields.DatetimeField(null=True, description='入库时间') last_receive = fields.ForeignKeyField('rms.User', related_name="item_last_receive", null=True, description='最后领用人') last_receive_at = fields.DatetimeField(null=True, description='最后领用时间') expired_at = fields.DatetimeField(null=True, description='过期时间') open_date = fields.DatetimeField(null=True, description='开封日期') created_at = fields.DatetimeField(auto_now_add=True) updated_at = fields.DatetimeField(auto_now=True) class Meta: table = 'drug_items' table_description = '盒装药剂明细表'