class UsersRoles(db.Model): __tablename__ = 'users_roles' id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer(), db.ForeignKey('users.id', ondelete='CASCADE')) role_id = db.Column(db.Integer(), db.ForeignKey('roles.id', ondelete='CASCADE'))
class EstoqueAnalitico(db.Model): """ Representa a tabela ESTOQUE_ANALITICO do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'ESTOQUE_ANALITICO' idPlanilha = db.Column('IDPLANILHA', db.Integer, primary_key=True) idEmpresa = db.Column('IDEMPRESA', db.Integer, primary_key=True) numSequencia = db.Column('NUMSEQUENCIA', db.Integer, primary_key=True) idVendedor = db.Column('IDVENDEDOR', db.ForeignKey('CLIENTE_FORNECEDOR.IDCLIFOR')) idProduto = db.Column('IDPRODUTO', db.ForeignKey('PRODUTOS_VIEW.IDPRODUTO')) idSubProduto = db.Column('IDSUBPRODUTO', db.ForeignKey('PRODUTOS_VIEW.IDSUBPRODUTO')) qtdProduto = db.Column('QTDPRODUTO', db.Numeric(12, 3)) valTotalLiq = db.Column('VALTOTLIQUIDO', db.Numeric(15, 6)) valTotalBruto = db.Column('VALTOTBRUTO', db.Numeric(15, 6)) dtMovimento = db.Column('DTMOVIMENTO', db.Date()) idOperacao = db.Column('IDOPERACAO', db.Integer) join_produtos = "and_(ViewProduto.id_produto == EstoqueAnalitico.idProduto,\ ViewProduto.id_subproduto == EstoqueAnalitico.idSubProduto)" produto = db.relationship('ViewProduto', primaryjoin=join_produtos) vendedor = db.relationship('ClienteFornecedor')
class CissProdutoEstoque(db.Model): """ Representa a tabela ESTOQUE_SALDO_ATUAL do Ciss """ __tablename__ = 'ESTOQUE_SALDO_ATUAL' __bind_key__ = 'ciss' idproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idproduto'), primary_key=True) idsubproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idsubproduto'), primary_key=True) idlocalestoque = db.Column(db.Integer, primary_key=True) idempresa = db.Column(db.Integer, primary_key=True) qtdatualestoque = db.Column(db.Numeric(12,3)) dtalteracao = db.Column(db.DateTime()) join = "and_(" join = join + "CissProdutoEstoque.idproduto==CissProdutoGrade.idproduto," join = join + "CissProdutoEstoque.idsubproduto==CissProdutoGrade.idsubproduto," join = join + "CissProdutoEstoque.idlocalestoque==1," join = join + "CissProdutoEstoque.idempresa==2)" produto = db.relationship( 'CissProdutoGrade', backref='saldo', primaryjoin=join )
class StokyMetasView(db.Model): """ Representa a View STOKY_METAS do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'STOKY_METAS' id_planilha = db.Column('IDPLANILHA', db.Integer, primary_key=True) id_empresa = db.Column('IDEMPRESA', db.Integer, db.ForeignKey('EMPRESA.IDEMPRESA'), primary_key=True) id_sequencia = db.Column('NUMSEQUENCIA', db.Integer, primary_key=True) id_vendedor = db.Column('IDVENDEDOR', db.Integer, db.ForeignKey('CLIENTE_FORNECEDOR.IDCLIFOR'), nullable=False) dt_movimento = db.Column('DTMOVIMENTO', db.Date()) id_produto = db.Column('IDSUBPRODUTO', db.Integer, db.ForeignKey('PRODUTOS_VIEW.IDSUBPRODUTO'), nullable=False) id_marca = db.Column('IDMARCAFABRICANTE', db.Integer, db.ForeignKey('MARCA.IDMARCAFABRICANTE')) val_venda = db.Column('VENDA', db.Numeric(10, 2)) val_devolucao = db.Column('DEVOLUCAO', db.Numeric(10, 2)) val_lucro = db.Column('LUCRO', db.Numeric(10, 2)) # Relacionamentos da View vendedor = db.relationship("ClienteFornecedor") produto = db.relationship('ViewProduto') marca = db.relationship('Marca')
class CissProdutoPreco(db.Model): """ Representa a tabela POLITICA_PRECO_PRODUTO do Ciss """ __tablename__ = 'POLITICA_PRECO_PRODUTO' __bind_key__ = 'ciss' idproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idproduto'), primary_key=True) idsubproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idsubproduto'), primary_key=True) idempresa = db.Column(db.Integer, primary_key=True) valprecovarejo = db.Column(db.Numeric(15, 6)) valpromvarejo = db.Column(db.Numeric(15, 6)) dtinipromocaovar = db.Column(db.Date()) dtfimpromocaovar = db.Column(db.Date()) join = "and_(" join = join + "CissProdutoPreco.idproduto==CissProdutoGrade.idproduto," join = join + "CissProdutoPreco.idsubproduto==CissProdutoGrade.idsubproduto," join = join + "CissProdutoPreco.idempresa==2)" produto = db.relationship( 'CissProdutoGrade', backref='preco', primaryjoin=join )
class ViewSaldoProduto(db.Model): """ Representa a View PRODUTOS_SALDOS_VIEW do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRODUTOS_SALDOS_VIEW' id_produto = db.Column('IDPRODUTO', db.ForeignKey('PRODUTOS_VIEW.IDPRODUTO'), primary_key=True) id_subproduto = db.Column('IDSUBPRODUTO', db.ForeignKey('PRODUTOS_VIEW.IDSUBPRODUTO'), primary_key=True) id_empresa = db.Column('IDEMPRESA', db.Integer, primary_key=True) qtd_atual = db.Column('QTDATUALESTOQUE', db.Numeric(10, 2)) qtd_disponivel = db.Column('QTDDISPONIVEL', db.Numeric(10, 2)) qtd_reserva = db.Column('QTDSALDORESERVA', db.Numeric(10, 2)) # Relacionamentos da View v_produto = db.relationship( 'ViewProduto', primaryjoin= "and_(ViewSaldoProduto.id_produto == ViewProduto.id_produto, " "ViewSaldoProduto.id_subproduto == ViewProduto.id_subproduto)", backref=db.backref('v_produto_saldo'))
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 Participate(db.Model): __tablename__ = "participate" id = db.Column(db.Integer, primary_key=True) signaler_id = db.Column(db.Integer, db.ForeignKey("users.id")) meeting_id = db.Column(db.Integer, db.ForeignKey("meetings.id")) signaler = relationship("User", backref="participate_meetings") meeting = relationship("Meeting", back_populates="participate_users") short_opinion = db.Column(db.String(100)) def __repr__(self): return "<%s %s->%s>" % (self.__class__.__name__, self.signaler.username, self.meeting.title)
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 CissPreVendaProd(db.Model): """ Representa a tabela PRE_VENDA_PROD do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRE_VENDA_PROD' idempresa = db.Column(db.Integer, primary_key=True) dtmovimento = db.Column(db.Date(), primary_key=True) idprevenda = db.Column(db.Integer, db.ForeignKey('PRE_VENDA.idprevenda'), primary_key=True) idproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idproduto'), primary_key=True) idsubproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idsubproduto'), primary_key=True)
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 Library(db.Model): __tablename__ = 'library' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) user = db.relationship('User', backref='library', uselist=False) one = db.Column(db.Integer) two = db.Column(db.Integer) three = db.Column(db.Integer) four = db.Column(db.Integer)
class CissOrcamentoProd(db.Model): """ Representa a tabela ORCAMENTO_PROD do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'ORCAMENTO_PROD' idempresa = db.Column(db.Integer, primary_key=True) idproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idproduto'), primary_key=True) idsubproduto = db.Column(db.ForeignKey('PRODUTO_GRADE.idsubproduto'), primary_key=True) idorcamento = db.Column(db.ForeignKey('ORCAMENTO.idorcamento'), primary_key=True) qtdproduto = db.Column(db.Numeric(12, 3)) idvendedor = db.Column(db.Integer) valtotliquido = db.Column(db.Numeric(14, 2))
class SugestaoCompra(db.Model): """ Representa a tabela PRODUTO_COMPRAS do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRODUTO_COMPRAS' idEmpresa = db.Column('IDEMPRESA', db.Integer, primary_key=True) idProduto = db.Column('IDPRODUTO', db.ForeignKey('PRODUTOS_VIEW.IDPRODUTO'), primary_key=True) idSubProduto = db.Column('IDSUBPRODUTO', db.ForeignKey('PRODUTOS_VIEW.IDSUBPRODUTO'), primary_key=True) qtdMinima = db.Column('QTDESTMINIMO', db.Integer) qtdMaxima = db.Column('QTDESTMAXIMO', db.Integer) tipoGiro = db.Column('TIPOGIRO', db.String(1))
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
class MeetingDemand(db.Model): __tablename__ = "meeting_demand" id = db.Column(db.Integer, primary_key=True) signaler_id = db.Column(db.Integer, db.ForeignKey("users.id")) publisher_id = db.Column(db.Integer, db.ForeignKey("publisher_info.id")) signaler = relationship("User", backref="demanding_meetings") publisher = relationship("PublisherInfo", backref="demanded_meetings") title = db.Column(db.String) introduce = db.Column(db.String) is_enabled = db.Column(db.Boolean, default=True) def __repr__(self): return "<%s %s>" % (self.__class__.__name__, self.title)
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 User(UserMixin, db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(128), unique=True, nullable=False) password = db.Column(db.String(256), nullable=False) roll_no = db.Column(db.String(12)) first_name = db.Column(db.String(50)) last_name = db.Column(db.String(50)) gender = db.Column(db.String(1)) city = db.Column(db.String(50)) branch_id = db.Column(db.Integer, db.ForeignKey('branches.id')) branch = db.relationship('Branch', backref='students') yearcode_id = db.Column(db.Integer, db.ForeignKey('yearcodes.id')) yearcode = db.relationship('YearCode', backref='students') email = db.Column(db.String(40)) is_admin = db.Column(db.Boolean, default=False) is_active = db.Column(db.Boolean, default=True) authenticated = db.Column(db.Boolean, default=False) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) ''' def change_password(self, ''' def get_id(self): return self.id def is_authenticated(self): return self.authenticated def is_anonymous(self): return False
class CissProdutoTributacao(db.Model): """ Representa a tabela PRODUTO_TRIBUTACAO_ESTADO do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'PRODUTO_TRIBUTACAO_ESTADO' uf = db.Column(db.String(2), primary_key=True) idproduto = db.Column( db.ForeignKey('PRODUTO_GRADE.idproduto'), primary_key=True ) idsubproduto = db.Column( db.ForeignKey('PRODUTO_GRADE.idsubproduto'), primary_key=True ) pericment = db.Column(db.Integer()) pericmsubst = db.Column(db.Integer()) permargemsubsti = db.Column(db.Integer()) permargemsubstisai = db.Column(db.Integer()) idsittribent = db.Column(db.Integer()) tiposittribent = db.Column(db.Integer())
class MetasPrevisao(db.Model): """ Representa a tabela METAS_PREVISAO do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'METAS_PREVISAO' idMeta = db.Column('IDMETA', db.ForeignKey('METAS.IDMETA'), primary_key=True) idSeq = db.Column('NUMSEQUENCIA', db.Integer, primary_key=True) valorVenda = db.Column('METAVLRVENDA', db.Numeric(10, 2)) meta = db.relationship("Metas", backref=db.backref('metasPrevisao'))
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 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 Notas(db.Model): """ Representa a tabela NOTAS do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'NOTAS' idPlanilha = db.Column('IDPLANILHA', db.Integer, primary_key=True) idEmpresa = db.Column('IDEMPRESA', db.Integer, primary_key=True) numNota = db.Column('NUMNOTA', db.Integer) idCliFor = db.Column('IDCLIFOR', db.ForeignKey('CLIENTE_FORNECEDOR.IDCLIFOR')) dtMovimento = db.Column('DTMOVIMENTO', db.Date()) tipoNota = db.Column('TIPONOTAFISCAL', db.String(1)) db.CheckConstraint("tipoNota=='E' or tipoNota='S'") cliente = db.relationship('ClienteFornecedor')
class Meeting(db.Model): __tablename__ = "meetings" id = db.Column(db.Integer, primary_key=True) publisher_id = db.Column(db.Integer, db.ForeignKey("publisher_info.id")) publisher = relationship("PublisherInfo", backref="make_meetings") title = db.Column(db.String) content = db.Column(db.String) maximum_people = db.Column(db.Integer) location = db.Column(db.String(32)) entry_fee = db.Column(db.Integer) entry_fee_type = db.Column(db.String(16)) meeting_photo_path = db.Column(db.String) entry_due_time = db.Column(db.DateTime) start_time = db.Column(db.DateTime) end_time = db.Column(db.DateTime) created_time = db.Column(db.DateTime, default=datetime.datetime.utcnow) participate_users = db.relationship("Participate", back_populates="meeting", lazy="dynamic") def __repr__(self): return "<%s %s>" % (self.__class__.__name__, self.title)
class ViewContasReceber(db.Model): """ Representa a View CONTAS_RECEBER_SALDOS_VIEW do Ciss """ __bind_key__ = 'ciss' __tablename__ = 'CONTAS_RECEBER_SALDOS_VIEW' idEmpresa = db.Column('IDEMPRESA', db.Integer, primary_key=True) idCliFor = db.Column('IDCLIFOR', db.ForeignKey('CLIENTE_FORNECEDOR.IDCLIFOR'), primary_key=True) idTitulo = db.Column('IDTITULO', db.Integer, primary_key=True) serieNota = db.Column('SERIENOTA', db.String(3), primary_key=True) digTitulo = db.Column('DIGITOTITULO', db.String(2), primary_key=True) valTitulo = db.Column('VALTITULO', db.Numeric(14, 2)) valLiqTitulo = db.Column('VALLIQUIDOTITULO', db.Numeric(14, 2)) valPagoTitulo = db.Column('SUMVALPAGAMENTOTITULO', db.Numeric(14, 2)) dtMovimento = db.Column('DTMOVIMENTO', db.Date()) dtVencimento = db.Column('DTVENCIMENTO', db.Date()) jurosMora = db.Column('SUMVALJUROSMORA', db.Numeric(14, 2)) jurosCobrado = db.Column('SUMVALJUROSCOBRADO', db.Numeric(14, 2)) cliente = db.relationship('ClienteFornecedor')
class CissProdutoGrade(db.Model): """ Representa a tabela PRODUTO_GRADE do Ciss """ __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()) ncm = db.Column(db.ForeignKey('NCM.ncm')) flaginativo = db.Column(db.String(1), db.CheckConstraint( "flaginativo='T' or flaginativo='F'")) produto = db.relationship('CissProduto') join = "and_(" join = join + "CissProdutoGrade.idproduto == CissConfereMercadoria.idproduto," join = join + "CissProdutoGrade.idsubproduto == CissConfereMercadoria.idsubproduto)" join_confere_mercadoria = join confere_mercadoria = db.relationship( 'CissConfereMercadoria', primaryjoin=join_confere_mercadoria, backref='produto_grade_confere' ) join = "and_(" join = join + "CissProdutoGrade.idproduto == CissProdutoTributacao.idproduto," join = join + "CissProdutoGrade.idsubproduto == CissProdutoTributacao.idsubproduto)" join_produto_tributacao = join produto_tributacao = db.relationship( 'CissProdutoTributacao', primaryjoin=join_produto_tributacao, backref='produto_grade_tributacao' ) join = "and_(" join = join + "CissProdutoGrade.idproduto == CissProdutoFornecedor.idproduto," join = join + "CissProdutoGrade.idsubproduto == CissProdutoFornecedor.idsubproduto)" join_codigo_fornecedor = join codigo_fornecedor = db.relationship( 'CissProdutoFornecedor', primaryjoin=join_codigo_fornecedor, backref='produto_grade' ) join = "and_(CissNcm.ncm == CissProdutoGrade.ncm)" join_ncm_produto = join ncm_produto = db.relationship( 'CissNcm', primaryjoin=join_ncm_produto, backref='produtos' )
from app.application import db from flask_security import UserMixin, RoleMixin roles_users = db.Table('roles_users', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) class Role(db.Model, RoleMixin): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) 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'))