diff --git a/web/commons/models/material.py b/web/commons/models/material.py index 9811b7a..3263903 100644 --- a/web/commons/models/material.py +++ b/web/commons/models/material.py @@ -6,21 +6,26 @@ from core.extensions import db class Material(db.Model, Model, OperationTrackMixin): + """材料表""" + __tablename__ = 'material' + _db = db + id = Column('ID', String(128), primary_key=True) parent_id = Column('PARENT_ID', String(128)) - category_1 = Column('CATEGORY1', String(128), default='', comment='分类1') - category_2 = Column('CATEGORY2', String(128), default='', comment='分类2') - category_3 = Column('CATEGORY3', String(128), default='', comment='分类3') - category_4 = Column('CATEGORY4', String(128), default='', comment='分类4') - name = Column('NAME', String(128), default='', comment='名称') - unit = Column('UNIT', String(128), default='', comment='单位') - spec = Column('SPEC', String(128), default='', comment='规格') - tax = Column('TAX', Integer, default=0, comment='税率(%)') - is_builtin = Column('IS_BUILTIN', Integer, default=0, comment='是否初始内建类型(不允许删除)') - type = Column('TYPE', Integer, default=0, comment='材料类别(主材、地材)') - is_tree = Column('IS_TREE', Integer, default=0, comment='是否树') + category1 = Column('CATEGORY1', String(128), comment='分类1') + category2 = Column('CATEGORY2', String(128), comment='分类2') + category3 = Column('CATEGORY3', String(128), comment='分类3') + category4 = Column('CATEGORY4', String(128), comment='分类4') + name = Column('NAME', String(128), comment='名称') + unit = Column('UNIT', String(128), comment='单位') + spec = Column('SPEC', String(128), comment='规格') + tax = Column('TAX', Integer, comment='税率(%)') + is_builtin = Column('IS_BUILTIN', Integer, comment='是否初始内建类型(不允许删除)') + type = Column('TYPE', Integer, 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__ = ( {'comment': '材料'}, ) @@ -29,11 +34,11 @@ class Material(db.Model, Model, OperationTrackMixin): super().__init__(*args, **kwargs) @classmethod - def get_by_key(cls, id): - return cls.query.filter(cls.id == id).one_or_none() + def get_by_key(cls, code): + return cls.query.filter(cls.code == code).one_or_none() def upsert(self): - result = self.get_by_key(self.id) + result = self.get_by_key(self.code) if not result: session = db.session session.add(self)