コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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
コード例 #7
0
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)
コード例 #8
0
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
コード例 #9
0
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
コード例 #10
0
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
コード例 #11
0
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)
コード例 #12
0
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
コード例 #13
0
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)
コード例 #14
0
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)
コード例 #15
0
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]
コード例 #16
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
コード例 #17
0
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
コード例 #18
0
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
コード例 #19
0
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
コード例 #20
0
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
コード例 #21
0
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
コード例 #22
0
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
コード例 #23
0
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
コード例 #24
0
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")
コード例 #25
0
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
コード例 #26
0
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"
コード例 #27
0
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
コード例 #28
0
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
コード例 #29
0
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
コード例 #30
0
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