/// <summary> /// 获取用户所属科室角色信息 /// </summary> /// <param name="userId"></param> /// <returns></returns> public List <UserReleationData> GetUserDepartmentRoleInfos(string userId) { SQL sql = new SQL("获取用户所属科室角色信息", "select 用户关联ID, 用户ID, 科室ID, 角色ID from 影像用户关联 where 用户Id=:用户ID"); sql.AddParameter("用户ID", DbType.String, userId); DataTable dtReleation = _dbHelper.ExecuteSQL(sql); if (dtReleation == null || dtReleation.Rows.Count <= 0) { return(null); } List <UserReleationData> urds = new List <UserReleationData>(); foreach (DataRow dr in dtReleation.Rows) { UserReleationData urd = new UserReleationData(); urd.BindRowData(dr); urds.Add(urd); } return(urds); }
private SqlParamInfo[] GetUserReleationPars(UserReleationData userReleation) { return(new SqlParamInfo[] { new SqlParamInfo(":用户关联ID", DbType.String, userReleation.用户关联ID), new SqlParamInfo(":用户ID", DbType.String, userReleation.用户ID), new SqlParamInfo(":科室ID", DbType.String, userReleation.科室ID), new SqlParamInfo(":角色ID", DbType.String, userReleation.角色ID) }); }
/// <summary> /// 更新用户 /// </summary> /// <param name="hisServerData"></param> public void UpdateUserInfo(UserInfoData userInfo, UserReleationData userReleation) { //添加事务处理 _dbHelper.TransactionBegin(); try { string sql = "Update 影像用户信息 " + " Set 系统账号=:系统账号, 用户名称=:用户名称, 职称级别=:职称级别, 账号信息=:账号信息,人员信息=:人员信息" + //,变更日志=:变更日志 " + " where 用户ID=:用户ID "; sql = SqlHelper.GetSqlBiz().GetSqlContext("更新科室用户信息", sql); SqlParamInfo[] sqlPars = new SqlParamInfo[] { new SqlParamInfo("系统账号", DbType.String, userInfo.系统账号), new SqlParamInfo("用户名称", DbType.String, userInfo.用户名称), new SqlParamInfo("职称级别", DbType.Int32, userInfo.职称级别), new SqlParamInfo("账号信息", DbType.String, userInfo.账号信息.ToString()), new SqlParamInfo("人员信息", DbType.String, userInfo.人员信息.ToString()), //new SqlParamInfo("变更日志", DbType.String, JsonHelper.SerializeObject(userInfo.变更日志)), new SqlParamInfo("用户ID", DbType.String, userInfo.用户ID) }; _dbHelper.ExecuteSQL(sql, sqlPars); //更新角色关联 if (userReleation != null) { sql = "update 影像用户关联 " + " set 角色ID=:角色ID " + " where 用户ID=:用户ID and 科室ID=:科室ID"; sql = SqlHelper.GetSqlBiz().GetSqlContext("更新科室用户关联", sql); sqlPars = new SqlParamInfo[] { new SqlParamInfo("角色ID", DbType.String, userReleation.角色ID), new SqlParamInfo("用户ID", DbType.String, userInfo.用户ID), new SqlParamInfo("科室ID", DbType.String, userReleation.科室ID) }; _dbHelper.ExecuteSQL(sql, sqlPars); } //更新照片 UpdatePhoto(userInfo); _dbHelper.TransactionCommit(); } catch (Exception ex) { _dbHelper.TransactionRollback(); throw new Exception("保存账户信息失败", ex); } }
static public bool BusinessVerify(IDBProvider dBProvider, ILoginUser userData) { _stationInfo = StationInfo.GetLocateStationInfo(_serverName, dBProvider); if (_stationInfo == null) { MessageBox.Show("当前站点信息尚未配置,请联系管理员。", "提示"); return(false); } //判断当前用户是否能够登录当前科室的系统 UserModel um = new UserModel(dBProvider); List <UserReleationData> urds = um.GetUserDepartmentRoleInfos(userData.UserId); if (urds == null) { MessageBox.Show("未找到对应科室信息不能进行登录,请联系管理员。", "提示"); return(false); } string departmentId = _stationInfo.DepartmentId; int index = urds.FindIndex(T => T.科室ID == departmentId); if (index < 0) { MessageBox.Show("当前科室 [" + _stationInfo.DepartmentName + "] 未配置该用户不能进行登录,请联系管理员。", "提示"); return(false); } UserReleationData urd = urds[index]; if (string.IsNullOrEmpty(urd.角色ID)) { MessageBox.Show("当前用户尚未分配角色不能进行登录,请联系管理员。", "提示"); return(false); } userData.RoleId = urd.角色ID; userData.DepartmentId = urd.科室ID; return(true); }
/// <summary> /// 新增用户 /// </summary> /// <param name="hisServerData"></param> /// <returns></returns> public bool NewUser(UserInfoData userInfo, UserReleationData userReleation) { //添加事务处理 _dbHelper.TransactionBegin(); try { string sql = "insert into " + " 影像用户信息(用户ID, 系统账号, 用户名称, 职称级别,账号信息, 人员信息, 签名图片, 人员照片) " + " values " + " (:用户ID, :系统账号, :用户名称, :职称级别, :账号信息, :人员信息, empty_blob(), empty_blob())"; sql = SqlHelper.GetSqlBiz().GetSqlContext("插入科室用户信息", sql); SqlParamInfo[] sqlPars = GetUserInfoPars(userInfo); DataTable dtResult = _dbHelper.ExecuteSQL(sql, sqlPars); if (userReleation != null) { //创建用户关联 sql = "insert into " + " 影像用户关联(用户关联ID, 用户ID, 科室ID, 角色ID ) " + " values " + " (:用户关联ID, :用户ID, :科室ID, :角色ID) "; sql = SqlHelper.GetSqlBiz().GetSqlContext("插入科室用户关联", sql); SqlParamInfo[] sqlReleationPars = GetUserReleationPars(userReleation); dtResult = _dbHelper.ExecuteSQL(sql, sqlReleationPars); } UpdatePhoto(userInfo); _dbHelper.TransactionCommit(); return(true); }catch (Exception ex) { _dbHelper.TransactionRollback(); throw new Exception("添加账户失败", ex); } }
public UserReleationData GetSelectUserReleation() { if (dataGridView1.SelectedRows.Count <= 0) { return(null); } DataGridViewRow dvr = dataGridView1.SelectedRows[0]; string userID = dvr.Cells["用户ID"].Value.ToString(); DataRow[] drs = (dataGridView1.DataSource as DataTable).Select("用户ID='" + userID + "'"); if (drs.Length > 0) { UserReleationData userReleation = new UserReleationData(); userReleation.BindRowData(drs[0]); return(userReleation); } return(null); }
private void butModify_Click(object sender, EventArgs e) { try { if (txtAccountName.Tag == null) { MessageBox.Show("请选择需要修改的用户信息。", "提示"); return; } UserInfoData userData = GetSelectUserData(); if (userData == null) { MessageBox.Show("未获取到有效的用户信息。", "提示"); return; } if (Verify(true) == false) { return; } userData.系统账号 = txtAccountName.Text; userData.用户名称 = txtUserName.Text; userData.职称级别 = cbxLevel.SelectedIndex; userData.签名图片 = picSignImage.Image; userData.人员照片 = picUserPhoto.Image; userData.账号信息.备注 = rtbAccountDescription.Text; userData.账号信息.是否停用 = chkStopUse.Checked; userData.账号信息.密码 = UserModel.EncryPwd(txtSurePwd.Text); userData.账号信息.CopyBasePro(userData); userData.人员信息.人员姓名 = txtName.Text; userData.人员信息.人员性别 = cbxSex.Text; userData.人员信息.出生日期 = dtpBirth.Value; userData.人员信息.办公电话 = txtOfficePhone.Text; userData.人员信息.身份证号 = txtCardNo.Text; userData.人员信息.电子邮件 = txtEmail.Text; userData.人员信息.联系电话 = txtTelePhone.Text; userData.人员信息.联系地址 = txtAddress.Text; userData.人员信息.备注 = rtbUserDescription.Text; userData.人员信息.CopyBasePro(userData); //userData.人员信息.个人简介 UserReleationData userReleation = GetSelectUserReleation(); if (cbxRoleGroup.SelectedValue != null) { userReleation.角色ID = cbxRoleGroup.SelectedValue.ToString(); } _um.UpdateUserInfo(userData, userReleation); DataRow dr = userData.GetBindRow(); dr["系统账号"] = userData.系统账号; dr["用户名称"] = userData.用户名称; dr["职称级别"] = userData.职称级别; dr["账号信息"] = userData.账号信息.ToString(); dr["人员信息"] = userData.人员信息.ToString(); dr["签名图片"] = SqlHelper.ImageToBinary(userData.签名图片); dr["人员照片"] = SqlHelper.ImageToBinary(userData.人员照片); dr["角色ID"] = userReleation.角色ID; dr["角色名称"] = cbxRoleGroup.Text; ButtonHint.Start(sender as Button, "OK"); } catch (Exception ex) { MsgBox.ShowException(ex, "保存账户信息失败。", this); } }
private void butNew_Click(object sender, EventArgs e) { try { if (Verify() == false) { return; } UserInfoData userData = new UserInfoData(); userData.用户ID = SqlHelper.GetCmpUID(); userData.系统账号 = txtAccountName.Text; userData.用户名称 = txtUserName.Text; userData.职称级别 = cbxLevel.SelectedIndex; userData.签名图片 = picSignImage.Image; userData.账号信息.密码 = UserModel.EncryPwd(txtSurePwd.Text); userData.账号信息.备注 = rtbAccountDescription.Text; userData.账号信息.创建日期 = DateTime.Now; userData.账号信息.是否停用 = chkStopUse.Checked; userData.账号信息.CopyBasePro(userData); userData.人员照片 = picUserPhoto.Image; userData.人员信息.人员姓名 = txtName.Text; userData.人员信息.人员性别 = cbxSex.Text; userData.人员信息.出生日期 = dtpBirth.Value; userData.人员信息.身份证号 = txtCardNo.Text; userData.人员信息.办公电话 = txtOfficePhone.Text; userData.人员信息.电子邮件 = txtEmail.Text; userData.人员信息.联系电话 = txtTelePhone.Text; userData.人员信息.联系地址 = txtAddress.Text; userData.人员信息.备注 = rtbUserDescription.Text; userData.人员信息.CopyBasePro(userData); //userData.人员信息.个人简介 UserReleationData userReleation = new UserReleationData(); userReleation.用户关联ID = SqlHelper.GetCmpUID(); userReleation.用户ID = userData.用户ID; if (cbxDepartment.SelectedValue != null) { userReleation.科室ID = cbxDepartment.SelectedValue.ToString(); } if (cbxRoleGroup.SelectedValue != null) { userReleation.角色ID = cbxRoleGroup.SelectedValue.ToString(); } _um.NewUser(userData, userReleation); DataTable dtBind = dataGridView1.DataSource as DataTable; DataRow drNew = dtBind.NewRow(); drNew["用户ID"] = userData.用户ID; drNew["系统账号"] = userData.系统账号; drNew["用户名称"] = userData.用户名称; drNew["职称级别"] = userData.职称级别; drNew["账号信息"] = userData.账号信息.ToString(); drNew["人员信息"] = userData.人员信息.ToString(); drNew["签名图片"] = SqlHelper.ImageToBinary(userData.签名图片); drNew["人员照片"] = SqlHelper.ImageToBinary(userData.人员照片); drNew["用户关联ID"] = userReleation.用户关联ID; drNew["科室ID"] = userReleation.科室ID; drNew["角色ID"] = userReleation.角色ID; drNew["角色名称"] = cbxRoleGroup.Text; dtBind.Rows.Add(drNew); ButtonHint.Start(sender as Button, "OK"); //添加新增成功后的行焦点定位 dataGridView1.Rows[dataGridView1.Rows.Count - 1].Selected = true; } catch (Exception ex) { MsgBox.ShowException(ex, "添加账户信息失败。", this); } }
private void SyncSelRowData() { try { ClearData(); if (dataGridView1.DataSource == null) { return; } if (dataGridView1.SelectedRows.Count <= 0) { return; } DataGridViewRow dvr = dataGridView1.SelectedRows[0]; string userID = dvr.Cells["用户ID"].Value.ToString(); DataRow[] drs = (dataGridView1.DataSource as DataTable).Select("用户ID='" + userID + "'"); if (drs.Length > 0) { UserInfoData userData = new UserInfoData(); userData.BindRowData(drs[0]); UserReleationData userReleation = new UserReleationData(); userReleation.BindRowData(drs[0]); txtAccountName.Text = userData.系统账号; txtAccountName.Tag = userData.用户ID; txtUserName.Text = userData.用户名称; cbxLevel.SelectedIndex = userData.职称级别; if (userData.账号信息 != null) { txtPwd.Text = UserModel.DecryPwd(userData.账号信息.密码); txtSurePwd.Text = txtPwd.Text; rtbAccountDescription.Text = userData.账号信息.备注; chkStopUse.Checked = userData.账号信息.是否停用; } if (string.IsNullOrEmpty(userReleation.角色ID) == false) { cbxRoleGroup.Text = drs[0]["角色名称"].ToString();// cbxRoleGroup.Items.IndexOf(userReleation.角色ID); } picSignImage.Image = userData.签名图片; //显示人员信息 if (userData.人员信息 != null) { txtName.Text = userData.人员信息.人员姓名; cbxSex.Text = userData.人员信息.人员性别; dtpBirth.Value = userData.人员信息.出生日期; txtCardNo.Text = userData.人员信息.身份证号; txtOfficePhone.Text = userData.人员信息.办公电话; txtTelePhone.Text = userData.人员信息.联系电话; txtAddress.Text = userData.人员信息.联系地址; txtEmail.Text = userData.人员信息.电子邮件; rtbUserDescription.Text = userData.人员信息.备注; } picUserPhoto.Image = userData.人员照片; } } catch (Exception ex) { MsgBox.ShowException(ex, this); } }