/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Noitru::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'maBN' => $this->maBN, 'soPhong' => $this->soPhong, 'soGiuong' => $this->soGiuong, 'ngayXuatVien' => $this->ngayXuatVien]); return $dataProvider; }
public function actionStatistics($bieudo) { if ($bieudo == 'tonghop') { $tonghop = array(); $tonghop['Số lượng hồ sơ bệnh nhân lưu trong hệ thống'] = count(Benhnhan::find()->all()); $tonghop['Số lượng bệnh nhân nội trú'] = count(Noitru::find()->all()); $tonghop['Số lượng nhân viên'] = count(Nhanvien::find()->all()); $tonghop['Số lượng phòng khám'] = count(Phongkham::find()->all()); $tonghop['Số lượng khoa'] = count(Khoa::find()->all()); return $this->render('statistics', ['tonghop' => $tonghop]); } if ($bieudo == 'benhnhan') { $count = array(); $count['0'] = 0; $count['1'] = 0; $count['2'] = 0; $count['3'] = 0; $array = $this->actionThang(); $benhan = Benhan::find()->all(); foreach ($benhan as $ba) { if (date('m', $ba->created_at) == $array['0']) { $count['0'] = $count[0] + 1; } if (date('m', $ba->created_at) == $array['1']) { $count['1']++; } if (date('m', $ba->created_at) == $array['2']) { $count['2']++; } if (date('m', $ba->created_at) == $array['3']) { $count['3']++; } } return $this->render('statisticsBN', ['thang' => $array, 'value' => $count]); } $khoa = Khoa::find()->all(); $dskhoa = array(); $dsmakhoa = array(); $count = array(); $j = 0; foreach ($khoa as $k) { $dskhoa["{$j}"] = $k->tenKhoa; $dsmakhoa["{$j}"] = $k->id; $count["{$j}"] = 0; $j++; } $thang = 0; $now = getdate(); if ($now['mon'] == 1) { $thang = 12; } else { $thang = $now['mon']; } $benhan = Benhan::find()->all(); foreach (Bnpk::find()->all() as $lk) { if (date('m', $lk->ngayKham == $thang)) { for ($i = 0; $i < count($khoa); $i++) { if (Phongkham::findOne(['id' => $lk->maPK])->maKhoa == $dsmakhoa["{$i}"]) { $count["{$i}"]++; } } } } return $this->render('statisticsLK', ['thang' => $thang, 'dskhoa' => $dskhoa, 'value' => $count, 'count' => $j]); }