* @since v.1.0 **/ public function __construct() { parent::__construct(); //Codeigniter : Write Less Do More } public function get_data() { $this->db->select('konsumsi.waktu, konsumsi.user_id_user, user.nama, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as jajanan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_jajanan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_jajanan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_jajanan, SUM(bahan_makanan.energi * konsumsi_detail.kuantitas) as total_kalori'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->group_by('konsumsi.waktu'); $result = $this->db->get()->result(); return $result; } public function get_data2($from, $till) { $this->db->select('konsumsi.waktu, bahan_makanan.nama_makanan, user.nama, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN bahan_makanan.nama_makanan END SEPARATOR ", ") as jajanan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN bahan_makanan.urt END SEPARATOR ", ") as urt_jajanan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN bahan_makanan.energi * konsumsi_detail.kuantitas END SEPARATOR ", ") as energi_jajanan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 1 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_makanan_pokok, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 2 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_lauk_pauk, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 3 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_sayuran, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 4 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_buah_buahan, GROUP_CONCAT(CASE WHEN bahan_makanan.kategori = 5 THEN konsumsi_detail.kuantitas END SEPARATOR ", ") as kuantitas_jajanan, SUM(bahan_makanan.energi * konsumsi_detail.kuantitas) as total_kalori'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->group_by('konsumsi.waktu, konsumsi.user_id_user'); // Add WHERE conditions for date range $this->db->where('konsumsi.waktu >=', $from); $this->db->where('konsumsi.waktu <=', $till); $result = $this->db->get()->result(); return $result; } public function get_status() { $this->db->select('konsumsi.waktu, konsumsi.user_id_user, user.nama'); $this->db->select('GROUP_CONCAT(bahan_makanan.nama_makanan SEPARATOR ", ") as nama_makanan'); $this->db->select('SUM(bahan_makanan.energi * konsumsi_detail.kuantitas) as total_kalori'); $this->db->select('SUM(bahan_makanan.karbohidrat * konsumsi_detail.kuantitas) as total_karbohidrat'); $this->db->select('SUM(bahan_makanan.protein * konsumsi_detail.kuantitas) as total_protein'); $this->db->select('SUM(bahan_makanan.lemak * konsumsi_detail.kuantitas) as total_lemak'); $this->db->select('SUM(bahan_makanan.besi * konsumsi_detail.kuantitas) as total_besi'); $this->db->select('SUM(bahan_makanan.vitamina * konsumsi_detail.kuantitas) as total_vitamina'); $this->db->select('SUM(bahan_makanan.vitaminc * konsumsi_detail.kuantitas) as total_vitaminc'); $this->db->select('kalori.*'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->join('kalori', 'kalori.jenis_kelamin = user.jekel'); $this->db->where('user.umur >= kalori.awal'); $this->db->where('user.umur <= kalori.akhir'); $this->db->group_by('konsumsi.waktu'); $query = $this->db->get()->result(); return $query; } public function get_status2($from, $till) { $this->db->select('konsumsi.waktu, konsumsi.user_id_user, user.nama'); $this->db->select('GROUP_CONCAT(bahan_makanan.nama_makanan SEPARATOR ", ") as nama_makanan'); $this->db->select('SUM(bahan_makanan.energi * konsumsi_detail.kuantitas) as total_kalori'); $this->db->select('SUM(bahan_makanan.karbohidrat * konsumsi_detail.kuantitas) as total_karbohidrat'); $this->db->select('SUM(bahan_makanan.protein * konsumsi_detail.kuantitas) as total_protein'); $this->db->select('SUM(bahan_makanan.lemak * konsumsi_detail.kuantitas) as total_lemak'); $this->db->select('SUM(bahan_makanan.besi * konsumsi_detail.kuantitas) as total_besi'); $this->db->select('SUM(bahan_makanan.vitamina * konsumsi_detail.kuantitas) as total_vitamina'); $this->db->select('SUM(bahan_makanan.vitaminc * konsumsi_detail.kuantitas) as total_vitaminc'); $this->db->select('kalori.*'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->join('kalori', 'kalori.jenis_kelamin = user.jekel'); $this->db->where('user.umur >= kalori.awal'); $this->db->where('user.umur <= kalori.akhir'); $this->db->where('konsumsi.waktu >=', $from); $this->db->where('konsumsi.waktu <=', $till); $this->db->group_by('konsumsi.waktu, konsumsi.user_id_user'); $query = $this->db->get()->result(); return $query; } public function get_analisis($from,$till) { $this->db->select('konsumsi.waktu, konsumsi.user_id_user, user.nama'); $this->db->select('GROUP_CONCAT(bahan_makanan.nama_makanan SEPARATOR ", ") as nama_makanan'); $this->db->select('SUM(bahan_makanan.energi * konsumsi_detail.kuantitas) as total_kalori'); $this->db->select('SUM(CASE WHEN konsumsi.keterangan = "Sarapan" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_sarapan'); $this->db->select('SUM(CASE WHEN konsumsi.keterangan = "Makan Siang" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_siang'); $this->db->select('SUM(CASE WHEN konsumsi.keterangan = "Makan Malam" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_malam'); // Sarapan $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 1 AND konsumsi.keterangan = "Sarapan" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_sarapan_pokok'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 2 AND konsumsi.keterangan = "Sarapan" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_sarapan_lauk'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 3 AND konsumsi.keterangan = "Sarapan" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_sarapan_sayur'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 4 AND konsumsi.keterangan = "Sarapan" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_sarapan_buah'); // Makan Siang $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 1 AND konsumsi.keterangan = "Makan Siang" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_siang_pokok'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 2 AND konsumsi.keterangan = "Makan Siang" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_siang_lauk'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 3 AND konsumsi.keterangan = "Makan Siang" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_siang_sayur'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 4 AND konsumsi.keterangan = "Makan Siang" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_siang_buah'); // Makan Malam $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 1 AND konsumsi.keterangan = "Makan Malam" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_malam_pokok'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 2 AND konsumsi.keterangan = "Makan malam" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_malam_lauk'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 3 AND konsumsi.keterangan = "Makan Malam" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_malam_sayur'); $this->db->select('SUM(CASE WHEN bahan_makanan.kategori = 4 AND konsumsi.keterangan = "Makan Malam" THEN bahan_makanan.energi * konsumsi_detail.kuantitas ELSE 0 END) as total_malam_buah'); // Subquery untuk total kalori makanan pokok pada sarapan // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Sarapan" AND bm.kategori = 1 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_sarapan_pokok'); // Subquery untuk total kalori lauk pauk pada sarapan // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Sarapan" AND bm.kategori = 2 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_sarapan_lauk'); // Subquery untuk total kalori sayuran pada sarapan // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Sarapan" AND bm.kategori = 3 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_sarapan_sayur'); // Subquery untuk total kalori buah-buahan pada sarapan // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Sarapan" AND bm.kategori = 4 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_sarapan_buah'); // Subquery untuk total kalori makanan pokok pada makan siang // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Siang" AND bm.kategori = 1 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_siang_pokok'); // Subquery untuk total kalori lauk pauk pada makan siang // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Siang" AND bm.kategori = 2 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_siang_lauk'); // Subquery untuk total kalori sayuran pada makan siang // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Siang" AND bm.kategori = 3 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_siang_sayur'); // Subquery untuk total kalori buah-buahan pada makan siang // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Siang" AND bm.kategori = 4 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_siang_buah'); // Subquery untuk total kalori makanan pokok pada makan malam // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Malam" AND bm.kategori = 1 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_malam_pokok'); // Subquery untuk total kalori lauk pauk pada makan malam // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Malam" AND bm.kategori = 2 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_malam_lauk'); // Subquery untuk total kalori sayuran pada makan malam // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Malam" AND bm.kategori = 3 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_malam_sayur'); // Subquery untuk total kalori buah-buahan pada makan malam // $this->db->select('( // SELECT SUM(bm.energi * konsumsi_detail.kuantitas) // FROM bahan_makanan AS bm // JOIN konsumsi_detail AS kd ON kd.id_makanan = bm.id_makanan // WHERE konsumsi.keterangan = "Makan Malam" AND bm.kategori = 4 AND kd.id_konsumsi = konsumsi.idkonsumsi // ) as total_malam_buah'); $this->db->select('kalori.*'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->join('kalori', 'kalori.jenis_kelamin = user.jekel'); $this->db->where('user.umur >= kalori.awal'); $this->db->where('user.umur <= kalori.akhir'); $this->db->where('konsumsi.waktu >=', $from); $this->db->where('konsumsi.waktu <=', $till); $this->db->group_by('konsumsi.waktu, konsumsi.user_id_user'); $query = $this->db->get()->result(); return $query; } }