/** * 得到 一二级热门科室、热门部位 * @author gaoqing * @date 2016-04-13 * @param int $columns 在页面中,显示的列数 * @return array 热门科室、热门部位 数据集 */ public static function getCommonDepPart() { $commonDepPart = array(); //获取科室 $level1 = Department::find()->select('id,pinyin')->where('pid = 0')->asArray(true)->all(); $level2 = Department::find()->select('id,name,pinyin,pid')->where('pid > 0')->asArray(true)->all(); $dep = array(); //科室部分 foreach ($level1 as $k => $v) { $dep[$v['pinyin']] = array(); foreach ($level2 as $kk => $vv) { if ($vv['pid'] == $v['id']) { $dep[$v['pinyin']][] = $vv; unset($level2[$k]); } } } //查询部位 $part1 = Part::find()->select('id,pinyin')->where('pid = 0')->asArray(true)->all(); $part2 = Part::find()->select('id,name,pinyin,pid')->where('pid > 0')->asArray(true)->all(); $part = array(); //部位部分 foreach ($part1 as $k => $v) { $part[$v['pinyin']] = array(); foreach ($part2 as $kk => $vv) { if ($vv['pid'] == $v['id']) { $part[$v['pinyin']][] = $vv; unset($part2[$k]); } } } $commonDepPart['department'] = $dep; $commonDepPart['part'] = $part; return $commonDepPart; }
/** * 查询所有部门,返回object,缓存两小时、依赖部门数量变化 * @return \common\models\Department[] */ public static function findAllForObject() { $dependency = new DbDependency(['sql' => 'select count(*) from department']); $result = Department::getDb()->cache(function () { return Department::find()->all(); }, 2 * 3600, $dependency); return $result; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Department::find()->notDeleted(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'created_by' => $this->created_by, 'updated_at' => $this->updated_at, 'updated_by' => $this->updated_by, 'deleted' => $this->deleted]); $query->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
/** * 疾病 sitemap * @author gaoqing * @date 2016-04-25 * @return array 响应信息 */ private function diseaseSitemap() { /** * <urlset> * <url> * <loc>http://jb.9939.com/article/2009/0327/1.shtml</loc> * <lastmod>2009-03-27</lastmod> * <changefreq>always</changefreq> * <priority>0.6</priority> * </url> * </urlset> */ $where = $this->_ownership; $sitemap = '<?xml version="1.0" encoding="UTF-8"?>'; $sitemap .= $this->_baidu ? '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">' : '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; //判断jb还是wapjb $prefix = $where == 'pc' ? '' : 'wap_'; //1、生成 疾病 部分的 sitemap $diseases = Disease::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($diseases, $prefix . 'disease'); //2、生成 症状 部分的 sitemap $symptoms = Symptom::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($symptoms, $prefix . 'symptom'); //3、生成 科室 部分的 sitemap $departments = Department::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($departments, $prefix . 'department'); //4、生成 部位 部分的 sitemap $parts = Part::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($parts, $prefix . 'part'); $sitemap .= '</urlset>'; //5、生成 sitemap 文件 if ($where == 'pc') { $frontend = \Yii::getAlias("@frontend"); $frontDomain = \Yii::getAlias("@frontdomain"); } elseif ($where == 'wap') { $frontend = \Yii::getAlias("@wapjb"); $frontDomain = \Yii::getAlias("@mjb_domain"); } // $frontend = \Yii::getAlias("@frontend"); $sitemapFolder = 'sitemap'; $fileFolder = $frontend . '/web/' . $sitemapFolder; if (!file_exists($fileFolder) || !is_dir($fileFolder)) { mkdir($fileFolder, 0755); } $fileName = $this->_baidu ? 'diseasebaidusitemap.xml' : 'diseasesitemap.xml'; if (file_put_contents($fileFolder . '/' . $fileName, $sitemap)) { // $frontDomain = \Yii::getAlias("@frontdomain"); return ['flag' => 1, 'url' => $frontDomain . '/' . $sitemapFolder . '/' . $fileName, 'name' => $fileName]; } return []; }
?> <?php echo $form->field($model, 'person_img')->fileInput(); ?> <?php echo $form->field($model, 'address')->textarea(['rows' => 6]); ?> <?php echo $form->field($model, 'tel')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'department_id')->dropDownList(ArrayHelper::map(Department::find()->all(), 'id', 'department')); ?> <div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? 'เพิ่ม' : 'แก้ไข', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div> <?php ActiveForm::end(); ?> </div>
/** * 一级科室下的子科室的数目 * @param type $id * @return array 返回该一级科室下的子科室的数目 */ public function getLevel1ChildNum($id) { return Department::find()->select("count(id) as count")->where('pid=:pid', [':pid' => $id])->asArray()->one(); }
?> <div class="box box-primary box-solid"> <div class="box-header"> <h3 class="box-title"><i class="fa fa-user"></i> <?php echo Html::encode($this->title); ?> </h3> </div> <div class="box-body"> <?php // echo $this->render('_search', ['model' => $searchModel]); ?> <p> <?php echo Html::a('เพิ่มบุคคลากร', ['create'], ['class' => 'btn btn-success']); ?> </p> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], ['attribute' => 'photo', 'format' => 'html', 'value' => function ($model) { return Html::img('uploads/person/' . $model->photo, ['class' => 'thumbnail', 'width' => 80, 'height' => 80, 'border' => 1]); }], 'user.username', 'user.email', 'firstname', 'lastname', 'tel', ['attribute' => 'department_id', 'value' => function ($model) { return $model->department->department; }, 'filter' => Html::activeDropDownList($searchModel, 'department_id', ArrayHelper::map(Department::find()->all(), 'id', 'department'), ['class' => 'form-control'])], ['class' => 'yii\\grid\\ActionColumn']]]); ?> </div> </div>