You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
8.4 KiB
217 lines
8.4 KiB
<?php
|
|
class Admin_AdminController extends Ctrl_Admin{
|
|
public $HospitalId;
|
|
public function init(){
|
|
$this->HospitalId = empty($_SESSION['HospitalID'])?'1':$_SESSION['HospitalID'];
|
|
}
|
|
public function IndexAction(){
|
|
if (!isset($_SESSION['Admin'])) {
|
|
$this->redirect('/Admin_Login/Index');
|
|
}
|
|
$tAMMO = new AdminmenuModel;
|
|
$tARMO = new AdminroteModel;
|
|
$tRMMO = new RotemenuModel;
|
|
$HospitalID = $_SESSION['HospitalID']; //获取医院ID
|
|
$HospitalName=$_SESSION['HospitalName']; //获取医院名称
|
|
$Name=$_SESSION['Name']; //获取用户名
|
|
$RoteId = $_SESSION['RoteId']; //获取权限ID
|
|
$Rote = $_SESSION['Rote']; //获取权限ID
|
|
$sSql = 'select * from '.$tAMMO->table.' am right join '.$tRMMO->table.' rm on rm.m_id=am.admin_m_id right join '.$tARMO->table.' ar on ar.admin_r_id=rm.r_id where admin_father_id=0 AND ar.admin_r_id='.$RoteId;
|
|
$aSql = 'select * from '.$tAMMO->table.' am right join '.$tRMMO->table.' rm on rm.m_id=am.admin_m_id right join '.$tARMO->table.' ar on ar.admin_r_id=rm.r_id where admin_father_id!=0 AND ar.admin_r_id='.$RoteId;
|
|
if (empty($_SESSION['HospitalID'])) {
|
|
$sSql = 'select * from '.$tAMMO->table.' where admin_father_id=0 ';
|
|
$aSql = 'select * from '.$tAMMO->table.' where admin_father_id!=0 ';
|
|
}
|
|
$MenuFAInfo = $tAMMO->query($sSql);
|
|
$MenuCHInfo = $tAMMO->query($aSql);
|
|
foreach ($MenuFAInfo as $key => $value) {
|
|
foreach ($MenuCHInfo as $k => $va) {
|
|
if ($va['admin_father_id']==$value['admin_m_id']) {
|
|
$MenuFAInfo[$key]['children'][] = $va;
|
|
}
|
|
}
|
|
}
|
|
$this->assign('MenuFAInfo',$MenuFAInfo);
|
|
$this->assign('Name',$Name);
|
|
$this->assign('Rote',$Rote);
|
|
$this->assign('HospitalName',$HospitalName);
|
|
$this->assign('HospitalID',$HospitalID);
|
|
}
|
|
|
|
|
|
/**
|
|
* [AdminIndexAction 账号管理首页]
|
|
*/
|
|
public function AdminIndexAction(){
|
|
$tAMO = new AdminModel;
|
|
$tARMO = new AdminroteModel;
|
|
$tURMO = new UserroteModel;
|
|
$HospitalID = empty($_REQUEST['hospital'])?$this->HospitalId:$_REQUEST['hospital'];
|
|
$HospitalInfo = $this->HospitalInfo();
|
|
$Sql = "select * from ".$tAMO->table.' a left join '.$tURMO->table.' ur on ur.u_id=a.admin_id left join '.$tARMO->table.' ar on ar.admin_r_id=ur.r_id where a.hospital='.$HospitalID;
|
|
$AdminInfo = $tAMO->query($Sql);
|
|
$this->assign('HospitalInfo',$HospitalInfo);
|
|
$this->assign('HospitalID',$HospitalID);
|
|
$this->assign('AdminInfo',$AdminInfo);
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* [AddAction 用户添加页面]
|
|
*/
|
|
public function AddAction(){
|
|
$tARMO = new AdminroteModel;
|
|
$HospitalID = empty($_REQUEST['hospital'])?$this->HospitalId:$_REQUEST['hospital']; //接受医院ID
|
|
$HospitalInfo = $this->HospitalInfo(); //获取医院信息
|
|
$RoteInfo = $tARMO->field('*')->where('hospital='.$HospitalID)->fList(); //查询当前医院角色信息
|
|
$this->assign('HospitalID',$HospitalID);
|
|
$this->assign('RoteInfo',$RoteInfo);
|
|
}
|
|
|
|
|
|
/**
|
|
* [AdminAddAction 添加用户操作]
|
|
*/
|
|
public function AdminAddAction(){
|
|
$tAMO = new AdminModel;
|
|
$tURMO = new UserroteModel;
|
|
$HospitalID = $_REQUEST['hospital'];
|
|
$AdminPassword = empty($_REQUEST['AdminPassword'])?Tool_Fnc::ajaxMsg('请您填写密码'):Tool_fnc::safe_string($_REQUEST['AdminPassword']);
|
|
$AdminName = empty($_REQUEST['AdminName'])?Tool_Fnc::ajaxMsg('请您填写姓名'):Tool_fnc::safe_string($_REQUEST['AdminName']);
|
|
$AdminUsername = empty($_REQUEST['AdminUsername'])?Tool_Fnc::ajaxMsg('请您填写账号'):Tool_fnc::safe_string($_REQUEST['AdminUsername']);
|
|
$AdminPasswordsure = empty($_REQUEST['AdminPasswordsure'])?Tool_Fnc::ajaxMsg('请您确认密码'):Tool_fnc::safe_string($_REQUEST['AdminPasswordsure']);
|
|
$AdminRote = empty($_REQUEST['AdminRote'])?Tool_Fnc::ajaxMsg('请您选择角色'):Tool_fnc::safe_string($_REQUEST['AdminRote']);
|
|
if ($AdminPassword!=$AdminPasswordsure) {
|
|
Tool_Fnc::ajaxMsg('两次密码不一致');
|
|
}
|
|
$token = Tool_Fnc::newrand();
|
|
$AdminPassword = Tool_Fnc::markmd5($AdminPassword,$token);
|
|
$AdminArray = $tAMO->field('*')->where('admin_name=\''.$AdminName.'\' AND hospital='.$HospitalID)->fRow();
|
|
if (!empty($AdminArray)) {
|
|
Tool_Fnc::ajaxMsg('账号已经添加,请勿重复添加');
|
|
}
|
|
$Admin = array(
|
|
'admin_name' => $AdminName,
|
|
'admin_username'=> $AdminUsername,
|
|
'admin_password'=> $AdminPassword,
|
|
'admin_created' => time(),
|
|
'hospital' => $HospitalID,
|
|
'hospital_name' => '',
|
|
'admin_status' => 1,
|
|
'admin_token' => $token,
|
|
'admin_pwd' => $AdminPasswordsure,
|
|
);
|
|
|
|
$tAMO->begin();
|
|
if (!$Aid = $tAMO->insert($Admin)) {
|
|
$tAMO->back();
|
|
Tool_Fnc::ajaxMsg('系统繁忙请稍后再试!');
|
|
}
|
|
$Rote = array(
|
|
'u_id' => $Aid,
|
|
'r_id' => $AdminRote,
|
|
);
|
|
if (!$tURMO->insert($Rote)) {
|
|
$tAMO->back();
|
|
Tool_Fnc::ajaxMsg('系统繁忙请稍后再试!');
|
|
}
|
|
$tAMO->commit();
|
|
Tool_Fnc::ajaxMsg('添加成功',1);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* [EditAction 账号编辑页面]
|
|
*/
|
|
public function EditAction(){
|
|
$tAMO = new AdminModel;
|
|
$tURMO = new UserroteModel;
|
|
$tARMO = new AdminroteModel;
|
|
$AdminId = $_REQUEST['AdminId'];
|
|
$ARID = $_REQUEST['ARID'];
|
|
$HospitalID = empty($_REQUEST['hospital'])?$this->HospitalId:$_REQUEST['hospital']; //接受医院ID
|
|
$RoteInfo = $tARMO->field('*')->where('hospital='.$HospitalID)->fList(); //查询当前医院角色信息
|
|
$Sql = "select * from ".$tAMO->table.' a left join '.$tURMO->table.' ur on ur.u_id=a.admin_id where a.admin_id='.$AdminId;
|
|
$AdminInfo = $tAMO->query($Sql);
|
|
|
|
$this->assign('AdminInfo',$AdminInfo);
|
|
$this->assign('HospitalID',$HospitalID);
|
|
$this->assign('ARID',$ARID);
|
|
$this->assign('RoteInfo',$RoteInfo);
|
|
}
|
|
|
|
|
|
/**
|
|
* [AdminEditAction 账号修改操作]
|
|
*/
|
|
public function AdminEditAction(){
|
|
$tAMO = new AdminModel;
|
|
$tURMO = new UserroteModel;
|
|
$HospitalID = $_REQUEST['hospital'];
|
|
$ARID = $_REQUEST['ARID'];
|
|
$AdminId = $_REQUEST['AdminId'];
|
|
$AdminPassword = empty($_REQUEST['AdminPassword'])?Tool_Fnc::ajaxMsg('请您填写密码'):Tool_fnc::safe_string($_REQUEST['AdminPassword']);
|
|
$AdminName = empty($_REQUEST['AdminName'])?Tool_Fnc::ajaxMsg('请您填写姓名'):Tool_fnc::safe_string($_REQUEST['AdminName']);
|
|
$AdminUsername = empty($_REQUEST['AdminUsername'])?Tool_Fnc::ajaxMsg('请您填写账号'):Tool_fnc::safe_string($_REQUEST['AdminUsername']);
|
|
$AdminPasswordsure = empty($_REQUEST['AdminPasswordsure'])?Tool_Fnc::ajaxMsg('请您确认密码'):Tool_fnc::safe_string($_REQUEST['AdminPasswordsure']);
|
|
$AdminRote = empty($_REQUEST['AdminRote'])?Tool_Fnc::ajaxMsg('请您选择角色'):Tool_fnc::safe_string($_REQUEST['AdminRote']);
|
|
if ($AdminPassword!=$AdminPasswordsure) {
|
|
Tool_Fnc::ajaxMsg('两次密码不一致');
|
|
}
|
|
$token = Tool_Fnc::newrand();
|
|
$AdminPassword = Tool_Fnc::markmd5($AdminPassword,$token);
|
|
$Admin = array(
|
|
'admin_id' => $AdminId,
|
|
'admin_name' => $AdminName,
|
|
'admin_username'=> $AdminUsername,
|
|
'admin_password'=> $AdminPassword,
|
|
'admin_created' => time(),
|
|
'hospital' => $HospitalID,
|
|
'hospital_name' => '',
|
|
'admin_status' => 1,
|
|
'admin_token' => $token,
|
|
'admin_pwd' => $AdminPasswordsure,
|
|
);
|
|
|
|
$tAMO->begin();
|
|
if (!$tAMO->update($Admin)) {
|
|
$tAMO->back();
|
|
Tool_Fnc::ajaxMsg('系统繁忙请稍后再试!1');
|
|
}
|
|
$Rote = array(
|
|
'a_r_id'=>$ARID,
|
|
'u_id' => $AdminId,
|
|
'r_id' => $AdminRote,
|
|
);
|
|
if (!$tURMO->update($Rote)) {
|
|
$tAMO->back();
|
|
Tool_Fnc::ajaxMsg('系统繁忙请稍后再试!2');
|
|
}
|
|
$tAMO->commit();
|
|
Tool_Fnc::ajaxMsg('添加成功',1);
|
|
}
|
|
|
|
|
|
public function AdminStatuAction(){
|
|
$tAMO = new AdminModel;
|
|
$AdminId = $_REQUEST['AdminId'];
|
|
$sta = $_REQUEST['sta'];
|
|
$UpdateArr = array(
|
|
'admin_id'=>$AdminId,
|
|
'admin_status'=>$sta,
|
|
);
|
|
if (!$tAMO->update($UpdateArr)) {
|
|
Tool_Fnc::ajaxMsg('系统繁忙请稍后再试!');
|
|
}
|
|
Tool_Fnc::ajaxMsg('操作成功',1);
|
|
}
|
|
|
|
public function HospitalInfo(){
|
|
$tHMO = new HospitalModel;
|
|
$HospitalInfo = $tHMO->field('hospital_id HospitalID,hospital_ip HospitalIP,hospital_name HospitalName,hospital_url HospitalUrl')->fList();
|
|
return $HospitalInfo;
|
|
}
|
|
}
|
|
?>
|