コード例 #1
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def virtual(data):
    temp = []
    for ambil in data:
        content = api.santri(ambil)
        for i in content:
            hasil = common._useMysql('va', i['nik'])
            if hasil:
                text = text_messages['va'].format(
                    i.get('nis'),
                    i['nama'],
                    i['blok'],
                    i['kamar'],
                    i['lembaga'],
                    hasil[0][0] or "-",
                )
                sisa_tagihan = 0
                for va in hasil:
                    if va[1] > 0:
                        sisa_tagihan += va[1]
                        bulan = datetime.strptime(str(va[2]),
                                                  "%Y-%m-%d").strftime("%B %Y")
                        text += "Bulan : {}\nTagihan : Rp. {:,.0f} \n\n".format(
                            bulan, va[1])
                if sisa_tagihan == 0:
                    text += "Alhamdulillah \n\nSudah Lunas Semua"
                else:
                    text += "Total Tagihan : Rp. {:,.0f}".format(sisa_tagihan)
                temp.append(text)
            else:
                temp.append("Mohon Maaf, Data Tidak Ditemukan")
    return temp
コード例 #2
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def rekapRegister(cid):
    register = common._useMysql("rekap_reg")
    siswas = api.all_santri()
    try:
        temps = []
        siswa = [i for i in siswas if i.get("nik") in (a[0] for a in register)]
        temps.append([
            "NIK", "NAMA LENGKAP", "BLOK", "KAMAR", "LEMBAGA", "KELAS",
            "JURUSAN"
        ])
        for i in siswa:
            data = (
                i.get("nik"),
                i.get("nama"),
                i.get("blok"),
                i.get("kamar"),
                i.get("lembaga") or "-",
                i.get("kelas") or "-",
                "{} {}".format(
                    i.get("jurusan") or "-",
                    i.get("rombel") or "-"),
            )
            temps.append(data)
        cetakExcel(cid, temps)
    except Exception as e:
        logger.exception(e)
コード例 #3
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def jumlahRegister():
    jum = common._useMysql('jum_register')
    total = api.total_santri()
    persentase = (float(jum[0]) / float(total)) * 100
    pesan = "Total Santri : {}\nJumlah Register : {}\nPersentase Santri Register : {:.0f} %\nAyoooo Semangat :p".format(
        total, jum[0], persentase)
    return pesan
コード例 #4
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def pedatren(pilih):
    hasil = common._useMysql('cek_data')
    content = api.all_santri()
    logger.info(len(content))
    try:
        if pilih == 'INPUT':
            for i in content:
                if i['uuid'] not in (item[0] for item in hasil):
                    common._useMysql('input', i['uuid'], i['nik'], i["nis"])
        elif pilih == 'DELETE':
            for i in hasil:
                if i[0] not in (a['uuid'] for a in content):
                    common._useMysql('del', i[0])
        else:
            return "Tidak Ada Dalam Daftar :("
        return "Mantul (Mantap Betul)"
    except Exception as e:
        logger.exception(e)
コード例 #5
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def register(cid, nik):
    cid = str(cid)
    temp = []
    content = api.santri(nik)
    for i in content:
        hasil = common._useMysql('cek_chatid', i['uuid'])
        if hasil:
            if hasil[0] == cid:
                temp.append(text_messages['terdaftar'].format(name=i['nama']))
            else:
                temp.append(text_messages['terisi'].format(name=i['nama']))
        else:
            common._useMysql('insert_chatid', cid, i['uuid'])
            data = text_messages['chat_id'].format(i['nis'], i['nama'],
                                                   i['blok'], i['kamar'],
                                                   i.get('lembaga'))
            temp.append(data)
    return temp
コード例 #6
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def rekap_virtual(cid, lembaga=None, daerah=None):
    try:
        hasil = common._useMysql('cek_va')
        content = api.all_santri(lembaga=lembaga, daerah=daerah)

        bayar = [c for c in content if c.get('nik') in (d[0] for d in hasil)]

        temp = []
        temp.append([
            'NO', 'NIK', 'NAMA LENGKAP', 'NO. VA', 'TAGIHAN', 'BULAN',
            'LEMBAGA', 'KELAS', 'JURUSAN', 'WILAYAH', 'DAERAH', 'KAMAR'
        ])

        for jum in range(len(bayar)):
            detail_tagihan = []
            for mysql in hasil:
                if bayar[jum]['nik'] == mysql[0]:
                    tagihan = {'tagihan': mysql[2], 'bulan': mysql[3]}
                    detail_tagihan.append(tagihan)
                    bayar[jum]['no_va'] = conf["bri"] + \
                        "{}".format(mysql[1])  # "70397{}".format(mysql[1])
            # bayar[jum]['no_va'] = "70397{}".format(mysql[1])
            bayar[jum]['detail_tagihan'] = detail_tagihan
            bayar[jum]['no'] = jum + 1

        for i in bayar:
            data = (i.get('no'), i.get('nik') or i.get('no_passport'),
                    i.get('nama'), i.get('no_va'),
                    i['detail_tagihan'][0]['tagihan'],
                    i['detail_tagihan'][0]['bulan'], i.get('lembaga'),
                    i.get('kelas'), "{} {}".format(
                        i.get('jurusan') or "",
                        i.get('rombel') or ""), i.get('wilayah'),
                    i.get('blok'), i.get('kamar'))
            temp.append(data)
            # i.get('detail_tagihan'):
            for jum in range(1, len(i.get('detail_tagihan'))):
                data = (None, None, None, None,
                        i['detail_tagihan'][jum]['tagihan'],
                        i['detail_tagihan'][jum]['bulan'])
                temp.append(data)

        cetakExcel(cid, temp, formula=True)

    except Exception as e:
        logger.exception(e)
コード例 #7
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def gakPunyaVA(cid):
    va = common._useMysql("gakpunyava")
    santri = api.all_santri()
    try:
        temp = []
        santriGakPunyaVA = [
            i for i in santri if i.get("nis") not in (c[0] for c in va)
        ]
        temp.append(["NO", "NIK", "NAMA LENGKAP", "DAERAH", "KAMAR"])
        no = 1
        for i in santriGakPunyaVA:
            data = (no, i.get("nik"), i.get("nama"), i.get("blok")
                    or "-", i.get("kamar") or "-")
            temp.append(data)
            no += 1
        cetakExcel(cid, temp)
    except Exception as e:
        logger.exception(e)
コード例 #8
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def kirim_absensi():
    waktu = datetime.now()
    sekarang = "{}-{:02d}".format(waktu.year, waktu.month)  # - 1)
    kir = common._useMysql("kirim", sekarang)
    try:
        all_santri = api.all_santri()
        santris = [
            i for i in all_santri if i.get("nik") in (a[0] for a in kir)
        ]
        for jum in range(len(santris)):
            for mysql in kir:
                if santris[jum]["nik"] == mysql[0]:
                    santris[jum].__setitem__("chat_id", mysql[1])
                    santris[jum].__setitem__("ubudiyah", mysql[2])
                    santris[jum].__setitem__("alquran", mysql[3])
                    santris[jum].__setitem__("belajar", mysql[4])
                    santris[jum].__setitem__("sekolah", mysql[5])
                    santris[jum].__setitem__("diniyah", mysql[6])
                    santris[jum].__setitem__("bulan", mysql[7])
        return santris
    except Exception as e:
        logger.exception(e)
コード例 #9
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def absen(data, bulan):
    temp = []
    for ambil in data:
        content = api.santri(ambil)
        for i in content:
            hasil_absen = common._useMysql('absen', i.get('nik'), bulan)
            if len(hasil_absen) > 0:
                for hasil in hasil_absen:  #
                    bulan = datetime.strptime(str(hasil[6]),
                                              "%Y-%m-%d").strftime("%Y-%m")
                    catatan_santri = catatan(i["uuid"], bulan)
                    text = text_messages['absen'].format(
                        i.get('nis'),
                        i['nama'],
                        i.get('blok'),
                        i.get('kamar'),
                        i.get('lembaga'),
                        hasil[1],  # Ubudiyah
                        hasil[2],  # Alquran
                        hasil[3],  # Belajar
                        hasil[4],  # Sekolah
                        hasil[5],  # Diniyah
                        hasil[6],  # Bulan
                    )

                    for catat in catatan_santri:
                        text += "Materi : {}\nPredikat : {}\nCatatan : {}\n\n".format(
                            catat.get("materi") or "-",
                            catat.get("skor") or "-",
                            catat.get("catatan") or "-",
                        )
                    temp.append(text)
            else:
                temp.append("Absen Belum Kami Input Untuk Nanda {}".format(
                    i['nama']))
    return temp
コード例 #10
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def resetID(cid):
    common._useMysql("reset_chatid", cid)
コード例 #11
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def isOrtu(cid):
    return common._useMysql('get_nik', cid)
コード例 #12
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def isAdmin(cid):
    return common._useMysql('admin', cid)
コード例 #13
0
ファイル: views.py プロジェクト: SyamsulArifin474/Colab
def pilih_bulan():
    hasil = common._useMysql('pilih_bulan')
    temp = []
    for i in hasil:
        temp.append(i[0])
    return temp