internal List <VirtualUser> GetVirtualUser(List <string> userIDs) { List <VirtualUser> listUser = new List <VirtualUser>(); if (userIDs.Count == 0) { return(listUser); } try { PersonnelWS.PersonnelServiceClient personService = new PersonnelWS.PersonnelServiceClient(); List <PersonnelWS.T_HR_EMPLOYEE> employeeList = personService.GetEmployeeByIDs(userIDs.ToArray()).ToList(); employeeList.ForEach(employeeHR => { VirtualUser vu = new VirtualUser(); vu.ID = employeeHR.EMPLOYEEID; vu.Name = employeeHR.EMPLOYEECNAME + "(" + employeeHR.EMPLOYEECODE + ")"; listUser.Add(vu); }); } catch (Exception ex) { SystemBLL.Debug(ex.ToString()); } return(listUser); }
/// <summary> /// 对单个节点的操作 /// </summary> /// <param name="obj"></param> /// <param name="propertyInfo"></param> /// <param name="listDone"></param> /// <returns></returns> private static XElement ToXml(this object obj, string xName, List <object> listDone) { try { if (obj == null) { if (xName != null) { return(new XElement(xName)); } return(null); } Type curType = obj.GetType(); if (xName == null) { xName = curType.Name; } XElement result = null; // 值类型 if (curType.IsValueType || curType.IsEnum || curType == typeof(string)) { result = new XElement(xName); result.Add(obj); } else { IEnumerable ie = obj as IEnumerable; // 集合类型 if (ie != null) { result = ie.ListToXml(xName, listDone); } else // 单个对象类型 { result = obj.ObjectToXml(xName, listDone); } } return(result); } catch (Exception ex) { SystemBLL.Debug(ex.ToString()); return(null); } }
/// <summary> /// 保存实体 /// </summary> /// <param name="fbEntityList"></param> /// <returns></returns> public SaveResult Save(SaveEntity saveEntity) { SaveResult result = new SaveResult(); try { result.FBEntity = base.SaveEntityBLLSave(saveEntity); result.Successful = true; } catch (FBBLLException ex) { result.Successful = false; result.Exception = ex.Message; SystemBLL.Debug(ex.ToString()); } return(result); }
public List <VirtualCompany> InnerGetCompany(QueryExpression qe) { try { string action = ((int)Utility.Permissions.Browse).ToString(); List <OrganizationWS.T_HR_COMPANY> comList = organizationService.GetCompanyByEntityPerm(qe.VisitUserID, action, qe.VisitModuleCode).ToList(); List <OrganizationWS.V_DEPARTMENT> deptList = organizationService.GetDepartmentView(qe.VisitUserID, action, qe.VisitModuleCode).ToList(); List <OrganizationWS.V_POST> vpostList = organizationService.GetPostView(qe.VisitUserID, action, qe.VisitModuleCode).ToList(); //有效的部门和岗位 deptList = deptList.Where(s => s.EDITSTATE == "1").ToList(); vpostList = vpostList.Where(s => s.EDITSTATE == "1").ToList(); List <OrganizationWS.T_HR_POST> postList = new List <OrganizationWS.T_HR_POST>(); try { foreach (var ent in vpostList) { OrganizationWS.T_HR_POST pt = new OrganizationWS.T_HR_POST(); pt.POSTID = ent.POSTID; pt.FATHERPOSTID = ent.FATHERPOSTID; pt.CHECKSTATE = ent.CHECKSTATE; pt.EDITSTATE = ent.EDITSTATE; pt.T_HR_POSTDICTIONARY = new OrganizationWS.T_HR_POSTDICTIONARY(); pt.T_HR_POSTDICTIONARY.POSTDICTIONARYID = Guid.NewGuid().ToString(); pt.T_HR_POSTDICTIONARY.POSTNAME = ent.POSTNAME; pt.T_HR_DEPARTMENT = new OrganizationWS.T_HR_DEPARTMENT(); try { string strDepartmentid = deptList.Where(s => s.DEPARTMENTID == ent.DEPARTMENTID).FirstOrDefault().DEPARTMENTID; pt.T_HR_DEPARTMENT.DEPARTMENTID = strDepartmentid; postList.Add(pt); } catch (Exception ex) { SystemBLL.Debug("当前员工:" + qe.VisitUserID + "查询岗位所属部门错误,岗位名称 " + ent.POSTNAME + "岗位id" + ent.POSTID + "没找到所属部门,可能是权限不足导致"); } } } catch (Exception ex) { throw ex; } List <VirtualCompany> listCompany = new List <VirtualCompany>(); try { comList.ForEach(comHR => { List <VirtualDepartment> listDepartment = new List <VirtualDepartment>(); VirtualCompany vc = new VirtualCompany(); vc.ID = comHR.COMPANYID; vc.Name = comHR.CNAME; vc.DepartmentCollection = listDepartment; listCompany.Add(vc); List <OrganizationWS.V_DEPARTMENT> deptListPart = deptList.FindAll(item => { if (item.COMPANYID == null) { return(false); } return(item.COMPANYID == comHR.COMPANYID); }); deptListPart.ForEach(deptHR => { try { List <VirtualPost> listPost = new List <VirtualPost>(); VirtualDepartment vd = new VirtualDepartment(); vd.ID = deptHR.DEPARTMENTID; vd.Name = deptHR.DEPARTMENTNAME; vd.VirtualCompany = vc; vd.PostCollection = listPost; listDepartment.Add(vd); List <OrganizationWS.T_HR_POST> postListPart = postList.FindAll(item => { if (item.T_HR_DEPARTMENT.DEPARTMENTID == null) { return(false); } return(item.T_HR_DEPARTMENT.DEPARTMENTID == deptHR.DEPARTMENTID); }); postListPart.ForEach(postHR => { try { VirtualPost vp = new VirtualPost(); vp.ID = postHR.POSTID; vp.Name = postHR.T_HR_POSTDICTIONARY.POSTNAME; vp.VirtualCompany = vc; vp.VirtualDepartment = vd; listPost.Add(vp); } catch (Exception ex) { throw ex; } }); } catch (Exception ex) { throw ex; } }); }); } catch (Exception ex) { throw ex; } return(listCompany); } catch (Exception ex) { SystemBLL.Debug(ex.ToString()); throw new Exception("调用HR服务异常", ex); } }
//处理岗位信息一栏 public List <T_FB_PERSONMONEYASSIGNDETAIL> UpdatePostInfo(List <T_FB_PERSONMONEYASSIGNDETAIL> listperson) { PersonnelWS.PersonnelServiceClient pe = new PersonnelWS.PersonnelServiceClient(); PersonnelWS.V_EMPLOYEEPOSTFORFB[] vlistpostinfo = new PersonnelWS.V_EMPLOYEEPOSTFORFB[listperson.Count]; int i = 0; listperson.ForEach(item => { PersonnelWS.V_EMPLOYEEPOSTFORFB vpostinfo = new PersonnelWS.V_EMPLOYEEPOSTFORFB(); vpostinfo.PERSONBUDGETAPPLYDETAILID = item.PERSONBUDGETAPPLYDETAILID; vpostinfo.OWNERID = item.OWNERID; vpostinfo.OWNERPOSTID = item.OWNERPOSTID; vlistpostinfo[i] = vpostinfo; i++; }); try { vlistpostinfo = pe.GetEmployeeListForFB(vlistpostinfo) as PersonnelWS.V_EMPLOYEEPOSTFORFB[]; } catch (Exception ex) { SystemBLL.Debug("调用HR服务异常 GetEmployeeListForFB " + ex.ToString()); } listperson.ForEach(item => { var person = vlistpostinfo.Where(p => p.PERSONBUDGETAPPLYDETAILID == item.PERSONBUDGETAPPLYDETAILID).FirstOrDefault(); if (person != null) { item.SUGGESTBUDGETMONEY = person.SUM; switch (person.EMPLOYEESTATE) { case "0": //试用期 item.POSTINFO = "试用期,请注意"; break; case "1": //在职 item.POSTINFO = string.Empty; break; case "2": //已离职 item.POSTINFO = "已离职,请删除"; break; case "3": //离职中 item.POSTINFO = "离职中,请注意"; break; case "4": //未入职 item.POSTINFO = "未入职,请删除"; break; case "10": //异动中 item.POSTINFO = "异动中,请异动后再处理"; break; case "11": //异动过 item.POSTINFO = "异动过,已转换成新岗位"; item.OWNERPOSTID = person.NEWPOSTID; item.OWNERPOSTNAME = person.NEWPOSTNAME; item.OWNERDEPARTMENTID = person.NEWDEPARTMENTID; item.OWNERDEPARTMENTNAME = person.NEWDEPARTMENTNAME; item.OWNERCOMPANYID = person.NEWCOMPANYID; item.OWNERCOMPANYNAME = person.NEWCOMPANYNAME; break; case "12": //岗位异常 item.POSTINFO = "岗位异常,请删除后再选择"; break; default: item.POSTINFO = string.Empty; break; } switch (person.ISAGENCY) { case "0": //主岗位 // item.POSTINFO += string.Empty; break; case "1": //赚职 if (item.POSTINFO != string.Empty && person.EMPLOYEESTATE != "1") { item.POSTINFO = item.POSTINFO.Insert(0, "兼职,"); } else { item.POSTINFO = "兼职"; } break; default: // item.POSTINFO += string.Empty; break; } } }); return(listperson); }
/// <summary> /// 根据实体名,实体的主键ID及审核状态,更新指定实体的记录 /// </summary> /// <param name="strModelCode">实体名</param> /// <param name="orderID">实体的主键ID</param> /// <param name="strCheckStates">审核状态</param> public int UpdateCheckState(string strModelCode, string orderID, string strCheckStates, ref string strMsg) { int i = -1; try { SystemBLL.Debug("UpdateCheckState方法已被调用,参数:strModelCode: " + strModelCode + ", orderID: " + orderID + ", strCheckStates: " + strCheckStates); // begin 用于出差报销、事项审批的手机提交 //if (strModelCode == "Travel") //{ // var tempResult = UpdateExtensionOrder(strModelCode, orderID, strCheckStates, ref strMsg); // return (tempResult == null) ? -1 : 1; //} List <EntityInfo> EntityInfoList = FBCommonBLL.FBCommonEntityList; if (EntityInfoList == null) { strMsg = "预算服务初始化异常,请重试。"; return(-1); } if (EntityInfoList.Count() == 0) { strMsg = "预算服务初始化异常,请重试。"; return(-1); } string strTypeName = ""; string strKeyName = ""; CheckStates cs = CheckStates.UnSubmit; switch (strCheckStates) { case "1": cs = CheckStates.Approving; break; case "2": cs = CheckStates.Approved; break; case "3": cs = CheckStates.UnApproved; break; default: break; } var entityInfo = EntityInfoList.Where(t => t.Type == strModelCode).FirstOrDefault(); strTypeName = entityInfo.Type; strKeyName = entityInfo.KeyName; /////add 2012.12.12 /////传入报销月份为时间去和当前时间判断,如果不在同一年 /////说明该报销单是跨年的,则不能进行审核操作,即当年的报销单只能在当年进行报销 //if (dNewCheckStates == FBAEnums.CheckStates.Approved || dNewCheckStates == FBAEnums.CheckStates.Approving) //{ // if (IsOverYear(entity.BUDGETARYMONTH)) // { // strMsg = "报销单跨年后只能终审不通过(财务规定)"; // Tracer.Debug(strMsg); // return; // } //} using (FBCommonBLL bllCommon = new FBCommonBLL()) { bllCommon.BeginTransaction(); SystemBLL.Debug("BeginTransaction " + strModelCode + " 的单据[" + orderID + "]"); try { QueryExpression qe = QueryExpression.Equal(strKeyName, orderID); qe.QueryType = strTypeName; var data = qe.Query(bllCommon); var order = data.FirstOrDefault(); if (order == null) { strMsg = "没有可操作的数据"; return(-1); } bllCommon.AuditFBEntityWithoutFlow(order, cs, ref strMsg); i = 1; if (string.IsNullOrEmpty(strMsg)) { bllCommon.CommitTransaction(); SystemBLL.Debug("CommitTransaction " + strModelCode + " 的单据[" + orderID + "]"); } else { bllCommon.RollbackTransaction(); SystemBLL.Debug("RollbackTransaction 审核" + strModelCode + "的单据[" + orderID + "]失败,提示消息为:" + strMsg); } } catch (Exception ex) { bllCommon.RollbackTransaction(); SystemBLL.Debug("RollbackTransaction 审核" + strModelCode + "的单据[" + orderID + "]失败,提示消息为:" + strMsg); throw ex; } } } catch (Exception ex) { strMsg = "单据审核异常,请联系管理员"; throw ex; } // 把消息通过异常机制返回 if (!string.IsNullOrWhiteSpace(strMsg)) { SystemBLL.Debug("审核" + strModelCode + "的单据[" + orderID + "]失败,提示消息为:" + strMsg); throw new Exception(strMsg); } return(i); }