def checkRevisi(npm, tahun_id): db = kelas.dbConnect() msg = "" listPenguji = list() status = True sql = f'select distinct penguji from revisi_data where npm="{npm}" and tahun_id="{tahun_id}"' with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() if rows is not None: for row in rows: listPenguji.append(row[0]) else: status = False if (status): for penguji in listPenguji: sql = f'select revisi, id from revisi_data where npm="{npm}" and penguji="{penguji}" and tahun_id="{tahun_id}"' with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() if rows: msg += f"\n\n*Revisi untuk {npm} dari {penguji}*" for i, row in enumerate(rows): msg += f"\n{(i+1)}. {row[0]} ({row[1]})" return msg else: return False
def checkRevisiPenguji(tahun_id, kodeDosen): db = kelas.dbConnect() msg = "" listMhs = getListMhs(kodeDosen, tahun_id) # print(listMhs) if listMhs: for npm in listMhs: listPenguji = getListPenguji(tahun_id, npm) # print(listPenguji) if listPenguji: for penguji in listPenguji: sql = f'select revisi, id from revisi_data where npm="{npm}" and tahun_id="{tahun_id}" and penguji="{penguji}"' with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() if rows: msg += f"\n\n*Revisi untuk {npm} dari {penguji}*" for i, row in enumerate(rows): msg += f"\n{(i+1)}. {row[0]} ({row[1]})" else: return False return msg else: return False
def bimbinganCekApprovalBimbingan(kodedosen): db = kelas.dbConnect() sql = f"select npm from bimbingan_data where pembimbing1='{kodedosen}' or pembimbing2='{kodedosen}'" with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() if rows != (): sudah = [] siap = [] belum = [] for npm in rows: npm = npm[0] if len(kambing.getAllDataBimbingan(npm)) < 16: belum.append(npm) else: data = getDataPembimbing(npm, kodedosen) pembimbingke = pembimbingPositionAs(data, kodedosen) if cekApprovalTrueorFalse(npm, pembimbingke): sudah.append(npm) else: siap.append(npm) return sudah, siap, belum else: return None
def setOutbox(nomortujuan, pesan): db = kelas.dbConnect() sql = "INSERT INTO `wanda`.`outbox`(`id`, `nomor_tujuan`, `pesan`) VALUES (DEFAULT, '{nomortujuan}', '{pesan}')".format( nomortujuan=nomortujuan, pesan=pesan) with db: cur = db.cursor() cur.execute(sql)
def updateApprovalKoordinator(npm, pembimbingke, koordinatorke, kodedosen, status): db = kelas.dbConnect() sql = f"UPDATE `wanda`.`bimbingan_data` SET `approval_{koordinatorke}` = '{status}' WHERE `npm` = {npm} and {pembimbingke} = '{kodedosen}' and `tahun_id` = '{kelas.getTahunID()}';" with db: cur = db.cursor() cur.execute(sql)
def checkSidang(npm, tahun_id): db=kelas.dbConnect() msg = "*TTD BA & Pengesahan Sidang :*\n" sql=f'select penguji_utama, penguji_pendamping, pembimbing_utama, pembimbing_pendamping, koordinator, kaprodi from sidang_data where npm="{npm}" and tahun_id="{tahun_id}"' # print(sql) with db: cur=db.cursor() cur.execute(sql) row=cur.fetchone() if row: if row[0] or row[1] or row[2] or row[3]: if row[0]: msg += f'Penguji Utama - Accept\n' if row[1]: msg += f'Penguji Pendamping - Accept\n' if row[2]: msg += f'Pembimbing Utama - Accept\n' if row[3]: msg += f'Pembimbing Pendamping - Accept\n' if row[4]: msg += f'Koordinator - Accept\n' if row[5]: msg += f'Kepala Prodi - Accept\n' else: msg += "Belum Ada\n" else: msg += "Belum Ada\n" return msg
def approveBASidang(kodeDosen, role, tahunID, kategori, npm): db = kelas.dbConnect() sql = f'UPDATE sidang_data SET {role}="{kodeDosen}" WHERE npm="{npm}" and tahun_id="{tahunID}" and kategori = "{kategori}"' # print(sql) with db: cur = db.cursor() cur.execute(sql)
def getMahasiswaBimbingan(tahunid, tipe_bimbingan): db=kelas.dbConnect() sql=f"select * from bimbingan_data where tahun_id={tahunid} and tipe_bimbingan='{tipe_bimbingan}'" with db: cur=db.cursor() cur.execute(sql) rows=cur.fetchall() return rows
def cekStatusApprovePerwalian(kode_dosen, tahun_id): db = kelas.dbConnect() sql = f"select ApproveKaprodi, ApproveDeputi from perwalian_log where KodeDosen='{kode_dosen}' and TahunID={tahun_id}" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() return row
def isTerdaftar(phone_number): db = kelas.dbConnect() sql = f'select * from seminar_iteung where nomor_hp = "{phone_number}"' with db: cur = db.cursor() cur.execute(sql) if cur.fetchone(): return True return False
def insertMhs(npm, prodi, tahunID): db = kelas.dbConnect() if not checkMhs(npm, prodi, tahunID): sql = f"INSERT INTO skmk_data (npm, prodiID, tahunID) VALUE ('{npm}', '{prodi}', '{tahunID}')" with db: cur = db.cursor() cur.execute(sql) return checkMhs(npm, prodi, tahunID)
def getMahasiswaBimbingan(tahunid): db = kelas.dbConnect() sql = "select * from bimbingan_data where tahun_id={tahunid}".format( tahunid=tahunid) with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() return rows
def daftarSeminar(nama_lengkap, email, nomor_hp, alamat_lengkap): db = kelas.dbConnect() sql=f'INSERT INTO `wanda`.`seminar_iteung`' \ f'(`id`, `nama_lengkap`, `email`, `nomor_hp`, `alamat_lengkap`) ' \ f'VALUES ' \ f'(DEFAULT, "{nama_lengkap}", "{email}", "{nomor_hp}", "{alamat_lengkap}");' with db: cur = db.cursor() cur.execute(sql)
def updateApproval(kode_dosen, prodi_id, field_update, tahun_id=kelas.getTahunID()): db = kelas.dbConnect() sql = f"UPDATE `wanda`.`perwalian_log` SET `{field_update}` = 'true' WHERE `KodeDosen` = '{kode_dosen}' and `ProdiID` = {prodi_id} and `TahunID` = {tahun_id}" with db: cur = db.cursor() cur.execute(sql)
def getJudulFromNpm(npm): db = kelas.dbConnect() sql = f"select judul from bimbingan_data where npm='{npm}'" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row is not None: return row[0]
def jadwalKuliah(hari, num): kelas.dbConnect() db = kelas.dbConnectSiap() listMK = 'Kode Dosen | Jadwal ID | Mata Kuliah | Kelas | Hari | Jam Mulai | Jam Selesai | Ruangan\n ' sql = "select DosenID, JadwalID, Nama, NamaKelas, HariID, JamMulai, JamSelesai, RuangID from simak_trn_jadwal where DosenID = '{0}' and TahunID = '".format( kelas.getKodeDosen( num)) + config.siap_tahun_id + "' and HariID = '{0}'".format(hari) with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() for row in rows: listMK = listMK + str(row[0]) + ' | ' + str( row[1]) + ' | ' + str(row[2]) + ' | ' + kelas.toKelas( str(row[3])) + ' | ' + kelas.toHari(str( row[4])) + ' | ' + str(row[5]) + ' | ' + str( row[6]) + ' | ' + str(row[7]) + ' \n ' return listMK
def cekSudahApprove(npm, tahunid): db=kelas.dbConnect() sql=f'select * from log_approval_va where MhswID={npm} and TahunID={tahunid}' with db: cur=db.cursor() cur.execute(sql) row=cur.fetchone() if row is not None: return row
def cekBimbinganData(npm, tahun_id=kelas.getTahunID()): db=kelas.dbConnect() sql=f"select * from bimbingan_data where npm={npm} and tahun_id={tahun_id}" with db: cur=db.cursor() cur.execute(sql) if cur.fetchone() is not None: return True else: return False
def cekData(kode_beruntung): db = kelas.dbConnect() sql = f'select * from kode_beruntung where kode="{kode_beruntung}"' with db: cur = db.cursor() cur.execute(sql) if cur.fetchone(): return True else: return False
def dataSumbitSKMK(): db = kelas.dbConnect() sql = "select npm from skmk_data where approve is null" with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() if rows: return rows return False
def dataPengajuSKPWadir1(): db = kelas.dbConnect() sql = "select npm, nama from skp_data where (ajukan is not null and ajukan <> '-') and (wadir1 is null or wadir1 = '-')" with db: cur = db.cursor() cur.execute(sql) rows = cur.fetchall() if rows: return rows return False
def checkApproveMhs(npm, prodi, tahunID): db = kelas.dbConnect() sql = f"select * from skmk_data where npm = {npm} and prodiID = {prodi} and tahunID like '{tahunID[:4]}%' and approve is not null" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row: return True return False
def checkMhs(npm, prodi, tahunID): db = kelas.dbConnect() sql = f"select id from skmk_data where npm = {npm} and prodiID = {prodi} and tahunID like '{tahunID[:4]}%'" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row: return row[0] return False
def makeBeritaAcara(npm, tahunID, kategori): db = kelas.dbConnect() if not checkStatusSidang(npm, tahunID, kategori): sql = f"INSERT INTO sidang_data (npm, tahun_id, kategori) VALUE ('{npm}', '{tahunID}', '{kategori}')" with db: cur = db.cursor() cur.execute(sql) else: pass print("Lewat aja ya")
def getDataPembimbing(npm, kode_dosen): db = kelas.dbConnect() sql = f"select * from bimbingan_data where npm={npm} and (pembimbing1='{kode_dosen}' or pembimbing2='{kode_dosen}')" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row is not None: return row else: return None
def getJudul(npm, tahunID): db = kelas.dbConnect() sql = f"select judul from bimbingan_data where npm ='{npm}' and tahun_id='{tahunID}'" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row: return row[0] else: return "Ini Judul"
def getAllDataMahasiswaAndPembimbing(kode_dosen): db = kelas.dbConnect() sql = f"select * from bimbingan_data where pembimbing1='{kode_dosen}' or pembimbing2='{kode_dosen}'" with db: cur = db.cursor() cur.execute(sql) row = cur.fetchall() if row is not None: return row else: return None
def getOutbox(): db = kelas.dbConnect() sql = 'select * from outbox' with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row is not None: return True, row else: return False, None
def checkRevisi(npm, penguji, id, tahun_id): db = kelas.dbConnect() sql = f'select revisi from revisi_data where npm="{npm}" and penguji="{penguji}" and tahun_id="{tahun_id}" and id="{id}"' with db: cur = db.cursor() cur.execute(sql) row = cur.fetchone() if row: return True else: return False
def checkMhs(npm): db=kelas.dbConnect() sql=f'select npm from bimbingan_data where npm="{npm}"' with db: cur=db.cursor() cur.execute(sql) row=cur.fetchone() if row is not None: return row[0] else: return False