class CissEmbalagens(db.Model): """""" __tablename__ = 'PRODUTO_EMBALAGEM' __bind_key__ = 'ciss' unidadeembalagem = db.Column(db.String(2), primary_key=True) descrembalagem = db.Column(db.String(40))
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), unique=True) password = db.Column(db.String(255)) active = db.Column(db.Boolean()) confirmed_at = db.Column(db.DateTime()) roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic'))
class MagTasks(db.Model): """ representa as categorias do magento sendo a seção a categoria primaria o grupo a categoria secundária e o subgrupo a terciaria. """ __tablename__ = 'mag_tasks' task_id = db.Column(db.String(100), primary_key=True) task_name = db.Column(db.String(60)) create_at = db.Column(db.Date(), default=date.today) update_at = db.Column(db.Date(), onupdate=date.today) is_active = db.Column( db.String(1), db.CheckConstraint("is_active='T' or is_active='F'") ) @classmethod def get_active_tasks(cls): return db.session.query( cls ).filter( cls.is_active == 'T' ).all()
class CissProdutoGrade(db.Model): """""" __tablename__ = 'PRODUTO_GRADE' __bind_key__ = 'ciss' idproduto = db.Column(db.ForeignKey('PRODUTO.idproduto'), primary_key=True) idsubproduto = db.Column(db.Integer, primary_key=True) subdescricao = db.Column(db.String(100)) descrresproduto = db.Column(db.String(60)) codbar = db.Column(db.String(20)) idmodelo = db.Column(db.Integer) idtipo = db.Column(db.Integer) pesoliquido = db.Column(db.Numeric(12,3)) valmultivendas = db.Column(db.Numeric(12,3)) dtcadastro = db.Column(db.Date()) flaginativo = db.Column(db.String(1), db.CheckConstraint( "flag_carga_media=='T' or flag_carga_media=='F'")) produto = db.relationship('CissProduto') join2 = "and_(" join2 = join2 + "CissProdutoEstoque.idproduto==CissProdutoGrade.idproduto," join2 = join2 + "CissProdutoEstoque.idsubproduto==CissProdutoGrade.idsubproduto," join2 = join2 + "CissProdutoEstoque.idlocalestoque==1," join2 = join2 + "CissProdutoEstoque.qtdatualestoque==0," join2 = join2 + "CissProdutoEstoque.idempresa==2)" zerados = db.relationship( 'CissProdutoEstoque', primaryjoin=join2 )
class ClienteFornecedor(db.Model): """ Representa a tabela CLIENTE_FORNECEDOR do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'CLIENTE_FORNECEDOR' id_cli_for = db.Column('IDCLIFOR', db.Integer, primary_key=True) nome = db.Column('NOME', db.String(80), nullable=False) uf_cli_for = db.Column('UFCLIFOR', db.String(2)) c_tipo_cadastro = "tipo_cadastro == 'C'" c_tipo_cadastro = c_tipo_cadastro + "or tipo_cadastro == 'C'" c_tipo_cadastro = c_tipo_cadastro + "or tipo_cadastro == 'A'" c_tipo_cadastro = c_tipo_cadastro + "or tipo_cadastro == 'u'" c_tipo_cadastro = c_tipo_cadastro + "or tipo_cadastro == 'F'" c_tipo_cadastro = c_tipo_cadastro + "or tipo_cadastro == 'V'" tipo_cadastro = db.Column('TIPOCADASTRO', db.String(1), db.CheckConstraint(c_tipo_cadastro)) c_vendedor_externo = "vendedor_externo=='T' or vendedor_externo=='F'" vendedor_externo = db.Column('FLAGVENDEDOREXTERNO', db.String(1), db.CheckConstraint(c_vendedor_externo)) c_inativo = "inativo=='T' or inativo=='F'" inativo = db.Column('FLAGINATIVO', db.String(1), db.CheckConstraint(c_inativo))
class Location(db.Model): __tablename__ = 'location' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(200), nullable=False) slug = db.Column(db.String(100), nullable=False, unique=True) stop_points = db.relationship('StopPoint')
class StopPoint(db.Model): __tablename__ = 'stop_point' id = db.Column(db.Integer, primary_key=True) city = db.Column(db.String(200), nullable=False) name = db.Column(db.String(300), nullable=False) ref = db.Column(db.String(30), nullable=False) location_id = db.Column(db.Integer, db.ForeignKey('location.id'))
class Branch(db.Model): __tablename__ = 'branches' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text) code = db.Column(db.String(10)) phone = db.Column(db.Integer) email = db.Column(db.String(40)) def __str__(self): return self.code
class Terms(db.Model): __tablename__ = '2c191c_terms' term_id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(200)) slug = db.Column(db.String(200)) term_group = db.Column(db.Integer) term_order = db.Column(db.Integer) def __repr__(self): return 'id: {}, name: {}'.format(self.term_id, self.name)
class CissProduto(db.Model): """""" __tablename__ = 'PRODUTO' __bind_key__ = 'ciss' idproduto = db.Column(db.Integer, primary_key=True) descrcomproduto = db.Column(db.String(60)) fabricante = db.Column(db.String(40)) embalagemsaida = db.Column(db.String(2), db.ForeignKey( 'PRODUTO_EMBALAGEM.unidadeembalagem')) embalagem = db.relationship('CissEmbalagens')
class ValidationLog(db.Model): __tablename__ = 'tbl_activity_log' id = db.Column(db.Integer(), primary_key=True) user_msisdn = db.Column(db.String(15), nullable=False) serial_no = db.Column(db.String(128), nullable=False) status = db.Column(db.String(20), nullable=False) status_details = db.Column(db.Text(), nullable=False) user_mno = db.Column(db.String(20), nullable=True) date_created = db.Column(db.DateTime(), default=datetime.utcnow) def __init__(self): return "<{}:{}>".format(self.id, self.user_msisdn)
class CissNcm(db.Model): """ Representa a tabela NCM do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'NCM' ncm = db.Column(db.String(8), primary_key=True) descricao = db.Column(db.String(820)) flagcargatributariamedia = db.Column( db.String(1), db.CheckConstraint("flagcargatributariamedia=='T' or flagcargatributariamedia=='F'") )
class Posts(db.Model): __tablename__ = '2c191c_posts' id = db.Column(db.Integer, primary_key=True) post_author = db.Column(db.Integer) post_date = db.Column(db.DateTime) post_date_gmt = db.Column(db.DateTime) post_content = db.Column(db.Text()) post_title = db.Column(db.Text()) post_excerpt = db.Column(db.Text()) post_status = db.Column(db.String(20)) comment_status = db.Column(db.String(20)) ping_status = db.Column(db.String(20)) post_password = db.Column(db.String(255)) post_name = db.Column(db.String(200)) to_ping = db.Column(db.Text()) pinged = db.Column(db.Text()) post_modified = db.Column(db.DateTime) post_modified_gmt = db.Column(db.DateTime) post_content_filtered = db.Column(db.Text()) post_parent = db.Column(db.Integer) guid = db.Column(db.String(255)) menu_order = db.Column(db.Integer) post_type = db.Column(db.String(20)) post_mime_type = db.Column(db.String(100)) comment_count = db.Column(db.Integer)
class ViewProduto(db.Model): """ Representa a View PRODUTOS_VIEW do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRODUTOS_VIEW' id_produto = db.Column('IDPRODUTO', db.Integer, primary_key=True) id_subproduto = db.Column('IDSUBPRODUTO', db.Integer, primary_key=True) descricao = db.Column('DESCRICAOPRODUTO', db.String(100)) fabricante = db.Column('FABRICANTE', db.String(50)) flag_inativo = db.Column( 'FLAGINATIVO', db.String(1), db.CheckConstraint("flag_inativo=='T' or flag_inativo=='F'"))
class CissOrcamento(db.Model): """ Representa a tabela ORCAMENTO do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'ORCAMENTO' idempresa = db.Column(db.Integer, primary_key=True) idorcamento = db.Column(db.Integer, primary_key=True) nome = db.Column(db.String(80)) observacao = db.Column(db.String(600)) dtmovimento = db.Column(db.DateTime()) idclifor = db.Column(db.Integer, db.ForeignKey('CLIENTE_FORNECEDOR.idclifor'))
class MagCategoriaProduto(db.Model): """ representa as categorias do magento sendo a seção a categoria primaria o grupo a categoria secundária e o subgrupo a terciaria. """ __tablename__ = 'mag_categorias_produtos' sku = db.Column(db.Integer, primary_key=True) secao = db.Column(db.String(60)) grupo = db.Column(db.String(60)) subgrupo = db.Column(db.String(60)) create_at = db.Column(db.Date(), default=datetime.now) update_at = db.Column(db.Date(), onupdate=datetime.now)
class CissProdutoFornecedor(db.Model): """ Representa a tabela PRODUTO_FORNECEDOR do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRODUTO_FORNECEDOR' idclifor = db.Column( db.Integer(), db.ForeignKey('CLIENTE_FORNECEDOR.idclifor'), primary_key=True ) idproduto = db.Column( db.Integer(), db.ForeignKey('PRODUTO_GRADE.idproduto'), primary_key=True ) idsubproduto = db.Column( db.Integer(), db.ForeignKey('PRODUTO_GRADE.idsubproduto'), primary_key=True ) codigointernoforn = db.Column(db.String(60)) fornecedor = db.relationship('CissClienteFornecedor')
class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) # User authentication information (required for Flask-User) username = db.Column(db.Unicode(50), nullable=False, server_default=u'', unique=True) password = db.Column(db.String(255), nullable=False, server_default='') # reset_password_token = db.Column(db.String(100), nullable=False, server_default='') active = db.Column(db.Boolean(), nullable=False, server_default='0') # User information active = db.Column('is_active', db.Boolean(), nullable=False, server_default='0') first_name = db.Column(db.Unicode(50), nullable=False, server_default=u'') last_name = db.Column(db.Unicode(50), nullable=False, server_default=u'') # Relationships roles = db.relationship('Role', secondary='users_roles', backref=db.backref('users', lazy='dynamic'))
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(100), unique=True, nullable=False) password_digest = db.Column(db.String(64), nullable=False) def __init__(self, username, password): self.username = username self.password_digest = password def __repr__(self): return 'User<{}>'.format(self.username) def set_password(self, password: str) -> None: self.password_digest = hash_password(password) def check_password(self, password: str) -> bool: return hash_password(password) == self.password_digest
class MagTasksQueue(db.Model): """ representa as tasks que foram enviadas para o celery para serem executadas """ __tablename__ = 'mag_tasks_queue' task_id = db.Column(db.String(60), primary_key=True)
class Role(db.Model): __tablename__ = 'roles' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(50), nullable=False, server_default=u'', unique=True) # for @roles_accepted() label = db.Column(db.Unicode(255), server_default=u'') # for display purposes
class MagCategorias(db.Model): """ representa as categorias do magento sendo a seção a categoria primaria o grupo a categoria secundária e o subgrupo a terciaria. """ __tablename__ = 'mag_categorias' category_id = db.Column(db.Integer, primary_key=True) parent_id = db.Column(db.Integer, nullable=True) is_active = db.Column(db.String(60)) name = db.Column(db.String(60)) position = db.Column(db.Integer) level = db.Column(db.Integer) create_at = db.Column(db.DateTime(), default=datetime.now) update_at = db.Column(db.DateTime(), onupdate=datetime.now) '''
class MagErrosProdutos(db.Model): """ representa os erros gerados ao realizar ações de cadastro de informações de produtos no integrador. """ __tablename__ = 'mag_error_produtos' id_erro = db.Column(db.Integer, primary_key=True) sku = db.Column(db.Integer) origem = db.Column(db.String(40)) message = db.Column(db.String(100)) update_at = db.Column( db.DateTime(), default=datetime.now, onupdate=datetime.now )
class YearCode(db.Model): __tablename__ = 'yearcodes' id = db.Column(db.Integer, primary_key=True) year = db.Column(db.Integer) semester = db.Column(db.Integer) section = db.Column(db.String(1)) def __str__(self): return f'{self.year} - {self.semester} - {self.section}'
class CissPreVenda(db.Model): """ Representa a tabela PRE_VENDA do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRE_VENDA' idempresa = db.Column(db.Integer, primary_key=True) idprevenda = db.Column(db.Integer, primary_key=True) dtmovimento = db.Column(db.Date(), primary_key=True) nome = db.Column(db.String(80)) observacao = db.Column(db.String(600)) flagimportado = db.Column( db.String(1), db.CheckConstraint("flagimportado='T' or flagimportado='F'")) idclifor = db.Column(db.Integer, db.ForeignKey('CLIENTE_FORNECEDOR.idclifor'))
class Empresa(db.Model): """ Representa a tabela EMPRESA do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'EMPRESA' cli_id = db.Column('IDEMPRESA', db.Integer, primary_key=True) descricao = db.Column('NOMEFANTASIA', db.String(120))
class TermTaxonomies(db.Model): __tablename__ = '2c191c_term_taxonomy' term_taxonomy_id = db.Column(db.Integer, primary_key=True) term_id = db.Column(db.Integer) taxonomy = db.Column(db.String(32)) description = db.Column(db.Text()) def __repr__(self): return 'term_id: {}, taxonomy: {}, description: {}'.format( self.term_id, self.taxonomy, self.description)
class Marca(db.Model): """ Representa a tabela MARCA do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'MARCA' marca_id = db.Column('IDMARCAFABRICANTE', db.Integer, primary_key=True) descricao = db.Column('DESCRICAO', db.String(100))
class Article(db.Model): __tablename__ = 'article' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(80), unique=False) slug = db.Column(db.String(80), unique=True) content = db.Column(db.UnicodeText(), unique=False) created_at = db.Column(db.DateTime, default=datetime.datetime.now(), nullable=False) updated_at = db.Column(db.DateTime, default=datetime.datetime.now(), nullable=False) def __repr__(self): return '<Article %r>' % self.title def get_archives(): query = 'SELECT COUNT(*) as nb, DATE_FORMAT(created_at, "%%M %%Y") as date, DATE_FORMAT(created_at, "%%Y-%%m") as date_format FROM blog_db.article group by DATE_FORMAT(created_at, "%%M %%Y")' return db.engine.execute(query) @classmethod def __declare_last__(cls): db.event.listen(cls, 'before_insert', cls._before_insert) db.event.listen(cls, 'before_update', cls._before_update) @staticmethod def _before_insert(mapper, connection, target): """ Slug article before insert """ new_slug = slugify(target.title) nb_existing_titles = target.query.filter_by(title=target.title).count() if nb_existing_titles == 0: target.slug = new_slug else: nb_existing_titles += 1 target.slug = new_slug + '-' + str(nb_existing_titles) @staticmethod def _before_update(mapper, connection, target): target.updated_at = datetime.datetime.now()
class AuthToken(db.Model): __tablename__ = 'auth_token' id = db.Column(db.Integer, primary_key=True) token = db.Column(db.String(32), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) #user = db.relationship('User', back_populates='auth_tokens') def __init__(self, user_id): self.token = uuid4().hex self.user_id = user_id