feat: 新增字段

This commit is contained in:
han0
2025-02-21 13:05:50 +08:00
parent 09150056da
commit 95456e2076

View File

@@ -6,21 +6,26 @@ from core.extensions import db
class Material(db.Model, Model, OperationTrackMixin): class Material(db.Model, Model, OperationTrackMixin):
"""材料表"""
__tablename__ = 'material'
_db = db
id = Column('ID', String(128), primary_key=True) id = Column('ID', String(128), primary_key=True)
parent_id = Column('PARENT_ID', String(128)) parent_id = Column('PARENT_ID', String(128))
category_1 = Column('CATEGORY1', String(128), default='', comment='分类1') category1 = Column('CATEGORY1', String(128), comment='分类1')
category_2 = Column('CATEGORY2', String(128), default='', comment='分类2') category2 = Column('CATEGORY2', String(128), comment='分类2')
category_3 = Column('CATEGORY3', String(128), default='', comment='分类3') category3 = Column('CATEGORY3', String(128), comment='分类3')
category_4 = Column('CATEGORY4', String(128), default='', comment='分类4') category4 = Column('CATEGORY4', String(128), comment='分类4')
name = Column('NAME', String(128), default='', comment='名称') name = Column('NAME', String(128), comment='名称')
unit = Column('UNIT', String(128), default='', comment='单位') unit = Column('UNIT', String(128), comment='单位')
spec = Column('SPEC', String(128), default='', comment='规格') spec = Column('SPEC', String(128), comment='规格')
tax = Column('TAX', Integer, default=0, comment='税率(%') tax = Column('TAX', Integer, comment='税率(%')
is_builtin = Column('IS_BUILTIN', Integer, default=0, comment='是否初始内建类型(不允许删除)') is_builtin = Column('IS_BUILTIN', Integer, comment='是否初始内建类型(不允许删除)')
type = Column('TYPE', Integer, default=0, comment='材料类别(主材、地材)') type = Column('TYPE', Integer, comment='材料类别(主材、地材)')
is_tree = Column('IS_TREE', Integer, default=0, comment='是否树') is_tree = Column('IS_TREE', Integer, comment='是否树')
sort = Column('SORT', Integer, default=0, comment='排序')
code = Column('CODE', String(20), comment='材料编码')
__tablename__ = 'MATERIAL'
__table_args__ = ( __table_args__ = (
{'comment': '材料'}, {'comment': '材料'},
) )
@@ -29,11 +34,11 @@ class Material(db.Model, Model, OperationTrackMixin):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
@classmethod @classmethod
def get_by_key(cls, id): def get_by_key(cls, code):
return cls.query.filter(cls.id == id).one_or_none() return cls.query.filter(cls.code == code).one_or_none()
def upsert(self): def upsert(self):
result = self.get_by_key(self.id) result = self.get_by_key(self.code)
if not result: if not result:
session = db.session session = db.session
session.add(self) session.add(self)