eis.py
4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
from datetime import datetime
from sqlalchemy import (
Column,
Integer,
BigInteger,
SmallInteger,
Text,
DateTime,
String,
UniqueConstraint,
ForeignKey,
Index
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
relationship, backref
)
from ..models import (EisDBSession, DefaultModel, EisBase, NamaModel, TABLE_ARGS)
class Eis(EisBase, NamaModel):
__tablename__ = 'harian'
tahun = Column(Integer)
amt_tahun = Column(BigInteger)
amt_bulan = Column(BigInteger)
amt_minggu = Column(BigInteger)
amt_hari = Column(BigInteger)
order_id = Column(SmallInteger)
aktif = Column(SmallInteger)
__table_args__ = TABLE_ARGS
@classmethod
def sum_data(cls, kode, tahun):
q = EisDBSession.query(cls).filter_by(
kode==kode,
tahun=tahun).first()
if q:
sum_minggu = q.amt_minggu+q.amt_hari
sum_bulan = q.amt_bulan + sum_minggu
sum_tahun = q.amt_tahun + sum_bulan
return dict(sum_hari = sum_hari, sum_minggu = sum_minggu,
sum_bulan = sum_bulan, sum_tahun = sum_tahun)
return {}
@classmethod
def sum_order_id(cls, tahun):
q = EisDBSession.query(cls).filter_by(
tahun=tahun)
if q:
return q
return
class Slide(NamaModel, EisBase):
__tablename__ = 'slides'
source_type = Column(String(16)) #grid, image, chart-line, chart-pie, chart-bar
source_id = Column(String(128))
order_id = Column(Integer, default=0)
aktif = Column(SmallInteger, default=0)
__table_args__ = TABLE_ARGS
class Chart(NamaModel, EisBase):
__tablename__ = 'charts'
chart_type = Column(String(16))
label = Column(String(128)) #digunakan jika chart membutuhkan label
devider = Column(BigInteger, default=1)
status = Column(SmallInteger, default=0)
__table_args__ = (UniqueConstraint('kode'),
TABLE_ARGS)
class ChartItem(NamaModel, EisBase):
__tablename__ = 'chart_items'
value_1 = Column(BigInteger, default=0)
value_2 = Column(BigInteger, default=0)
value_3 = Column(BigInteger, default=0)
value_4 = Column(BigInteger, default=0)
value_5 = Column(BigInteger, default=0)
value_6 = Column(BigInteger, default=0)
value_7 = Column(BigInteger, default=0)
value_8 = Column(BigInteger, default=0)
value_9 = Column(BigInteger, default=0)
value10 = Column(BigInteger, default=0)
value11 = Column(BigInteger, default=0)
value12 = Column(BigInteger, default=0)
chart_id = Column(Integer, ForeignKey('eis.charts.id'))
source_type = Column(String(32), default='realisasi')
rekening_kd = Column(String(128))
color = Column(String(6))
highlight = Column(String(6))
is_sum = Column(SmallInteger, default=0)
updated = Column(DateTime)
created = Column(DateTime)
create_uid = Column(Integer)
update_uid = Column(Integer)
chart = relationship("Chart")
status = Column(SmallInteger, default=0)
__table_args__ = (UniqueConstraint('kode'),
TABLE_ARGS)
class EisParams(NamaModel, EisBase):
__tablename__ = 'params'
last_update = Column(DateTime(timezone=False), nullable=True)
__table_args__ = (TABLE_ARGS)
class LastUpdate(DefaultModel, EisBase):
__tablename__ = 'last_update'
wells = Column(DateTime(timezone=False), nullable=True)
__table_args__ = (TABLE_ARGS)
class ArPayment(NamaModel, EisBase):
__tablename__ = 'ar_payment'
tanggal = Column(DateTime(timezone=False))
denda = Column(BigInteger)
bayar = Column(BigInteger)
__table_args__ = (UniqueConstraint('tanggal','kode'),
TABLE_ARGS)