コード例 #1
0
        /// <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);
        }
コード例 #2
0
 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)
     });
 }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
        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);
            }
        }
コード例 #9
0
        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);
            }
        }