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_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}\
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
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
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
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}
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
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
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
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')
def save(self, values, user, row=None): if not row: row = RekeningSap() row.from_dict(values) DBSession.add(row) DBSession.flush() return row
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
def save(self, values, user, row=None): if not row: row = FungsiUrusan() row.from_dict(values) DBSession.add(row) DBSession.flush() return row
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
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
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
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}
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
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'}
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
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
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}
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}
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}
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
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
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'}
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}