def Save(self): # rint' save bio ' name = self.text_ctrl_name.GetValue() dob = self.datectrl_dob.GetDbReadyValue() pob = fetch.cmbValue(self.choice_pob) faith_id = fetch.cmbID(self.choice_faith) gender = fetch.cmbID(self.choice_gender) == 1 siblings_by_birth = int(fetch.cmbValue(self.choice_siblings_by_birth)) siblings_step = int(fetch.cmbValue(self.choice_siblings_step)) siblings_adopted = int(fetch.cmbValue(self.choice_siblings_adopted)) child_no = int(fetch.cmbValue(self.choice_birth_order)) sql = ( "UPDATE students \ SET name='%s', dob ='%s', pob ='%s', faith_id =%d, gender=%d, \ siblings_by_birth =%d, siblings_step = %d, siblings_adopted = %d, child_no =%d \ WHERE id =%d" % ( name, dob, pob, faith_id, gender, siblings_by_birth, siblings_step, siblings_adopted, child_no, gVar.student_id, ) ) # rintsql fetch.updateDB(sql)
def displayData(self): ##rint'resistration_payments ---------------displayData--' sql = "SELECT s.id, s.name, c.name \ FROM students s \ JOIN acc_invoices i ON s.id = i.student_id \ JOIN courses c ON c.id = s.register_course_id \ WHERE s.register_schYr = %d " % (gVar.schYr,) """ sql = "SELECT s.id, s.name \ FROM students s \ WHERE s.register_schYr = %d " % (gVar.schYr,)""" if self.checkbox_filter_by_course.GetValue(): ##rint'filter by course' course_id = fetch.cmbID(self.choice_courses) sql = "%s AND c.id = %d" % (sql, course_id) elif self.checkbox_filter_by_school.GetValue(): ##rint'filter by school' school_id = fetch.cmbID(self.choice_schools) sql = "%s AND c.school_id = %d" % (sql, school_id) ##rintsql res = fetch.DATA(sql) self.vList.SetItemMap(res) self.records = len(res) if self.records: txt = "Record 1/%d" % self.records else: txt = "No Records" self.text_ctrl_record_count.SetValue(txt)
def insertNewStudent(self): name = self.text_ctrl_student_name.GetValue() gender = fetch.cmbID(self.choice_gender) register_course_id = fetch.cmbID(self.choice_joining_course) registration_status = self.choice_status.GetCurrentSelection() sql = "SELECT MAX (student_id) \ FROM students" student_id = fetch.getDig(sql)+1 try: dob = self.date_dob.caldate except: dob = 0 if name and register_course_id and registration_status and dob and gender <2: sql = "INSERT INTO students (student_id, name, dob, schYr, \ registration_status, register_course_id, gender) \ VALUES (%d, '%s', '%s', %d, %d, %d, %d)" % ( student_id, name, dob, gVar.schYr, registration_status, register_course_id, gender) return sql, [] """ sql = "INSERT INTO students (student_id, name, dob, schYr, registration_status, register_course_id, gender) \ VALUES (?, ?, ?, ?, ?, ?, ?)" return sql, (student_id, name, dob, gVar.schYr, registration_status, register_course_id, gender)""" else: fetch.msg('Fields Name, Course, DOB, registration_status & Gender need to be filled') return 'fail', []
def displayData(self): #rint'panel_student_payments ---------------- : displayData' sql = "SELECT s.id, s.name, f.name \ FROM students s \ JOIN students_by_form sbf ON s.id = sbf.student_id \ JOIN forms f ON f.id = sbf.form_id \ WHERE f.schYr = %d " % (gVar.schYr,) #rint sql if self.checkbox_filter_by_form.GetValue(): #rint 'filter by form' form_id = fetch.cmbID(self.choice_forms) sql = "%s AND f.id = %d" % (sql, form_id) elif self.checkbox_filter_by_school.GetValue(): #rint 'filter by school' school_id = fetch.cmbID(self.choice_schools) sql = "%s AND f.school_id = %d" % (sql, school_id) #rint sql res = fetch.DATA(sql) self.vList.SetItemMap(res) self.records = len(res) if self.records: txt = "Record 1/%d" % self.records else: txt = "No Records" self.text_ctrl_record_count.SetValue(txt)
def OnKel(self, event): selectedKecamatanID = fetch.cmbID(self.combo_kecamatan) selectedKabupatenID = fetch.cmbID(self.combo_kabupaten) selectedProvinceID = fetch.cmbID(self.combo_province) if selectedKecamatanID: return # kecamatan ----------------------------- kecamatanList = fetch.kecamatanForKelurahanID(kelurahanID) kecamatanID = self.setKecamatan(selectedKecamatanID, kecamatanList) kabupatenID = self.doForKabupaten(kecamatanID, selectedKecamatanID) provinceID = self.provincesForKabupaten(kabupatenID, selectedKabupatenID) self.countriesForProvince(provinceID, selectedProvinceID)
def OnSave(self, evt): print print #rint'OnSave--------------' division_id = fetch.cmbID(self.choice_divisioan) date = self.datepicker_ctrl_1.GetDbReadyValue() tran_description = self.text_ctrl_tans_descript.GetValue() #ckRef = self.text_ctrl_ckrefno.GetValue() supplierRef = self.text_ctrl_supplierrefno.GetValue() supplier_id = fetch.cmbID(self.choice_supplier) pettycash = self.checkbox_pettycash.GetValue() debit_items_count = self.grid_debits.getItemCount() credit_items_count = self.grid_credits.getItemCount() msg = '' if not division_id: msg += '- division\n' if not tran_description: msg += '-transaction description\n' if not supplier_id: msg += '-supplier\n' if not date: msg += '-transaction date\n' if not ckRef: msg += '-ck ref missing\n' if debit_items_count + credit_items_count == 0: msg += '-credit or debit entries\n' if msg: msg = 'Missing Items:\n' + msg fetch.msg(msg) return if self.debit_total != self.credit_total: fetch.msg('transaction totals do not match') data = (supplier_id, date, tran_description, supplier_id, supplierRef, pettycash) if self.jurnal_id: self.updateEntries(data) else: self.newEntry(data)
def OnKab(self, event): selectedKabupatenID, kabupaten = fetch.cmbIDV(self.combo_kabupaten) provinceList = fetch.provincesForKabupaten(kabupaten) selectedProvinceID = fetch.cmbID(self.combo_province) provinceID = self.setGen(selectedProvinceID, provinceList, self.combo_province) if selectedProvinceID != provinceID: self.countriesForProvince(provinceID, selectedProvinceID) # step 2: work upward ----------------------- kecamatenList = fetch.kecamatanForKabupatenID(selectedKabupatenID) if kecamatenList: selectedKecamatenID = fetch.cmbID(self.combo_kecamatan) kecamatenID = self.setComboItems(self.combo_kecamatan, kecamatenList) if kecamatenID != selectedKecamatenID: self.resetCmb(self.combo_kelurahan)
def loadForms(self): school_id = fetch.cmbID(self.choice_schools) level_id = fetch.cmbID(self.choice_levels) level = fetch.level_level_id(level_id) if self.checkbox_filter_by_level.GetValue(): sql = "SELECT id, name \ FROM forms \ WHERE level = %d \ AND schYr = %d" % (level, gVar.schYr) else: sql = "SELECT id, name \ FROM forms \ WHERE school_id = %d \ AND schYr = %d" % (school_id, gVar.schYr) loadCmb.gen(self.choice_forms, sql)
def OnCountry(self, evt): countryID = fetch.cmbID(self.combo_country) if countryID: provinceList = fetch.provincesForCountryID(countryID) selectedProvinceID = fetch.cmbID(self.combo_province) provinceID = self.setComboItems(self.combo_province, provinceList) provinceIDlist = self.idList(provinceList) if provinceID: if provinceID != selectedProvinceID: kabupatenID = self.kabupatenForProvince(provinceIDlist) else: # combo_province may have been loaded with a list of provinces # or none if provinceList: kabupatenID = self.kabupatenForProvince(provinceIDlist)
def OnEnter(self, event): activity_id = fetch.cmbID(self.choice_activity) if not activity_id: fetch.msg("! Must have an activity selected !") return teacher_id = fetch.cmbID(self.choice_teacher) if self.editMode: self.update(activity_id, teacher_id) self.EndModal(wx.ID_OK) else: if self.insertNewActivity(activity_id, teacher_id): self.EndModal(wx.ID_OK)
def loadForms(self): school_id = fetch.cmbID(self.choice_schools) """sql = "SELECT id, name \ FROM forms \ WHERE school_id = %d \ AND schYr =%d" % (school_id, gVar.schYr)""" loadCmb.forms_forSchool(self.choice_forms, school_id)
def displayData(self, ): if self.checkbox_filter_by_school.GetValue(): gVar.school_id = fetch.cmbID(self.choice_schools) else: gVar.school_id = 0 if self.checkbox_filter_by_level.GetValue(): level_id = fetch.cmbID(self.choice_levels) gVar.level = fetch.level_level_id(level_id) else: gVar.level = 0 if self.checkbox_filter_by_form.GetValue(): gVar.form_id = fetch.cmbID(self.choice_forms) else: gVar.form_id = 0 #rint' send msg' self.GetTopLevelParent().Layout() pub.sendMessage('filter_sch.change')
def OnSelectSchool(self, evt): school_id = fetch.cmbID(self.choice_schools) sql = "SELECT id, name \ FROM forms \ WHERE school_id = %d \ AND schYr = %d" % (school_id, gVar.schYr) loadCmb.gen(self.choice_forms, sql) self.displayData()
def loadLevels(self): school_id = fetch.cmbID(self.choice_schools) sql = "SELECT id, name \ FROM course_levels \ WHERE school_id = %d \ GROUP BY level \ ORDER BY level" % (school_id,) loadCmb.gen(self.choice_levels, sql) loadCmb.levels_forSchool(self.choice_levels, school_id)
def displayData(self): #rint'panel_student_payment_record_list : displayData' paymentType_id, datefrom, dateto = self.getVars() if datefrom and dateto: sql = "SELECT s.id, i.ck_ref, FORMAT(i.transaction_date, 'DD-MM-YYYY'),\ s.name, f.name, FORMAT(INT(ii.amount), '#,###') \ FROM acc_invoices i \ JOIN acc_invoice_items ii ON i.ck_ref = ii.ck_ref \ JOIN students s ON s.student_id = i.student_id \ JOIN student_by_form sbf ON s.student_id = sbf.student_id \ JOIN forms f ON f.id = sbf.form_id\ WHERE i.schYr = %d \ AND i.transaction_date BETWEEN '%s' AND '%s'" %(gVar.schYr, datefrom, dateto ) elif datefrom: sql = "SELECT s.id, i.ck_ref, i.transaction_date, s.name, f.name, ii.amount \ FROM acc_invoices i \ JOIN acc_invoice_items ii ON p.ck_ref = ii.ck_ref \ JOIN students s ON s.student_id = i.student_id )\ JOIN student_by_form sbf ON s.student_id = sbf.student_id )\ JOIN forms f ON f.id = sbf.form_id\ WHERE i.schYr = %d \ AND i.transaction_date > '%s' " %(gVar.schYr, datefrom) elif dateto: sql = "SELECT s.id, i.ck_ref, i.transaction_date, s.name, f.name, ii.amount \ FROM acc_invoices i \ JOIN acc_invoice_items ii ON i.ck_ref = ii.ck_ref \ JOIN students s ON s.student_id = i.student_id \ JOIN student_by_form sbf ON s.student_id = sbf.student_id \ JOIN forms f ON f.id = sbf.form_id \ WHERE i.schYr = %d \ AND i.transaction_date < '%s' " %(gVar.schYr, dateto) else: sql = "SELECT s.id, i.ck_ref, i.transaction_date, s.name, f.name, ii.amount \ FROM acc_invoices i \ JOIN acc_invoice_items ii ON i.ck_ref = ii.ck_ref )\ JOIN students s ON s.student_id = i.student_id )\ JOIN student_by_form sbf ON s.student_id = sbf.student_id )\ JOIN forms f ON f.id = sbf.form_id)\ WHERE i.schYr = %d " %(gVar.schYr, ) salesItem_id = fetch.cmbID(self.choice_pay_type) if salesItem_id: sql = "%s AND pd.Item = %d" % (sql, salesItem_id) res = fetch.DATA(sql) ##rintsql, len(res) self.vList.SetItemMap(res) self.records = len(res) if self.records: txt = "Record 1/%d" % self.records else: txt = "No Records" self.text_ctrl_record_count.SetValue(txt)
def displayData(self): day = 0 for btn in self.rb_dict: if btn.GetValue(): day = self.rb_dict[btn] btn.Show() semester = fetch.cmbID(self.choice_semester) school_id = fetch.cmbID(self.choice_school) schedule_id = fetch.excul_schedule_id(day, semester, school_id, gVar.schYr) self.vList_waiting.DeleteAllItems() non_members = fetch.excul_unallocatedDATA(schedule_id) self.vList_waiting.SetItemMap(non_members) self.init_club_lists(schedule_id) self.Layout()
def loadCmbsUnderKecID(self, kecamatanID): loadCmb.restore(self.combo_kecamatan, kecamatanID) selectedKabupatenID = fetch.cmbID(self.combo_kabupaten) selectedProvinceID = fetch.cmbID(self.combo_province) # step 1: working down ------------------------------- # do for kabupaten -------------------------------- kabupatenList = fetch.kabupatenForKecamatanID(kecamatanID) if selectedKabupatenID in self.idList(kabupatenList): return kabupatenID = self.setGen(selectedKabupatenID, kabupatenList, self.combo_kabupaten) provinceID = self.provincesForKabupaten(kabupatenID, selectedKabupatenID) self.countriesForProvince(provinceID, selectedProvinceID) loadCmb.address_items(self.combo_kelurahan, 'kelurahan', kecamatanID)
def loadAddress(self, address): gVar.editedFlag = False # change kode to the selected address #sql = "SELECT AlamatA FROM OrangTua WHERE Kode = %d" % kode self.text_ctrl_address.SetValue(address) itemList = self.splitAddress(address) addrLen = len(itemList) if addrLen != 11: for i in range(0, 11-addrLen): itemList.append('') street,house,estate,block,road,kelurahan,kecamatan,kabupaten,postcode,province,country = itemList street = street.strip() house = house.strip() estate = estate.strip() block = block.strip() road = road.strip() kelurahan = kelurahan.strip() kecamatan = kecamatan.strip() kabupaten = kabupaten.strip() postcode = postcode.strip() province = province.strip() country = country.strip() self.text_ctrl_block.SetValue(block) self.text_ctrl_house.SetValue(house) self.text_ctrl_road.SetValue(road) self.text_ctrl_street.SetValue(street) if estate: self.checkbox_in_estate.SetValue(1) self.selectResidesPanel() loadCmb.restore_str(self.combo_box_estate, estate) try : postcode = int(postcode) postcode = postcode*1 if isinstance(postcode, int): #rint 'postcode.isdigit' self.num_ctrl_postcode.SetValue(int(postcode)) kecamatanID = fetch.cmbID(self.combo_kecamatan) self.loadCmbsUnderKecID(kecamatanID) #rint 'restore_str ,',kelurahan loadCmb.restore_str(self.combo_kelurahan, kelurahan) else: loadCmb.restore_str(self.combo_country, country) loadCmb.restore_str(self.combo_country, province) loadCmb.restore_str(self.combo_country, kabupaten) loadCmb.restore_str(self.combo_country, kecamatan) loadCmb.restore_str(self.combo_country, kelurahan) except: pass
def updateBooking(self): register_course_id = fetch.cmbID(self.choice_joining_course) registration_status = self.choice_status.GetCurrentSelection() return "UPDATE students \ SET register_course_id, registration_status \ VALUES (%d, %d) \ WHERE student_id =%d" , ( register_course_id, registration_status, gVar.student_id)
def loadCourses(self): ##rint'loadCourses' school_id = fetch.cmbID(self.choice_schools) sql = "SELECT c.id, c.name \ FROM courses c \ JOIN courses_by_year cby ON cby.course_id = c.id \ WHERE c.school_id = %d \ AND cby.schYr = %d" % (school_id, gVar.schYr) ##rintsql loadCmb.gen(self.choice_courses, sql)
def OnProvince(self, event): selectedProvinceID, province = fetch.cmbIDV(self.combo_province) if selectedProvinceID: countryList = fetch.countriesForProvinceID(selectedProvinceID) if countryList: selectedCountryID = fetch.cmbID(self.combo_country) self.setGen(selectedCountryID, countryList, self.combo_country) # work up --------------------- kabupatenList = fetch.kabupatenForProvinceID(selectedProvinceID) selectedKabupatenID = fetch.cmbID(self.combo_kabupaten) if selectedKabupatenID in self.idList(kabupatenList): return self.clearPostcodeCtrls((self.combo_kecamatan, self.combo_kabupaten, self.combo_kelurahan)) # kabupaten -------------------------- if kabupatenList: kabupatenID = self.setComboItems(self.combo_kabupaten, kabupatenList) if selectedKabupatenID != kabupatenID: pass
def OnKec(self, event): selectedKecamatanID, kecamatan = fetch.cmbIDV(self.combo_kecamatan) selectedKabupatenID = fetch.cmbID(self.combo_kabupaten) selectedProvinceID = fetch.cmbID(self.combo_province) if selectedKecamatanID: self.postcodeForKecamatan(selectedKecamatanID) # working down ---------------- kabupatenList = fetch.kabupatenForKecamatanID(selectedKecamatanID) if kabupatenList: kabupatenID = self.setGen(selectedKabupatenID, kabupatenList, self.combo_kabupaten) if selectedKabupatenID != kabupatenID: provinceList = fetch.provincesForKabupatenID(kabupatenID) selectedProvinceID = fetch.cmbID(self.combo_province) provinceID = self.setGen(selectedProvinceID, provinceList, self.combo_province) if selectedProvinceID != provinceID: self.countriesForProvince(provinceID, provinceID) # step 2 - work up self.resetCmb(self.combo_kelurahan) alist = fetch.kelurahanForKecamatanID(selectedKecamatanID) self.setComboItems(self.combo_kelurahan, alist)
def saveData(self): name = self.text_ctrl_name.GetValue() dob = self.date_ctrl_dob.GetDbReadyValue() if not dob: dob = '1800-01-01' occupation_main = fetch.cmbID(self.combo_occupation_main) occupation_other = self.text_ctrl_occupation_other.GetValue() #english_level = self.combo_box_english_level.GetValue() #qualification = self.combo_box_qualification.GetValue() #relationship = fetch.cmbID(self.combo_box_relationship) #blood_group = fetch.cmbID(self.combo_box_blood_group) address = self.text_ctrl_address.GetValue() HP = self.text_ctrl_telp.GetValue() telp = self.text_ctrl_hp.GetValue() #income = self.text_ctrl_income.GetValue() #email = self.text_ctrl_email.GetValue() faith_id = fetch.cmbID(self.combo_box_faith) wilayah = '' pob = '' nationality = 0 nb_name = self.GetName() data = (name, address, faith_id, \ dob, HP, telp, \ wilayah, pob, occupation_main, \ occupation_other, nationality) if self.editMode: self.updateGuardian(data) else: self.insertGuardian(data)
def OnFilterChange(self, event): semester = fetch.cmbID(self.choice_semester) school_id = fetch.cmbID(self.choice_school) for btn in self.rb_dict: btn.Hide() self.rb_xxx.Freeze() self.rb_xxx.SetValue(1) self.rb_xxx.Thaw() schedule = fetch.exculSchedule_forSchSemYr(school_id, semester, gVar.schYr) for row in schedule: day = row['day'] rb = self.rb_rev_dict[day] rb.SetValue(1) rb.Show() try: self.Layout() except: print "-"# can't set size of uninitialized sizer item" self.displayData()
def saveData(self): birth_date = self.date_ctrl_dob.GetDbReadyValue() first_name = self.text_ctrl_name.GetValue() address = self.text_ctrl_address.GetValue() telephone = self.text_ctrl_telephone.GetValue() previous_school_id = self.choice_schools.GetValue() try: previous_school_id = int(previous_school_id) except : previous_school_id = 0 edu_status = self.text_ctrl_current_edu_status.GetValue() try: edu_status = int(edu_status) except: edu_status = 0 edu_notes = self.text_ctrl_edu_notes.GetValue() medical_notes = self.text_ctrl_medical_notes.GetValue() pob = self.choice_pob.GetValue() faith_id = fetch.cmbID(self.choice_faith) birth_status = self.choice_status.GetValue() blood_group = self.choice_blood_group.GetValue() idx = self.choice_gender.GetSelection() if idx == 1: gender = 'm' elif idx == 2: gender = 'f' else: gender = '?' siblings_by_birth = self.spin_sibling_by_birth.GetValue() siblings_by_marrige = self.spin_sibling_step.GetValue() siblings_by_adoption = self.spin_sib_adopted.GetValue() if not siblings_by_birth: siblings_by_birth=0 if not siblings_by_marrige: siblings_by_marrige=0 if not siblings_by_adoption: siblings_by_adoption=0 no_of_siblings = "%d,%d,%d" % (siblings_by_birth, siblings_by_marrige, siblings_by_adoption) birth_order = self.spin_birth_order.GetValue() sql = "UPDATE CSiswa SET (Nama, TglLahir, TempatLahir, Agama, GolDarah, Pria, \ SaudaraKandung, SaudaraTiri, SaudaraAngkat, AnakKe, KSekolahAsal) \ VALUES ('%s', '%s', '%s', %d, '%s', %d, \ %d, %d, %d, %d, %d) \ WHERE Kode = %d" % (name, dob, pob, faith, blood_group, gender, siblings_by_birth, siblings_by_marrige, siblings_by_adoption, birth_order, iprevious_school_id, self.student_id)
def OnAddCredit(self, evt): #rint'Add credit' gVar.listCtrl = 'c' account_id=fetch.cmbID(self.choice_credits) if self.id_in_grid(account_id, self.grid_credits): return if self.id_in_grid(account_id, self.grid_debits): fetch.msg('can add this account, already in debits') account = fetch.cmbValue(self.choice_credits) #rint'OnAddCredit', account self.grid_credits.appendItem((account_id, account, 0)) self.grid_credits.calcTotal()
def setComboItems(self, cmb, itemsList): selectedID = fetch.cmbID(cmb) cmb.Freeze() cmb.Clear() for row in itemsList: cmb.Append(str(row[1]), row[0]) cmb.Insert(' ', 0) cmb.Thaw() selectedID = loadCmb.restore(cmb, selectedID) if not selectedID: if len(itemsList) == 1: selectedID = itemsList[0][0] loadCmb.restore(cmb, selectedID) return selectedID
def OnSave(self, evt): pass #rint'OnSave' acc_catagory_id = fetch.cmbID(self.choice_account_catagory) code_2 = self.text_ctrl_acc_code_2.GetValue() code_3 = self.text_ctrl_acc_code_3.GetValue() code_4 = self.text_ctrl_acc_code_4.GetValue() acc_code = "%s%s%s%s" % (acc_catagory_id, code_2, code_3, code_4) acc_code = acc_code.strip() if len(acc_code)<7: fetch.msg('Account code incomplete') return account_name = self.text_ctrl_section_name.GetValue() if not account_name: fetch.msg('Name required') return if not self.editing: if fetch.acc_code_exists(acc_code): fetch.msg('Account code already in use') return if fetch.acc_name_exists(account_name): fetch.msg('Account name in use - please try another') return start_ballance = self.text_ctrl_balance.GetValue() if self.editing: sql = "UPDATE acc_accounts \ SET name, balance=%d ='%s', acc_catagory_id = %d \ WHERE code = %d" % (account_name, start_ballance, acc_code, acc_catagory_id) else: sql = "INSERT INTO acc_accounts \ (name, balance, code, acc_catagory_id) \ VALUES('%s', %d, %d)" % ( account_name, int(start_ballance), int(acc_code), acc_catagory_id) #rintsql #fetch.updateDB(sql) self.OnCancel(wx.Event) self.displayDetails()
def getVars(self): if self.dateTo: newto = self.dateTo + datetime.timedelta(days=1) y, m, d = newto.year, newto.month, newto.day dateto = '%d-%d-%d' % (y, m, d) else: dateto = '' if self.dateFrom: y, m, d = self.dateFrom.year, self.dateFrom.month, self.dateFrom.day datefrom = '%d-%d-%d' % (y, m, d) else: datefrom = '' account_id = fetch.cmbID(self.choice_account) return (account_id, datefrom, dateto)
def getVars(self): if self.dateTo: newto = self.dateTo + datetime.timedelta(days=1) y, m, d = newto.year, newto.month, newto.day dateto = '%d/%d/%d' % (m, d, y) else: dateto = '' if self.dateFrom: y, m, d = self.dateFrom.year, self.dateFrom.month, self.dateFrom.day datefrom = '%d/%d/%d' % (m, d, y) else: datefrom = '' paymentType_id = fetch.cmbID(self.choice_pay_type) return (paymentType_id, datefrom, dateto)