import flask
from flask import Flask,request,jsonify, render_template
import numpy as np
import pickle
import mysql.connector
import datetime
import joblib
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# ------------------------------
nowTime = datetime.datetime.now()
year    = nowTime.year
month   = nowTime.month
day     = nowTime.day
hour    = nowTime.hour
minute  = nowTime.minute
second  = nowTime.second

# Menggabungkan nilai-nilai ke dalam satu string
#date_time_string = f"{nowTime.year}{nowTime.month:02d}{nowTime.day:02d}{nowTime.hour:02d}{nowTime.minute:02d}{nowTime.second:02d}"
date_time_string = str(nowTime.year) + str(nowTime.month).zfill(2) + str(nowTime.day).zfill(2) + str(nowTime.hour).zfill(2) + str(nowTime.minute).zfill(2) + str(nowTime.second).zfill(2)

#print(date_time_string)


# ------------------------------
app = Flask(__name__)

# Define MySQL database connection parameters
db_config = {
    'host': 'localhost',
    'user': 'bocahdaglog1989',
    'password': 'asikdeh!@#',
    'database': 'dbmental'
}

# ------------------------------
#model = pickle.load(open('random_forest_model_2.pkl','rb'))
"""
with open('random_forest_1.pkl', 'rb') as file:
    model1 = pickle.load(file)

with open('random_forest_2.pkl', 'rb') as file:
    model2 = pickle.load(file)

with open('random_forest_3.pkl', 'rb') as file:
    model3 = pickle.load(file)
"""

with open('final_model0007_RandomForest_SMOTE.pkl', 'rb') as file:
    #model1 = pickle.load(file)
    model1 = joblib.load(file)
    
with open('final_model0714_RandomForest_SMOTE.pkl', 'rb') as file:
    #model2 = pickle.load(file)
    model2 = joblib.load(file)

# Define feature names used in the model training
feature_names_model_1 = ['jenis_kelamin_00_07',  'kead_kes_00_07',
                 'per_kes_00_07', 'merokok_00_07',
                 'ibu_perlu_bant_00_07', 'kons_makan_00_07',
                 'kendaraan_00_07', 'rumah_00_07',
                 'status_perk_kat_00_07', 'part_kerbak_00_07']
                 
feature_names_model_2 = ['skorkp_kat_00_07', 'kead_kes_07_14',
                      'per_kes_07_14', 'merokok_07_14',
                      'ayah_masmental_msk_07_14', 'bekerja_kat_07_14',
                      'tabungan_07_14', 'ayah_perlu_bantu_07_14',
                      'ibu_perlu_bant_07_14', 'rumah_07_14',
                      'kendaraan_07_14']
   
# Function to insert data into the MySQL database
def insert_into_database(data):
    try:
        connection = mysql.connector.connect(**db_config)
        cursor = connection.cursor()

        # Insert data into the kuisioner table
        #insert_query = "INSERT INTO tb_kuisioner (sekolah, tanggal, nama, jen_kel, age_14, kesehatan_msk, jumkamar_msk, jumorang_msk, jumkakak_lk_msk, jumkakak_pr_msk, jumadik_lk_msk, jumadik_pr_msk, asuransi_kes, kel_besar_14, prediksi) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
        # insert_query = "INSERT INTO tb_kuisioner (sekolah, tanggal, nama, jen_kel, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, prediksi) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
        
        #insert_query = "INSERT INTO tb_gejala (sekolah, tanggal_pindai, usia, jen_kel, pendidikan, tmp_tinggal, kead_kes_00_kat, per_kes_00_kat, ibu_perlu_bant00_kat, rumah_00_kat, aman_00_kat, kead_kes_00_07, per_kes_00_07, ibu_perlu_bant_00_07, rumah_00_07, aman_00_07, skorkp_00_kat, kesehatan_msk_07_14, kead_kes_07_14, per_kes_07_14, akt_fisik_07_14, kons_makan_07_14, ayah_perlu_bantu_07_14, kepuasan_07_14, skorkp_kat_00_07, skorkp_kat_07_14) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"   
        
        #insert_query = "INSERT INTO tb_gejala (sekolah, tanggal_pindai, usia, jen_kel, pendidikan, tmp_tinggal, kead_kes_00_kat, per_kes_00_kat, ibu_perlu_bant00_kat, rumah_00_kat        , aman_00_kat    ,  kead_kes_00_07,  per_kes_00_07, ibu_perlu_bant_00_07 , rumah_00_07      , aman_00_07, skorkp_00_kat, kesehatan_msk_07_14, kead_kes_07_14, per_kes_07_14, akt_fisik_07_14,          kons_makan_07_14,   ayah_perlu_bantu_07_14, kepuasan_07_14,         skorkp_kat_00_07,      skorkp_kat_07_14                            )                          VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"   
        
        #sebelum 20240702
        #insert_query = "INSERT INTO tb_gejala (sekolah, tanggal_pindai, usia, jen_kel, pendidikan, tmp_tinggal, no_hp, kead_kes_00_07, per_kes_00_07, merokok_00_07, ibu_perlu_bant_00_07, kons_makan_00_07, kendaraan_00_07, rumah_00_07, status_perk_kat_00_07, part_kerbak_00_07, skorkp_kat_00_07, kead_kes_07_14, per_kes_07_14, merokok_07_14, ayah_masmental_msk_07_14, bekerja_kat_07_14, tabungan_07_14, ayah_perlu_bantu_07_14, ibu_perlu_bant_07_14, rumah_07_14, kendaraan_07_14, skorkp_kat_07_14) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"  
        
        #20240702
        insert_query = "INSERT INTO tb_gejala (sekolah, tanggal_pindai, usia, jen_kel, pendidikan, tmp_tinggal, no_hp, kead_kes_00_07, per_kes_00_07, merokok_00_07, ibu_perlu_bant_00_07, kons_makan_00_07, kendaraan_00_07, rumah_00_07, status_perk_kat_00_07, part_kerbak_00_07, skorkp_kat_00_07, kead_kes_07_14, per_kes_07_14, merokok_07_14, ayah_masmental_msk_07_14, bekerja_kat_07_14, tabungan_07_14, ayah_perlu_bantu_07_14, ibu_perlu_bant_07_14, rumah_07_14, kendaraan_07_14, skorkp_kat_07_14, jwb_1,jwb_2,jwb_3,jwb_4,jwb_5,jwb_6,jwb_7,jwb_8,jwb_9,jwb_10,jwb_11,jwb_12,jwb_13,jwb_14,jwb_15,jwb_16,jwb_17,jwb_18,jwb_19,jwb_20,jwb_21,jwb_22,jwb_23,jwb_24,jwb_25,jwb_26,jwb_27,jwb_28,jwb_29,jwb_30,jwb_31) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"  
        
        cursor.execute(insert_query, data)
        connection.commit()
        cursor.close()
        connection.close()  
        #return "berhasil"
    except mysql.connector.Error as error:
        print("Failed to insert record into MySQL table:", error) 
        #return error
        
@app.route('/',methods=['POST'])
def index():
        
    tglPindai       = request.form.get('tglPindai')
    sekolah         = request.form.get('sekolah')
    usia            = request.form.get('usia')
    jenkel          = request.form.get('jenkel')
    pendidikan      = request.form.get('pendidikan')
    tmp_tinggal     = request.form.get('tmp_tinggal')
    no_hp            = request.form.get('no_hp')
    
    if jenkel=="Laki-Laki" : 
        jenis_kelamin_00_07     = 1
    else :
        jenis_kelamin_00_07     = 0    
    
    kead_kes_00_07          = request.form.get('kead_kes_00_07')
    if kead_kes_00_07 == '':
        kead_kes_00_07 = 0
    
    per_kes_00_07   = request.form.get('per_kes_00_07')
    if per_kes_00_07 == '':
        per_kes_00_07 = 0
    
    merokok_00_07   = request.form.get('merokok_00_07')
    if merokok_00_07 == '':
        merokok_00_07 = 0
        
    ibu_perlu_bant_00_07    = request.form.get('ibu_perlu_bant_00_07')
    if ibu_perlu_bant_00_07 == '':
        ibu_perlu_bant_00_07 = 0
    
    kons_makan_00_07        = request.form.get('kons_makan_00_07')
    if kons_makan_00_07 == '':
        kons_makan_00_07 = 0
        
    kendaraan_00_07         = request.form.get('kendaraan_00_07')
    if kendaraan_00_07 == '':
        kendaraan_00_07 = 0
        
    rumah_00_07    = request.form.get('rumah_00_07')
    if rumah_00_07 == '':
        rumah_00_07 = 0
    
    status_perk_kat_00_07 = request.form.get('status_perk_kat_00_07')
    if status_perk_kat_00_07 == '':
        status_perk_kat_00_07 = 0
    
    part_kerbak_00_07 = request.form.get('part_kerbak_00_07')
    if part_kerbak_00_07 == '':
        part_kerbak_00_07 = 0
        
    #input_query_model_1 = np.array([["1","4","4","4","4","3","4","4","1","1"]]) #target 4
    #input_query_model_1 = np.array([["4","4","1","1","4","3","4","4","1","1"]]) #target 2
    #input_query_model_1 = np.array([[jenis_kelamin_00_07,kead_kes_00_07,per_kes_00_07,merokok_00_07,ibu_perlu_bant_00_07,kons_makan_00_07,kendaraan_00_07,rumah_00_07,status_perk_kat_00_07,part_kerbak_00_07]])
    #result_1 = 0;
    
    input_query_model_1 = pd.DataFrame([[jenis_kelamin_00_07, kead_kes_00_07, per_kes_00_07, merokok_00_07, 
                                        ibu_perlu_bant_00_07, kons_makan_00_07, kendaraan_00_07, 
                                        rumah_00_07, status_perk_kat_00_07, part_kerbak_00_07]], 
                                      columns=feature_names_model_1)
    
    result_1 = model1.predict(input_query_model_1)[0]
    #print(input_query_model_1)
    #----------------------------------------------------
    
    kead_kes_07_14 = request.form.get('kead_kes_07_14')
    if kead_kes_07_14 == '':
        kead_kes_07_14 = 0
    
    per_kes_07_14  = request.form.get('per_kes_07_14')
    if per_kes_07_14 == '':
        per_kes_07_14 = 0
    
    merokok_07_14 = request.form.get('merokok_07_14')
    if merokok_07_14 == '':
        merokok_07_14 = 0
    
    ayah_masmental_msk_07_14 = request.form.get('ayah_masmental_msk_07_14')
    if ayah_masmental_msk_07_14 == '':
        ayah_masmental_msk_07_14 = 0
    
    bekerja_kat_07_14 = request.form.get('bekerja_kat_07_14')
    if bekerja_kat_07_14 == '':
        bekerja_kat_07_14 = 0
    
    tabungan_07_14 = request.form.get('tabungan_07_14')
    if tabungan_07_14 == '':
        tabungan_07_14 = 0
    
    ayah_perlu_bantu_07_14 = request.form.get('ayah_perlu_bantu_07_14')
    if ayah_perlu_bantu_07_14 == '':
        ayah_perlu_bantu_07_14 = 0
        
    ibu_perlu_bant_07_14  = request.form.get('ibu_perlu_bant_07_14')
    if ibu_perlu_bant_07_14 == '':
        ibu_perlu_bant_07_14 = 0
    
    rumah_07_14    = request.form.get('rumah_07_14')
    if rumah_07_14 == '':
        rumah_07_14 = 0
    
    kendaraan_07_14    = request.form.get('kendaraan_07_14')
    if kendaraan_07_14 == '':
        kendaraan_07_14 = 0
        
    
    sol_1       = request.form.get('soal_1')
    sol_2       = request.form.get('soal_2')
    sol_3       = request.form.get('soal_3')
    sol_4       = request.form.get('soal_4')
    sol_5       = request.form.get('soal_5')
    sol_6       = request.form.get('soal_6')
    sol_7       = request.form.get('soal_7')
    sol_8       = request.form.get('soal_8')
    sol_9       = request.form.get('soal_9')
    sol_10       = request.form.get('soal_10')
    sol_11       = request.form.get('soal_11')
    sol_12       = request.form.get('soal_12')
    sol_13       = request.form.get('soal_13')
    sol_14       = request.form.get('soal_14')
    sol_15       = request.form.get('soal_15')
    sol_16       = request.form.get('soal_16')
    sol_17       = request.form.get('soal_17')
    sol_18       = request.form.get('soal_18')
    sol_19       = request.form.get('soal_19')
    sol_20       = request.form.get('soal_20')
    sol_21       = request.form.get('soal_21')
    sol_22       = request.form.get('soal_22')
    sol_23       = request.form.get('soal_23')
    sol_24       = request.form.get('soal_24')
    sol_25       = request.form.get('soal_25')
    sol_26       = request.form.get('soal_26')
    sol_27       = request.form.get('soal_27')
    sol_28       = request.form.get('soal_28')
    sol_29       = request.form.get('soal_29')
    sol_30       = request.form.get('soal_30')
    sol_31       = request.form.get('soal_31')
    
    
    '''
    skorkp_00_kat    = request.form.get('skorkp_00_kat')
    if skorkp_00_kat == '':
        skorkp_00_kat =     
    '''
    #input_query_model_2 = np.array([[4,4,4,1,4,4,1,2,4,3,1]]) #targert 4
    #input_query_model_2 = np.array([[4,4,3,1,4,4,3,4,4,4,4]]) #targert 2
    #input_query_model_2 = np.array([[kead_kes_07_14,per_kes_07_14,merokok_07_14,ayah_masmental_msk_07_14,bekerja_kat_07_14,tabungan_07_14,ayah_perlu_bantu_07_14,ibu_perlu_bant_07_14,rumah_07_14,kendaraan_07_14,result_1]])
    #result_2 = 0
    
    input_query_model_2 = pd.DataFrame([[kead_kes_07_14, per_kes_07_14, merokok_07_14, ayah_masmental_msk_07_14, 
                                        bekerja_kat_07_14, tabungan_07_14, ayah_perlu_bantu_07_14, 
                                        ibu_perlu_bant_07_14, rumah_07_14, kendaraan_07_14, result_1]], 
                                      columns=feature_names_model_2)
    result_2 = model2.predict(input_query_model_2)[0]
    
    #print(input_query_model_2)
    gabResult = f"{result_1}#{result_2}"
    #print(gabResult)
    #----------------------------------------------------
        
    #Sebelum 20240702
    #hasilDB = insert_into_database((sekolah, tglPindai, usia, jenkel, pendidikan, tmp_tinggal, no_hp, kead_kes_00_07,per_kes_00_07,merokok_00_07,ibu_perlu_bant_00_07,kons_makan_00_07,kendaraan_00_07,rumah_00_07,status_perk_kat_00_07,part_kerbak_00_07,str(result_1),kead_kes_07_14,per_kes_07_14,merokok_07_14,ayah_masmental_msk_07_14,bekerja_kat_07_14,tabungan_07_14,ayah_perlu_bantu_07_14,ibu_perlu_bant_07_14,rumah_07_14,kendaraan_07_14,str(result_2)))
    
    #20240702
    hasilDB = insert_into_database((sekolah, tglPindai, usia, jenkel, pendidikan, tmp_tinggal, no_hp, kead_kes_00_07,per_kes_00_07,merokok_00_07,ibu_perlu_bant_00_07,kons_makan_00_07,kendaraan_00_07,rumah_00_07,status_perk_kat_00_07,part_kerbak_00_07,str(result_1),kead_kes_07_14,per_kes_07_14,merokok_07_14,ayah_masmental_msk_07_14,bekerja_kat_07_14,tabungan_07_14,ayah_perlu_bantu_07_14,ibu_perlu_bant_07_14,rumah_07_14,kendaraan_07_14,str(result_2),sol_1,sol_2,sol_3,sol_4,sol_5,sol_6,sol_7,sol_8,sol_9,sol_10,sol_11,sol_12,sol_13,sol_14,sol_15,sol_16,sol_17,sol_18,sol_19,sol_20,sol_21,sol_22,sol_23,sol_24,sol_25,sol_26,sol_27,sol_28,sol_29,sol_30,sol_31))
    
    #----------------------------------------------------
            
    #input_query = [[age_14,kesehatan_msk,jumkamar_msk,jumorang_msk,jumkakak_lk_msk,jumkakak_pr_msk,jumadik_lk_msk,jumadik_pr_msk,asuransi_kes,kel_besar_14]]
    
    #input_query = np.array([[age_14,kesehatan_msk,jumkamar_msk,jumorang_msk,jumkakak_lk_msk,jumkakak_pr_msk,jumadik_lk_msk,jumadik_pr_msk,asuransi_kes,kel_besar_14]])
    #result = model.predict(input_query)[0]
    
    # Call function to insert data into database
    #insert_into_database((sekolah, date_time_string, nama, jenkel, age_14, kesehatan_msk, jumkamar_msk, jumorang_msk, jumkakak_lk_msk, jumkakak_pr_msk, jumadik_lk_msk, jumadik_pr_msk, asuransi_kes, kel_besar_14, str(result)))

    return jsonify({'placement':str(gabResult)})
    
    #return jsonify({'placement':str(input_query)})
    #return "API Pak Amin"

def get_data_from_database(sql_query):
    try:
        connection = mysql.connector.connect(**db_config)
        cursor = connection.cursor(dictionary=True)
        cursor.execute(sql_query)
        result = cursor.fetchall()
        cursor.close()
        connection.close()
        return result
    except mysql.connector.Error as error:
        print("Failed to fetch data from MySQL database:", error)
        return None
        
@app.route('/kodekomunitas',methods=['POST'])
def kodekomunitas():
    kdkomunitas       = request.form.get('kdkomunitas')
    sql_kdkomunitas = "SELECT * FROM tb_komunitas where kode='"+kdkomunitas+"'"
    matKodeKomunitas = get_data_from_database(sql_kdkomunitas)
   
    st_KdKom="0"
    if len(matKodeKomunitas) > 0:
        st_KdKom="1"
    
    #return st_KdKom
    return jsonify({'placement':str(st_KdKom)})
    
@app.route('/rekaman')
def rekaman():
    """
    # Ambil data untuk masing-masing jenis grafik
    # Pertama, siapkan data untuk Diagram Batang (Bar Chart)
    sql_query_barchart = "SELECT jen_kel, COUNT(*) AS count FROM tb_kuisioner GROUP BY jen_kel"
    data_barchart = get_data_from_database(sql_query_barchart)

    # Selanjutnya, siapkan data untuk Diagram Lingkaran (Pie Chart)
    sql_query_piechart = "SELECT kesehatan_msk, COUNT(*) AS count FROM tb_kuisioner GROUP BY kesehatan_msk"
    data_piechart = get_data_from_database(sql_query_piechart)

    # Siapkan data untuk Diagram Garis (Line Chart)
    sql_query_linechart = "SELECT age_14, COUNT(*) AS count FROM tb_kuisioner GROUP BY age_14"
    data_linechart = get_data_from_database(sql_query_linechart)

    # Siapkan data untuk Diagram Kotak (Box Plot)
    sql_query_boxplot = "SELECT age_14, jumkamar_msk FROM tb_kuisioner"
    data_boxplot = get_data_from_database(sql_query_boxplot)

    # Siapkan data untuk Scatter Plot
    sql_query_scatterplot = "SELECT kesehatan_msk, jumadik_lk_msk FROM tb_kuisioner"
    data_scatterplot = get_data_from_database(sql_query_scatterplot)

    # Siapkan data untuk Heatmap
    sql_query_heatmap = "SELECT jumadik_pr_msk, jumkakak_pr_msk FROM tb_kuisioner"
    data_heatmap = get_data_from_database(sql_query_heatmap)

    # Siapkan data untuk Histogram
    sql_query_histogram = "SELECT age_14 FROM tb_kuisioner"
    data_histogram = get_data_from_database(sql_query_histogram)

    # Siapkan data untuk Grafik Radar (Radar Chart)
    sql_query_radarchart = "SELECT kesehatan_msk, jumkakak_pr_msk, jumkakak_lk_msk FROM tb_kuisioner"
    data_radarchart = get_data_from_database(sql_query_radarchart)"""

    jen_kel_11 = "SELECT COUNT(id) AS id FROM tb_gejala where jen_kel='Laki-Laki' and skorkp_kat_07_14='4'"
    hit_jen_kel_11 = get_data_from_database(jen_kel_11)
    jen_kel_12 = "SELECT COUNT(id) AS id FROM tb_gejala where jen_kel='Laki-Laki' and skorkp_kat_07_14='2'"
    hit_jen_kel_12 = get_data_from_database(jen_kel_12)
    jen_kel_13 = "SELECT COUNT(id) AS id FROM tb_gejala where jen_kel='Laki-Laki'"
    hit_jen_kel_13 = get_data_from_database(jen_kel_13)
    
    data_jen_kel_1 = [hit_jen_kel_11[0]['id'], hit_jen_kel_12[0]['id'], hit_jen_kel_13[0]['id']]
    
    jen_kel_21 = "SELECT COUNT(id) AS id FROM tb_gejala where jen_kel='Perempuan' and skorkp_kat_07_14='4'"
    hit_jen_kel_21 = get_data_from_database(jen_kel_21)
    jen_kel_22 = "SELECT COUNT(id) AS id FROM tb_gejala where jen_kel='Perempuan' and skorkp_kat_07_14='2'"
    hit_jen_kel_22 = get_data_from_database(jen_kel_22)
    jen_kel_23 = "SELECT COUNT(id) AS id FROM tb_gejala where jen_kel='Perempuan'"
    hit_jen_kel_23 = get_data_from_database(jen_kel_23)
    
    data_jen_kel_2 = [hit_jen_kel_21[0]['id'], hit_jen_kel_22[0]['id'], hit_jen_kel_23[0]['id']]
    #------------------------------------------------------------#
    
    tmp_tgl_11 = "SELECT COUNT(id) AS id FROM tb_gejala where tmp_tinggal='Pedesaan' and skorkp_kat_07_14='4'"
    hit_tmp_tgl_11 = get_data_from_database(tmp_tgl_11)
    tmp_tgl_12 = "SELECT COUNT(id) AS id FROM tb_gejala where tmp_tinggal='Pedesaan' and skorkp_kat_07_14='2'"
    hit_tmp_tgl_12 = get_data_from_database(tmp_tgl_12)
    tmp_tgl_13 = "SELECT COUNT(id) AS id FROM tb_gejala where tmp_tinggal='Pedesaan'"
    hit_tmp_tgl_13 = get_data_from_database(tmp_tgl_13)
    
    data_tmp_tgl_1 = [hit_tmp_tgl_11[0]['id'], hit_tmp_tgl_12[0]['id'], hit_tmp_tgl_13[0]['id']]
    
    tmp_tgl_21 = "SELECT COUNT(id) AS id FROM tb_gejala where tmp_tinggal='Perkotaan' and skorkp_kat_07_14='4'"
    hit_tmp_tgl_21 = get_data_from_database(tmp_tgl_21)
    tmp_tgl_22 = "SELECT COUNT(id) AS id FROM tb_gejala where tmp_tinggal='Perkotaan' and skorkp_kat_07_14='2'"
    hit_tmp_tgl_22 = get_data_from_database(tmp_tgl_22)
    tmp_tgl_23 = "SELECT COUNT(id) AS id FROM tb_gejala where tmp_tinggal='Perkotaan'"
    hit_tmp_tgl_23 = get_data_from_database(tmp_tgl_23)
    
    data_tmp_tgl_2 = [hit_tmp_tgl_21[0]['id'], hit_tmp_tgl_22[0]['id'], hit_tmp_tgl_23[0]['id']]
    #------------------------------------------------------------#
    
    pendidikan_11 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='SLTP/Sederajat' and skorkp_kat_07_14='4'"
    hit_pendidikan_11 = get_data_from_database(pendidikan_11)
    pendidikan_12 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='SLTP/Sederajat' and skorkp_kat_07_14='2'"
    hit_pendidikan_12 = get_data_from_database(pendidikan_12)
    pendidikan_13 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='SLTP/Sederajat'"
    hit_pendidikan_13 = get_data_from_database(pendidikan_13)
    
    data_pendidikan_1 = [hit_pendidikan_11[0]['id'], hit_pendidikan_12[0]['id'], hit_pendidikan_13[0]['id']]
    
    pendidikan_21 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='SMU/Sederajat' and skorkp_kat_07_14='4'"
    hit_pendidikan_21 = get_data_from_database(pendidikan_21)
    pendidikan_22 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='SMU/Sederajat' and skorkp_kat_07_14='2'"
    hit_pendidikan_22 = get_data_from_database(pendidikan_22)
    pendidikan_23 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='SMU/Sederajat'"
    hit_pendidikan_23 = get_data_from_database(pendidikan_23)
    
    data_pendidikan_2 = [hit_pendidikan_21[0]['id'], hit_pendidikan_22[0]['id'], hit_pendidikan_23[0]['id']]
    
    pendidikan_31 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='Sarjana' and skorkp_kat_07_14='4'"
    hit_pendidikan_31 = get_data_from_database(pendidikan_31)
    pendidikan_32 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='Sarjana' and skorkp_kat_07_14='2'"
    hit_pendidikan_32 = get_data_from_database(pendidikan_32)
    pendidikan_33 = "SELECT COUNT(id) AS id FROM tb_gejala where pendidikan='Sarjana'"
    hit_pendidikan_33 = get_data_from_database(pendidikan_33)
    
    data_pendidikan_3 = [hit_pendidikan_31[0]['id'], hit_pendidikan_32[0]['id'], hit_pendidikan_33[0]['id']]
    #------------------------------------------------------------#
    
    
    _00_07_2 = "SELECT COUNT(id) AS id FROM tb_gejala where skorkp_kat_00_07='2'"
    hit_00_07_2 = get_data_from_database(_00_07_2)
    _00_07_4 = "SELECT COUNT(id) AS id FROM tb_gejala where skorkp_kat_00_07='4'"
    hit_00_07_4 = get_data_from_database(_00_07_4)
    _07_14_2 = "SELECT COUNT(id) AS id FROM tb_gejala where skorkp_kat_07_14='2'"
    hit_07_14_2 = get_data_from_database(_07_14_2)
    _07_14_4 = "SELECT COUNT(id) AS id FROM tb_gejala where skorkp_kat_07_14='4'"
    hit_07_14_4 = get_data_from_database(_07_14_4)
    
    data_4_kelas = [hit_00_07_2[0]['id'], hit_00_07_4[0]['id'], hit_07_14_2[0]['id'], hit_07_14_4[0]['id']]
    #------------------------------------------------------------#
    
    
    # Menyiapkan halaman HTML untuk menampilkan grafik
    return render_template('index.php',data_4_kelas=data_4_kelas, data_pendidikan_3=data_pendidikan_3, data_pendidikan_2=data_pendidikan_2, data_pendidikan_1=data_pendidikan_1, data_tmp_tgl_2=data_tmp_tgl_1, data_tmp_tgl_1=data_tmp_tgl_2, data_jen_kel_2=data_jen_kel_2, data_jen_kel_1=data_jen_kel_1) 
        
    # return render_template('dashboard/index.html') 
    """return render_template('rekaman.html', 
                           data_barchart=data_barchart, 
                           data_piechart=data_piechart, 
                           data_linechart=data_linechart,
                           data_boxplot=data_boxplot,
                           data_scatterplot=data_scatterplot,
                           data_heatmap=data_heatmap,
                           data_histogram=data_histogram,
                           data_radarchart=data_radarchart)
    """
@app.route('/tentang')
def tentang():
    return render_template('/tentang.php')

@app.route('/jeniskelamin/<kode>')
def jeniskelamin(kode):
    array_angka = [int(digit) for digit in str(kode)]
    sql_query_jen_kel="SELECT * FROM tb_gejala where id='1'"
    #print(array_angka[0])
    #print(array_angka[1])
    
    if array_angka[0] == 1:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where jen_kel='Laki-Laki' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where jen_kel='Laki-Laki' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where jen_kel='Laki-Laki'"
    elif array_angka[0] == 2:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where jen_kel='Perempuan' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where jen_kel='Perempuan' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where jen_kel='Perempuan' "

    data = get_data_from_database(sql_query_jen_kel)
    #print(data)
    #data = ["Charles", "Diana", "William", "Kate"]
    return render_template('/respondenData.php', data=data, kategori="Jenis Kelamin") 

@app.route('/tempattinggal/<kode>')
def tempattinggal(kode):
    array_angka = [int(digit) for digit in str(kode)]
    sql_query_jen_kel="SELECT * FROM tb_gejala where id='1'"
    
    if array_angka[0] == 1:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where tmp_tinggal='Perkotaan' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where tmp_tinggal='Perkotaan' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where tmp_tinggal='Perkotaan'"
    elif array_angka[0] == 2:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where tmp_tinggal='Pedesaan' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where tmp_tinggal='Pedesaan' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where tmp_tinggal='Pedesaan' "

    data = get_data_from_database(sql_query_jen_kel)
    return render_template('/respondenData.php', data=data, kategori="Tempat Tinggal")     

@app.route('/pendidikan/<kode>')
def pendidikan(kode):
    array_angka = [int(digit) for digit in str(kode)]
    sql_query_jen_kel="SELECT * FROM tb_gejala where id='1'"
    
    if array_angka[0] == 1:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='SLTP/Sederajat' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='SLTP/Sederajat' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='SLTP/Sederajat'"
    elif array_angka[0] == 2:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='SMU/Sederajat' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='SMU/Sederajat' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='SMU/Sederajat' "
    else :
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='Sarjana' and skorkp_kat_07_14='4'"
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='Sarjana' and skorkp_kat_07_14='2'"
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala where pendidikan='Sarjana' "
  
    data = get_data_from_database(sql_query_jen_kel)
    return render_template('/respondenData.php', data=data, kategori="Pendidikan") 

@app.route('/rekappermodel/<kode>')
def rekappermodel(kode):
    array_angka = [int(digit) for digit in str(kode)]
    sql_query_jen_kel="SELECT * FROM tb_gejala where id='1'"
    
    if array_angka[0] == 1:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where skorkp_kat_00_07='2'"
            lbCaption='[7 Tahun - Bergejala]'
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where skorkp_kat_00_07='4'"
            lbCaption='[7 Tahun - Tak Bergejala]'
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala"
    elif array_angka[0] == 2:
        if array_angka[1] == 1:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where skorkp_kat_07_14='2'"
            lbCaption='[14 Tahun - Bergejala]'
        elif array_angka[1] == 2:
            sql_query_jen_kel = "SELECT * FROM tb_gejala where skorkp_kat_07_14='4'"
            lbCaption='[14 Tahun - Tak Bergejala]'
        else :
            sql_query_jen_kel = "SELECT * FROM tb_gejala"
   
    data = get_data_from_database(sql_query_jen_kel)    
    #------------------------------------------------------------#
    
    return render_template('/respondenData.php', data=data, kategori="Skor Kategori Depresi "+lbCaption) 
    
if __name__ == '__main__':
    app.run(debug=False, port=5000, host='0.0.0.0')
