posting_pbb_rekap.py 4.76 KB
unitkey = SipkdUnit.get_key_by_kode('3.01.01.02.') #row.unit_kd)
                kodekey = row.kode
                statuskd = '64' #Penerimaan (Rek.Bend)-Penetapan
                row_tbp = SipkdDBSession.query(SipkdTbp).\
                        filter(SipkdTbp.notbp == kodekey,
                                SipkdTbp.unitkey == unitkey).first()
                if not row_tbp:
                    row_tbp = SipkdTbp()


                row_tbp.unitkey  = unitkey
                row_tbp.notbp    = kodekey 
                row_tbp.keybend1 = keybend

                row_tbp.kdstatus = statuskd
                row_tbp.keybend2 = keybend
                row_tbp.idxkode  = '1' #pendapatan
                row_tbp.tgltbp   = row.tgl_trans
                row_tbp.penyetor = 'Bank'#row.uraian
                #row_tbp.alamat   = row.alamat
                row_tbp.uraitbp  = row.uraian #row.rekening_nm
                row_tbp.tglvalid = row.tgl_trans
                SipkdDBSession.add(row_tbp)
                SipkdDBSession.flush()
                if row.pokok+row.denda+row.bunga>0:
                    rekening_key =  SipkdRek4.get_key_by_kode(row.rekening_kd)
                    row_tbpdet =  SipkdDBSession.query(SipkdTbpDet).\
                            filter(SipkdTbpDet.notbp == kodekey,
                                    SipkdTbpDet.mtgkey == rekening_key,
                                    SipkdTbpDet.unitkey  == unitkey
                                    ).first()
                    if not row_tbpdet:
                        row_tbpdet = SipkdTbpDet()
                    
                    row_tbpdet.unitkey = unitkey
                    row_tbpdet.notbp   = kodekey
                    row_tbpdet.nilai   = row.pokok
                    row_tbpdet.mtgkey  = rekening_key
                    row_tbpdet.nojetra = '11' #Penerimaan STS/TBP
                    SipkdDBSession.add(row_tbpdet)
                    SipkdDBSession.flush()
                
                if row.denda+row.bunga>0:
                    rekening_key =  SipkdRek4.get_key_by_kode('4.1.4.07.12.')
                    row_tbpdet =  SipkdDBSession.query(SipkdTbpDet).\
                            filter(SipkdTbpDet.notbp == kodekey,
                                    SipkdTbpDet.mtgkey == rekening_key,
                                     SipkdTbpDet.unitkey  == unitkey 
                                    ).first()
                    if not row_tbpdet:
                        row_tbpdet = SipkdTbpDet()
                        
                    row_tbpdet.unitkey = unitkey
                    row_tbpdet.notbp   = kodekey
                    row_tbpdet.nilai   = row.denda+row.bunga
                    row_tbpdet.mtgkey  = rekening_key
                    row_tbpdet.nojetra = '11' #Penerimaan STS/TBP
                    SipkdDBSession.add(row_tbpdet)
                    SipkdDBSession.flush()
                keybend = '2084_'
                #Insert into BKU  
                row_bku = SipkdDBSession.query(SipkdBkuTbp).\
                        filter(SipkdBkuTbp.unitkey    == unitkey,
                                SipkdBkuTbp.nobkuskpd == kodekey,
                                SipkdBkuTbp.notbp     == 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.uraian
                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()
                """