/// <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)); } }
/// <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; } }
/// <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); } }
/// <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; } }
/// <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("保存失败。"); } }
/// <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; }