Beispiel #1
0
        /// <summary>
        /// LoadPlus
        /// </summary>
        /// <param name="rowHandle"></param>
        internal void LoadPlus(int rowHandle)
        {
            if (IsLoading)
            {
                return;
            }
            IsLoading = true;
            try
            {
                string operCode = GetFieldValueStr(Viewer.gvEmployee, rowHandle, EntityOperatorDisp.Columns.operCode);
                if (string.IsNullOrEmpty(operCode))
                {
                    return;
                }

                EntityCodeOperator mainVo = null;
                EntityPlusOperator plusVo = null;
                using (ProxyDictionary proxy = new ProxyDictionary())
                {
                    proxy.Service.LoadCodeOperatorAndPlus(operCode, out mainVo, out plusVo);
                }
                LoadOperDept(operCode, plusVo.deptCode);
                LoadOperRole(operCode);
                SetMainInfo(mainVo, plusVo);
            }
            finally
            {
                IsLoading = false;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 用户修改密码
        /// </summary>
        /// <param name="empNo">用户工号</param>
        /// <param name="oldPassWord">旧密码</param>
        /// <param name="newPassWord">新密码</param>
        /// <returns></returns>
        public int ChangePassword(string empNo, string oldPassWord, string newPassWord)
        {
            int       intRet = 0;
            string    SQL    = string.Empty;
            SqlHelper svc    = new SqlHelper(EnumBiz.onlineDB);

            try
            {
                EntityCodeOperator voEmp = new EntityCodeOperator();
                voEmp.disable  = "F";
                voEmp.operCode = empNo;
                List <EntityCodeOperator> lstEmp = EntityTools.ConvertToEntityList <EntityCodeOperator>(svc.Select(voEmp, new List <string> {
                    EntityCodeOperator.Columns.disable, EntityCodeOperator.Columns.operCode
                }));

                if (lstEmp != null && lstEmp.Count > 0)
                {
                    string strDBPwd = string.Empty;
                    bool   blnNull  = false;
                    if (string.IsNullOrEmpty(lstEmp[0].pwd))
                    {
                        blnNull = true;
                    }
                    if (blnNull)
                    {
                    }
                    else
                    {
                        strDBPwd = lstEmp[0].pwd; //ESCryptography.Decrypt(lstEmp[0].pwd);
                    }
                    if (blnNull || strDBPwd == oldPassWord)
                    {
                        Dictionary <string, object> dicSet   = new Dictionary <string, object>();
                        Dictionary <string, object> dicWhere = new Dictionary <string, object>();

                        dicSet.Add(EntityCodeOperator.Columns.pwd, newPassWord);//ESCryptography.Decrypt(newPassWord));
                        //dicSet.Add(EntityCodeOperator.Columns.Pwdusedate, DateTime.Now);

                        dicWhere.Add(EntityCodeOperator.Columns.disable, "F");
                        dicWhere.Add(EntityCodeOperator.Columns.operCode, empNo);

                        intRet = svc.Commit(svc.GetUpdateParm(voEmp, dicSet, dicWhere));
                    }
                    else
                    {
                        intRet = 0;
                    }
                }
            }
            catch (Exception e)
            {
                ExceptionLog.OutPutException(e);
                intRet = -1;
            }
            finally
            {
                svc = null;
            }
            return(intRet);
        }
Beispiel #3
0
        /// <summary>
        /// Del
        /// </summary>
        internal void Del()
        {
            EntityCodeOperator vo = GetOperOrig();

            if (vo == null)
            {
                DialogBox.Msg("请先选择需要删除的职工。");
                return;
            }
            if (vo.operCode == "00")
            {
                DialogBox.Msg("系统管理员默认账号不能删除。");
                return;
            }
            if (DialogBox.Msg("是否删除当前职工记录?", MessageBoxIcon.Question) == DialogResult.Yes)
            {
                using (ProxyDictionary proxy = new ProxyDictionary())
                {
                    if (proxy.Service.DelOperator(vo.operCode) > 0)
                    {
                        Viewer.ValueChanged = false;
                        New();
                        LoadList();
                        DialogBox.Msg("删除成功!");
                    }
                    else
                    {
                        DialogBox.Msg("删除失败。");
                    }
                }
            }
        }
Beispiel #4
0
 /// <summary>
 /// LoadCodeOperatorAndPlus
 /// </summary>
 /// <param name="operCode"></param>
 /// <param name="mainVo"></param>
 /// <param name="plusVo"></param>
 public void LoadCodeOperatorAndPlus(string operCode, out EntityCodeOperator mainVo, out EntityPlusOperator plusVo)
 {
     using (BizDictionary biz = new BizDictionary())
     {
         biz.LoadCodeOperatorAndPlus(operCode, out mainVo, out plusVo);
     }
 }
Beispiel #5
0
        /// <summary>
        /// 锁账户
        /// </summary>
        /// <param name="empNo"></param>
        /// <returns></returns>
        public int LockAccount(string empNo)
        {
            int       intRet = 0;
            SqlHelper svc    = new SqlHelper(EnumBiz.onlineDB);

            try
            {
                EntityCodeOperator          voEmp  = new EntityCodeOperator();
                Dictionary <string, object> dicSet = new Dictionary <string, object>();
                dicSet.Add(EntityCodeOperator.Columns.acctStatus, 1);
                dicSet.Add(EntityCodeOperator.Columns.acctLockDate, DateTime.Now);
                Dictionary <string, object> dicWhere = new Dictionary <string, object>();
                dicWhere.Add(EntityCodeOperator.Columns.operCode, empNo);
                intRet = svc.Commit(svc.GetUpdateParm(voEmp, dicSet, dicWhere));
            }
            catch (Exception e)
            {
                ExceptionLog.OutPutException(e);
            }
            finally
            {
                svc = null;
            }
            return(intRet);
        }
Beispiel #6
0
 /// <summary>
 /// SaveOperator
 /// </summary>
 /// <param name="mainVo"></param>
 /// <param name="plusVo"></param>
 /// <param name="operOrig"></param>
 /// <returns></returns>
 public int SaveOperator(EntityCodeOperator mainVo, EntityPlusOperator plusVo, EntityCodeOperator operOrig)
 {
     using (BizDictionary biz = new BizDictionary())
     {
         return(biz.SaveOperator(mainVo, plusVo, operOrig));
     }
 }
Beispiel #7
0
        /// <summary>
        /// NewOperRole
        /// </summary>
        internal void NewOperRole()
        {
            EntityCodeOperator vo = GetOperOrig();

            if (vo == null)
            {
                DialogBox.Msg("请先保存职工主信息。");
                return;
            }
            frmNew frm = new frmNew(EntityTools.ConvertToDataTable <EntityCodeRole>(DataSourceRole), "roleCode", "roleCode", "roleName");

            if (frm.ShowDialog() == DialogResult.OK)
            {
                if (frm.lstNo.Count > 0)
                {
                    foreach (int index in frm.lstNo)
                    {
                        EntityDefOperatorRole vo1 = new EntityDefOperatorRole();
                        vo1.operCode = vo.operCode;
                        vo1.roleCode = DataSourceRole[index].roleCode;
                        using (ProxyDictionary proxy = new ProxyDictionary())
                        {
                            if (proxy.Service.SaveOperatorRole(vo1) < 0)
                            {
                                DialogBox.Msg("保存职工所属角色失败。");
                                return;
                            }
                        }
                    }
                    LoadOperRole(vo.operCode);
                }
            }
        }
Beispiel #8
0
 private void EditValueChanged(string empNo)
 {
     if (!string.IsNullOrEmpty(empNo))
     {
         EntityCodeOperator vo = new EntityCodeOperator();
         vo.disable  = "F";
         vo.operCode = empNo;
         using (ProxyEntityFactory proxy = new ProxyEntityFactory())
         {
             vo = EntityTools.ConvertToEntity <EntityCodeOperator>(proxy.Service.Select(vo, new List <string> {
                 EntityCodeOperator.Columns.disable, EntityCodeOperator.Columns.operCode
             }));
             //this.CaKeyId = ?
             if (empNo != vo.operCode)
             {
                 this.txtEmpName.Text = string.Empty;
                 this.lblInfo.Visible = true;
             }
             else
             {
                 this.txtEmpName.Text = vo.operName;
                 CurrPwd = vo.pwd;
                 empNo   = vo.operCode;
                 EmpName = vo.operName;
                 this.lblInfo.Visible = false;
             }
         }
     }
 }
Beispiel #9
0
 public frmSignaturePwd(EntityCodeOperator _EmpVO)
 {
     InitializeComponent();
     if (!DesignMode)
     {
         this.EmpVO = _EmpVO;
     }
 }
Beispiel #10
0
 public frmSignaturePwd(EntityCodeOperator _EmpVO, Point p)
 {
     InitializeComponent();
     if (!DesignMode)
     {
         this.EmpVO         = _EmpVO;
         this.StartPosition = FormStartPosition.Manual;
         this.Location      = new Point(p.X, p.Y);
     }
 }
Beispiel #11
0
 private void lueDoct_HandleDBValueChanged(object sender)
 {
     if (this.lueDoct.Properties.DBRow != null)
     {
         DoctVo = this.lueDoct.Properties.DBRow as EntityCodeOperator;
     }
     else
     {
         DoctVo = null;
     }
 }
Beispiel #12
0
 public frmSignaturePwd(EntityCodeOperator _EmpVO, frmBase _frmOwner)
 {
     if (!DesignMode && _frmOwner != null)
     {
         _frmOwner.StartRedraw();
     }
     InitializeComponent();
     if (!DesignMode)
     {
         this.EmpVO = _EmpVO;
     }
 }
Beispiel #13
0
 private void SelectRow()
 {
     if (gvItem.FocusedRowHandle < 0)
     {
         return;
     }
     EmpVO = gvItem.GetFocusedRow() as EntityCodeOperator;
     if (EmpVO != null)
     {
         //this.Hide();
         Point p = this.Location;
         this.Location = new Point(-500, -500);
         frmSignaturePwd frm = new frmSignaturePwd(EmpVO, p);
         this.DialogResult = frm.ShowDialog();
     }
 }
Beispiel #14
0
        public void SelectEmp(EntityCodeOperator vo)
        {
            this.rdoType.SelectedIndex          = 1;
            this.lueEmp.Properties.DBValue      = vo.operCode;
            this.lueEmp.Properties.DisplayValue = vo.operName;
            this.lueEmp.Text = vo.operName;

            if (vo != null)
            {
                EmpVo = new EntityCodeOperator();
                //EmpVo.Empid = vo.Empid;
                EmpVo.operCode = vo.operCode;
                EmpVo.operName = vo.operName;
            }
            this.Refresh();
        }
Beispiel #15
0
        /// <summary>
        /// 设默认科室
        /// </summary>
        internal void SetDefaultDept()
        {
            EntityCodeOperator vo = GetOperOrig();

            if (vo == null)
            {
                DialogBox.Msg("请先保存职工主信息。");
                return;
            }
            if (Viewer.gvDept.RowCount <= 0 || Viewer.gvDept.FocusedRowHandle < 0)
            {
                return;
            }
            int rowHandle = Viewer.gvDept.FocusedRowHandle;
            EntityDefDeptemployee defVo = new EntityDefDeptemployee();

            defVo.operCode    = vo.operCode;
            defVo.deptCode    = GetFieldValueStr(Viewer.gvDept, rowHandle, EntityDefDeptemployee.Columns.deptCode);
            defVo.defaultFlag = 1;
            using (ProxyDictionary proxy = new ProxyDictionary())
            {
                if (proxy.Service.UpdateOperatorDeptDefault(defVo) < 0)
                {
                    DialogBox.Msg("设置职工默认科室失败。");
                    return;
                }
                else
                {
                    List <EntityDefDeptemployee> data = Viewer.gcDept.DataSource as List <EntityDefDeptemployee>;
                    for (int i = 0; i < data.Count; i++)
                    {
                        if (i == rowHandle)
                        {
                            data[i].defaultFlag = 1;
                        }
                        else
                        {
                            data[i].defaultFlag = 0;
                        }
                    }
                    Viewer.gvDept.RefreshData();
                    Viewer.gvDept.Invalidate();
                    DialogBox.Msg("设置职工默认科室成功!");
                }
            }
        }
Beispiel #16
0
        /// <summary>
        /// NewOperDept
        /// </summary>
        internal void NewOperDept()
        {
            EntityCodeOperator vo = GetOperOrig();

            if (vo == null)
            {
                DialogBox.Msg("请先保存职工主信息。");
                return;
            }
            frmNew frm = new frmNew(EntityTools.ConvertToDataTable <EntityCodeDepartment>(GlobalDic.DataSourceDepartment), "deptCode", "deptCode", "deptName");

            if (frm.ShowDialog() == DialogResult.OK)
            {
                if (frm.lstNo.Count > 0)
                {
                    bool isDefault = false;
                    foreach (int index in frm.lstNo)
                    {
                        EntityDefDeptemployee vo1 = new EntityDefDeptemployee();
                        vo1.operCode = vo.operCode;
                        vo1.deptCode = GlobalDic.DataSourceDepartment[index].deptCode;
                        if (Viewer.gvDept.RowCount == 0 && isDefault == false)
                        {
                            vo1.defaultFlag = 1;
                            isDefault       = true;
                        }
                        else
                        {
                            vo1.defaultFlag = 0;
                        }
                        using (ProxyDictionary proxy = new ProxyDictionary())
                        {
                            if (proxy.Service.SaveOperatorDept(vo1) < 0)
                            {
                                DialogBox.Msg("保存职工所属科室失败。");
                                return;
                            }
                        }
                    }
                    LoadOperDept(vo.operCode, string.Empty);
                }
            }
        }
Beispiel #17
0
        /// <summary>
        /// Save
        /// </summary>
        /// <param name="isExit"></param>
        internal void Save(bool isExit)
        {
            // 1.main
            EntityCodeOperator mainVo = new EntityCodeOperator();

            mainVo.operCode = Viewer.txtEmpNo.Text.Trim();
            mainVo.operName = Viewer.txtEmpName.Text.Trim();
            mainVo.pwd      = Viewer.txtPwd.Text;
            if (mainVo.pwd != string.Empty)
            {
                if (1 != 1)
                {
                    mainVo.pwd = (new clsSymmetricAlgorithm()).Encrypt(mainVo.pwd, clsSymmetricAlgorithm.enmSymmetricAlgorithmType.DES);
                }
            }
            if (Viewer.cboStatus.SelectedIndex == 2)
            {
                mainVo.disable = "T";
            }
            else if (Viewer.cboStatus.SelectedIndex == 1)
            {
                mainVo.disable = "F";
            }
            else
            {
                mainVo.disable = "F";
            }
            mainVo.ukey      = Viewer.txtCakey.Text.Trim();
            mainVo.innerFlag = "T";

            EntityPlusOperator plusVo = new EntityPlusOperator();

            plusVo.operCode = mainVo.operCode;
            plusVo.pyCode   = SpellCodeHelper.GetPyCode(mainVo.operName);
            plusVo.wbCode   = SpellCodeHelper.GetWbCode(mainVo.operName);
            plusVo.clsCode  = Viewer.lueType.Properties.DBValue;
            plusVo.dutyCode = Viewer.lueDuty.Properties.DBValue;
            plusVo.rankCode = Viewer.lueRank.Properties.DBValue;
            if (!string.IsNullOrEmpty(plusVo.clsCode))
            {
                plusVo.clsCode = plusVo.clsCode.Trim();
            }
            if (!string.IsNullOrEmpty(plusVo.dutyCode))
            {
                plusVo.dutyCode = plusVo.dutyCode.Trim();
            }
            if (!string.IsNullOrEmpty(plusVo.rankCode))
            {
                plusVo.rankCode = plusVo.rankCode.Trim();
            }
            if (Viewer.gvDept.RowCount > 0)
            {
                plusVo.deptCode = GetFieldValueStr(Viewer.gvDept, 0, EntityDefDeptemployee.Columns.deptCode);
            }
            else
            {
                plusVo.deptCode = "&";
            }
            plusVo.birth = Viewer.dtmBirth.Text;
            plusVo.tel   = Viewer.txtContactTel.Text.Trim();
            plusVo.addr  = Viewer.txtContactAddr.Text.Trim();
            plusVo.sex   = Viewer.cboSex.SelectedIndex.ToString();

            #region 校验

            if (string.IsNullOrEmpty(mainVo.operCode))
            {
                DialogBox.Msg("请输入职工编码。");
                Viewer.txtEmpNo.Focus();
                return;
            }

            if (string.IsNullOrEmpty(mainVo.operName))
            {
                DialogBox.Msg("请输入职工名称");
                Viewer.txtEmpName.Focus();
                return;
            }

            if (string.IsNullOrEmpty(plusVo.rankCode))
            {
                DialogBox.Msg("请选择职工职称");
                Viewer.lueRank.Focus();
                return;
            }

            if (string.IsNullOrEmpty(plusVo.clsCode))
            {
                DialogBox.Msg("请选择职工类型");
                Viewer.lueType.Focus();
                return;
            }
            #endregion

            // 1.main
            EntityCodeOperator operOrig = new EntityCodeOperator();
            if (Viewer.txtEmpNo.Tag != null)
            {
                operOrig = Viewer.txtEmpNo.Tag as EntityCodeOperator;
            }

            ProxyDictionary proxy = new ProxyDictionary();
            int             ret   = proxy.Service.SaveOperator(mainVo, plusVo, operOrig);
            proxy = null;
            if (ret > 0)
            {
                Viewer.ValueChanged = false;
                // 刷新树
                if (!isExit)
                {
                    Viewer.txtEmpNo.Tag = mainVo;
                    Refresh();
                    FindDept(plusVo.deptCode);
                    for (int i = 0; i < Viewer.gvEmployee.RowCount; i++)
                    {
                        if (GetFieldValueStr(Viewer.gvEmployee, i, EntityOperatorDisp.Columns.operCode) == mainVo.operCode)
                        {
                            Viewer.gvEmployee.FocusedRowHandle = i;
                            break;
                        }
                    }
                }
                DialogBox.Msg("保存成功!");
            }
            else
            {
                DialogBox.Msg("保存失败。");
            }
        }
Beispiel #18
0
        /// <summary>
        /// GetEmployee
        /// </summary>
        /// <param name="typeID">0 全部 1 医生 2 护士</param>
        /// <returns></returns>
        public EntityCodeOperator[] GetEmployee(int typeID)
        {
            string    Sql = string.Empty;
            SqlHelper svc = null;

            try
            {
                Sql = @"select distinct null as empid,
                                            a.oper_code as empno,
                                            a.oper_name as empname,
                                            a.pwd,
                                            null as signdigital,
                                            b.py_code as pycode,
                                            b.wb_code as wbcode,
                                            b.cls_code,
                                            null as teacherid,
                                            null as deptid,
                                            c.dept_code as deptcode,
                                            c.dept_name as deptname,
                                            b.rank_code as rankcode,
                                            d.rank_name as rankname,
                                            b.duty_code as dutycode,
                                            e.duty_name as dutyname
                              from code_operator a
                             inner join plus_operator b on a.oper_code = b.oper_code
                              left join code_department c on b.dept_code = c.dept_code
                              left join code_rank d on b.rank_code = d.rank_code
                              left join code_duty e on b.duty_code = e.duty_code
                             where a.disable = 'F' 
                               {0}
                             order by b.rank_code";

                svc = new SqlHelper(EnumBiz.onlineDB);
                DataTable        dt   = null;
                IDataParameter[] parm = null;
                if (typeID == 0)
                {
                    Sql = string.Format(Sql, string.Empty);
                    dt  = svc.GetDataTable(Sql);
                }
                else
                {
                    Sql = string.Format(Sql, "and b.cls_code = ? ");
                    string clsCode = string.Empty;
                    if (typeID == 1)
                    {
                        clsCode = "01";
                    }
                    else if (typeID == 2)
                    {
                        clsCode = "02";
                    }
                    parm          = svc.CreateParm(1);
                    parm[0].Value = clsCode;
                    dt            = svc.GetDataTable(Sql, parm);
                }
                if (dt != null && dt.Rows.Count > 0)
                {
                    int                  i        = 0;
                    string               empID    = string.Empty;
                    List <string>        lstEmpID = new List <string>();
                    EntityCodeOperator[] empVOArr = new EntityCodeOperator[dt.Rows.Count];
                    foreach (DataRow dr in dt.Rows)
                    {
                        empVOArr[i] = new EntityCodeOperator();
                        //empVOArr[i].Empid = Function.Dec(dr["empid"].ToString());
                        empVOArr[i].operCode = dr["empno"].ToString();
                        empVOArr[i].operName = dr["empname"].ToString();
                        //empVOArr[i].DeptID = dr["deptid"].ToString();
                        empVOArr[i].DeptNo             = dr["deptcode"].ToString();
                        empVOArr[i].DeptName           = dr["deptname"].ToString();
                        empVOArr[i].TechnicalLevelNo   = dr["rankcode"].ToString();
                        empVOArr[i].TechnicalLevelName = dr["rankname"].ToString();
                        empVOArr[i].AdminLevelNo       = dr["dutycode"].ToString();
                        empVOArr[i].AdminLevelName     = dr["dutyname"].ToString();
                        try
                        {
                            if (dr["pwd"] != DBNull.Value && !string.IsNullOrEmpty(dr["pwd"].ToString()))
                            {
                                empVOArr[i].pwd = dr["pwd"].ToString();//ESCryptography.Decrypt(dr["pwd"].ToString());
                            }
                            else
                            {
                                empVOArr[i].pwd = string.Empty;
                            }
                        }
                        catch
                        {
                            empVOArr[i].pwd = "888888";
                        }
                        empVOArr[i].pyCode = dr["pycode"].ToString().ToUpper();
                        empVOArr[i].wbCode = dr["wbcode"].ToString().ToUpper();

                        if (lstEmpID.IndexOf(empVOArr[i].operCode) < 0)
                        {
                            empID += "'" + empVOArr[i].operCode + "',";
                            lstEmpID.Add(empVOArr[i].operCode);
                        }
                        i++;
                    }

                    Sql = @"select oper_code as opercode, role_code as rolecode
                              from def_operator_role 
                             where oper_code in (" + empID.Substring(0, empID.Length - 1) + ")";
                    dt  = svc.GetDataTable(Sql);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        DataRow[] drr = null;
                        foreach (EntityCodeOperator item in empVOArr)
                        {
                            item.RoleID = new List <string>();
                            drr         = dt.Select("opercode = '" + item.operCode + "'");
                            foreach (DataRow dr1 in drr)
                            {
                                item.RoleID.Add(dr1["rolecode"].ToString());
                            }
                        }
                    }
                    return(empVOArr);
                }
            }
            catch (Exception ex)
            {
                ExceptionLog.OutPutException(Function.GetExceptionCaption(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message));
            }
            finally
            {
                svc = null;
            }
            return(null);
        }
Beispiel #19
0
 /// <summary>
 /// SetMainInfo
 /// </summary>
 /// <param name="mainVo"></param>
 /// <param name="plusVo"></param>
 void SetMainInfo(EntityCodeOperator mainVo, EntityPlusOperator plusVo)
 {
     if (mainVo == null)
     {
         Viewer.txtEmpNo.Tag        = null;
         Viewer.txtEmpNo.Text       = string.Empty;
         Viewer.txtEmpName.Text     = string.Empty;
         Viewer.cboSex.Text         = string.Empty;
         Viewer.dtmBirth.Text       = string.Empty;
         Viewer.lueDuty.Text        = string.Empty;
         Viewer.lueRank.Text        = string.Empty;
         Viewer.txtPwd.Text         = string.Empty;
         Viewer.lueType.Text        = string.Empty;
         Viewer.lueTeacher.Text     = string.Empty;
         Viewer.txtCakey.Text       = string.Empty;
         Viewer.txtContactTel.Text  = string.Empty;
         Viewer.txtContactAddr.Text = string.Empty;
         //Viewer.cboStatus.Text = string.Empty;
         Viewer.cboStatus.SelectedIndex = 2;
     }
     else
     {
         Viewer.txtEmpNo.Tag    = mainVo;
         Viewer.txtEmpNo.Text   = mainVo.operCode;
         Viewer.txtEmpName.Text = mainVo.operName;
         Viewer.cboSex.Text     = string.Empty;
         if (string.IsNullOrEmpty(plusVo.birth))
         {
             Viewer.dtmBirth.EditValue = null;
         }
         else
         {
             Viewer.dtmBirth.EditValue = Function.Datetime(plusVo.birth);
         }
         Viewer.lueDuty.Properties.DBValue = plusVo.dutyCode;
         SetLueDuty(plusVo.dutyCode);
         Viewer.lueRank.Properties.DBValue = plusVo.rankCode;
         SetLueRank(plusVo.rankCode);
         Viewer.txtPwd.Text = mainVo.pwd;
         Viewer.lueType.Properties.DBValue = plusVo.clsCode;
         SetLueClass(plusVo.clsCode);
         Viewer.lueTeacher.Text     = string.Empty;
         Viewer.txtCakey.Text       = mainVo.ukey;
         Viewer.txtContactTel.Text  = plusVo.tel;
         Viewer.txtContactAddr.Text = plusVo.addr;
         if (mainVo.disable == "F")
         {
             Viewer.cboStatus.SelectedIndex = 1;
         }
         else if (mainVo.disable == "T")
         {
             Viewer.cboStatus.SelectedIndex = 2;
         }
         else
         {
             Viewer.cboStatus.SelectedIndex = 0;
         }
         Viewer.cboSex.SelectedIndex = Function.Int(plusVo.sex);
     }
     Viewer.ValueChanged = false;
 }
Beispiel #20
0
        /// <summary>
        /// 获取登录者信息
        /// </summary>
        /// <param name="strEmpNo"></param>
        /// <param name="loginVo"></param>
        /// <param name="hospitalVo"></param>
        /// <returns></returns>
        public void GetLoginInfo(string strEmpNo, ref EntityLogin loginVo, ref EntityHospital hospitalVo)
        {
            string    SQL      = string.Empty;
            string    strValue = string.Empty;
            DataTable dtResult = null;

            loginVo    = new EntityLogin();
            hospitalVo = new EntityHospital();

            SqlHelper svc = new SqlHelper(EnumBiz.onlineDB);

            IDataParameter[] objParamArr = null;
            try
            {
                EntityCodeOperator voEmp = new EntityCodeOperator();
                voEmp.disable  = "F";
                voEmp.operCode = strEmpNo;
                List <EntityCodeOperator> lstEmployee = EntityTools.ConvertToEntityList <EntityCodeOperator>(svc.Select(voEmp, new List <string> {
                    EntityCodeOperator.Columns.disable, EntityCodeOperator.Columns.operCode
                }));
                if (lstEmployee != null && lstEmployee.Count == 1)
                {
                    voEmp = lstEmployee[0];
                    EntityPlusOperator voEmpPlus = new EntityPlusOperator();
                    voEmpPlus.operCode = strEmpNo;
                    List <EntityPlusOperator> lstEmpPlus = EntityTools.ConvertToEntityList <EntityPlusOperator>(svc.Select(voEmpPlus, new List <string> {
                        EntityPlusOperator.Columns.operCode
                    }));
                    if (lstEmpPlus != null && lstEmpPlus.Count > 0)
                    {
                        voEmpPlus = lstEmpPlus[0];
                    }

                    bool blnLock = false;
                    if (voEmp.acctStatus.ToString() == "1")
                    {
                        blnLock = true;
                        if (voEmp.acctLockDate != null)
                        {
                            strValue = SysParameter(72);
                            int intTemp = 24;//默认24小时后自动解锁
                            if (!string.IsNullOrEmpty(strValue))
                            {
                                intTemp = Function.Int(strValue);
                            }

                            if (intTemp != 0)
                            {
                                DateTime dtmLock = voEmp.acctLockDate.Value;
                                DateTime dtmNow  = DateTime.Now;
                                if (dtmNow.Subtract(dtmLock).TotalHours >= intTemp)
                                {
                                    blnLock = false;
                                    Dictionary <string, object> dicSet = new Dictionary <string, object>();
                                    dicSet.Add(EntityCodeOperator.Columns.acctStatus, 0);
                                    dicSet.Add(EntityCodeOperator.Columns.acctLockDate, null);
                                    Dictionary <string, object> dicWhere = new Dictionary <string, object>();
                                    dicWhere.Add(EntityCodeOperator.Columns.operCode, strEmpNo);
                                    svc.Commit(svc.GetUpdateParm(voEmp, dicSet, dicWhere));
                                }
                            }
                        }
                    }

                    //loginVo.EmpId = voEmp.Empid.ToString();
                    loginVo.EmpNo   = voEmp.operCode;
                    loginVo.EmpName = voEmp.operName;
                    //loginVo.Sex = voEmpPlus.Sex;
                    loginVo.Birthday = voEmpPlus.birth;
                    //loginVo.IdCard = voEmpPlus.Idcard;
                    loginVo.Tel  = voEmpPlus.tel;
                    loginVo.Addr = voEmpPlus.addr;
                    //loginVo.IdentityFlag = voEmp.Identity;
                    loginVo.AdminlevelCode = voEmpPlus.dutyCode;
                    loginVo.TechLevelCode  = voEmpPlus.rankCode;
                    //loginVo.SignKeyID = voEmp.Signdigital;
                    if (!string.IsNullOrEmpty(voEmp.pwd))
                    {
                        loginVo.Pwd = voEmp.pwd; //ESCryptography.Decrypt(voEmp.pwd);
                    }
                    else
                    {
                        loginVo.Pwd = string.Empty;
                    }
                    loginVo.LoginTime = svc.ServerTime().ToString("yyyy-MM-dd HH:mm:ss");
                    if (!string.IsNullOrEmpty(voEmpPlus.clsCode) && voEmpPlus.clsCode.Trim() == "01")
                    {
                        loginVo.EmpFlag = 1;
                    }
                    else if (!string.IsNullOrEmpty(voEmpPlus.clsCode) && voEmpPlus.clsCode.Trim() == "02")
                    {
                        loginVo.EmpFlag = 2;
                    }
                    else
                    {
                        loginVo.EmpFlag = 3;
                    }
                    loginVo.clsCode = voEmpPlus.clsCode.Trim();
                    // 是否管理员
                    if (loginVo.EmpNo.Trim() == "00")
                    {
                        loginVo.IsAdmin = true;
                    }
                    //if (voEmp.Pwdusedate == null)
                    //    loginVo.PwdUseDate = null;
                    //else
                    //    loginVo.PwdUseDate = Convert.ToDateTime(voEmp.Pwdusedate.Value);
                    loginVo.AcctLock = blnLock;

                    #region 职称改从code_rank取值
                    //EntityCommonDic voComm = new EntityCommonDic();
                    //voComm.Status = 1;
                    //voComm.Classid = 1;
                    //voComm.Itemcode = loginVo.TechLevelCode;
                    //List<EntityCommonDic> lstComm = EntityTools.ConvertToEntityList<EntityCommonDic>(svc.Select(voComm, new List<string> { EntityCommonDic.Columns.Status, EntityCommonDic.Columns.Classid, EntityCommonDic.Columns.Itemcode }));
                    //if (lstComm.Count > 0)
                    //{
                    //    loginVo.TechLevelName = lstComm[0].Itemname;
                    //}

                    EntityCodeRank rankVo = new EntityCodeRank();
                    rankVo.rankCode = loginVo.TechLevelCode;
                    List <EntityCodeRank> lstRank = EntityTools.ConvertToEntityList <EntityCodeRank>(svc.Select(rankVo, new List <string> {
                        EntityCodeRank.Columns.rankCode
                    }));
                    if (lstRank.Count > 0)
                    {
                        loginVo.TechLevelName = lstRank[0].rankName;
                    }
                    #endregion

                    string strIDArr = string.Empty;
                    //DataTable dtTemp = null;
                    //if (loginVo.EmpFlag == 1 || loginVo.EmpFlag == 3)
                    //{
                    SQL                  = @"select b.defaultflag as defaultflag,
                                   null          as deptid,
                                   a.dept_code   as deptcode,
                                   a.dept_name   as deptname,
                                   a.py_code     as pycode,
                                   a.wb_code     as wbcode
                              from code_department a
                             inner join defDeptemployee b
                                on a.dept_code = b.deptcode
                             where b.opercode = ?";
                    objParamArr          = svc.CreateParm(1);
                    objParamArr[0].Value = loginVo.EmpNo;
                    dtResult             = svc.GetDataTable(SQL, objParamArr);
                    if (dtResult.Rows.Count > 0)
                    {
                        EntityCodeDepartment deptVo = null;
                        loginVo.lstDept = new List <EntityCodeDepartment>();
                        foreach (DataRow dr in dtResult.Rows)
                        {
                            deptVo = new EntityCodeDepartment();
                            //deptVo.Deptid = Function.Int(dr["deptid"]);
                            deptVo.deptCode = dr["deptcode"].ToString();
                            deptVo.deptName = dr["deptname"].ToString();
                            deptVo.pyCode   = dr["pycode"].ToString().ToUpper();
                            deptVo.wbCode   = dr["wbcode"].ToString().ToUpper();
                            loginVo.lstDept.Add(deptVo);
                            if (Function.Int(dr["defaultflag"]) == 1)
                            {
                                //loginVo.DeptID = Function.Int(deptVo.Deptid);
                                loginVo.DeptName = deptVo.deptName;
                                loginVo.DeptCode = dr["deptcode"].ToString();

                                //                                    SQL = @"select b.areaid,
                                //                                                   b.areaname,
                                //                                                   b.pycode,
                                //                                                   b.wbcode,
                                //                                                   '' as c_code
                                //                                              from defDeptarea a
                                //                                              left join dicArea b
                                //                                                on a.areaid = b.areaid
                                //                                             where a.deptid = ?";

                                //                                    objParamArr = svc.CreateParm(1);
                                //                                    objParamArr[0].Value = deptVo.Deptid;
                                //                                    dtTemp = svc.GetDataTable(SQL, objParamArr);
                                //                                    if (dtTemp != null && dtTemp.Rows.Count > 0)
                                //                                    {
                                //                                        loginVo.AreaID = Function.Int(dtTemp.Rows[0]["areaid"]);
                                //                                        loginVo.AreaName = dtTemp.Rows[0]["areaname"].ToString();
                                //                                        loginVo.DeptCode_zy = dtTemp.Rows[0]["c_code"].ToString();
                                //                                    }
                            }
                            //strIDArr += dr["deptid"].ToString() + ",";
                        }

                        //                            SQL = @"select distinct b.areaid, b.areaname, b.pycode, b.wbcode
                        //                                      from defDeptarea a, dicArea b
                        //                                     where a.areaid = b.areaid
                        //                                       and a.deptid in (" + strIDArr.Substring(0, strIDArr.Length - 1) + ")";
                        //                            dtResult = svc.GetDataTable(SQL);
                        //                            if (dtResult.Rows.Count > 0)
                        //                            {
                        //                                EntityArea dcAreaInfo = null;
                        //                                loginVo.lstArea = new List<EntityArea>();
                        //                                foreach (DataRow dr in dtResult.Rows)
                        //                                {
                        //                                    dcAreaInfo = new EntityArea();
                        //                                    dcAreaInfo.Areaid = Function.Int(dr["areaid"]);
                        //                                    dcAreaInfo.Areaname = dr["areaname"].ToString();
                        //                                    dcAreaInfo.Pycode = dr["pycode"].ToString();
                        //                                    dcAreaInfo.Wbcode = dr["wbcode"].ToString();
                        //                                    loginVo.lstArea.Add(dcAreaInfo);
                        //                                }
                        //                            }
                        //                        }
                        //                    }
                        //                    else if (loginVo.EmpFlag == 2)
                        //                    {
                        //                        SQL = @"select a.defaultflag, b.areaid, b.areaname, b.pycode, b.wbcode
                        //                                  from defDeptemployee a, dicArea b
                        //                                 where a.deptid = b.areaid
                        //                                   and a.attrflag = 2
                        //                                   and a.empid = ?";
                        //                        objParamArr = svc.CreateParm(1);
                        //                        objParamArr[0].Value = loginVo.EmpId;
                        //                        dtResult = svc.GetDataTable(SQL, objParamArr);
                        //                        if (dtResult.Rows.Count > 0)
                        //                        {
                        //                            EntityArea dcAreaInfo = null;
                        //                            loginVo.lstArea = new List<EntityArea>();
                        //                            foreach (DataRow dr in dtResult.Rows)
                        //                            {
                        //                                dcAreaInfo = new EntityArea();
                        //                                dcAreaInfo.Areaid = Function.Int(dr["areaid"]);
                        //                                dcAreaInfo.Areaname = dr["areaname"].ToString();
                        //                                dcAreaInfo.Pycode = dr["pycode"].ToString();
                        //                                dcAreaInfo.Wbcode = dr["wbcode"].ToString();
                        //                                loginVo.lstArea.Add(dcAreaInfo);
                        //                                if (Function.Int(dr["defaultflag"]) == 1)
                        //                                {
                        //                                    loginVo.AreaID = Function.Int(dcAreaInfo.Areaid);
                        //                                    loginVo.AreaName = dcAreaInfo.Areaname;

                        //                                    SQL = @"select b.deptid, b.deptname, b.deptcode, b.pycode, b.wbcode
                        //                                              from defDeptarea a, dicDepartment b
                        //                                             where a.deptid = b.deptid
                        //                                               and a.areaid = ?";

                        //                                    objParamArr = svc.CreateParm(1);
                        //                                    objParamArr[0].Value = dcAreaInfo.Areaid;
                        //                                    dtTemp = svc.GetDataTable(SQL, objParamArr);
                        //                                    if (dtTemp != null && dtTemp.Rows.Count > 0)
                        //                                    {
                        //                                        loginVo.DeptID = Function.Int(dtTemp.Rows[0]["deptid"]);
                        //                                        loginVo.DeptName = dtTemp.Rows[0]["deptname"].ToString();
                        //                                        loginVo.DeptCode = dtTemp.Rows[0]["deptcode"].ToString();
                        //                                    }
                        //                                }
                        //                                strIDArr += dr["areaid"].ToString() + ",";
                        //                            }

                        //                            SQL = @"select distinct b.deptid, b.deptcode, b.deptname, b.pycode, b.wbcode
                        //                                      from defDeptarea a, dicDepartment b
                        //                                     where a.deptid = b.deptid
                        //                                       and a.areaid in (" + strIDArr.Substring(0, strIDArr.Length - 1) + ")";
                        //                            dtResult = svc.GetDataTable(SQL);
                        //                            if (dtResult.Rows.Count > 0)
                        //                            {
                        //                                EntityDepartment dcDeptInfo = null;
                        //                                loginVo.lstDept = new List<EntityDepartment>();
                        //                                foreach (DataRow dr in dtResult.Rows)
                        //                                {
                        //                                    dcDeptInfo = new EntityDepartment();
                        //                                    dcDeptInfo.Deptid = Function.Int(dr["deptid"]);
                        //                                    dcDeptInfo.Deptcode = dr["deptcode"].ToString();
                        //                                    dcDeptInfo.Deptname = dr["deptname"].ToString();
                        //                                    dcDeptInfo.Pycode = dr["pycode"].ToString();
                        //                                    dcDeptInfo.Wbcode = dr["wbcode"].ToString();
                        //                                    loginVo.lstDept.Add(dcDeptInfo);
                        //                                }
                        //                            }
                    }
                    //}

                    if (loginVo != null)
                    {
                        EntityDefOperatorRole voRoleEmp = new EntityDefOperatorRole();
                        voRoleEmp.operCode = loginVo.EmpNo;
                        List <EntityDefOperatorRole> lstRoleEmp = EntityTools.ConvertToEntityList <EntityDefOperatorRole>(svc.Select(voRoleEmp, new List <string> {
                            EntityDefOperatorRole.Columns.operCode
                        }));
                        if (lstRoleEmp.Count > 0)
                        {
                            loginVo.lstRoleID = new List <string>();
                            foreach (EntityDefOperatorRole vo in lstRoleEmp)
                            {
                                loginVo.lstRoleID.Add(vo.roleCode);
                            }
                        }
                    }

                    EntityHospital        voHospital  = new EntityHospital();
                    List <EntityHospital> lstHospital = EntityTools.ConvertToEntityList <EntityHospital>(svc.Select(voHospital));
                    if (lstHospital.Count > 0)
                    {
                        hospitalVo = lstHospital[0];
                        GlobalHospital.HospitalName = hospitalVo.Hospitalname;
                    }

                    //密码有效期
                    loginVo.PwdValidDays = Function.Int(SysParameter(2));
                }
                dtResult = null;
            }
            catch (Exception e)
            {
                ExceptionLog.OutPutException(e);
            }
            finally
            {
                svc = null;
            }
        }