def save(request, values, row=None):
    if not row:
        row = APInvoice()
    row.from_dict(values)
    
    if not row.no_urut:
        row.no_urut = APInvoice.max_no_urut(row.tahun_id,row.unit_id)+1;
    
    if not row.kode:
        tahun    = request.session['tahun']
        unit_kd  = request.session['unit_kd']
        no_urut  = row.no_urut
        no       = "0000%d" % no_urut
        nomor    = no[-5:]     
        row.kode = "%d" % tahun + "-%s" % unit_kd + "-%s" % nomor
        
    j='3'
    j1 = row.jenis
    if j1 != j:
        row.no_bku  = None
        row.tgl_bku = None        
    
    DBSession.add(row)
    DBSession.flush()
    return row
Exemple #2
0
def view_delete(request):
    q = query_id(request)
    kegiatan_sub_id = request.matchdict['kegiatan_sub_id']
    row = q.first()
        
    if not row:
        return id_not_found(request,kegiatan_sub_id)
        
    ## Cek sudah Posting atau belum    
    q = DBSession.query(KegiatanSub.disabled).filter(KegiatanSub.id==request.matchdict['kegiatan_sub_id'])
    rowsub = q.first()
    if rowsub.disabled:
        request.session.flash('Data tidak dapat dihapus karena sudah Posting', 'error')
        return route_list(request, kegiatan_sub_id)
    
    form = Form(colander.Schema(), buttons=('hapus','cancel'))
    values= {}
    
    if request.POST:
        if 'hapus' in request.POST:
            msg = '%s berhasil.' % (request.title)
            DBSession.query(KegiatanAsistensi).filter(KegiatanAsistensi.id==request.matchdict['id']).delete()
            DBSession.flush()
            request.session.flash(msg)
        return route_list(request,kegiatan_sub_id)
    return dict(row=row, form=form.render())

            
                        
Exemple #3
0
    def save(self, values, row=None):
        if not row:
            row = Sp2d()
            row.created = datetime.now()
            row.create_uid = self.request.user.id
        row.from_dict(values)
        row.updated = datetime.now()
        row.update_uid = self.request.user.id
        row.posted        = 0
        row.disabled      = 'disabled' in values and 1 or 0  
        row.status_giro   = 0  
        row.status_advist = 0  

        if not row.kode:
            tahun    = self.session['tahun']
            unit_kd  = self.session['unit_kd']
            unit_id  = self.session['unit_id']
            no_urut  = Sp2d.get_norut(tahun, unit_id)+1
            no       = "0000%d" % no_urut
            nomor    = no[-5:]
            row.kode = "%d" % tahun + "-%s" % unit_kd + "-%s" % nomor
            
        DBSession.add(row)
        DBSession.flush()
        
        #Untuk update status disabled pada SPM
        row1 = DBSession.query(Spm).filter(Spm.id==row.ap_spm_id).first()   
        row1.disabled=1
        self.save_request3(row1)
                
        return row
Exemple #4
0
def view_edit_unposting(request):
    row = query_id(request).first()
    
    if not row:
        return id_not_found(request)
    if not row.posted:
        request.session.flash('Data tidak dapat di Unposting, karena belum diposting.', 'error')
        return route_list(request)
    if row.disabled:
        request.session.flash('Data jurnal Tagihan sudah diposting.', 'error')
        return route_list(request)
        
    form = Form(colander.Schema(), buttons=('unposting','cancel'))
    
    if request.POST:
        if 'unposting' in request.POST: 
        
            #Update status posted pada UTANG
            row.posted=0
            save_request3(request, row)
            
            r = DBSession.query(AkJurnal.id).filter(AkJurnal.source_no==row.kode).first()
            #Menghapus Item Jurnal
            DBSession.query(AkJurnalItem).filter(AkJurnalItem.ak_jurnal_id==r).delete()
            DBSession.flush()
                
            #Menghapus UTANG yang sudah menjadi jurnal
            DBSession.query(AkJurnal).filter(AkJurnal.source_no==row.kode).delete()
            DBSession.flush()
            
        return route_list(request)
    return dict(row=row, form=form.render())
    
      
Exemple #5
0
def view_delete(request):
    q = query_id(request)
    row = q.first()
    if not row:
        return {'success':False, "msg":self.id_not_found()}

    msg = 'Data sudah dihapus'
    query_id(request).delete()
    DBSession.flush()

    amount = "%s" % Spp.get_nilai(row.ap_spp_id)

    # untuk kondisi hapus langsung nominal ke SPP
    if amount == 'None':
        amount=0
        
    rows = DBSession.query(Spp).filter(Spp.id==row.ap_spp_id).first()
    rows.nominal=amount
    DBSession.add(rows)
    DBSession.flush()
        
    #Untuk update status posted dan status_spp pada APInvoice    
    row = DBSession.query(APInvoice).filter(APInvoice.id==row.ap_invoice_id).first()   
    #row.disabled=0
    row.status_spp=0
    save_request2(row)
    
    return {'success':True, "msg":msg, 'jml_total':amount}\
    
Exemple #6
0
def save(values, request, user, row=None):
    if not row:
        row = KegiatanAsistensi()
        row.created = datetime.now()
        row.create_uid = user.id
        
    # isikan user update dan tanggal update
    row.updated = datetime.now()
    row.update_uid = user.id
        
    ag_step_id = request.session['ag_step_id']
    
    if not values['catatan_1']: 
        values['catatan_1']='-'
    if not values['catatan_2']: 
        values['catatan_2']='-'
    if not values['catatan_3']: 
        values['catatan_3']='-'
    if not values['catatan_4']: 
        values['catatan_4']='-'
        
    
        
    row.from_dict(values)
    
    DBSession.add(row)
    DBSession.flush()
    return row
Exemple #7
0
def import_data(adata):
    for i in range(len(adata)):
        if i>0:
            j = adata[i]
            row = query_gaji_pegawai(j[0],j[1],j[2])
            id = row.id
            if row:
                potongan = query_gaji_potongan(id)
                potongan_dict = potongan.to_dict()
                if len(j)==10: #Pembantu Bendahara
                    for k in range(6):
                        xfield=str(k+7).zfill(2)
                        print xfield
                        potongan_dict['amount_%s' % xfield]= int(float(j[k+4]))
                        
                elif len(j)==9: #Bendahara
                    for k in range(5):
                        xfield=str(k+2).zfill(2)
                        potongan_dict['amount_%s' % xfield]= int(float(j[k+4]))

                elif len(j)==5 or len(j)==6: #Bank
                        potongan_dict['amount_01'] = int(float(j[4]))
            
            for k in range(11): 
                if (row.gaji_bersih-sum_of_potongan(potongan_dict))<15000:
                   xfield = str(12 - k).zfill(2)
                   potongan_dict['amount_%s' % xfield] = 0
            potongan.from_dict(potongan_dict)
            DBSession.add(potongan)
            DBSession.flush()
Exemple #8
0
def view_delete(request):
    q = query_id(request)
    row = q.first()
    
    if not row:
        return id_not_found(request)
    if row.posted:
        request.session.flash('Data sudah diposting', 'error')
        return route_list(request)
    if row.status_spp:
        request.session.flash('Data sudah di SPP', 'error')
        return route_list(request)
    """
    if row.amount:
        request.session.flash('Data tidak bisa dihapus, karena memiliki data items', 'error')
        return route_list(request)
    """    
    form = Form(colander.Schema(), buttons=('hapus','cancel'))
    values= {}
    if request.POST:
        if 'hapus' in request.POST:
            msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode)
            DBSession.query(APPayment).filter(APPayment.id==request.matchdict['id']).delete()
            DBSession.flush()
            request.session.flash(msg)
            
            #Untuk update status posted dan status_pay pada APInvoice
            inv_id = row.invoice_id
            row = DBSession.query(APInvoice).filter(APInvoice.id==inv_id).first()   
            row.status_pay = 0
            save_request2(row)
    
        return route_list(request)
    return dict(row=row, form=form.render())
    
Exemple #9
0
 def save(self, values, user, row=None):
     if not row:
         row = ARPaymentItem()
         row.created    = datetime.now()
         row.create_uid = user.id
     row.from_dict(values)
     row.updated    = datetime.now()
     row.update_uid = user.id
     tanggal     = datetime.strptime(values['tanggal'], '%Y-%m-%d')
     row.tahun   = tanggal.year
     row.bulan   = tanggal.month
     row.hari    = tanggal.day
     row.minggu  = tanggal.isocalendar()[1]
     row.disabled = 'disabled' in values and values['disabled'] and 1 or 0
     row.is_kota  = 'is_kota'  in values and values['is_kota']  and 1 or 0
     row.posted1  = 'posted1'  in values and values['posted1']  and 1 or 0
     
     tahun    = self.session['tahun']
     unit_id  = self.session['unit_id']
     if not row.no_urut:
         row.no_urut = ARPaymentItem.max_no_urut(tahun,unit_id)+1;
         
     if not row.ref_kode:
         tahun        = self.session['tahun']
         unit_kd      = self.session['unit_kd']
         unit_id      = self.session['unit_id']
         #no_urut      = ARPaymentItem.get_norut(tahun, unit_id)+1
         no_urut      = row.no_urut
         no           = "0000%d" % no_urut
         nomor        = no[-5:]
         row.ref_kode = "%d" % tahun + "-%s" % unit_kd + "-%s" % nomor
     
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #10
0
 def save(self, values, user, row=None):
     if not row:
         row = Jurnal()
         row.created    = datetime.now()
         row.create_uid = user.id
     row.from_dict(values)
     tanggal           = datetime.strptime(values['tanggal'], '%Y-%m-%d')
     row.tahun_id      = tanggal.year
     row.periode       = tanggal.month
     row.updated       = datetime.now()
     row.update_uid    = user.id
     row.disabled      = 'disabled' in values and values['disabled'] and 1 or 0
     row.posted        = 'posted'  in values and values['posted']  and 1 or 0
     row.tgl_transaksi = datetime.now()
     
     if not row.kode:
         tahun    = self.session['tahun']
         unit_kd  = self.session['unit_kd']
         is_skpd  = row.is_skpd
         jv_type  = row.jv_type
         tipe     = Jurnal.get_tipe(jv_type)
         no_urut  = Jurnal.get_norut(row.tahun_id,row.unit_id)+1
         no       = "0000%d" % no_urut
         nomor    = no[-5:]     
         row.kode = "%d" % tahun + "-%s" % is_skpd + "-%s" % unit_kd + "-%s" % tipe + "-%s" % nomor
     
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #11
0
 def view_delete(self):
     q = self.query_id()
     row = q.first()
     request=self.request
     
     if not row:
         return id_not_found(request)
     if row.posted:
         request.session.flash('Data sudah diposting', 'error')
         return self.route_list()
     if row.status_giro:
         request.session.flash('Data masih terdapat pada Giro', 'error')
         return self.route_list()
         
     form = Form(colander.Schema(), buttons=('hapus','cancel'))
     values= {}
     if request.POST:
         if 'hapus' in request.POST:
         
             #Untuk menghapus SP2D
             msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode)
             DBSession.query(Sp2d).filter(Sp2d.id==request.matchdict['id']).delete()
             DBSession.flush()
             request.session.flash(msg)
             
             #Untuk update status posted dan disabled pada SPM
             row = DBSession.query(Spm).filter(Spm.id==row.ap_spm_id).first()   
             row.posted=0
             row.disabled=0
             self.save_request3(row)
             
         return self.route_list()
     return dict(row=row,form=form.render())
Exemple #12
0
def view_delete(request):
    q   = query_id(request)
    row = q.first()
    
    if not row:
        return self.id_not_found()
        
    query_id(request).delete()
    DBSession.flush()
    
    r = DBSession.query(SpdItem)\
                   .join(KegiatanSub)\
                   .outerjoin(Kegiatan)\
                   .filter(SpdItem.kegiatan_sub_id==row.kegiatan_sub_id,
                           SpdItem.kegiatan_sub_id==KegiatanSub.id,
                           KegiatanSub.kegiatan_id==Kegiatan.id,
                           Kegiatan.kode=='0.00.00.21')\
                   .first()   
    if r:
        bl  = "%s" % Spd.get_nilai1(row.ap_spd_id) 
        btl = "%s" % Spd.get_nilai2(row.ap_spd_id) 
    else:
        bl  = "%s" % Spd.get_nilai1(row.ap_spd_id) 
        btl = "%s" % Spd.get_nilai2(row.ap_spd_id) 
        
    return {'success': True, 'msg':'Sukses Hapus Data', 'jml_total1':bl, 'jml_total2':btl}
Exemple #13
0
    def save(self, values, row=None):
        if not row:
            row = Giro()
            row.created = datetime.now()
            row.create_uid = self.request.user.id
        row.from_dict(values)
        row.updated = datetime.now()
        row.update_uid = self.request.user.id
        row.posted=0
        row.disabled = 'disabled' in values and 1 or 0     

        if not row.no_urut:
            row.no_urut = Giro.max_no_urut(row.tahun_id)+1;
            
        if not row.kode:
            tahun    = self.session['tahun']
            #unit_kd  = self.session['unit_kd']
            #unit_id  = self.session['unit_id']
            #no_urut  = Giro.get_norut(tahun, unit_id)+1
            no_urut  = row.no_urut
            no       = "00000%d" % no_urut
            nomor    = no[-6:]
            row.kode = "%s" % nomor + "-BUD-%d" % tahun
            
            #no_urut  = row.no_urut
            #no       = "00000%d" % no_urut
            #nomor    = no[-5:]
            #row.kode = "%d" % tahun + "-%s" % unit_kd + "-BUD-%s" % nomor
            
        DBSession.add(row)
        DBSession.flush()
        return row
 def view_edit_unposting(self):
     request = self.request
     row     = self.query_id().first()
     kode    = row.ref_kode
     
     if not row:
         return id_not_found(request)
     if not row.posted:
         self.request.session.flash('Data tidak dapat di Unposting jurnal, karena belum diposting jurnal.', 'error')
         return self.route_list()
     if row.disabled:
         self.request.session.flash('Data jurnal TBP sudah diposting.', 'error')
         return self.route_list()
         
     form = Form(colander.Schema(), buttons=('un-jurnal','cancel'))
     
     if request.POST:
         if 'un-jurnal' in request.POST: 
         
             #Update status posted pada TBP
             row.posted=0
             self.save_request4(row)
             
             r = DBSession.query(Jurnal.id.label('di')).filter(Jurnal.source_no==row.ref_kode,Jurnal.source=='TBP').all()
             for row in r:
                 #Menghapus Item Jurnal
                 DBSession.query(JurnalItem).filter(JurnalItem.jurnal_id==row.di).delete()
                 DBSession.flush()
             
             #Menghapus TBP yang sudah menjadi jurnal
             DBSession.query(Jurnal).filter(Jurnal.source_no==kode,Jurnal.source=='TBP').delete()
             DBSession.flush()
             
         return self.route_list()
     return dict(row=row, form=form.render())    
Exemple #15
0
def view_delete(request):
    q = query_id(request)
    row = q.first()
    
    if not row:
        return {'success':False, "msg":self.id_not_found()}

    msg = 'Data sudah dihapus'
    query_id(request).delete()
    DBSession.flush()

    nominal = "%s" % Advist.get_nilai(row.ap_advist_id)
    
    # untuk kondisi hapus langsung nominal ke Advist
    if nominal == 'None':
        nominal = 0
    
    rows = DBSession.query(Advist).filter(Advist.id==row.ap_advist_id).first()
    rows.nominal= nominal  
    DBSession.add(rows)
    DBSession.flush()
        
    #Untuk update status disabled pada SP2D
    row = DBSession.query(Sp2d).filter(Sp2d.id==row.ap_sp2d_id).first()   
    row.status_advist=0
    save_request2(row)
    
    return {'success':True, "msg":msg, 'jml_total':nominal}
    
Exemple #16
0
def save(values, request, row=None):
    if not row:
        row = KegiatanItem()
    ag_step_id = request.session['ag_step_id']
    if ag_step_id<2:
        values['vol_2_1'] = values['vol_%s_1' % ag_step_id] 
        values['vol_2_2'] = values['vol_%s_2' % ag_step_id] 
        values['sat_2_1'] = values['sat_%s_1' % ag_step_id] 
        values['sat_2_2'] = values['sat_%s_2' % ag_step_id] 
        values['hsat_2'] = values['hsat_%s' % ag_step_id] 
    if ag_step_id<4:
        values['vol_3_1'] = values['vol_%s_1' % ag_step_id] 
        values['vol_3_2'] = values['vol_%s_2' % ag_step_id] 
        values['sat_3_1'] = values['sat_%s_1' % ag_step_id] 
        values['sat_3_2'] = values['sat_%s_2' % ag_step_id] 
        values['hsat_3'] = values['hsat_%s' % ag_step_id] 
    if ag_step_id<5:
        values['vol_4_1'] = values['vol_%s_1' % ag_step_id] 
        values['vol_4_2'] = values['vol_%s_2' % ag_step_id] 
        values['sat_4_1'] = values['sat_%s_1' % ag_step_id] 
        values['sat_4_2'] = values['sat_%s_2' % ag_step_id] 
        values['hsat_4'] = values['hsat_%s' % ag_step_id] 
        
    row.from_dict(values)
    if not row.no_urut:
          row.no_urut = KegiatanItem.max_no_urut(values['kegiatan_sub_id'],values['rekening_id'])+1;

    DBSession.add(row)
    DBSession.flush()
    return row
Exemple #17
0
def view_delete(request):
    q = query_id(request)
    row = q.first()
    
    if not row:
        return id_not_found(request)
    if row.posted:
        request.session.flash('Data sudah diposting SKPD', 'error')
        return route_list(request)
    if row.posted1:
        request.session.flash('Data sudah diposting PPKD', 'error')
        return route_list(request)
    if row.nominal:
        request.session.flash('Data tidak bisa dihapus, karena memiliki data items', 'error')
        return route_list(request)
            
    form = Form(colander.Schema(), buttons=('hapus','cancel'))
    values= {}
    if request.POST:
        if 'hapus' in request.POST:
            msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode)
            DBSession.query(Sts).filter(Sts.id==request.matchdict['id']).delete()
            DBSession.flush()
            request.session.flash(msg)
        return route_list(request)
    return dict(row=row, form=form.render())
Exemple #18
0
 def view_ar_payment_item_delete(self):
     request = self.request
     q       = self.query_id()
     row     = q.first()
     
     if not row:
         return self.id_not_found(request)
     if row.posted:
         request.session.flash('Data sudah diposting', 'error')
         return self.route_list()
     if row.posted1:
         request.session.flash('Data sudah diposting rekap', 'error')
         return self.route_list()
         
     form = Form(colander.Schema(), buttons=('hapus','batal'))
     if request.POST:
         if 'hapus' in request.POST:
             msg = 'TBP ID %d %s sudah dihapus.' % (row.id, row.ref_nama)
             try:
               q.delete()
               DBSession.flush()
             except:
               msg = 'TBP ID %d %s tidak dapat dihapus.' % (row.id, row.ref_nama)
             request.session.flash(msg)
         return self.route_list()
     return dict(row=row, form=form.render())
Exemple #19
0
def view_delete(request):
    q = query_id(request)
    row = q.first()
    
    if not row:
        return id_not_found(request)
    if row.posted:
        request.session.flash('Data sudah diposting', 'error')
        return route_list(request)
    if row.status_spp:
        request.session.flash('Data sudah masuk di SPP', 'error')
        return route_list(request)
    if row.status_pay:
        request.session.flash('Data sudah masuk di Pembayaran Tagihan', 'error')
        return route_list(request)
    if row.amount:
        request.session.flash('Data tidak bisa dihapus, karena memiliki data items', 'error')
        return route_list(request)
        
    form = Form(colander.Schema(), buttons=('hapus','cancel'))
    values= {}
    if request.POST:
        if 'hapus' in request.POST:
            msg = '%s dengan kode %s telah berhasil.' % (request.title, row.kode)
            DBSession.query(APInvoice).filter(APInvoice.id==request.matchdict['id']).delete()
            DBSession.flush()
            request.session.flash(msg)
        return route_list(request)
    return dict(row=row, form=form.render())
Exemple #20
0
def view_delete(request):
    q = query_id(request)
    row = q.first()
    if not row:
        return id_not_found(request)
    # Cek posting
    #if row.disabled:
    #    request.session.flash('Data tidak dapat dihapus karena sudah Posting', 'error')
    #    return route_list(request)

    ses = request.session
    ## variabel ag_step_id
    ag_step_id = ses['ag_step_id']        
            
    if row.disabled == 1 and row.approval==4:
        request.session.flash('Data tidak dapat dihapus karena sudah Posting', 'error')
        return route_list1(request,row.id)
    if row.approval==3:
        request.session.flash('Data tidak dapat dihapus karena sudah di Approval oleh Dispenda', 'error')
        return route_list1(request,row.id)
    if row.approval==2:
        request.session.flash('Data tidak dapat dihapus karena sudah di Approval oleh Bappeda', 'error')
        return route_list1(request,row.id)
    
    form = Form(colander.Schema(), buttons=('hapus','cancel'))
    values= {}
    if request.POST:
        if 'hapus' in request.POST:
            msg = '%s Kode %s  No. %s %s sudah dihapus.' % (request.title, row.kode, row.no_urut, row.nama)
            DBSession.query(KegiatanSub).filter(KegiatanSub.id==request.matchdict['id']).delete()
            DBSession.flush()
            request.session.flash(msg)
        return route_list(request)
    return dict(row=row,
                 form=form.render())
Exemple #21
0
 def view_edit_unposting(self):
     request = self.request
     row     = self.query_id().first()
     
     if not row:
         return id_not_found(request)
     if not row.posted:
         self.request.session.flash('Data tidak dapat di Un-Jurnal, karena belum dibuat jurnal.', 'error')
         return self.route_list()
     if row.disabled:
         self.request.session.flash('Data jurnal Penetapan/Tagihan sudah diposting.', 'error')
         return self.route_list()
         
     form = Form(colander.Schema(), buttons=('un-jurnal','cancel'))
     
     if request.POST:
         if 'un-jurnal' in request.POST: 
         
             #Update status posted pada PIUTANG
             row.posted=0
             self.save_request3(row)
             
             r = DBSession.query(Jurnal.id).filter(Jurnal.source_no==row.ref_kode,Jurnal.source=='Penetapan').first()
             #Menghapus Item Jurnal
             DBSession.query(JurnalItem).filter(JurnalItem.jurnal_id==r).delete()
             DBSession.flush()
                 
             #Menghapus PIUTANG yang sudah menjadi jurnal
             DBSession.query(Jurnal).filter(Jurnal.source_no==row.ref_kode,Jurnal.source=='Penetapan').delete()
             DBSession.flush()
             
         return self.route_list()
     return dict(row=row, form=form.render())
         
Exemple #22
0
def set_invoice(request, data):
    resp = auth_from_rpc(request)
    if resp['code'] != 0:
        return resp
    unit_id = 0
    unit_kd = ""
    rekening_id = 0
    rekening_kd = ""
    try:
        for row in data:
            if row['unit_kd']!=unit_kd:
                unit_id = DBSession.query(Unit.id).filter_by(
                                    kode  = row['unit_kd']).scalar()
                unit_kd = unit_id and row['unit_kd']
                
            if row['rekening_kd']!=rekening_kd:
                rekening_id = DBSession.query(Rekening.id).filter_by(
                            kode  = row['rekening_kd']).scalar()
                rekening_kd = rekening_id and row['rekening_kd']
                    
            invoice = DBSession.query(ARInvoiceTransaksi).filter_by(
                            kode     = row['rekening_kd'],
                            tahun    = row['tahun'],
                            ref_kode = row['ref_kode']
                            ).first()
            if not invoice:
                invoice = ARInvoiceTransaksi()
                invoice.created = datetime.now()
                invoice.create_uid = 1
                
            invoice.kode         = row['rekening_kd']        
            invoice.nama         = row['nama']        
            invoice.tahun        = row['tahun']       
            invoice.amount       = row['amount']             
            invoice.ref_kode     = row['ref_kode']    
            invoice.ref_nama     = row['ref_nama']    
            invoice.tanggal      = row['tanggal']               
            invoice.kecamatan_kd = row['kecamatan_kd']          
            invoice.kecamatan_nm = row['kecamatan_nm']          
            invoice.kelurahan_kd = row['kelurahan_kd']          
            invoice.kelurahan_nm = row['kelurahan_nm']          
            invoice.is_kota      = row['is_kota']               
            invoice.sumber_data  = row['sumber_data']           
            invoice.sumber_id    = row['sumber_id']             
            invoice.unit_id      = unit_id             
            invoice.rekening_id  = rekening_id             
            #invoice.notes        = row['notes']             
            DBSession.add(invoice)
            DBSession.flush()
    except Exception e:
        print str(e)
        DBSession.rollback()
        return dict(code=CODE_DATA_INVALID, message='Data Invalid')
        
    try:
        DBSession.commit()
    except Exception e:
        print str(e)
    return dict(code=CODE_OK, message='Data Submitted')
Exemple #23
0
 def save(self, values, user, row=None):
     if not row:
         row = RekeningSap()
     row.from_dict(values)
     
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #24
0
def save(values, user, row=None):
    if not row:
        row = UserGroup()
    row.from_dict(values)
    DBSession.add(row)
    query_group_member(values)
    DBSession.flush()
    return row
Exemple #25
0
 def save(self, values, user, row=None):
     if not row:
         row = FungsiUrusan()
     row.from_dict(values)
  
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #26
0
def save(values, user, row=None):
    if not row:
        row = User()
    row.from_dict(values)
    if values['password']:
        row.password = values['password']
    DBSession.add(row)
    DBSession.flush()
    return row
Exemple #27
0
def save(values, row=None):
    if not row:
        row = KegiatanSub()
    row.from_dict(values)
    if not row.no_urut:
          row.no_urut = KegiatanSub.max_no_urut(row.tahun_id,row.unit_id,row.kegiatan_id)+1;
    DBSession.add(row)
    DBSession.flush()
    return row
Exemple #28
0
def save(request, values, row=None):
    if not row:
        row = Sts()
    row.created = datetime.now()
    row.from_dict(values)
    row.updated = datetime.now()
        
    DBSession.add(row)
    DBSession.flush()
    return row
Exemple #29
0
 def view_edit_unposting(self):
     request = self.request
     row     = self.query_id().first()
     id_sp2d = row.id
     kode    = row.kode
     
     if not row:
         return id_not_found(request)
     if not row.posted1:
         request.session.flash('Data tidak dapat di Unposting jurnal, karena belum diposting jurnal.', 'error')
         return self.route_list()
     if row.disabled:
         request.session.flash('Data jurnal SP2D sudah diposting.', 'error')
         return self.route_list()
         
     form = Form(colander.Schema(), buttons=('un-jurnal','cancel'))
     
     if request.POST:
         if 'un-jurnal' in request.POST: 
         
             #Update status posted pada SP2D
             row.posted1=0
             self.save_request4(row)
             
             ji = DBSession.query(Spp.jenis.label('jenis'))\
                          .filter(Sp2d.id==id_sp2d,
                                  Sp2d.ap_spm_id==Spm.id,
                                  Spm.ap_spp_id==Spp.id,
                          ).first()
             j = '%s' % ji
             if j=='1':
                 s='UP'
                 x='SP2D-%s' % s
             elif j=='2':
                 s='TU'
                 x='SP2D-%s' % s
             elif j=='3':
                 s='GU'
                 x='SP2D-%s' % s
             else:
                 s='LS'
                 x='SP2D-%s' % s
                 
             r = DBSession.query(AkJurnal.id.label('di')).filter(AkJurnal.source_no==kode, AkJurnal.source==x,AkJurnal.is_skpd==0).all()
             for row in r:
                 #Menghapus Item Jurnal
                 DBSession.query(AkJurnalItem).filter(AkJurnalItem.ak_jurnal_id==row.di).delete()
                 DBSession.flush()
             
             #Menghapus SP2D yang sudah menjadi jurnal
             DBSession.query(AkJurnal).filter(AkJurnal.source_no==kode,AkJurnal.source==x,AkJurnal.is_skpd==0).delete()
             DBSession.flush()
             
         return self.route_list()
     return dict(row=row, form=form.render())    
Exemple #30
0
def view_add(request):
    req = request
    ses = req.session
    params = req.params
    url_dict = req.matchdict
    ap_spd_id = 'ap_spd_id' in url_dict and url_dict['ap_spd_id'] or 0
    controls = dict(req.POST.items())
      
    ap_spd_item_id = 'ap_spd_item_id' in controls and controls['ap_spd_item_id'] or 0        
    #Cek dulu ada penyusup gak dengan mengecek sessionnya
    ap_spd = DBSession.query(Spd)\
                  .filter(#Spd.unit_id==ses['unit_id'],
                          Spd.id==ap_spd_id).first()
    if not ap_spd:
        return {"success": False, 'msg':'SPD tidak ditemukan'}
    
    #Cek lagi ditakutkan skpd ada yang iseng inject script
    
    if ap_spd_item_id:
        row = DBSession.query(SpdItem)\
                  .join(Spd)\
                  .filter(SpdItem.id==ap_spd_item_id,
                          #Spd.unit_id==ses['unit_id'],
                          SpdItem.ap_spd_id==ap_spd_id).first()
        if not row:
            return {"success": False, 'msg':'Invoice tidak ditemukan'}
    else:
        row = SpdItem()

    row.ap_spd_id       = ap_spd_id
    row.kegiatan_sub_id = controls['kegiatan_sub_id']
    row.anggaran = controls['anggaran'].replace('.','')
    row.lalu     = controls['lalu'].replace('.','')
    row.nominal  = controls['nominal'].replace('.','')

    DBSession.add(row)
    DBSession.flush()
    
    r = DBSession.query(SpdItem)\
                   .join(KegiatanSub)\
                   .outerjoin(Kegiatan)\
                   .filter(SpdItem.kegiatan_sub_id==controls['kegiatan_sub_id'],
                           SpdItem.kegiatan_sub_id==KegiatanSub.id,
                           KegiatanSub.kegiatan_id==Kegiatan.id,
                           Kegiatan.kode=='0.00.00.21')\
                   .first()   
    if r:
        bl  = "%s" % Spd.get_nilai1(row.ap_spd_id) 
        btl = "%s" % Spd.get_nilai2(row.ap_spd_id) 
    else:
        bl  = "%s" % Spd.get_nilai1(row.ap_spd_id) 
        btl = "%s" % Spd.get_nilai2(row.ap_spd_id) 
        
    return {"success": True, 'id': row.id, "msg":'Success Tambah SPD', 'jml_total1':bl, 'jml_total2':btl}