<?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/1/29 * Time: 15:03 */ //include the file defined("TMP_PATH") or define("TMP_PATH", "D:/gaoqing/software/wamp/www/PHPStorm"); require TMP_PATH . "/admin-9939-com/librarys/helpers/utils/Spell.php"; $name = "高青"; $pin = \librarys\helpers\utils\Spell::Pinyin($name, 'UTF-8', true); $Bpin = strtoupper($pin[0]); echo $Bpin;
/** * 添加症状 * @return type */ public function actionAdd() { $this->getView()->title = '添加症状'; // $this->request = \Yii::$app->request; if ($this->request->isPost) { $symptomFormData = $this->request->post('symptomForm'); //主表信息 $symptomContentFormData = $this->request->post('symptomContentForm'); //分表信息 $symptomRelateFormData = $this->request->post('symptomRelate'); //相关症状 $diseaseRelateFormData = $this->request->post('diseaseRelate'); //相关疾病 $partRelateFormData = $this->request->post('partRelate'); //所属部位 //图片信息 $imagesArr = []; $images = json_decode($this->request->post('diseaseImage'), true); foreach ($images as $k => $v) { //头图数据写入主表缩略图字段 if ($v['weight'] == 1) { $symptomFormData['thumbnail'] = $v['name']; } } //主表默认值字段 $symptomFormData['userid'] = $this->user['id']; $symptomFormData['username'] = $this->user['login_name']; $symptomFormData['createtime'] = time(); $symptomFormData['updatetime'] = time(); //拼音部分 $pinyin_initial = Spell::Pinyin($symptomFormData['name'], 'utf-8', true); $capital = strtoupper($pinyin_initial[0]); $map_pinyin_sn = $this->getPinYinSnDic(); $pinyin_initial_sn = isset($map_pinyin_sn[$capital]) ? $map_pinyin_sn[$capital] + 1 : 0; $symptomFormData['capital'] = $capital; $symptomFormData['capital_sn'] = $pinyin_initial_sn; $symptomFormData['pinyin'] = Spell::Pinyin($symptomFormData['name']); $symptomFormData['pinyin_initial'] = $pinyin_initial; $symptomFormData['source_pinyin'] = Spell::Pinyin($symptomFormData['name']); // print_r($symptomFormData); // print_r($symptomFormData); // exit; $flag[] = $this->symptom->addSymptom($symptomFormData); $lastInsertId = $this->symptom->attributes['id']; if ((int) $partRelateFormData['part_level2'] == 0) { $partRelateFormData['part_level2'] = ''; $partRelateFormData['partid'] = $partRelateFormData['part_level1']; } else { $partRelateFormData['partid'] = $partRelateFormData['part_level2']; } $partRelateFormData['symptomid'] = $lastInsertId; foreach ($images as $k => $v) { $imagesArr[$k]['name'] = $v['name']; $imagesArr[$k]['flag'] = 2; $imagesArr[$k]['weight'] = $v['weight']; $imagesArr[$k]['createtime'] = time(); $imagesArr[$k]['updatetime'] = time(); $imagesArr[$k]['relid'] = $lastInsertId; //头图数据写入主表缩略图字段 if ($v['weight'] == 1) { $symptomFormData['thumbnail'] = $v['name']; } } // print_r($imagesArr); // exit; // echo $lastInsertId; // exit; $flag[] = $this->relate->insertImage($imagesArr); $flag[] = $this->symptomContent->addSymptomContent($lastInsertId, $symptomContentFormData); $flag[] = $this->relateSymptomInsert($lastInsertId, $symptomRelateFormData); $flag[] = $this->relateDiseaseInsert($lastInsertId, $diseaseRelateFormData); $flag[] = $this->relate->addRelPart($lastInsertId, $partRelateFormData); $num = count($flag); //当前删除记录操作的总个数 $n = 0; foreach ($flag as $v) { //循环出所有的值,值分为0 1 ,成功是1,失败是0 $n = $v + $n; } if ($n < $num) { //如果结果小于总个数,说明有失败 Yii::$app->getSession()->setFlash('error', '添加失败!'); return $this->redirect(Url::toRoute('symptom/add')); } Yii::$app->getSession()->setFlash('success', '添加成功!'); return $this->redirect(Url::toRoute('symptom/index')); } $allSymptom['allSymptom'] = $this->symptom->getSymptom(); //所有的症状,供选择相关症状时使用 $allSymptom['relateSymptoms'] = 0; //所有与当前症状相关联的症状,因为是添加,所以默认为空 $allSymptom['relatePart'] = 0; //所有与当前症状相关联的症状 $allSymptom['diseaseImage'] = 0; //所有与当前症状相关联的症状,因为是添加,所以默认为空 $allSymptom['relSymptom']['part'] = $this->relate->getAllPart(); //相关疾病弹窗条件 部位 $allSymptom['relSymptom']['department'] = $this->depart->getDepartmentLevel1(); //相关疾病弹窗条件 科室 $allSymptom['relSymptom']['symptom'] = null; $allSymptom['relateDiseases'] = 0; //所有与当前症状相关联的症状,因为是添加,所以默认为空 //生成上传签名串 $moduleName = 'symptom'; $allSymptom['sign'] = \Yii::$app->params['uploadPath'][$moduleName]['api_id']; return $this->render('add', ['model' => false, 'allSymptom' => $allSymptom]); }
/** * 从 request 中,得到新增疾病信息的数组 * @author gaoqing * 2016年1月15日 * @param Request $request 请求对象 * @param boolean $isAdd 是否是新增操作(默认是新增操作) * @return array 新增疾病信息的数组 */ private function getAddMapArr($request, $isAdd = true) { $addMapArr = []; if ($request->post("disease", -1) != -1) { $disease = $request->post("disease"); if ($isAdd) { $pinyin_initial = Spell::Pinyin($disease['name'], 'utf-8', true); $capital = strtoupper($pinyin_initial[0]); $map_pinyin_sn = $this->getPinYinSnDic(); $pinyin_initial_sn = isset($map_pinyin_sn[$capital]) ? $map_pinyin_sn[$capital] + 1 : 0; $addMapArr['disease'] = $this->setDefaultValues($disease, ['status' => 2, 'userid' => $this->user->id, 'username' => $this->user->login_name, 'inputtime' => time(), 'updatetime' => time(), 'type' => '0', 'capital' => $capital, 'capital_sn' => $pinyin_initial_sn, 'pinyin' => Spell::Pinyin($disease['name']), 'pinyin_initial' => $pinyin_initial, 'source_pinyin' => Spell::Pinyin($disease['name'])]); } else { $addMapArr['disease'] = $this->setDefaultValues($disease, ['userid' => $this->user->id, 'username' => $this->user->login_name, 'updatetime' => time()]); } } if ($request->post("diseaseDepartment", -1) != -1) { $diseaseDepartment = $request->post("diseaseDepartment"); $addMapArr['diseaseDepartment'] = $this->splitDatasByJSON($diseaseDepartment); } if ($request->post("diseaseDisease", -1) != -1) { $diseaseDisease = $request->post("diseaseDisease"); $addMapArr['diseaseDisease'] = $this->splitDatas($diseaseDisease, "rel_diseaseid"); } if ($request->post("diseaseSymptom", -1) != -1) { $diseaseSymptom = $request->post("diseaseSymptom"); $addMapArr['diseaseSymptom'] = $this->splitDatas($diseaseSymptom, "symptomid"); } if ($request->post("diseaseImage", -1) != -1) { $diseaseImage = $request->post("diseaseImage"); $diseaseImage = $this->splitDatasByJSON($diseaseImage); if (isset($diseaseImage) && !empty($diseaseImage)) { foreach ($diseaseImage as $image) { $singleImage = $this->setDefaultValues($image, ['flag' => 1, 'createtime' => time(), 'updatetime' => time()]); $addMapArr['diseaseImage'][] = $singleImage; } } } if ($request->post("diseaseContent", -1) != -1) { $addMapArr['diseaseContent'] = $request->post("diseaseContent"); } return $addMapArr; }
/** * 编辑保存 */ public function actionEditSave() { $id = $this->helpGpost('id', ''); $name = $this->helpGpost('name', ''); $disease = $this->helpGpost('disease', []); $diseaseid = $disease[0]['diseaseid']; $res = Keywords::findOne($id); if (!$res) { return Json::encode(['error' => 1]); } $pinyin_initial = Spell::Pinyin($name, 'utf-8', true) . $id; $params = ['name' => $name, 'pinyin_initial' => $pinyin_initial, 'disease_id' => $diseaseid]; $obj_keywords = new Keywords(); $res = $obj_keywords->edit($id, $params); $message['error'] = $res ? 0 : 1; return Json::encode($message); }