PyJeeves/pyjeeves/models/meta.py

181 lines
6.5 KiB
Python

# -*- coding: utf-8 -*-
"""
pyjeeves.models
~~~~~~~~~~~~~~~~~~~~~~
Jeeves meta data models
"""
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import (Column, Integer, BigInteger, SmallInteger,
String, ForeignKey, Numeric, DateTime, Boolean)
from sqlalchemy.orm import relationship
from sqlalchemy.schema import PrimaryKeyConstraint
Base = declarative_base()
class InvoiceRows(Base):
__tablename__ = 'jvs_invoice_rows'
__table_args__ = (
PrimaryKeyConstraint(name='invoice_rows_primary_key', mssql_clustered=True),)
FaktNr = Column(BigInteger, primary_key=True)
FaktRadnr = Column(Integer, primary_key=True)
ForetagKod = Column(SmallInteger, primary_key=True)
FtgNr = Column(String(length=16), ForeignKey(u'jvs_customers.FtgNr'))
OrderNr = Column(BigInteger)
OrdTyp = Column(SmallInteger)
Saljare = Column(String(length=16))
KundKategoriKod = Column(SmallInteger) # Can't have foreign key, as foreing data is mutalble
ArtNr = Column(String(length=16)) # Can't have foreign key, as foreing data is mutalble
EnhetsKod = Column(String(length=8))
VaruGruppKod = Column(String(length=8))
Redovisnar = Column(SmallInteger)
Period = Column(SmallInteger)
FaktDat = Column(DateTime)
FaktTB = Column(Numeric(precision=19, scale=4))
FaktTG = Column(Numeric(precision=8, scale=3))
FaktLevAnt = Column(Numeric(precision=15, scale=6))
FaktLevAntAltEnh = Column(Numeric(precision=15, scale=6))
FPris = Column(Numeric(precision=19, scale=4))
FaktRadSumma = Column(Numeric(precision=19, scale=4))
ValKod = Column(String(length=3))
ValKurs = Column(Numeric(precision=22, scale=14))
RowCreatedDt = Column(DateTime)
RowUpdatedDt = Column(DateTime)
RowUpdatedBy = Column(String(length=16))
customer = relationship(u'Customers')
articles = relationship(u'Articles', foreign_keys=[ArtNr],
primaryjoin='Articles.ArtNr == InvoiceRows.ArtNr')
class OrderRows(Base):
__tablename__ = 'jvs_order_rows'
__table_args__ = (
PrimaryKeyConstraint(name='order_rows_primary_key', mssql_clustered=True),)
OrderNr = Column(BigInteger, primary_key=True)
OrdRadnr = Column(Integer, primary_key=True)
OrdRadNrStrPos = Column(Integer, primary_key=True)
OrdRestNr = Column(SmallInteger, primary_key=True)
ForetagKod = Column(SmallInteger, primary_key=True)
ArtNr = Column(String(length=16))
FtgNr = Column(String(length=16), ForeignKey(u'jvs_customers.FtgNr'))
vb_pris = Column(Numeric(precision=19, scale=4))
OrdAntal = Column(Numeric(precision=15, scale=6))
OrdAntalAltEnh = Column(Numeric(precision=15, scale=6))
AltEnhetKod = Column(String(length=16))
OrdLevAntal = Column(Numeric(precision=15, scale=6))
OrdLevAntalAltEnh = Column(Numeric(precision=15, scale=6))
FaktNr = Column(BigInteger)
OrdDatum = Column(DateTime)
OrdBerLevDat = Column(DateTime)
OrdBerednDat = Column(DateTime)
OrdLevDat = Column(DateTime)
# Data from SalesPersonel (salj) in Jeeves
Saljare = Column(String(length=32))
SaljareNamn = Column(String(length=64))
# Data from OrderRowStatuses (xs) in Jeeves
OrdRadSt = Column(SmallInteger)
OrdRStatBeskr = Column(String(length=64))
# Data from OrderTypes (x6) in Jeeves
OrdTyp = Column(SmallInteger)
OrdTypBeskr = Column(String(length=64))
RowCreatedDt = Column(DateTime)
RowCreatedBy = Column(String(length=16))
RowUpdatedDt = Column(DateTime)
RowUpdatedBy = Column(String(length=16))
customer = relationship(u'Customers')
invoice_rows = relationship(u'InvoiceRows', foreign_keys=[FaktNr],
primaryjoin='InvoiceRows.FaktNr == OrderRows.FaktNr')
articles = relationship(u'Articles', foreign_keys=[ArtNr],
primaryjoin='Articles.ArtNr == OrderRows.ArtNr')
class Articles(Base):
__tablename__ = 'jvs_articles'
__table_args__ = (
PrimaryKeyConstraint(name='articles_primary_key', mssql_clustered=True),)
ArtNr = Column(String(length=16), primary_key=True)
ForetagKod = Column(SmallInteger, primary_key=True)
ArtBeskr = Column(String(length=128))
ArtBeskr2 = Column(String(length=256))
ArtBeskrSpec = Column(String(length=128))
ArtProdKonto = Column(String(length=8))
ArtProdKontoBeskr = Column(String(length=64))
VaruGruppKod = Column(String(length=8))
VaruGruppBeskr = Column(String(length=64))
ArtProdKlass = Column(String(length=8))
ArtProdklBeskr = Column(String(length=64))
ArtKod = Column(SmallInteger)
ArtTypBeskr = Column(String(length=64))
LagTyp = Column(SmallInteger)
EnhetsKod = Column(String(length=8))
LevNr = Column(String(length=16))
ItemStatusCode = Column(Integer)
LagSaldoArtikel = Column(Numeric(precision=15, scale=6))
RowCreatedDt = Column(DateTime)
RowCreatedBy = Column(String(length=16))
RowUpdatedDt = Column(DateTime)
RowUpdatedBy = Column(String(length=16))
class Customers(Base):
__tablename__ = 'jvs_customers'
__table_args__ = (
PrimaryKeyConstraint(name='customers_primary_key', mssql_clustered=True),)
FtgNr = Column(String(length=16), primary_key=True)
ForetagKod = Column(SmallInteger, primary_key=True)
BetKod = Column(String(length=8))
Saljare = Column(String(length=16))
kundbetalarenr = Column(String(length=16))
Makulerad = Column(Boolean)
MakDateTime = Column(DateTime)
RowCreatedDt = Column(DateTime)
RowCreatedBy = Column(String(length=16))
RowUpdatedDt = Column(DateTime)
RowUpdatedBy = Column(String(length=16))
# Data from SalesPersonel (salj) in Jeeves
Saljare = Column(String(length=32))
SaljareNamn = Column(String(length=64))
# Data from CustomerCategories (x1k) in Jeeves
KundKategoriKod = Column(SmallInteger)
KundKatBeskr = Column(String(length=64))
# Data from CustomerClasses (x1kk) in Jeeves
Kundklass = Column(String(length=16))
KundKlassBeskr = Column(String(length=64))
# Data from Companies (fr) in Jeeves
OrgNr = Column(String(length=32))
FtgNamn = Column(String(length=64))
FtgPostAdr1 = Column(String(length=64))
FtgPostAdr2 = Column(String(length=64))
FtgPostAdr3 = Column(String(length=64))
FtgPostadr4 = Column(String(length=64))
FtgPostadr5 = Column(String(length=128))
FtgPostnr = Column(String(length=16))
LandsKod = Column(String(length=16))
FtgPostLevAdr3 = Column(String(length=64))
FtgLevPostNr = Column(String(length=16))