Exemple #1
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));
     }
 }
Exemple #2
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;
            }
        }
Exemple #3
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);
     }
 }
Exemple #4
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;
            }
        }
Exemple #5
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("保存失败。");
            }
        }
Exemple #6
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;
 }