Exemple #1
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
Exemple #2
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 #3
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 #4
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 #5
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 #6
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 #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()
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 #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 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 #12
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 #13
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 #14
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 #15
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 #16
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 #17
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 #18
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}
Exemple #19
0
 def save(self, values, user, row=None):
     if not row:
         row = Eis()
         row.created = datetime.now()
         row.create_uid = user.id
     row.from_dict(values)
     row.updated = datetime.now()
     row.update_uid = user.id
     row.is_aktif = 'is_aktif' in values and values['is_aktif'] and 1 or 0
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #20
0
    def ag_indikator_add_fast(self):
        ses = self.request.session
        req = self.request
        params = req.params
        url_dict = req.matchdict
        kegiatan_sub_id  = 'kegiatan_sub_id'  in params and params['kegiatan_sub_id'] or None
        kegiatan_indikator_id = 'kegiatan_indikator_id' in params and params['kegiatan_indikator_id'] or None
        if not kegiatan_indikator_id:
            row = KegiatanIndikator()
            row_dict = {}
        else:
            row = DBSession.query(KegiatanIndikator).filter(KegiatanIndikator.id==kegiatan_indikator_id).first()
            if not row:
                return {'success':False, 'msg':'Data Tidak Ditemukan'}
            row_dict = row.to_dict()
            
        row_dict['no_urut']         = 'no_urut' in params and params['no_urut'] or \
                                      KegiatanIndikator.max_no_urut(kegiatan_sub_id)+1
        row_dict['kegiatan_sub_id'] = kegiatan_sub_id
        #row_dict['nama']            = 'nama' in params and params['nama'] or None
        #row_dict['kode']            = 'kode' in params and params['kode'] or None

        ag_step_id = ses['ag_step_id']
        tolok_ukur = 'tolok_ukur' in params and params['tolok_ukur'].replace('.', '') or 0
        volume     = 'volume'     in params and params['volume'].replace('.', '') or 0
        satuan     = 'satuan'     in params and params['satuan'].replace('.', '') or 0

        if ag_step_id<2:
            row_dict['tolok_ukur_1'] = tolok_ukur 
            row_dict['volume_1']     = volume 
            row_dict['satuan_1']     = satuan 
        if ag_step_id<3:
            row_dict['tolok_ukur_2'] = tolok_ukur 
            row_dict['volume_2']     = volume 
            row_dict['satuan_2']     = satuan 
        if ag_step_id<4:
            row_dict['tolok_ukur_3'] = tolok_ukur 
            row_dict['volume_3']     = volume 
            row_dict['satuan_3']     = satuan 
        if ag_step_id<5:
            row_dict['tolok_ukur_4'] = tolok_ukur 
            row_dict['volume_4']     = volume 
            row_dict['satuan_4']     = satuan 

        row.from_dict(row_dict)
        DBSession.add(row)
        DBSession.flush()
        return {"success": True, 'id': row.id, "msg":'Success Tambah Data'}
        
        try:
          pass
        except:
            return {'success':False, 'msg':'Gagal Tambah Data'}
Exemple #21
0
 def save(self, values, user, row=None):
     if not row:
         row = Route()
         row.created = datetime.now()
         row.create_uid = user.id
     row.from_dict(values)
     row.updated = datetime.now()
     row.update_uid = user.id
     row.disabled = 'disabled' in values and values['disabled'] and 1 or 0
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #22
0
 def save(self, values, user, row=None):
     if not row:
         row = FilingLokasi()
         row.created = datetime.now()
         row.create_uid = user.id
     row.from_dict(values)
     row.updated = datetime.now()
     row.update_uid = user.id
     row.disabled = 'disabled' in values and values['disabled'] and 1 or 0
     row.level_id =  FilingLokasi.get_next_level(row.parent_id) or 1
     DBSession.add(row)
     DBSession.flush()
     return row
Exemple #23
0
def view_add(request):
    req = request
    ses = req.session
    params   = req.params
    url_dict = req.matchdict
    ar_invoice_id = 'ar_invoice_id' in url_dict and url_dict['ar_invoice_id'] or 0
    controls = dict(request.POST.items())
    
    ar_invoice_item_id = 'ar_invoice_item_id' in controls and controls['ar_invoice_item_id'] or 0
    #Cek dulu ada penyusup gak dengan mengecek sessionnya
    ar_invoice = DBSession.query(ARInvoice)\
                  .filter(ARInvoice.unit_id==ses['unit_id'],
                          ARInvoice.id==ar_invoice_id).first()
    if not ar_invoice:
        return {"success": False, 'msg':'Invoice tidak ditemukan'}
    
    if ar_invoice_item_id:
        #Cek lagi ditakutkan skpd ada yang iseng inject script
        row = DBSession.query(ARInvoiceItem)\
                  .join(ARInvoice)\
                  .filter(ARInvoiceItem.id==ar_invoice_item_id,
                          ARInvoice.unit_id==ses['unit_id'],
                          ARInvoiceItem.ar_invoice_id==ar_invoice_id).first()
        if not row:
            return {"success": False, 'msg':'Invoice tidak ditemukan'}
    else:
        row = ARInvoiceItem()
            
    row.ar_invoice_id    = ar_invoice_id
    row.kegiatan_item_id = controls['kegiatan_item_id']
    if not controls['no_urut'] or controls['no_urut'].split()=='':
        controls['no_urut'] = ARInvoiceItem.max_no_urut(ar_invoice_id)+1
    row.no_urut          = controls['no_urut']
    row.nama             = controls['nama']
    row.vol_1            = controls['vol_1'].replace('.','')
    row.vol_2            = controls['vol_2'].replace('.','')
    row.harga            = controls['harga'].replace('.','')
    row.nilai            = float(controls['vol_1'].replace('.',''))*float(controls['vol_2'].replace('.',''))*float(controls['harga'].replace('.',''))
    
    DBSession.add(row)
    DBSession.flush()
    nilai = "%d" % ARInvoice.get_nilai(row.ar_invoice_id) 
    
    # untuk kondisi simpan langsung nilai ke ARInvoice
    if nilai:
        rows = DBSession.query(ARInvoice).filter(ARInvoice.id==ar_invoice_id).first()
        rows.nilai= nilai  
        DBSession.add(rows)
        DBSession.flush()
    
    return {"success": True, 'id': row.id, "msg":'Success Tambah Item Invoice', 'jml_total':nilai}
Exemple #24
0
def view_add(request):
    req = request
    ses = req.session
    params = req.params
    url_dict = req.matchdict
    ap_giro_id = 'ap_giro_id' in url_dict and url_dict['ap_giro_id'] or 0
    controls = dict(request.POST.items())
    
    ap_giro_item_id = 'ap_giro_item_id' in controls and controls['ap_giro_item_id'] or 0
    #Cek dulu ada penyusup gak dengan mengecek sessionnya
    ap_giro = DBSession.query(Giro)\
                  .filter(
                          #Giro.unit_id==ses['unit_id'],
                          Giro.id==ap_giro_id).first()
    if not ap_giro:
        return {"success": False, 'msg':'Giro tidak ditemukan'}
    
    #Cek lagi ditakutkan skpd ada yang iseng inject script
    if ap_giro_item_id:
        row = DBSession.query(GiroItem)\
                  .join(Giro)\
                  .filter(GiroItem.id==ap_giro_item_id,
                          #Giro.unit_id==ses['unit_id'],
                          GiroItem.ap_giro_id==ap_giro_id).first()
        if not row:
            return {"success": False, 'msg':'Giro tidak ditemukan'}
    else:
        row = GiroItem()
            
    row.ap_giro_id = ap_giro_id
    row.ap_sp2d_id = controls['ap_sp2d_id']

    DBSession.add(row)
    DBSession.flush()
    nominal = "%d" % Giro.get_nilai(row.ap_giro_id) 
    
    # untuk kondisi simpan langsung nominal ke Giro
    if nominal:
        rows = DBSession.query(Giro).filter(Giro.id==ap_giro_id).first()
        rows.nominal= nominal  
        DBSession.add(rows)
        DBSession.flush()
        
    #Untuk update status disabled pada SP2D
    row = DBSession.query(Sp2d).filter(Sp2d.id==controls['ap_sp2d_id']).first()   
    row.status_giro = 1
    row.no_validasi = controls['no_validasi']
    save_request2(row)
    
    return {"success": True, 'id': row.id, "msg":'Success Tambah SP2D', 'jml_total':nominal}
Exemple #25
0
def view_add(request):
    req = request
    ses = req.session
    params = req.params
    url_dict = req.matchdict
    ap_spp_id = 'ap_spp_id' in url_dict and url_dict['ap_spp_id'] or 0
    controls = dict(request.POST.items())
    
    ap_spp_item_id = 'ap_spp_item_id' in controls and controls['ap_spp_item_id'] or 0
    #Cek dulu ada penyusup gak dengan mengecek sessionnya
    ap_spp = DBSession.query(Spp)\
                  .filter(Spp.unit_id==ses['unit_id'],
                          Spp.id==ap_spp_id).first()
    if not ap_spp:
        return {"success": False, 'msg':'SPP tidak ditemukan'}
    
    #Cek lagi ditakutkan skpd ada yang iseng inject script
    if ap_spp_item_id:
        row = DBSession.query(SppItem)\
                  .join(Spp)\
                  .filter(SppItem.id==ap_spp_item_id,
                          Spp.unit_id==ses['unit_id'],
                          SppItem.ap_spp_id==ap_spp_id).first()
        if not row:
            return {"success": False, 'msg':'SPP tidak ditemukan'}
    else:
        row = SppItem()
            
    row.ap_spp_id    = ap_spp_id
    row.ap_invoice_id = controls['ap_invoice_id']

    DBSession.add(row)
    DBSession.flush()
    
    amount = "%d" % Spp.get_nilai(row.ap_spp_id) 
    
    # untuk kondisi simpan langsung nominal ke SPP
    if amount:
        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==controls['ap_invoice_id']).first()   
    #row.disabled=1
    row.status_spp=1
    save_request2(row)

    return {"success": True, 'id': row.id, "msg":'Success Tambah Invoice', 'jml_total':amount}
Exemple #26
0
def save(request, values, user, row=None):
    if not row:
        row = APInvoice()
        row.created = datetime.now()
        row.create_uid = user.id
        
    row.from_dict(values)
    
    # isikan user update dan tanggal update
    row.updated = datetime.now()
    row.update_uid = user.id
        
    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']
        if row.jenis == "1": jns ="UP"
        elif row.jenis == "2": jns = "TU"
        elif row.jenis == "3": jns = "GU"
        elif row.jenis == "4": jns = "LS"
        elif row.jenis == "5": jns = "SP2B"
        no_urut  = row.no_urut
        no       = "0000%d" % no_urut
        nomor    = no[-5:]     
        row.kode = "%d" % tahun + "-%s" % jns + "-%s" % unit_kd + "-%s" % nomor
    
    if row.ap_kwitansi_nilai == None:
        row.ap_kwitansi_nilai = 0
    if row.ap_nilai == None:
        row.ap_nilai = 0
    #kode1 = row.kode
    #if row.jenis == "5" :
    #   jns_kd = row.kode[5:9]
    #else:
    #   jns_kd = row.kode[5:7]
    #row.kode = kode1[0:3] + jns_kd + kode1[8:25]
    
    j='3'
    j1 = row.jenis
    if j1 != j:
        row.no_bku  = None
        row.tgl_bku = None        
    
    DBSession.add(row)
    DBSession.flush()
    return row
def save(request, values, row=None):
    if not row:
        row = ARInvoice()
    row.from_dict(values)
    
    if not row.kode:
        tahun    = request.session['tahun']
        unit_kd  = request.session['unit_kd']
        unit_id  = request.session['unit_id']
        no_urut  = ARInvoice.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()
    return row
Exemple #28
0
def save(values, user, row=None):
    if not row:
        row = KegiatanSub()
        row.created = datetime.now()
        row.create_uid = user.id
        
    row.from_dict(values)
    
    # isikan user update dan tanggal update
    row.updated = datetime.now()
    row.update_uid = user.id

    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 #29
0
 def ak_kegiatan_item_add_fast(self):
     ses = self.request.session
     req = self.request
     params = req.params
     url_dict = req.matchdict
     kegiatan_sub_id = 'kegiatan_sub_id' in params and params['kegiatan_sub_id'] or None
     rekening_id     = 'rekening_id' in params and params['rekening_id'] or None
     kegiatan_item_id = 'kegiatan_item_id' in params and params['kegiatan_item_id'] or None
     if not kegiatan_item_id:
         row = KegiatanItem()
         row_dict = {}
     else:
         row = DBSession.query(KegiatanItem).filter(KegiatanItem.id==kegiatan_item_id).first()
         if not row:
             return {'success':False, 'msg':'Data Tidak Ditemukan'}
         row_dict = row.to_dict()
         
     row_dict['no_urut']         = 'no_urut' in params and params['no_urut'] or \
                                   KegiatanItem.max_no_urut(kegiatan_sub_id,rekening_id)+1
     row_dict['kegiatan_sub_id'] = kegiatan_sub_id
     row_dict['rekening_id']     = rekening_id
     row_dict['nama']            = 'nama' in params and params['nama'] or None
     row_dict['kode']            = 'kode' in params and params['kode'] or None
     
     ag_step_id = ses['ag_step_id']
     amount = 'amount' in params and params['amount'].replace('.', '') or 0
     
     if ag_step_id<2:
         row_dict['hsat_1'] = amount 
     if ag_step_id<3:
         row_dict['hsat_2'] = amount 
     if ag_step_id<4:
         row_dict['hsat_3'] = amount 
     if ag_step_id<5:
         row_dict['hsat_4'] = amount 
         
     row.from_dict(row_dict)
     DBSession.add(row)
     DBSession.flush()
     return {"success": True, 'id': row.id, "msg":'Success Tambah Data'}
     
     try:
       pass
     except:
         return {'success':False, 'msg':'Gagal Tambah Data'}
Exemple #30
0
def view_add(request):
    req = request
    ses = req.session
    params   = req.params
    url_dict = req.matchdict
    ar_sts_id = 'ar_sts_id' in url_dict and url_dict['ar_sts_id'] or 0
    controls = dict(request.POST.items())
    
    ar_sts_item_id = 'ar_sts_item_id' in controls and controls['ar_sts_item_id'] or 0
    #Cek dulu ada penyusup gak dengan mengecek sessionnya
    ar_sts = DBSession.query(Sts)\
                  .filter(Sts.unit_id==ses['unit_id'],
                          Sts.id==ar_sts_id).first()
    if not ar_sts:
        return {"success": False, 'msg':'STS tidak ditemukan'}
    
    if ar_sts_item_id:
        #Cek lagi ditakutkan skpd ada yang iseng inject script
        row = DBSession.query(StsItem)\
                  .join(Sts)\
                  .filter(StsItem.id==ar_sts_item_id,
                          Sts.unit_id==ses['unit_id'],
                          StsItem.ar_sts_id==ar_sts_id).first()
        if not row:
            return {"success": False, 'msg':'STS tidak ditemukan'}
    else:
        row = StsItem()
            
    row.ar_sts_id        = ar_sts_id
    row.kegiatan_item_id = controls['kegiatan_item_id']
    row.amount           = controls['amount'].replace('.','')
    
    DBSession.add(row)
    DBSession.flush()
    nilai = "%d" % Sts.get_nilai(row.ar_sts_id) 
    
    # untuk kondisi simpan langsung nominal ke Sts
    if nilai:
        rows = DBSession.query(Sts).filter(Sts.id==ar_sts_id).first()
        rows.nominal= nilai  
        DBSession.add(rows)
        DBSession.flush()
        
    return {"success": True, 'id': row.id, "msg":'Success Tambah Item STS', 'jml_total':nilai}