posting_bphtb_payment.txt
5.2 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
unitkey = SipkdUnit.get_key_by_kode('3.01.01.02.') #row.unit_kd)
kodekey = '-'.join([row.tgl_trans.strftime('%Y%m%d'),row.kode])
row_tbp.notbp = kodekey
row_tbp.tgltbp = row.tgl_trans
row_tbp.penyetor = row.nama
row_tbp.alamat = row.alamat
row_tbp.uraitbp = row.rekening_nm
row_tbp.tglvalid = row.tgl_trans
if not row.ref_kode or row.ref_kode=='0' or row.ref_kode=='00':
statuskd = '63' #Penerimaan (Rek.Bend)-Tanpa Penetapan
else:
statuskd = '64' #Penerimaan (Rek.Bend)-Penetapan
row_tbp.kdstatus = statuskd
row_tbp = SipkdDBSession.query(SipkdTbp).\
filter_by(notbp=kodekey, unitkey=unitkey).first()
if not row_tbp:
row_tbp = SipkdTbp()
keybend = '2084_'
# row_tbp.unitkey = unitkey
# row_tbp.keybend1 = keybend
# row_tbp.keybend2 = keybend
# row_tbp.idxkode = '1' #pendapatan
SipkdDBSession.add(row_tbp)
SipkdDBSession.flush()
if row.pokok+row.denda+row.bunga>0:
mtgkey = SipkdRek4.get_key_by_kode(row.rekening_kd)
row_tbpdet = SipkdDBSession.query(SipkdTbpDet).\
filter_by(notbp=kodekey, unitkey=unitkey, mtgkey=mtgkey).\
first()
if not row_tbpdet:
row_tbpdet = SipkdTbpDet()
row_tbpdet.unitkey = unitkey
row_tbpdet.notbp = kodekey
row_tbpdet.nilai = row.pokok+row.denda+row.bunga
row_tbpdet.mtgkey = SipkdRek4.get_key_by_kode(row.rekening_kd)
row_tbpdet.nojetra = '11' #Penerimaan STS/TBP
SipkdDBSession.add(row_tbpdet)
SipkdDBSession.flush()
keybend = '2084_'
row_bku = SipkdDBSession.query(SipkdBkuTbp).\
filter_by(notbp=kodekey, unitkey=unitkey, nobkuskpd=kodekey).\
first()
if not row_bku:
row_bku = SipkdBkuTbp()
row_bku.unitkey = unitkey
row_bku.nobkuskpd = kodekey
row_bku.notbp = kodekey
row_bku.idxttd = keybend
row_bku.tglbkuskpd = row.tgl_trans
row_bku.uraian = row.nama
#row_bku.tglvalid = row.tgl_trans
row_bku.keybend = keybend
SipkdDBSession.add(row_bku)
SipkdDBSession.flush()
row_bku.tglvalid = row.tgl_trans
SipkdDBSession.add(row_bku)
SipkdDBSession.flush()
""""if (row.denda+row.bunga)>0:
row_tbpdet = SipkdTbpDet()
row_tbpdet.UNITKEY = unitkey
row_tbpdet.NOTBP = kodekey
row_tbpdet.NILAI = row.denda+row.bunga
row_tbpdet.MTGKEY = SipkdRek4.get_key_by_kode(row.rekening_kd)
row_tbpdet.NOJETRA = '11' #Penerimaan STS/TBP
SipkdDBSession.add(row_tbpdet)
SipkdDBSession.flush()
if row_skp:
row_skptbp = SipkdSkpTbp()
row_skptbp.UNITKEY = unitkey
row_skptbp.NOTBP = row_tbp.NOTBP
row_skptbp.NOSKP = row.ref_kode
SipkdDBSession.add(row_skptbp)
SipkdDBSession.flush()
"""
row.posted = 1
DBSession.add(row)
DBSession.flush()
else:
unitkey = SipkdUnit.get_key_by_kode('3.01.01.02.') #row.unit_kd)
notbp = '-'.join([row.tgl_trans.strftime('%Y%m%d'),row.kode])
row_bku = SipkdDBSession.query(SipkdBkuTbp).\
filter_by(unitkey = unitkey,
notbp = notbp,
).delete()
row_tbpdet = SipkdDBSession.query(SipkdTbpDet).\
filter_by(unitkey = unitkey,
notbp = notbp).delete()
# row_skptbp = SipkdDBSession.query(SipkdSkpTbp).\
# filter_by(unitkey = unitkey,
# notbp = notbp).delete()
row_tbp = SipkdDBSession.query(SipkdTbp).\
filter_by(unitkey = unitkey,
notbp = notbp).delete()
SipkdDBSession.flush()
row.posted = 0
DBSession.add(row)
DBSession.flush()