Template.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <?php
  2. namespace app\inter\controller;
  3. use think\Controller;
  4. use think\Db;
  5. use think\Session;
  6. use app\inter\model\TemplateModel;
  7. use app\common\library\ResultTools;
  8. use think\Request;
  9. use app\common\library\CheckTools;
  10. use app\common\library\ErrorConstant;
  11. use app\common\library\UUIDs;
  12. use think\Cache;
  13. class Template extends Base
  14. {
  15. /*//获取全部模版
  16. public function getAll(){
  17. try{
  18. $sessionid = $_REQUEST['sessionid'];
  19. $info = Cache::get($sessionid);
  20. if (!$info){
  21. $info = ['id'=>'test'];
  22. }
  23. $publicTemplates = TemplateModel::all(function($query){
  24. $query->where('is_public', 1);
  25. });
  26. $privateTemplates = TemplateModel::all(function($query) use($info) {
  27. $query->where('is_public', 2)
  28. ->where('create_user', $info['id']);
  29. });
  30. return ResultTools::success(['publicTemplates'=>$publicTemplates, 'privateTemplates'=>$privateTemplates],$sessionid);
  31. }catch(\Exception $e){
  32. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  33. }
  34. }
  35. // 保存模版
  36. public function save(){
  37. try{
  38. $sessionid = $_REQUEST['sessionid'];
  39. $doctor = Cache::get($sessionid);
  40. $param = Request::instance()->param();
  41. if (!$doctor){
  42. $doctor = ['id'=>'test'];
  43. }
  44. if (!CheckTools::checkParamsNotNull($param, ['title', 'is_public', 'checkid', 'impression', 'description'])){
  45. //参数错误
  46. return ResultTools::faile(ErrorConstant::$PARAM_ERROR['code'], ErrorConstant::$PARAM_ERROR['msg'],$sessionid);
  47. }
  48. $template = new TemplateModel([
  49. 'id'=>UUIDs::uuid16(),
  50. 'title'=>$param['title'],
  51. 'is_public'=>$param['is_public'],
  52. 'create_user'=>$doctor['id'],
  53. 'checkid'=>$param['checkid'],
  54. 'impression'=>$param['impression'],
  55. 'description'=>$param['description'],
  56. 'ctime'=>date("Y-m-d H:i:s",time())
  57. ]);
  58. $template->save();
  59. return ResultTools::success($template,$sessionid);
  60. }catch(\Exception $e){
  61. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  62. }
  63. }
  64. //更新模版
  65. public function update(){
  66. try{
  67. $sessionid = $_REQUEST['sessionid'];
  68. $doctor = Cache::get($sessionid);
  69. $param = Request::instance()->param();
  70. if (!CheckTools::checkParamsNotNull($param, ['id','title', 'is_public', 'checkid', 'impression', 'description'])){
  71. //参数错误
  72. return ResultTools::faile(ErrorConstant::$PARAM_ERROR['code'], ErrorConstant::$PARAM_ERROR['msg'],$sessionid);
  73. }
  74. $template = TemplateModel::get($param['id']);
  75. if (!$template){
  76. return ResultTools::faile(ErrorConstant::$PARAM_ERROR['code'], ErrorConstant::$PARAM_ERROR['msg'],$sessionid);
  77. }
  78. $template->title = $param['title'];
  79. $template->is_public = $param['is_public'];
  80. $template->checkid = $param['checkid'];
  81. $template->impression = $param['impression'];
  82. $template->description = $param['description'];
  83. $template->save();
  84. return ResultTools::success('OK',$sessionid);
  85. }catch(\Exception $e){
  86. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  87. }
  88. }*/
  89. public function delete_template(){
  90. try{
  91. $sessionid = $_REQUEST['sessionid'];
  92. $id = Request::instance()->param('id');
  93. DB::table('templates')->where('id',$id)->delete();
  94. return ResultTools::success('OK',$sessionid);
  95. }catch(\Exception $e){
  96. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  97. }
  98. }
  99. //新增私有模板
  100. public function add_template(){
  101. $param = $_REQUEST['param'];
  102. $sessionid = $_REQUEST['sessionid'];
  103. $doctor = Cache::get($sessionid);
  104. $info = array();
  105. $info['id'] = UUIDs::uuid16();
  106. $info['title'] = $param['label'];
  107. $info['ctime'] = date('Y-m-d H:i:s',time());
  108. $info['is_public'] = 2;
  109. $info['create_user'] = $doctor['id'];
  110. if(isset($param['id']) && !empty($param['id'])){
  111. $t = DB::table('templates')->where('title',$param['label'])->where('is_public',2)->where('parent_id',$param['id'])->find();
  112. if($t){
  113. return json_encode(['status'=>'fail','code'=>'1013','msg'=>'已存在相同的模板标题,请重新填写']);
  114. }
  115. //存在id值 则为添加二级类
  116. $exam = DB::table('templates')->where('id',$param['id'])->field('exam_class_id')->find();
  117. $info['exam_class_id'] = $exam['exam_class_id'];
  118. $info['parent_id'] = $param['id'];
  119. $info['impression'] = $param['impression'];
  120. $info['description'] = $param['description'];
  121. }else{
  122. $t = DB::table('templates')->where('title',$param['label'])->where('is_public',2)->where('parent_id',0)->find();
  123. if($t){
  124. return json_encode(['status'=>'fail','code'=>'1013','msg'=>'已存在相同的模板标题,请重新填写']);
  125. }
  126. //添加一级类
  127. $info['exam_class_id'] = $param['exam_class_id'];
  128. $info['parent_id'] = 0;
  129. }
  130. DB::table('templates')->insert($info);
  131. return json_encode(['status'=>'ok','code'=>'0000','info'=>$info['id'],'msg'=>'新增成功']);
  132. }
  133. //修改模板内容
  134. public function update_template(){
  135. $param = $_REQUEST['param'];
  136. $param['title'] = $param['label'];
  137. unset($param['label']);
  138. $a = DB::table('templates')->where('id',$param['id'])->update($param);
  139. if($a){
  140. return json_encode(['status'=>'ok','code'=>'0000','msg'=>'修改成功']);
  141. }
  142. }
  143. //修改详情页信息
  144. public function save_info(){
  145. $id = $_REQUEST['id'];
  146. $info = DB::table('templates')->where('id',$id)->field('title as label,impression,description,exam_class_id,parent_id')->find();
  147. if($info['parent_id'] != 0){
  148. $p = DB::table('templates')->where('id',$info['parent_id'])->field('title')->find();
  149. $info['title'] = $p['title'];
  150. }
  151. unset($info['parent_id']);
  152. return json_encode(['status'=>'ok','code'=>'0000','info'=>$info]);
  153. }
  154. //一级菜单下拉 私有模板
  155. public function private_menu(){
  156. $sessionid = $_REQUEST['sessionid'];
  157. $doctor = Cache::get($sessionid);
  158. // $exam = $_REQUEST['exam_class'];
  159. $exam = DB::table('constant')->where('id',$_REQUEST['exam_class'])->field('constant as name')->find();
  160. $template = DB::table('templates')->where('exam_class_id',$exam['name'])->where('create_user',$doctor['id'])->where('is_public',2)->where('parent_id',0)->select();
  161. return json_encode(['status'=>'ok','code'=>'0000','info'=>$template]);
  162. }
  163. //模板内检查类下拉列表
  164. public function exam(){
  165. // $sessionid = $_REQUEST['sessionid'];
  166. // $doctor = Cache::get($sessionid);
  167. $exam = DB::table('constant')->where('parent_id','exam_class')->field(['id','constant_value as name'])->select();
  168. return json_encode(['status'=>'ok','code'=>'0000','info'=>$exam]);
  169. }
  170. }