posting_pbb.py 2.38 KB
            keybend = '2084_'
            unitkey = unitkey = SipkdUnit.get_key_by_kode('3.01.01.02.') #row.unit_kd)
            if request.session['posted']==0:
                row_skp = SipkdSkp()
                row_skp.unitkey  = unitkey #SipkdUnit.get_key_by_kode(row.unit_kd)
                row_skp.noskp    = "%s" % (row.kode)
                row_skp.kdstatus = '70'
                row_skp.keybend  = keybend
                row_skp.idxkode  = '1' #pendapatan
                row_skp.kenaikan = 0
                row_skp.npwpd    = row.kode[:18][:-10]
                row_skp.tglskp   = row.tgl_tetap
                row_skp.penyetor = row.nama
                row_skp.alamat   = row.alamat
                row_skp.uraiskp  = row.rekening_nm
                row_skp.tgltempo = row.jth_tempo
                #row_skp.tglvalid = datetime.now()
                row_skp.bunga    = row.denda+row.bunga
                SipkdDBSession.add(row_skp)
                SipkdDBSession.flush()

                if row.pokok<>0:
                    row_skpdet = SipkdSkpDet()
                    row_skpdet.unitkey = row_skp.unitkey
                    row_skpdet.noskp   = row_skp.noskp
                    row_skpdet.nilai   = row.pokok
                    row_skpdet.mtgkey  = SipkdRek4.get_key_by_kode(row.rekening_kd)
                    row_skpdet.nojetra = '11' #Penerimaan STS/TBP
                    SipkdDBSession.add(row_skpdet)
                    SipkdDBSession.flush()

                row_skp.tglvalid = row_skp.tglskp
                SipkdDBSession.add(row_skp)
                SipkdDBSession.flush()
                row.posted = 1
                DBSession.add(row)
                DBSession.flush()
            else:
                unitkey = SipkdUnit.get_key_by_kode(row.unit_kd)
                noskp = "%s" % (row.kode)

                row_skpdet = SipkdDBSession.query(SipkdSkpDet).\
                                         filter_by(unitkey = unitkey,
                                                   noskp   = noskp).delete()
                SipkdDBSession.flush()

                row_skp = SipkdDBSession.query(SipkdSkp).\
                                         filter_by(unitkey = unitkey,
                                                   noskp   = noskp).delete()
                SipkdDBSession.flush()
                row.posted = 0
                DBSession.add(row)
                DBSession.flush()