Commit 96916aba by aa.gusti

rekening

1 parent eaf1dff5
...@@ -92,3 +92,5 @@ ENV/ ...@@ -92,3 +92,5 @@ ENV/
# Rope project settings # Rope project settings
.ropeproject .ropeproject
conf.py
...@@ -6,5 +6,6 @@ except: ...@@ -6,5 +6,6 @@ except:
url = 'DRIVER={FreeTDS};Server=192.168.56.1;Database=V@LID49V6_2015;UID=sa;PWD=a;TDS_Version=8.0;Port=1433;' url = 'DRIVER={FreeTDS};Server=192.168.56.1;Database=V@LID49V6_2015;UID=sa;PWD=a;TDS_Version=8.0;Port=1433;'
quoted = quote_plus(url) quoted = quote_plus(url)
sipkd_url = 'mssql+pyodbc:///?odbc_connect={}'.format(quoted) sipkd_url = 'mssql+pyodbc:///?odbc_connect={}'.format(quoted)
sipkd_url_master = sipkd_url
#pyodbc:///?odbc_connect=DRIVER%%3D%%7BFreeTDS%%7D%%3BServer%%3D192.168.56.1%%3BDatabase%%3DV%%40LID49V6_2015%%3BUID%%3Dsa%%3BPWD%%3Da%%3BPort%%3D1433%%3BTDS_Version%%3D8.0" #pyodbc:///?odbc_connect=DRIVER%%3D%%7BFreeTDS%%7D%%3BServer%%3D192.168.56.1%%3BDatabase%%3DV%%40LID49V6_2015%%3BUID%%3Dsa%%3BPWD%%3Da%%3BPort%%3D1433%%3BTDS_Version%%3D8.0"
eis_url = "postgresql://aagusti:a@192.168.56.1/os" eis_url = "postgresql://aagusti:a@192.168.56.1/os"
...@@ -137,7 +137,20 @@ class ByPayment(NamaModel, EisBase): ...@@ -137,7 +137,20 @@ class ByPayment(NamaModel, EisBase):
level_id = Column(Integer) level_id = Column(Integer)
__table_args__ = (UniqueConstraint('kode'), __table_args__ = (UniqueConstraint('kode'),
TABLE_ARGS) TABLE_ARGS)
class Rekening(NamaModel, EisBase):
__tablename__ = 'sipkd_rekening'
tahun = Column(Integer)
level_id = Column(SmallInteger, default=1)
parent_id = Column(Integer, ForeignKey('eis.sipkd_rekening.id'),)
status = Column(SmallInteger, default=1)
defsign = Column(SmallInteger, default=1)
children = relationship("Rekening",
backref=backref('parent', remote_side='Rekening.id'))
__table_args__= (
UniqueConstraint('kode', 'tahun', name='rekening_uq'),
#ForeignKeyConstraint(['parent_id'], ForeignKey('rekening.id')),
TABLE_ARGS
)
EisBase.metadata.create_all(engine) EisBase.metadata.create_all(engine)
\ No newline at end of file \ No newline at end of file
from sipkd_master_models import RekPendapatan, RekBelanja, RekBiaya, SipkdDBSession, SipkdBase
from eis_models import Rekening as EisRekening, EisBase, EisDBSession
from conf import sipkd_url, sipkd_url_master
from sqlalchemy import create_engine
from datetime import datetime
from datetime import date
eng_master = create_engine(sipkd_url_master)
SipkdDBSession.configure(bind=eng_master)
SipkdBase.metadata.bind = eng_master
SipkdBase.metadata.create_all(eng_master)
now = datetime.now()
tanggal = now.date()
tahun = now.strftime('%Y')
def import_rekening(tabel):
query = SipkdDBSession.query(tabel)
for row in query.all():
rek = EisDBSession.query(EisRekening).\
filter_by(tahun=tahun,
kode=row.kdper.strip()
).first()
if not rek:
rek = EisRekening()
rek.tahun = tahun
rek.kode = row.kdper.strip()
rek.nama = row.nmper.strip()
rek.level_id = row.kdper.strip().count('.')
EisDBSession.add(rek)
EisDBSession.flush()
EisDBSession.commit()
import_rekening(RekPendapatan)
import_rekening(RekBelanja)
import_rekening(RekBiaya)
\ No newline at end of file \ No newline at end of file
sipkd_maser_models
\ No newline at end of file \ No newline at end of file
from datetime import datetime
from sqlalchemy import (
Column,
Integer,
Text,
DateTime,
ForeignKey,
UniqueConstraint,
String,
SmallInteger,
BigInteger
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
relationship,
backref
)
TABLE_ARGS = {'extend_existing':True,
#'schema':'sipkd'
}
SipkdBase = declarative_base()
SipkdDBSession = scoped_session(sessionmaker())
class RekBiaya(SipkdBase):
__tablename__ = 'matangb'
mtgkey = Column(String(10), primary_key=True)
kdper = Column(String(30))
nmper = Column(String(200))
mtglevel = Column(String(2))
kdkhusus = Column(String(1))
type = Column(String(2))
__table_args__ = TABLE_ARGS
class RekPendapatan(SipkdBase):
__tablename__ = 'matangd'
mtgkey = Column(String(10), primary_key=True)
kdper = Column(String(30))
nmper = Column(String(200))
mtglevel = Column(String(2))
kdkhusus = Column(String(1))
type = Column(String(2))
__table_args__ = TABLE_ARGS
class RekBelanja(SipkdBase):
__tablename__ = 'matangr'
mtgkey = Column(String(10), primary_key=True)
kdper = Column(String(30))
nmper = Column(String(200))
mtglevel = Column(String(2))
kdkhusus = Column(String(1))
type = Column(String(2))
__table_args__ = TABLE_ARGS
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!