初始化仓库
This commit is contained in:
168
admin/controllers/drug/ChineseController.php
Normal file
168
admin/controllers/drug/ChineseController.php
Normal file
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
|
||||
namespace admin\controllers\drug;
|
||||
|
||||
use admin\components\BaseAdminController;
|
||||
use admin\controllers\AuthController;
|
||||
use admin\models\forms\drug\ChineseForm;
|
||||
use admin\models\forms\drug\ImportForm;
|
||||
use common\models\SystemConfig;
|
||||
use moonland\phpexcel\Excel;
|
||||
use yii\db\Exception;
|
||||
use yii\web\UploadedFile;
|
||||
|
||||
/**
|
||||
* @doc-module 中药饮片库
|
||||
*/
|
||||
class ChineseController extends BaseAdminController
|
||||
{
|
||||
/**
|
||||
* @doc-name 煎法列表
|
||||
*/
|
||||
public function actionDecotion()
|
||||
{
|
||||
return [
|
||||
['key'=>0,'value'=>'先煎'],
|
||||
['key'=>1,'value'=>'后下'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @doc-name 新增中药
|
||||
* @doc-param string drug_name 药名
|
||||
* @doc-param string pinyin_simple 拼音首拼
|
||||
* @doc-param string drug_number 编号
|
||||
* @doc-param string drug_alias 别名 / optional
|
||||
* @doc-param int unit_id 单位
|
||||
* @doc-param int status 状态1草稿2下架3上架
|
||||
* @doc-param string place 产地 / optional
|
||||
* @doc-param string instruction 说明书图片 / optional
|
||||
* @doc-param json drugstore[{"drugstore_id":1,"price":100,"type":1,"stock":100},{"drugstore_id":2,"price":100,"type":1,"stock":200}] 仓库
|
||||
*/
|
||||
public function actionSave()
|
||||
{
|
||||
$post=\Yii::$app->request->post();
|
||||
|
||||
$ChineseForm=new ChineseForm();
|
||||
$ChineseForm->attributes=$post;
|
||||
return $ChineseForm->save();
|
||||
}
|
||||
|
||||
/**
|
||||
* @doc-name 修改中药
|
||||
* @doc-param int id 药品ID
|
||||
* @doc-param string drug_name 药名 / optional
|
||||
* @doc-param string pinyin_simple 拼音首拼 / optional
|
||||
* @doc-param string drug_number 编号/ optional
|
||||
* @doc-param string drug_alias 别名 / optional
|
||||
* @doc-param int unit_id 单位 / optional
|
||||
* @doc-param int status 状态1草稿2下架3上架 / optional
|
||||
* @doc-param string place 产地 / optional
|
||||
* @doc-param string instruction 说明书图片 / optional
|
||||
*/
|
||||
public function actionUpdate()
|
||||
{
|
||||
$post=\Yii::$app->request->post();
|
||||
$this->requestValidate($post,[
|
||||
['id','required']
|
||||
]);
|
||||
$ChineseForm=new ChineseForm();
|
||||
$ChineseForm->attributes=$post;
|
||||
return $ChineseForm->update();
|
||||
}
|
||||
/**
|
||||
* @doc-name 查看中药
|
||||
* @doc-param int id 药品ID
|
||||
*/
|
||||
public function actionInfo()
|
||||
{
|
||||
$get=\Yii::$app->request->get();
|
||||
$this->requestValidate($get,[
|
||||
['id','required']
|
||||
]);
|
||||
$ChineseForm=new ChineseForm();
|
||||
$ChineseForm->attributes=$get;
|
||||
return $ChineseForm->info();
|
||||
}
|
||||
|
||||
/**
|
||||
* @doc-name 导入中药
|
||||
* @doc-param file file 文件
|
||||
*/
|
||||
public function actionChineseImport()
|
||||
{
|
||||
$request = \Yii::$app->request;
|
||||
if ($request->isPost) {
|
||||
//设置最大执行时间
|
||||
ini_set("max_execution_time", "360");
|
||||
|
||||
$file = UploadedFile::getInstanceByName('file');
|
||||
if ($file->size > 5 * 1024 * 1024) {
|
||||
return ['excel文件不能超过5M!'];
|
||||
}
|
||||
|
||||
//文件名
|
||||
$filename = date('His') . $file->getBaseName() . mt_rand(1000, 9999) . '.' . $file->getExtension();
|
||||
|
||||
//保存文件
|
||||
$file->saveAs( $filename);
|
||||
|
||||
$data = Excel::import($filename, [
|
||||
'setFirstRecordAsKeys' => true,
|
||||
'getOnlySheet' => 'Sheet1',
|
||||
]);
|
||||
|
||||
$ImportForm=new ImportForm();
|
||||
return $ImportForm->ChineseImport($data);
|
||||
} else {
|
||||
throw new Exception('请求方式错误');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @doc-name 设置代煎费
|
||||
* @doc-param int value 值
|
||||
* @doc-param int type 类型1中药2西药3配方颗粒
|
||||
* @doc-param int id id
|
||||
*/
|
||||
public function actionDaijianPrice()
|
||||
{
|
||||
$post=\Yii::$app->request->post();
|
||||
$this->requestValidate($post,[
|
||||
[['id','type','value'],'required']
|
||||
]);
|
||||
$t=\Yii::$app->db->beginTransaction();
|
||||
|
||||
$SystemConfig=SystemConfig::find()->where([
|
||||
'id'=>$post['id'],'config_type'=>1,'type'=>$post['type']
|
||||
])->one();
|
||||
if (!$SystemConfig) throw new Exception('配置不存在');
|
||||
|
||||
$SystemConfig->value=$post['value'];
|
||||
if (!$SystemConfig->saveOrFail()){
|
||||
$t->rollBack();
|
||||
throw new Exception('设置失败');
|
||||
}
|
||||
|
||||
$t->commit();
|
||||
return ['设置成功'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @doc-name 配置
|
||||
* @doc-return mixed @List{id,name-string-name,config-int-配置类型1代煎费配置2包邮配置,type-int-类型1中药3配方颗粒,value-int-值} 配置
|
||||
* @doc-return mixed @Pagination{total-int-总数量,totalPage-int-总页数,pageSize-int-每页条数} 分页数据
|
||||
*/
|
||||
public function actionSystemConfig()
|
||||
{
|
||||
$get = \Yii::$app->request->get();
|
||||
$query = SystemConfig::find();
|
||||
$this->field = [
|
||||
SystemConfig::class => [
|
||||
'id', 'name', 'type', 'value','config_type','rule'
|
||||
]
|
||||
];
|
||||
return $this->create($query, $get);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user