public static function facilityLevelsArr()
 {
     $arr = array();
     foreach (FacilityLevel::all() as $fl) {
         $arr[$fl->id] = $fl->facility_level;
     }
     return $arr;
 }
 public function show($time = "")
 {
     if (empty($time)) {
         $time = date("Y");
     }
     $regions = Region::regionsArr();
     $districts = District::districtsArr();
     $facility_levels = FacilityLevel::facilityLevelsArr();
     $count_positives = Sample::countPositives($time);
     $av_positivity = Sample::avPositivity($time);
     $count_positives_arr = Sample::countPositives2($time);
     $av_positivity_arr = Sample::avPositivity2($time);
     return view('db/show', compact("time", "regions", "districts", "facility_levels", "count_positives", "av_positivity", "count_positives_arr", "av_positivity_arr"));
 }
Example #3
0
 public static function niceCounts($year = "", $postives = "", $art_inits = "", $grpby_fclts = "")
 {
     if (empty($year)) {
         $year = date("Y");
     }
     $res = Sample::leftjoin("batches AS b", "b.id", "=", "s.batch_id")->leftjoin("facilities AS f", "f.id", "=", "b.facility_id")->leftjoin("districts AS d", "d.id", "=", "f.districtID")->select(\DB::raw("d.regionID,f.facilityLevelID,f.facility,f.districtID,b.facility_id,month(date_results_entered) AS mth, count(s.id) AS number"))->from("dbs_samples AS s")->whereYear('s.date_results_entered', '=', $year);
     $res = $postives == 1 ? $res->where('s.accepted_result', '=', 'POSITIVE') : $res;
     $res = $art_inits == 1 ? $res->where('s.f_ART_initiated', '=', 'YES') : $res;
     $res = $grpby_fclts == 1 ? $res->groupby("facility_id") : $res->groupby('facilityLevelID', 'regionID', 'districtID', 'mth');
     $res = $res->get();
     $levels = FacilityLevel::facilityLevelsArr();
     $months = \MyHTML::initMonths();
     $regs = Location\District::districtsByRegions();
     $ret = [];
     if ($grpby_fclts == 1) {
         foreach ($res as $row) {
             $ret[$row->facility_id] = ["facility_id" => $row->facility_id, "facility_name" => $row->facility, "district_id" => $row->districtID, "region_id" => $row->regionID, "level_id" => $row->facilityLevelID, "value" => $row->number];
         }
     } else {
         foreach ($levels as $lvl_id => $level) {
             foreach ($regs as $reg_id => $dists) {
                 foreach ($dists as $dist_id => $dist) {
                     $ret[$lvl_id][$reg_id][$dist_id] = $months;
                 }
             }
         }
         foreach ($res as $rw) {
             $ret[$rw->facilityLevelID][$rw->regionID][$rw->districtID][$rw->mth] = $rw->number;
         }
         unset($ret[""]);
         unset($ret[0]);
     }
     return $ret;
 }