/** * 根据部位获取症状 * @author gaoqing * @date 2016-04-13 * @param int $columns 在页面中,显示的列数 * @return array 部位及症状集 */ private static function getPartSymptom($columns) { $partSymptom = []; $part = new Part(); $symptom = new Symptom(); $firstLevel = $part->getPartLevel1(1); if (self::isNotNull($firstLevel)) { foreach ($firstLevel as $level1) { $inner = array(); $inner['part'] = $level1; $size = count($firstLevel) * $columns; $inner['symptom'] = $symptom->getSymptomsByPartid($level1['id'], 'part_level1', 0, $size); $partSymptom[] = $inner; } } return $partSymptom; }
public function diseasehtmlSitemap() { $this->disableLayout(); $departmentObj = new Department(); $disease = new Disease(); $symptom = new Symptom(); //1、科室查询 $departments = Department::find()->asArray()->all(); $departmentsMap = []; //查询出所有一级科室 foreach ($departments as $k => $v) { if ($v['level'] == 1) { $departmentsMap[$v['id']]['level1'] = $v; } } //查询出所有二级科室 foreach ($departments as $k => $v) { foreach ($departmentsMap as $kk => $vv) { if ($v['class_level1'] == $kk && (int) $v['id'] !== $kk) { $departmentsMap[$kk]['level2'][] = $v; } } } $model['departments'] = $departmentsMap; //2、疾病查询 //根据一级科室查询该科室下所有疾病 foreach ($departmentsMap as $k => $v) { $level1 = $v['level1']; $diseaseMap[$k]['department'] = $level1; $diseaseMap[$k]['disease'] = $disease->getDiseaseByDepartment($level1['id'], 'class_level1', 0, 8511); } $model['disease'] = $diseaseMap; // print_r($diseaseMap); // exit; //3、部位查询 $parts = Part::find()->asArray()->all(); $partsMap = []; //查询出所有一级部位 foreach ($parts as $k => $v) { if ($v['level'] == 1) { $partsMap[$v['id']]['level1'] = $v; } } //查询出所有二级科室 foreach ($parts as $k => $v) { foreach ($partsMap as $kk => $vv) { if ($v['part_level1'] == $kk && (int) $v['id'] !== $kk) { $partsMap[$kk]['level2'][] = $v; } } } $model['parts'] = $partsMap; //4、症状查询 //根据一级部位查询该部位下所有症状 foreach ($partsMap as $k => $v) { $level1 = $v['level1']; $symptomMap[$k]['part'] = $level1; $symptomMap[$k]['symptom'] = $symptom->getSymptomsByPartid($level1['id'], 'part_level1', 0, 12398); } // print_r($symptomMap); // exit; $model['symptom'] = $symptomMap; $renderContent = $this->render('diseasehtmlsitemap', ['model' => $model]); $frontend = \Yii::getAlias("@frontend"); $sitemapFolder = 'map'; $fileFolder = $frontend . '/web/' . $sitemapFolder; if (!file_exists($fileFolder) || !is_dir($fileFolder)) { mkdir($fileFolder, 0755); } $fileName = 'index.shtml'; if (file_exists($fileFolder . '/' . $fileName)) { unlink($fileFolder . '/' . $fileName); } if (file_put_contents($fileFolder . '/' . $fileName, $renderContent)) { $frontDomain = \Yii::getAlias("@frontdomain"); return ['flag' => 1, 'url' => $frontDomain . '/' . $sitemapFolder . '/' . $fileName, 'name' => $fileName]; } return []; }