/// <summary> /// Init /// </summary> private void Init() { // 加载本地参数 GlobalAppConfig.RunningMode = Function.Int(this.Tag); GlobalAppConfig.AppConfig = GetAppConfig(string.Empty); using (ProxyLogin proxy = new ProxyLogin()) { lstAccount = proxy.Service.GetAccount(); GlobalParm.dicSysParameter = proxy.Service.SysParameter(); this.picLogin.Image = Properties.Resources.健康管理; } ReadAccountNo(); }
/// <summary> /// 本地配置 /// </summary> /// <param name="empNo"></param> /// <returns></returns> List <EntityAppConfig> GetAppConfig(string empNo) { EntityPC pc = new EntityPC(); pc.MachineName = Function.LocalHostName(); pc.IpAddr = Function.LocalIP(); pc.MacAddr = Function.LocalMac(); pc.EmpNo = empNo; using (ProxyLogin proxy = new ProxyLogin()) { return(proxy.Service.GetAppConfig(pc)); } }
/// <summary> /// SetFuncs2 /// </summary> /// <param name="funcID"></param> private void SetFuncs2(int funcID) { List <EntitySysModule> data = null; if (FuncItems.ContainsKey(funcID.ToString())) { data = FuncItems[funcID.ToString()]; } else { using (ProxyLogin proxy = new ProxyLogin()) { data = proxy.Service.GetAccount(GlobalLogin.objLogin.EmpNo, funcID, 1); FuncItems.Add(funcID.ToString(), data); } } }
/// <summary> /// GetFormFuncButton /// </summary> /// <param name="className"></param> /// <returns></returns> internal List <EntitySysModule> GetFuncButton(string className) { List <EntitySysModule> data = null; if (FuncItems.ContainsKey(className)) { data = FuncItems[className]; } else { using (ProxyLogin proxy = new ProxyLogin()) { data = proxy.Service.GetFormFuncButton(GlobalLogin.objLogin.EmpNo, className); FuncItems.Add(className, data); } } return(data); }
/// <summary> /// Verify /// </summary> /// <returns></returns> private bool Verify() { string accountNo = this.txtAccountNo.Text.Trim(); string pwd = this.txtPwd.Text; if (accountNo == string.Empty) { return(false); } if (lstAccount == null || lstAccount.Count == 0) { DialogBox.Msg("登录账号信息未配置,请联系管理员。", MessageBoxIcon.Information); return(false); } List <EntityAccount> acc = lstAccount.FindAll(t => t.EmpNo == accountNo); ProxyLogin proxy = new ProxyLogin(); try { if (acc == null || acc.Count == 0) { DialogBox.Msg("登录账号不存在,请重新输入。", MessageBoxIcon.Information); this.txtAccountNo.Focus(); return(false); } GlobalAppConfig.AccountFuncs = acc; EntityLogin dcLoginInfo = null; EntityHospital dcHospitalInfo = null; proxy.Service.GetLoginInfo(accountNo, ref dcLoginInfo, ref dcHospitalInfo); if (dcLoginInfo != null) { //本机信息 dcLoginInfo.IP = Function.LocalIP(); dcLoginInfo.Mac = Function.LocalMac(); dcLoginInfo.HostName = Function.LocalHostName(); GlobalLogin.objLogin = dcLoginInfo; GlobalHospital.objHospital = dcHospitalInfo; string oriPwd = GlobalLogin.objLogin.Pwd; if (pwd != string.Empty) { if (1 != 1) { oriPwd = (new clsSymmetricAlgorithm()).Decrypt(oriPwd, clsSymmetricAlgorithm.enmSymmetricAlgorithmType.DES); } } if (pwd != oriPwd) //GlobalLogin.objLogin.Pwd) { //if (CheckCAType()) //{ // if (!HopeBridge.Common.Ca.CA.IDVerify(acc[0].SignDigital)) // { // DialogBox.Msg("电子认证失败,请检查电子密钥KEY盘。"); // return false; // } //} if (dcLoginInfo.AcctLock) { DialogBox.Msg("账户被锁定,请与管理员联系。", MessageBoxIcon.Information); return(false); } this.ErrorNums++; if (this.AllowErrorNums == this.ErrorNums) { ProxyFrame proxy1 = new ProxyFrame(); if (proxy1.Service.LockAccount(accountNo) > 0) { DialogBox.Msg("密码输入超过系统允许的最大错误次数(" + this.AllowErrorNums.ToString() + "次)\r\n\r\n系统将被锁定,请与管理员联系。", MessageBoxIcon.Information); Application.Exit(); return(false); } } this.txtPwd.Focus(); DialogBox.Msg("密码不正确,请重新输入。\r\n\r\n错误" + this.ErrorNums.ToString() + "次,剩余" + Convert.ToString((3 - this.ErrorNums)) + "次。"); return(false); } //if (dcLoginInfo.Pwd == GlobalAppConfig.INIT_PWD) //{ // DialogBox.Msg("使用系统前请先修改初始密码!", MessageBoxIcon.Information); // frmPassWord frmPwd = new frmPassWord(accountNo); // if (frmPwd.ShowDialog() != DialogResult.OK) // { // return false; // } //} //if (dcLoginInfo.PwdValidDays > 0 && dcLoginInfo.PwdUseDate != null) //{ // DateTime dtmNow = Utils.ServerTime(); // TimeSpan ts = new TimeSpan(dcLoginInfo.PwdValidDays, 0, 0, 0); // if (dtmNow.Subtract(ts) >= dcLoginInfo.PwdUseDate) // { // DialogBox.Msg("密码超过系统默认的有效期(" + dcLoginInfo.PwdValidDays.ToString() + "天),请重设密码。"); // frmPassWord frmPwd = new frmPassWord(accountNo); // if (frmPwd.ShowDialog() != DialogResult.OK) // { // return false; // } // } //} if (dcLoginInfo.EmpFlag == 1 || dcLoginInfo.EmpFlag == 3) { if (string.IsNullOrEmpty(dcLoginInfo.DeptCode) || dcLoginInfo.lstDept.Count == 0) { DialogBox.Msg("当前登录人没有默认科室,请联系管理员。"); return(false); } } //if (dcLoginInfo.EmpFlag == 2) //{ // if (dcLoginInfo.AreaID <= 0 || dcLoginInfo.lstArea.Count == 0) // { // DialogBox.Msg("当前登录人没有默认病区,请联系管理员。"); // return false; // } //} // 重新.加载本地参数 GlobalAppConfig.AppConfig = GetAppConfig(dcLoginInfo.EmpNo); // 医院组织机构系统编码 //GlobalHospital.OrgSysCode = Function.LocalSettingValue("Login", "Hospital", "OrgSysCode"); // 主题 string skinName = Function.ReadLocalSettingValue("Main|skinName", "value"); if (string.IsNullOrEmpty(skinName)) { EntityLocalSetting vo = new EntityLocalSetting(); vo.MachName = Function.LocalHostName(); vo.MacAddr = Function.LocalMac(); vo.IpAddr = Function.LocalIP(); vo.EmpNo = dcLoginInfo.EmpNo; vo.Parent = "Common"; vo.Node = "SkinName"; ProxyFrame proxyFrame = new ProxyFrame(); proxyFrame.Service.GetLocalSetting(ref vo); skinName = vo.Value; } if (!string.IsNullOrEmpty(skinName)) { GlobalLogin.SkinName = skinName; } // 写账号 WriteAccountNo(); return(true); } } finally { proxy = null; } return(false); }