Exemplo n.º 1
0
        public void GetTreeList(string userName)
        {
            SysUserRoleBLL            sysUserRoleBLL    = new SysUserRoleBLL();
            SysPermissionBLL          sysPermissionBLL  = new SysPermissionBLL();
            List <SysUserRoleModel>   userRoleModelList = sysUserRoleBLL.GetByUserId(userName);
            List <SysPermissionModel> permissionList    = new List <SysPermissionModel>();

            foreach (var a in userRoleModelList)
            {
                permissionList.AddRange(sysPermissionBLL.GetByRoleId(a.RoleId));
            }
            GetTree(permissionList);
        }
        public bool ValiddatePermission(AccountModel account, string controller, string action, string filePath)
        {
            bool   bResult    = false;
            string actionName = string.IsNullOrEmpty(ActionName) ? action : ActionName;

            if (account != null)
            {
                List <string> perm = null;
                //测试当前controller是否已赋权限值,如果没有从
                //如果存在区域,Seesion保存(区域+控制器)
                //if (!string.IsNullOrEmpty(Area))
                //{
                //    controller = Area + "/" + controller;
                //}
                perm = (List <string>)HttpContext.Current.Session[filePath];
                if (perm == null || perm.Count == 0)
                {
                    using (SysPermissionBLL permissionBLL = new SysPermissionBLL()
                    {
                        permissionRepository = new SysPermissionRepository()
                    })
                    {
                        perm = permissionBLL.GetPermissionListByconn(account.Id, controller); //获取当前用户的权限列表
                        HttpContext.Current.Session[filePath] = perm;                         //获取的劝降放入会话由Controller调用
                    }
                }
                ////当用户访问index时,只要权限>0就可以访问
                //if (actionName.ToLower() == "index")
                //{
                //    if (perm.Count > 0)
                //    {
                //        return true;
                //    }
                //}
                //查询当前Action 是否有操作权限,大于0表示有,否则没有
                int count = perm.Where(a => a.ToLower() == actionName.ToLower()).Count();
                if (count > 0)
                {
                    bResult = true;
                }
                else
                {
                    bResult = false;
                    HttpContext.Current.Response.Write("你没有操作权限,请联系管理员!");
                }
            }
            return(bResult);
        }
Exemplo n.º 3
0
 public List<T_SYS_USER> GetManagers(List<string> companyIDs)
 {
     using (SysPermissionBLL bll = new SysPermissionBLL())
     {
         List<T_SYS_USER> listUsers = new List<T_SYS_USER>();
         try
         {
             listUsers = bll.GetManagers(companyIDs);
         }
         catch (Exception ex)
         {
             Tracer.Debug("PermissionService-GetFlowManagers获取管理员集合出错:" + ex.ToString());
         }
         return listUsers;
     }
 }
Exemplo n.º 4
0
 public V_PermissionUpdateState GetLatestTimeOfPermission(string employeeid)
 {
     using (SysPermissionBLL bll = new SysPermissionBLL())
     {
         try
         {
             V_PermissionUpdateState perUpdate = new V_PermissionUpdateState();
             perUpdate.Timer = bll.GetLatestTimeOfPermission(employeeid);
             perUpdate.Counter = bll.GetPermissionCounts(employeeid);
             return perUpdate;
         }
         catch(Exception ex)
         {
             Tracer.Debug("PermissionService-GetLatestTimeOfPermission获取时间出错:" + ex.ToString());
             return null;
         }
     }
 }
Exemplo n.º 5
0
        public void SetCutomterPermissionObj(string RoleID, List<CustomerPermission> objs, ref string strResult)
        {
            try
            {
                using (EntityMenuCustomPermBLL bll = new EntityMenuCustomPermBLL())
                {
                    if (string.IsNullOrWhiteSpace(RoleID))
                    {
                        return;
                    }

                    RoleEntityMenuBLL roleEmBll = new RoleEntityMenuBLL();
                    roleEmBll.UpdateRoleInfo(RoleID, strResult);//修改信息
                    strResult = string.Empty;
                    IQueryable<T_SYS_ENTITYMENUCUSTOMPERM> cuspers = bll.GetCustomPermByRoleID(RoleID);
                    //if (cuspers != null)
                    //{
                    //    if (cuspers.Count() > 0)
                    //    {
                    //        foreach (T_SYS_ENTITYMENUCUSTOMPERM item in cuspers)
                    //        {
                    //            string strId = item.ENTITYMENUCUSTOMPERMID;
                    //            EntityMenuCustomPermDelete(strId);
                    //        }
                    //    }
                    //}
                    SysPermissionBLL bllPer = new SysPermissionBLL();
                    T_SYS_ROLE entRole = GetSysRoleSingleInfoById(RoleID);//获取角色ID实体对象

                    foreach (var Menus in objs)
                    {
                        if (Menus.PermissionValue == null)
                        {
                            continue;
                        }

                        if (Menus.PermissionValue.Count() == 0)
                        {
                            continue;
                        }
                        T_SYS_ENTITYMENU entMenu = GetSysMenuByID(Menus.EntityMenuId);
                        foreach (var Perms in Menus.PermissionValue)
                        {
                            if (Perms.OrgObjects == null)
                            {
                                continue;
                            }

                            if (Perms.OrgObjects.Count() == 0)
                            {
                                continue;
                            }

                            T_SYS_PERMISSION entPer = bllPer.GetAttachSysPermissionByID(Perms.Permission);//获取权限实体对象
                            foreach (var OrgIns in Perms.OrgObjects)
                            {
                                T_SYS_ENTITYMENUCUSTOMPERM customerPer = new T_SYS_ENTITYMENUCUSTOMPERM();
                                customerPer.ENTITYMENUCUSTOMPERMID = Guid.NewGuid().ToString();

                                customerPer.T_SYS_ROLEReference.EntityKey = entRole.EntityKey;
                                customerPer.T_SYS_ROLE = entRole;
                                //customerPer.T_SYS_ENTITYMENU = entMenu;
                                customerPer.T_SYS_ENTITYMENUReference.EntityKey = entMenu.EntityKey;
                                customerPer.T_SYS_ENTITYMENU = entMenu;
                                //customerPer.T_SYS_PERMISSION = entPer;
                                customerPer.T_SYS_PERMISSIONReference.EntityKey = entPer.EntityKey;
                                customerPer.T_SYS_PERMISSION = entPer;

                                switch (OrgIns.OrgType)
                                {

                                    //公司
                                    case "0":
                                        customerPer.COMPANYID = OrgIns.OrgID;
                                        break;
                                    case "1"://部门
                                        customerPer.DEPARTMENTID = OrgIns.OrgID;
                                        break;
                                    case "2"://岗位
                                        customerPer.POSTID = OrgIns.OrgID;
                                        break;
                                }

                                customerPer.CREATEDATE = DateTime.Now;
                                customerPer.UPDATEDATE = DateTime.Now;

                                EntityMenuCustomPermAdd(customerPer);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                strResult = ex.Message;
            }
        }
Exemplo n.º 6
0
        public List<T_SYS_PERMISSION> FindSysPermissionByStr(string sName)
        {
            using (SysPermissionBLL bll = new SysPermissionBLL())
            {
                #region 
                List<T_SYS_PERMISSION> perList;
                string keyString = "FindSysPermissionByStr" + sName;
                if (WCFCache.Current[keyString] == null)
                {
                    IQueryable<T_SYS_PERMISSION> IQList = bll.FindSysPermissionByStr(sName);
                    perList = IQList == null ? null : IQList.ToList();
                    WCFCache.Current.Insert(keyString, perList, DateTime.Now.AddMinutes(15));

                }
                else
                {
                    perList = (List<T_SYS_PERMISSION>)WCFCache.Current[keyString];
                }
                #endregion
                return perList.Count() > 0 ? perList : null;
            }
        }
Exemplo n.º 7
0
 public string SysPermissionDelete(string perID)
 {
     using (SysPermissionBLL bll = new SysPermissionBLL())
     {
         string keyString = "PermissionAllPagingCache";
         WCFCache.Current[keyString] = null;//清缓存
         return bll.SysPermissionDelete(perID);
     }
 }
Exemplo n.º 8
0
 public string SysPermissionUpdate(T_SYS_PERMISSION obj)
 {
     using (SysPermissionBLL bll = new SysPermissionBLL())
     {
         string keyString = "PermissionAllPagingCache";
         WCFCache.Current[keyString] = null;//清缓存
         string AddkeyString = "GetSysPermissionByID" + obj.PERMISSIONID;
         WCFCache.Current[AddkeyString] = null;
         return bll.SysPermissionUpdate(obj);
     }
 }
Exemplo n.º 9
0
 public string SysPermissionAdd(T_SYS_PERMISSION obj)
 {
     using (SysPermissionBLL bll = new SysPermissionBLL())
     {
         string keyString = "PermissionAllPagingCache" ;
         WCFCache.Current[keyString] = null;//清缓存
         return bll.AddPermission(obj);
     }
     //bll.Add(obj);
 }
Exemplo n.º 10
0
        public T_SYS_PERMISSION GetSysPermissionByID(string perID)
        {
            using (SysPermissionBLL bll = new SysPermissionBLL())
            {
                #region 
                T_SYS_PERMISSION perList;
                string keyString = "GetSysPermissionByID" + perID;
                if (WCFCache.Current[keyString] == null)
                {

                    perList = bll.GetSysPermissionByID(perID);
                    WCFCache.Current.Insert(keyString, perList, DateTime.Now.AddMinutes(15));

                }
                else
                {
                    perList = (T_SYS_PERMISSION)WCFCache.Current[keyString];
                }
                return perList;
                #endregion
            }
        }
Exemplo n.º 11
0
        //所有用户信息 2010-6-10
        public List<T_SYS_PERMISSION> GetSysPermissionAllPaging(int pageIndex, int pageSize, string sort, string filterString, object[] paras, ref int pageCount, LoginUserInfo loginUserInfo)
        {
            using (SysPermissionBLL bll = new SysPermissionBLL())
            {
                #region 
                List<T_SYS_PERMISSION> perList;
                string keyString = "PermissionAllPagingCache";
                if (WCFCache.Current[keyString] == null)
                {

                    perList = bll.GetSysPermissionAll().ToList();
                    WCFCache.Current.Insert(keyString, perList, DateTime.Now.AddMinutes(15));

                }
                else
                {
                    perList = (List<T_SYS_PERMISSION>)WCFCache.Current[keyString];
                }
                #endregion
                return perList != null ? perList : null;

            }


        }
Exemplo n.º 12
0
        public List<T_SYS_PERMISSION> GetSysPermissionByEntityID(string EntityID)
        {
            using (SysPermissionBLL bll = new SysPermissionBLL())
            {
                //SysPermissionBLL bll = new SysPermissionBLL();
                //IQueryable<T_SYS_PERMISSION> perList = bll.GetSysPermissionAll();
                #region 
                List<T_SYS_PERMISSION> perList;
                string keyString = "SysPermissionAll" + EntityID;


                if (WCFCache.Current[keyString] == null)
                {
                    IQueryable<T_SYS_PERMISSION> IQList = bll.GetPermissionByEntityID(EntityID);
                    perList = IQList == null ? null : IQList.ToList();
                    WCFCache.Current.Insert(keyString, perList, DateTime.Now.AddMinutes(15));

                }
                else
                {
                    perList = (List<T_SYS_PERMISSION>)WCFCache.Current[keyString];
                }

                #endregion
                return perList.Count() > 0 ? perList : null;
            }
        }
Exemplo n.º 13
0
        public List<T_SYS_PERMISSION> GetSysCommonPermissionAll()
        {
            using (SysPermissionBLL bll = new SysPermissionBLL())
            {
                #region 龙康才新增
                List<T_SYS_PERMISSION> perList;

                WCFCache.Current["SysCommonPermissionAll"] = null;
                string keyString = "SysCommonPermissionAll";
                if (WCFCache.Current[keyString] == null)
                {
                    IQueryable<T_SYS_PERMISSION> IQList = bll.GetSysCommonPermissionAll();
                    perList = IQList == null ? null : IQList.ToList();
                    WCFCache.Current.Insert(keyString, perList, DateTime.Now.AddMinutes(15));

                }
                else
                {
                    perList = (List<T_SYS_PERMISSION>)WCFCache.Current[keyString];
                }


                #endregion
                return perList.Count() > 0 ? perList : null;
            }

        }
Exemplo n.º 14
0
        /// <summary>
        /// 更新离职申请记录
        /// </summary>
        /// <param name="entity">离职申请记录实体</param>
        public void LeftOfficeUpdate(T_HR_LEFTOFFICE entity, ref string strMsg)
        {
            try
            {
                //SMT.SaaS.BLLCommonServices.PermissionWS.PermissionServiceClient perclient = new SMT.SaaS.BLLCommonServices.PermissionWS.PermissionServiceClient();
                string     employeeId = entity.T_HR_EMPLOYEE.EMPLOYEEID;
                T_SYS_USER sysuser    = new T_SYS_USER();//perclient.GetUserByEmployeeID(employeeId);
                using (SysUserBLL bll = new SysUserBLL())
                {
                    sysuser = bll.GetUserByEmployeeID(employeeId);
                }
                var tmp = from c in dal.GetObjects()
                          where c.T_HR_EMPLOYEE.EMPLOYEEID == entity.T_HR_EMPLOYEE.EMPLOYEEID && (c.CHECKSTATE == "0" || c.CHECKSTATE == "1") &&
                          c.T_HR_EMPLOYEEPOST.EMPLOYEEPOSTID == entity.T_HR_EMPLOYEEPOST.EMPLOYEEPOSTID && c.DIMISSIONID != entity.DIMISSIONID
                          select c;
                if (tmp.Count() > 0)
                {
                    //throw new Exception("LEFTOFFICESUBMITTED");
                    strMsg = "LEFTOFFICESUBMITTED";
                    return;
                }
                T_HR_LEFTOFFICE ent = dal.GetTable().FirstOrDefault(s => s.DIMISSIONID == entity.DIMISSIONID);
                if (ent != null)
                {
                    if (entity.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString())
                    {
                        //如果是代理岗位  就将代理岗设为无效   并添加异动记录

                        EmployeePostBLL   epbll = new EmployeePostBLL();
                        T_HR_EMPLOYEEPOST epost = dal.GetObjects <T_HR_EMPLOYEEPOST>().Include("T_HR_POST").FirstOrDefault(ep => ep.EMPLOYEEPOSTID == entity.T_HR_EMPLOYEEPOST.EMPLOYEEPOSTID);
                        if (epost != null && epost.ISAGENCY == "1")
                        {
                            epost.EDITSTATE = "0";
                            epbll.EmployeePostUpdate(epost);
                            //删除岗位
                            #region 添加异动记录
                            var tmpInfo = from c in dal.GetObjects <T_HR_POST>()
                                          join b in dal.GetObjects <T_HR_DEPARTMENT>() on c.T_HR_DEPARTMENT.DEPARTMENTID equals b.DEPARTMENTID
                                          where c.POSTID == epost.T_HR_POST.POSTID
                                          select new
                            {
                                c.POSTID,
                                b.DEPARTMENTID,
                                b.T_HR_COMPANY.COMPANYID
                            };
                            EmployeePostChangeBLL   epchangeBLL = new EmployeePostChangeBLL();
                            T_HR_EMPLOYEEPOSTCHANGE postChange  = new T_HR_EMPLOYEEPOSTCHANGE();
                            postChange = new T_HR_EMPLOYEEPOSTCHANGE();
                            postChange.T_HR_EMPLOYEE            = new T_HR_EMPLOYEE();
                            postChange.T_HR_EMPLOYEE.EMPLOYEEID = entity.T_HR_EMPLOYEE.EMPLOYEEID;
                            postChange.EMPLOYEECODE             = entity.T_HR_EMPLOYEE.EMPLOYEECODE;
                            postChange.EMPLOYEENAME             = entity.T_HR_EMPLOYEE.EMPLOYEECNAME;
                            postChange.POSTCHANGEID             = Guid.NewGuid().ToString();
                            postChange.CHECKSTATE = Convert.ToInt32(CheckStates.Approved).ToString();
                            postChange.ISAGENCY   = "1";
                            if (tmpInfo.Count() > 0)
                            {
                                postChange.FROMCOMPANYID    = tmpInfo.FirstOrDefault().COMPANYID;
                                postChange.FROMDEPARTMENTID = tmpInfo.FirstOrDefault().DEPARTMENTID;
                                postChange.FROMPOSTID       = tmpInfo.FirstOrDefault().POSTID;

                                postChange.OWNERCOMPANYID    = tmpInfo.FirstOrDefault().COMPANYID;
                                postChange.OWNERDEPARTMENTID = tmpInfo.FirstOrDefault().DEPARTMENTID;
                                postChange.OWNERPOSTID       = tmpInfo.FirstOrDefault().POSTID;
                            }
                            postChange.OWNERID           = entity.T_HR_EMPLOYEE.EMPLOYEEID;
                            postChange.POSTCHANGREASON   = entity.LEFTOFFICEREASON;
                            postChange.CHANGEDATE        = entity.LEFTOFFICEDATE.ToString();
                            postChange.CREATEUSERID      = entity.CREATEUSERID;
                            postChange.POSTCHANGCATEGORY = "3";
                            string Msg = string.Empty;
                            epchangeBLL.EmployeePostChangeAdd(postChange, ref Msg);
                            #endregion
                            //通知及时通讯
                            DelImstantMember(entity.T_HR_EMPLOYEE.EMPLOYEEID, epost.T_HR_POST.POSTID);
                        }
                        else
                        {
                            //员工状态修改为离职中
                            string tmpstr       = "";
                            var    employeetmps = from c in dal.GetObjects <T_HR_EMPLOYEE>()
                                                  where c.EMPLOYEEID == entity.T_HR_EMPLOYEE.EMPLOYEEID
                                                  select c;
                            if (employeetmps.Count() > 0)
                            {
                                EmployeeBLL bll         = new EmployeeBLL();
                                var         employeetmp = employeetmps.FirstOrDefault();
                                if (employeetmp.EMPLOYEESTATE != "2") //已离职,如果已经离职则不要再改为离职中
                                {
                                    employeetmp.EMPLOYEESTATE = "3";  //离职中
                                }
                                bll.EmployeeUpdate(employeetmp, ref tmpstr);
                            }
                        }

                        #region 员工离职通知流程管理员进行修改相应的流程
                        try
                        {
                            SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + " 员工离职审核通过通知流程管理员进行修改相应的流程");
                            StringBuilder sb = new StringBuilder();
                            sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
                            sb.Append("<Root>");
                            //查出用户的所有角色
                            List <T_SYS_USERROLE> roleUserList = new List <T_SYS_USERROLE>(); //perclient.GetSysUserRoleByUser(sysuser.SYSUSERID).ToList();
                            using (SysUserRoleBLL bll = new SysUserRoleBLL())
                            {
                                roleUserList = bll.GetSysUserRoleByUser(sysuser.SYSUSERID).ToList();
                            }

                            if (roleUserList != null && roleUserList.Any())
                            {
                                bool hasRole = false;
                                sb.Append("<Roles>");
                                foreach (var roleUser in roleUserList)
                                {
                                    //查出改用户所在的角色,还有没有其它用户,如果没有则调流程
                                    string            roleId = roleUser.T_SYS_ROLE.ROLEID;
                                    List <T_SYS_USER> roleUserIncludeSource = new List <T_SYS_USER>();// perclient.GetSysUserByRoleToEmployeeLeave(roleId);

                                    using (SysUserRoleBLL bll = new SysUserRoleBLL())
                                    {
                                        roleUserIncludeSource = bll.GetSysUserByRole(roleId).ToList();
                                    }
                                    if (roleUserIncludeSource == null)
                                    {
                                        hasRole = true;
                                        sb.Append("<Role RoleID=\"" + roleUser.T_SYS_ROLE.ROLEID + "\" RoleName=\"" + roleUser.T_SYS_ROLE.ROLENAME + "\" />");
                                    }
                                    else
                                    {
                                        var roleUserInclude = roleUserIncludeSource.Where(t => t.EMPLOYEEID != employeeId).ToList();
                                        if (roleUserInclude.Count == 0)
                                        {
                                            hasRole = true;
                                            sb.Append("<Role RoleID=\"" + roleUser.T_SYS_ROLE.ROLEID + "\" RoleName=\"" + roleUser.T_SYS_ROLE.ROLENAME + "\" />");
                                        }
                                    }
                                }
                                sb.Append("</Roles>");
                                //如果存在角色
                                if (hasRole)
                                {
                                    var empInfo = from c in dal.GetObjects <T_HR_POST>()
                                                  join b in dal.GetObjects <T_HR_DEPARTMENT>() on c.T_HR_DEPARTMENT.DEPARTMENTID equals b.DEPARTMENTID
                                                  join d in dal.GetObjects <T_HR_COMPANY>() on b.T_HR_COMPANY.COMPANYID equals d.COMPANYID
                                                  where c.POSTID == entity.T_HR_EMPLOYEE.OWNERPOSTID
                                                  select new
                                    {
                                        c.T_HR_DEPARTMENT.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTNAME,
                                        b.T_HR_COMPANY.BRIEFNAME,
                                        c.T_HR_POSTDICTIONARY.POSTNAME
                                    };
                                    string companyName = "";
                                    string deptName    = "";
                                    string postName    = "";
                                    if (empInfo != null)
                                    {
                                        companyName = empInfo.FirstOrDefault().BRIEFNAME;
                                        deptName    = empInfo.FirstOrDefault().DEPARTMENTNAME;
                                        postName    = empInfo.FirstOrDefault().POSTNAME;
                                    }
                                    sb.Append(" <User UserID=\"" + entity.T_HR_EMPLOYEE.EMPLOYEEID + "\" UserName=\"" + entity.T_HR_EMPLOYEE.EMPLOYEECNAME + "\" CompanyID=\"" + entity.T_HR_EMPLOYEE.OWNERCOMPANYID + "\" CompanyName=\"" + companyName + "\" DeparmentID=\"" + entity.T_HR_EMPLOYEE.OWNERDEPARTMENTID + "\" DeparmentName=\"" + deptName + "\" PostID=\"" + entity.T_HR_EMPLOYEE.OWNERPOSTID + "\" PostName=\"" + postName + "\" />");

                                    bool hasManagerEmail = false;
                                    List <T_SYS_USER> flowManagers; //perclient.GetFlowManagers(new string[] { entity.T_HR_EMPLOYEE.OWNERCOMPANYID });
                                    using (SysPermissionBLL bll = new SysPermissionBLL())
                                    {
                                        flowManagers = bll.GetFlowManagers(new List <string> {
                                            entity.T_HR_EMPLOYEE.OWNERCOMPANYID
                                        });
                                    }
                                    if (flowManagers != null)
                                    {
                                        sb.Append("<Admins>");
                                        foreach (var mangers in flowManagers)
                                        {
                                            string email    = "";
                                            var    employee = from c in dal.GetObjects <T_HR_EMPLOYEE>()
                                                              where c.EMPLOYEEID == mangers.EMPLOYEEID
                                                              select c;
                                            if (employee != null)
                                            {
                                                email = employee.FirstOrDefault().EMAIL;
                                            }
                                            if (!string.IsNullOrEmpty(email))
                                            {
                                                hasManagerEmail = true;
                                                sb.Append("<Admin ID=\"" + mangers.EMPLOYEEID + "\" Name=\"" + mangers.EMPLOYEENAME + "\" Email=\"" + email + "\" />");
                                            }
                                        }
                                        sb.Append("</Admins>");
                                    }
                                    sb.Append("</Root>");
                                    if (hasManagerEmail)
                                    {
                                        //SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "调用CheckFlowByRole:" + sb.ToString());
                                        //SMT.SaaS.BLLCommonServices.WFPlatformWS.OutInterfaceClient outClient = new SaaS.BLLCommonServices.WFPlatformWS.OutInterfaceClient();
                                        //outClient.CheckFlowByRole(sb.ToString());
                                    }
                                    else
                                    {
                                        SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "流程管理员没有设置邮箱,不调用CheckFlowByRole");
                                    }
                                }
                                else
                                {
                                    SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "当前用户id:(" + employeeId + ")所在角色还有用户,不调用CheckFlowByRole");
                                }
                            }
                            else
                            {
                                SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "没有找到用户的角色");
                            }
                        }
                        catch (Exception ex)
                        {
                            SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "调用员工离职审核通过通知流程管理员进行修改相应的流程异常:" + ex.Message.ToString());
                        }
                        #endregion
                    }
                    Utility.CloneEntity <T_HR_LEFTOFFICE>(entity, ent);
                    if (entity.T_HR_EMPLOYEE != null)
                    {
                        ent.T_HR_EMPLOYEEReference.EntityKey =
                            new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_EMPLOYEE", "EMPLOYEEID", entity.T_HR_EMPLOYEE.EMPLOYEEID);
                    }
                    if (entity.T_HR_EMPLOYEEPOST != null)
                    {
                        ent.T_HR_EMPLOYEEPOSTReference.EntityKey =
                            new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_EMPLOYEEPOST", "EMPLOYEEPOSTID", entity.T_HR_EMPLOYEEPOST.EMPLOYEEPOSTID);
                    }
                    //dal.Update(ent);
                    Update(ent, ent.CREATEUSERID);
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + " LeftOfficeUpdate:" + ex.Message);
                throw ex;
            }
        }