Commit c36625b1 by aa.gusti

webr

1 parent f8dbc008
...@@ -9,3 +9,5 @@ sipkd_url = 'mssql+pyodbc:///?odbc_connect={}'.format(quoted) ...@@ -9,3 +9,5 @@ sipkd_url = 'mssql+pyodbc:///?odbc_connect={}'.format(quoted)
sipkd_url_master = sipkd_url 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"
webr_url = "postgresql://aagusti:a@192.168.56.1/webr"
from models_webr import Realisasi, Base as WebrBase, DBSession as WebrDBSession
from models_eis import (ArPayment as EisArPayment,
ByPayment as EisByPayment,
Rekening as EisRekening,
EisBase, EisDBSession)
from conf import webr_url as url
from sqlalchemy import create_engine, literal_column, func from sqlalchemy import create_engine, literal_column, func
from datetime import datetime from datetime import datetime
from datetime import date from datetime import date
...@@ -12,9 +6,16 @@ try: ...@@ -12,9 +6,16 @@ try:
except: except:
from urllib.parse import quote_plus, quote from urllib.parse import quote_plus, quote
from models_webr import (ArInvoice as Invoice, ArSspd as Realisasi, from models_webr import (ARInvoice as Invoice, ARSspd as Realisasi,
WebrDBSession as DBSession) WebrDBSession as DBSession)
from models_eis import (ArPayment as EisArPayment,
ByPayment as EisByPayment,
Rekening as EisRekening,
EisBase, EisDBSession)
from conf import webr_url as url
now = datetime.now() now = datetime.now()
tanggal = now.date() tanggal = now.date()
tahun = now.strftime('%Y') tahun = now.strftime('%Y')
...@@ -89,33 +90,35 @@ def validate_parent(tabel, departemen_kd, departemen_nm, rekening, tanggal): ...@@ -89,33 +90,35 @@ def validate_parent(tabel, departemen_kd, departemen_nm, rekening, tanggal):
def import_ar(all=False): def import_ar(all=False):
query = DBSession.query(Invoice.unit_kode, Invoice.unit_nama, query = DBSession.query(Invoice.unit_kode, Invoice.unit_nama,
Invoice.rek_kode, Invoice.rek_nama, Invoice.rek_kode, Invoice.rek_nama,
Realisasi.tgl_bayar, func.to_char(Realisasi.tgl_bayar,'YYYY-MM-DD').label('tgl_bayar'),
func.sum(Realisasi.bunga).label('bunga'), func.sum(Realisasi.bunga).label('bunga'),
func.sum(Realisasi.bayar).label('bayar'), func.sum(Realisasi.bayar).label('bayar'),).\
).\ join(Realisasi, (Realisasi.arinvoice_id == Invoice.id)).\
join(Invoice, (Realisasi.arinvoice_id = Invoice.id)) group_by(Invoice.unit_kode, Invoice.unit_nama,
Invoice.rek_kode, Invoice.rek_nama,
func.to_char(Realisasi.tgl_bayar,'YYYY-MM-DD'))
if not all: if not all:
query = query.filter(Realisasi.tgl_bayar == tanggal) query = query.filter(func.to_char(Realisasi.tgl_bayar,'YYYY-MM-DD') == tanggal.strftime('%Y-%m-%d'))
for row in query.all(): for row in query.all():
eis = EisDBSession.query(EisArPayment).\ eis = EisDBSession.query(EisArPayment).\
filter_by(tahun = str(tahun), filter_by(tahun = str(tahun),
kode = row.rek_kode.strip(), kode = row.rek_kode.strip(),
departemen_kd = row.unit_kode.strip(), departemen_kd = row.unit_kode.strip(),
tanggal = row.tanggal.date(), tanggal = row.tgl_bayar,
).first() ).first()
if not eis: if not eis:
eis = EisArPayment() eis = EisArPayment()
eis.tahun = str(row.tahun) eis.tahun = str(tahun)
eis.kode = row.rek_kode.strip() eis.kode = row.rek_kode.strip()
eis.departemen_kd = row.unit_kode.strip() eis.departemen_kd = row.unit_kode.strip()
eis.tanggal = row.tanggal.date() eis.tanggal = row.tgl_bayar
eis.level_id = row.kd_rekening.count('.') eis.level_id = row.rek_kode.count('.')
eis.nama = row.rek_nama.strip() eis.nama = row.rek_nama.strip()
eis.departemen_nm = row.unit_nama.strip() eis.departemen_nm = row.unit_nama.strip()
eis.jumlah = row.bayar - row.denda eis.jumlah = row.bayar - row.bunga
EisDBSession.add(eis) EisDBSession.add(eis)
if row.denda: if row.bunga:
pass pass
# TODO # TODO
# eis = EisDBSession.query(EisArPayment).\ # eis = EisDBSession.query(EisArPayment).\
......
...@@ -12,6 +12,12 @@ from sqlalchemy import ( ...@@ -12,6 +12,12 @@ from sqlalchemy import (
Index, Index,
create_engine, create_engine,
) )
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
relationship, backref
)
Base = declarative_base() Base = declarative_base()
DBSession = scoped_session(sessionmaker()) DBSession = scoped_session(sessionmaker())
......
...@@ -7,6 +7,8 @@ from sqlalchemy import ( ...@@ -7,6 +7,8 @@ from sqlalchemy import (
Text, Text,
DateTime, DateTime,
String, String,
Float,
Date,
UniqueConstraint, UniqueConstraint,
ForeignKey, ForeignKey,
Index, Index,
...@@ -14,7 +16,6 @@ from sqlalchemy import ( ...@@ -14,7 +16,6 @@ from sqlalchemy import (
) )
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm import ( from sqlalchemy.orm import (
scoped_session, scoped_session,
sessionmaker, sessionmaker,
...@@ -26,11 +27,11 @@ from conf import webr_url as url ...@@ -26,11 +27,11 @@ from conf import webr_url as url
WebrBase = declarative_base() WebrBase = declarative_base()
WebrDBSession = scoped_session(sessionmaker()) WebrDBSession = scoped_session(sessionmaker())
engine_webr = create_engine(url, echo=False) engine_webr = create_engine(url, echo=False)
WebrDBSession.configure(bind=engine) WebrDBSession.configure(bind=engine_webr)
WebrBase.metadata.bind = engine WebrBase.metadata.bind = engine_webr
from models_default import (DefaultModel as BaseDefaultModel, from models_default import (DefaultModel as BaseDefaultModel,
NamaModel) NamaModel, CommonModel)
class DefaultModel(BaseDefaultModel): class DefaultModel(BaseDefaultModel):
@classmethod @classmethod
...@@ -96,15 +97,10 @@ class ARInvoice(CommonModel, WebrBase): ...@@ -96,15 +97,10 @@ class ARInvoice(CommonModel, WebrBase):
update_uid = Column(Integer) update_uid = Column(Integer)
create_date = Column(DateTime(timezone=True)) create_date = Column(DateTime(timezone=True))
update_date = Column(DateTime(timezone=True)) update_date = Column(DateTime(timezone=True))
subjekpajaks = relationship("SubjekPajak", backref=backref('arinvoices'))
objekpajaks = relationship("ObjekPajak", backref=backref('arinvoices'))
wilayahs = relationship("Wilayah", backref=backref('arinvoices'))
units = relationship("Unit", backref=backref('arinvoices'))
UniqueConstraint(tahun_id,unit_id,no_id,name='arinvoice_uq') UniqueConstraint(tahun_id,unit_id,no_id,name='arinvoice_uq')
class ARSspd(CommonModel, WebrBase): class ARSspd(CommonModel, WebrBase):
__tablename__ = 'arsspds' __tablename__ = 'arsspds'
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
tahun_id = Column(Integer) tahun_id = Column(Integer)
...@@ -124,7 +120,6 @@ class ARInvoice(CommonModel, WebrBase): ...@@ -124,7 +120,6 @@ class ARInvoice(CommonModel, WebrBase):
bank_id = Column(Integer) bank_id = Column(Integer)
channel_id = Column(Integer) channel_id = Column(Integer)
arinvoices = relationship("ARInvoice", backref=backref('arsspds')) arinvoices = relationship("ARInvoice", backref=backref('arsspds'))
units = relationship("Unit", backref=backref('arsspds'))
UniqueConstraint(arinvoice_id,pembayaran_ke,name='arsspd_uq') UniqueConstraint(arinvoice_id,pembayaran_ke,name='arsspd_uq')
UniqueConstraint(tahun_id,unit_id,name='arsspd_no_uq') UniqueConstraint(tahun_id,unit_id,name='arsspd_no_uq')
\ 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!