116 lines
3.3 KiB
PHP
116 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace admin\controllers\base;
|
|
|
|
use admin\components\BaseAdminController;
|
|
use admin\models\forms\drug\DiagnoseForm;
|
|
use common\modelsgii\oldDb\Disease;
|
|
use moonland\phpexcel\Excel;
|
|
use yii\db\Exception;
|
|
use yii\web\UploadedFile;
|
|
|
|
/**
|
|
* @doc-module 诊断症状
|
|
*/
|
|
class DiagnoseController extends BaseAdminController
|
|
{
|
|
/**
|
|
* @doc-name 诊断症状列表
|
|
* @doc-param string name 名称 / optional
|
|
* @doc-param string major_number 主编号 / optional
|
|
* @doc-param string ref_number 次编号 / optional
|
|
*/
|
|
public function actionList()
|
|
{
|
|
$get = \Yii::$app->request->get();
|
|
$query = Disease::find()->where(['is_delete' => 0]);
|
|
|
|
if (!empty($get['name'])){
|
|
$query->andWhere([
|
|
'like', 'name',$get['name']
|
|
]);
|
|
}
|
|
if (!empty($get['major_number'])){
|
|
$query->andWhere([
|
|
'major_number'=>$get['major_number']
|
|
]);
|
|
}
|
|
if (!empty($get['ref_number'])){
|
|
$query->andWhere([
|
|
'ref_number'=>$get['ref_number']
|
|
]);
|
|
}
|
|
|
|
$this->field = [
|
|
Disease::class => [
|
|
'id', 'diagnose_code','name', 'major_number', 'ref_number'
|
|
]
|
|
];
|
|
|
|
return $this->create($query, $get);
|
|
}
|
|
|
|
/**
|
|
* @doc-name 新增或编辑诊断症状
|
|
* @doc-desc 传ID则编辑
|
|
* @doc-param int ID 症状id / optional
|
|
* @doc-param string name 名字
|
|
* @doc-param string diagnose_code 疾病诊断代码 / optional
|
|
* @doc-param string major_number 主编号 / optional
|
|
* @doc-param string ref_number 次编号 / optional
|
|
*/
|
|
public function actionSave()
|
|
{
|
|
$post = \Yii::$app->request->post();
|
|
$DiagnoseForm = new DiagnoseForm();
|
|
$DiagnoseForm->attributes = $post;
|
|
return $DiagnoseForm->save();
|
|
}
|
|
|
|
/**
|
|
* @doc-name 删除诊断症状
|
|
* @doc-param int id 诊断症状ID
|
|
*/
|
|
public function actionDel()
|
|
{
|
|
$post = \Yii::$app->request->post();
|
|
$this->requestValidate($post, [
|
|
['id', 'required']
|
|
]);
|
|
$DiagnoseForm = new DiagnoseForm();
|
|
$DiagnoseForm->attributes = $post;
|
|
return $DiagnoseForm->del();
|
|
}
|
|
|
|
/**
|
|
* @doc-name 导入诊断症状
|
|
* @doc-param file file 文件
|
|
*/
|
|
public function actionImport()
|
|
{
|
|
$request = \Yii::$app->request;
|
|
if ($request->isPost) {
|
|
//设置最大执行时间
|
|
ini_set("max_execution_time", "360");
|
|
$file = UploadedFile::getInstanceByName('file');
|
|
if ($file->size > 5 * 1024 * 1024) {
|
|
throw new Exception('excel文件不能超过5M!');
|
|
}
|
|
|
|
//文件名
|
|
$filename = date('His') . md5($file->getBaseName()) . mt_rand(1000, 9999) . '.' . $file->getExtension();
|
|
//保存文件
|
|
$file->saveAs($filename);
|
|
|
|
$data = Excel::import($filename, [
|
|
'setFirstRecordAsKeys' => true,
|
|
'getOnlySheet' => 'Sheet1',
|
|
]);
|
|
|
|
$DiagnoseForm = new DiagnoseForm();
|
|
return $DiagnoseForm->export($data);
|
|
} else {
|
|
throw new Exception('请求方式错误');
|
|
}
|
|
}
|
|
} |