コード例 #1
0
 /// <summary>
 /// 删除公司
 /// </summary>
 /// <param name="entity">公司ID</param>
 /// <returns></returns>
 public void CompanyDelete(string id)
 {
     try
     {
         var entitys = (from ent in dal.GetTable()
                        where ent.COMPANYID == id
                        select ent);
         if (entitys.Count() > 0)
         {
             var           entity    = entitys.FirstOrDefault();
             DepartmentBLL departBll = new DepartmentBLL();
             if (GetChildOrgCount(entity.COMPANYID) > 0)
             {
                 throw new Exception("当前公司有下级公司,不能删除!");
             }
             else
             {
                 if (departBll.GetDepartCount(entity.COMPANYID) > 0)
                 {
                     throw new Exception("当前公司下有部门,不能删除!");
                 }
                 else
                 {
                     dal.Delete(entity);
                     CacheManagerMem.RemoveCache("T_HR_COMPANY");
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
コード例 #2
0
ファイル: SysPermissionBLL.cs プロジェクト: jjg0519/OA
        /// <summary>
        /// 获取  权限信息  设置了缓存
        /// </summary>
        /// <param name="strPermissionId"></param>
        /// <returns></returns>
        public T_SYS_PERMISSION GetAttachSysPermissionByIDToCustomer(string strPermissionId)
        {
            try
            {
                T_SYS_PERMISSION ent       = null;
                string           keystring = "GetAttachSysPermissionByIDToCustomer" + strPermissionId;


                if (CacheManagerMem.GetCache(keystring) != null)
                {
                    ent = (T_SYS_PERMISSION)CacheManagerMem.GetCache(keystring);
                }
                else
                {
                    ent = GetSysPermissionByID(strPermissionId);

                    CacheManagerMem.AddCache(keystring, ent);
                }
                return(ent);
            }
            catch (Exception ex)
            {
                Tracer.Debug("权限SysPermissionBLL-FindSysPermissionByType" + System.DateTime.Now.ToString() + " " + ex.ToString());
                return(null);
            }
        }
コード例 #3
0
ファイル: 缓存 PostBLL.cs プロジェクト: jjg0519/OA
        /// <summary>
        /// 撤消岗位信息
        /// </summary>
        /// <param name="sourceEntity">岗位实体</param>
        public void PostCancel(T_HR_POST sourceEntity)
        {
            var entitys = (from ent in dal.GetTable()
                           where ent.POSTID == sourceEntity.POSTID
                           select ent);

            if (entitys.Count() > 0)
            {
                var entity = entitys.FirstOrDefault();
                if (IsExistChilds(sourceEntity.POSTID))
                {
                    throw new Exception("此岗位下已关联员工,不能撤消!");
                }
                entity.EDITSTATE    = sourceEntity.EDITSTATE;
                entity.CHECKSTATE   = sourceEntity.CHECKSTATE;
                entity.UPDATEUSERID = sourceEntity.UPDATEUSERID;
                entity.UPDATEDATE   = sourceEntity.UPDATEDATE;
                dal.Update(entity);

                WorkflowUtility.CallWorkflow("申请撤消工作流", entity);
                CacheManagerMem.RemoveCache("T_HR_POST");
            }
            else
            {
                throw new Exception("没有找到对应实体!");
            }
        }
コード例 #4
0
        /// <summary>
        /// 添加公司
        /// </summary>
        /// <param name="entity">公司实例</param>
        public void CompanyAdd(T_HR_COMPANY entity)
        {
            try
            {
                var tempEnt = dal.GetObjects().FirstOrDefault(s => s.COMPANRYCODE == entity.COMPANRYCODE ||
                                                              s.CNAME == entity.CNAME);
                if (tempEnt != null)
                {
                    throw new Exception("Repetition");
                }
                T_HR_COMPANY ent = new T_HR_COMPANY();
                Utility.CloneEntity <T_HR_COMPANY>(entity, ent);

                //如果父公司为空,就不赋值
                if (entity.T_HR_COMPANY2 != null)
                {
                    ent.T_HR_COMPANY2Reference.EntityKey =
                        new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_COMPANY", "COMPANYID", entity.T_HR_COMPANY2.COMPANYID);
                }
                dal.Add(ent);

                WorkflowUtility.CallWorkflow("公司申请审核工作流", ent);
                CacheManagerMem.RemoveCache("T_HR_COMPANY");
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
コード例 #5
0
ファイル: 缓存 PostBLL.cs プロジェクト: jjg0519/OA
        /// <summary>
        /// 添加岗位
        /// </summary>
        /// <param name="entity">岗位信息实例</param>
        public void PostAdd(T_HR_POST entity)
        {
            try
            {
                var temp = dal.GetObjects().FirstOrDefault(s => s.T_HR_DEPARTMENT.DEPARTMENTID == entity.T_HR_DEPARTMENT.DEPARTMENTID &&
                                                           s.T_HR_POSTDICTIONARY.POSTCODE == entity.T_HR_POSTDICTIONARY.POSTCODE);
                if (temp != null)
                {
                    throw new Exception("Repetition");
                }
                T_HR_POST ent = new T_HR_POST();
                Utility.CloneEntity <T_HR_POST>(entity, ent);
                //岗位字典
                ent.T_HR_POSTDICTIONARYReference.EntityKey =
                    new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_POSTDICTIONARY", "POSTDICTIONARYID", entity.T_HR_POSTDICTIONARY.POSTDICTIONARYID);
                //部门
                ent.T_HR_DEPARTMENTReference.EntityKey =
                    new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_DEPARTMENT", "DEPARTMENTID", entity.T_HR_DEPARTMENT.DEPARTMENTID);

                dal.Add(ent);
                CacheManagerMem.RemoveCache("T_HR_POST");
                // WorkflowUtility.CallWorkflow("岗位添加申请审核工作流", ent);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
        /// <summary>
        /// 添加公司部门
        /// </summary>
        /// <param name="entity">公司部门实例</param>
        public void DepartmentAdd(T_HR_DEPARTMENT entity)
        {
            try
            {
                var temp = dal.GetObjects().FirstOrDefault(s => s.T_HR_COMPANY.COMPANYID == entity.T_HR_COMPANY.COMPANYID &&
                                                           s.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTCODE == entity.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTCODE);
                if (temp != null)
                {
                    throw new Exception("Repetition");
                }
                T_HR_DEPARTMENT ent = new T_HR_DEPARTMENT();
                Utility.CloneEntity <T_HR_DEPARTMENT>(entity, ent);
                ent.T_HR_DEPARTMENTDICTIONARYReference.EntityKey =
                    new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_DEPARTMENTDICTIONARY", "DEPARTMENTDICTIONARYID", entity.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTDICTIONARYID);
                ent.T_HR_COMPANYReference.EntityKey =
                    new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_COMPANY", "COMPANYID", entity.T_HR_COMPANY.COMPANYID);

                dal.Add(ent);
                CacheManagerMem.RemoveCache("T_HR_DEPARTMENT");
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
コード例 #7
0
        /// <summary>
        /// 更新字典
        /// </summary>
        /// <param name="dict"></param>
        public void SysDictionaryUpdate(T_SYS_DICTIONARY dict, ref string strMsg)
        {
            try
            {
                var tmp = from c in GetObjects()
                          where c.DICTIONARYID != dict.DICTIONARYID && c.DICTIONCATEGORY == dict.DICTIONCATEGORY && c.DICTIONARYNAME == dict.DICTIONARYNAME
                          select c;
                if (tmp.Count() > 0)
                {
                    strMsg = "REPETITION";
                    return;
                }

                var ents = from ent in GetObjects()
                           where ent.DICTIONARYID == dict.DICTIONARYID
                           select ent;

                if (ents.Count() > 0)
                {
                    var     ent       = ents.FirstOrDefault();
                    decimal?dictValue = ent.DICTIONARYVALUE;
                    Utility.CloneEntity <T_SYS_DICTIONARY>(dict, ent);
                    if (ent.DICTIONARYVALUE == null)
                    {
                        ent.DICTIONARYVALUE = dictValue;
                    }
                    if (dict.T_SYS_DICTIONARY2 != null)
                    {
                        ent.T_SYS_DICTIONARY2Reference.EntityKey = new System.Data.EntityKey("TM_SaaS_OA_EFModelContext.T_SYS_DICTIONARY", "DICTIONARYID", dict.T_SYS_DICTIONARY2.DICTIONARYID);
                        ent.T_SYS_DICTIONARY2           = new T_SYS_DICTIONARY();
                        ent.T_SYS_DICTIONARY2.EntityKey = new System.Data.EntityKey("TM_SaaS_OA_EFModelContext.T_SYS_DICTIONARY", "DICTIONARYID", dict.T_SYS_DICTIONARY2.DICTIONARYID);
                    }
                    else
                    {
                        ent.T_SYS_DICTIONARY2Reference = null;
                    }


                    dal.Update(ent);
                    CacheManagerMem.RemoveCache("T_SYS_DICTIONARY");
                    EditVersion("字典");
                }
            }
            catch (Exception ex)
            {
                Tracer.Debug("权限系统SysDictionaryBLL-SysDictionaryUpdate" + System.DateTime.Now.ToString() + " " + ex.ToString());
                //throw (ex);
            }
        }
コード例 #8
0
        /// <summary>
        /// 撤销公司
        /// </summary>
        /// <param name="entity">公司实例</param>
        /// <returns>是否成功撤销</returns>
        public bool CompanyCancel(T_HR_COMPANY entity)
        {
            try
            {
                DepartmentBLL departBll = new DepartmentBLL();

                if (GetChildOrgCount(entity.COMPANYID) > 0)
                {
                    throw new Exception("当前公司有下级公司,不能撤消!");
                }
                else
                {
                    if (departBll.GetDepartCount(entity.COMPANYID) > 0)
                    {
                        throw new Exception("当前公司下有部门,不能撤消!");
                    }
                    //var ent = entity;
                    //ent.EDITSTATE = Convert.ToInt32(EditStates.PendingCanceled).ToString();
                    //ent.UPDATEDATE = entity.UPDATEDATE;
                    //ent.UPDATEUSERID = entity.UPDATEUSERID;
                    //dal.Update(ent);

                    var ents = from q in dal.GetTable()
                               where q.COMPANYID == entity.COMPANYID
                               select q;
                    if (ents.Count() > 0)
                    {
                        var ent = ents.FirstOrDefault();
                        ent.EDITSTATE    = entity.EDITSTATE;
                        ent.CHECKSTATE   = entity.CHECKSTATE;
                        ent.UPDATEDATE   = entity.UPDATEDATE;
                        ent.UPDATEUSERID = entity.UPDATEUSERID;
                        dal.Update(ent);
                        CacheManagerMem.RemoveCache("T_HR_COMPANY");
                        //WorkflowUtility.CallWorkflow("公司撤消审批工作流", entity);
                        return(true);
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
コード例 #9
0
 /// <summary>
 ///新增字典
 /// </summary>
 /// <param name="dict"></param>
 public void SysDictionaryAdd(T_SYS_DICTIONARY dict, ref string strMsg)
 {
     try
     {
         var ents = from ent in GetObjects()
                    where ent.DICTIONCATEGORY == dict.DICTIONCATEGORY && ent.DICTIONARYNAME == dict.DICTIONARYNAME
                    select ent;
         if (ents.Count() > 0)
         {
             strMsg = "REPETITION";
             return;
         }
         var maxValue = GetObjects().Where(p => p.DICTIONCATEGORY == dict.DICTIONCATEGORY).Max(p => p.DICTIONARYVALUE);
         if (maxValue == null)
         {
             maxValue = 1;
         }
         else
         {
             maxValue += 1;
         }
         dict.DICTIONARYVALUE = maxValue;
         T_SYS_DICTIONARY temp = new T_SYS_DICTIONARY();
         Utility.CloneEntity <T_SYS_DICTIONARY>(dict, temp);
         temp.CREATEDATE      = DateTime.Now;
         temp.UPDATEDATE      = DateTime.Now;
         temp.DICTIONARYVALUE = maxValue;
         if (dict.T_SYS_DICTIONARY2 != null)
         {
             temp.T_SYS_DICTIONARY2Reference.EntityKey =
                 new System.Data.EntityKey("TM_SaaS_OA_EFModelContext.T_SYS_DICTIONARY", "DICTIONARYID", dict.T_SYS_DICTIONARY2.DICTIONARYID);
         }
         dal.Add(temp);
         CacheManagerMem.RemoveCache("T_SYS_DICTIONARY");
         EditVersion("字典");
     }
     catch (Exception ex)
     {
         Tracer.Debug("权限系统SysDictionaryBLL-SysDictionaryAdd" + System.DateTime.Now.ToString() + " " + ex.ToString());
         //throw (ex);
     }
 }
コード例 #10
0
ファイル: 缓存 PostBLL.cs プロジェクト: jjg0519/OA
        /// <summary>
        /// 删除部门岗位信息
        /// </summary>
        /// <param name="id">岗位ID</param>
        public void PostDelete(string id)
        {
            var entitys = (from ent in dal.GetTable()
                           where ent.POSTID == id
                           select ent);

            if (entitys.Count() > 0)
            {
                var entity = entitys.FirstOrDefault();
                if (IsExistChilds(id))
                {
                    throw new Exception("此岗位下已关联员工,不能删除!");
                }
                dal.Delete(entity);
                CacheManagerMem.RemoveCache("T_HR_POST");
            }
            else
            {
                throw new Exception("没有找到对应实体!");
            }
        }
コード例 #11
0
 /// <summary>
 /// 删除权字典
 /// </summary>
 /// <param name="IDs">字典ID</param>
 /// <returns>是否删除成功</returns>
 public bool SysDictionaryDelete(string[] IDs)
 {
     try
     {
         dal.BeginTransaction();
         foreach (string id in IDs)
         {
             var entitys = (from ent in dal.GetObjects()
                            where ent.DICTIONARYID == id
                            select ent);
             if (entitys.Count() > 0)
             {
                 var entity = entitys.FirstOrDefault();
                 dal.DeleteFromContext(entity);
             }
         }
         if (dal.SaveContextChanges() > 0)
         {
             dal.CommitTransaction();
             CacheManagerMem.RemoveCache("T_SYS_DICTIONARY");
             EditVersion("字典");
             return(true);
         }
         else
         {
             dal.RollbackTransaction();
             return(false);
         }
     }
     catch (Exception ex)
     {
         Tracer.Debug("权限系统SysDictionaryBLL-SysDictionaryDelete" + System.DateTime.Now.ToString() + " " + ex.ToString());
         return(false);
         //throw (ex);
     }
 }
コード例 #12
0
        /// <summary>
        /// 变更公司
        /// </summary>
        /// <param name="entity">公司实例</param>
        public void CompanyUpdate(T_HR_COMPANY entity)
        {
            try
            {
                var temp = dal.GetObjects().FirstOrDefault(s => (s.COMPANRYCODE == entity.COMPANRYCODE ||
                                                                 s.CNAME == entity.CNAME) && s.COMPANYID != entity.COMPANYID);
                if (temp != null)
                {
                    throw new Exception("Repetition");
                }
                var ents = from ent in dal.GetObjects()
                           where ent.COMPANYID == entity.COMPANYID
                           select ent;
                if (ents.Count() > 0)
                {
                    var ent = ents.FirstOrDefault();
                    Utility.CloneEntity <T_HR_COMPANY>(entity, ent);
                    //如果父公司为空,就不赋值
                    if (entity.T_HR_COMPANY2 != null)
                    {
                        ent.T_HR_COMPANY2Reference.EntityKey =
                            new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_COMPANY", "COMPANYID", entity.T_HR_COMPANY2.COMPANYID);
                    }
                    //如果审核状态为审核通过则添加公司历史
                    if (entity.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString())
                    {
                        T_HR_COMPANYHISTORY companyHis = new T_HR_COMPANYHISTORY();
                        companyHis.RECORDSID = Guid.NewGuid().ToString();
                        //companyHis = Utility.CloneObject<T_HR_COMPANYHISTORY>(entity);
                        companyHis.COMPANYCATEGORY    = entity.COMPANYCATEGORY;
                        companyHis.COMPANRYCODE       = entity.COMPANRYCODE;
                        companyHis.COMPANYLEVEL       = entity.COMPANYLEVEL;
                        companyHis.COMPANYID          = entity.COMPANYID;
                        companyHis.CNAME              = entity.CNAME;
                        companyHis.ENAME              = entity.ENAME;
                        companyHis.T_HR_COMPANY       = entity.T_HR_COMPANY2;
                        companyHis.LEGALPERSON        = entity.LEGALPERSON;
                        companyHis.LINKMAN            = entity.LINKMAN;
                        companyHis.TELNUMBER          = entity.TELNUMBER;
                        companyHis.ADDRESS            = entity.ADDRESS;
                        companyHis.LEGALPERSONID      = entity.LEGALPERSONID;
                        companyHis.BUSSINESSLICENCENO = entity.BUSSINESSLICENCENO;
                        companyHis.BUSSINESSAREA      = entity.BUSSINESSAREA;
                        companyHis.ACCOUNTCODE        = entity.ACCOUNTCODE;
                        companyHis.BANKID             = entity.BANKID;
                        companyHis.EMAIL              = entity.EMAIL;
                        companyHis.ZIPCODE            = entity.ZIPCODE;
                        companyHis.FAXNUMBER          = entity.FAXNUMBER;
                        companyHis.CREATEDATE         = entity.CREATEDATE;
                        companyHis.CREATEUSERID       = entity.CREATEUSERID;
                        companyHis.UPDATEDATE         = DateTime.Now;
                        companyHis.UPDATEUSERID       = entity.UPDATEUSERID;
                        companyHis.REUSEDATE          = DateTime.Now;
                        companyHis.T_HR_COMPANYReference.EntityKey = null;
                        companyHis.T_HR_COMPANY = null;

                        companyHis.OWNERCOMPANYID    = entity.OWNERCOMPANYID;
                        companyHis.OWNERDEPARTMENTID = entity.OWNERDEPARTMENTID;
                        companyHis.OWNERID           = entity.OWNERDEPARTMENTID;
                        companyHis.OWNERPOSTID       = entity.OWNERPOSTID;

                        if (entity.EDITSTATE == Convert.ToInt32(EditStates.PendingCanceled).ToString())
                        {
                            companyHis.CANCELDATE = DateTime.Now;
                        }
                        //DataContext.AddObject("T_HR_COMPANYHISTORY", companyHis);
                        dal.AddToContext(companyHis);
                        GetCompanyForOutEngineXml(entity);//向引擎推送计算员工企业工龄的接口契约
                    }
                    dal.SaveContextChanges();
                    CacheManagerMem.RemoveCache("T_HR_COMPANY");
                    //WorkflowUtility.CallWorkflow("公司审批审核工作流", ent);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
コード例 #13
0
ファイル: 缓存 PostBLL.cs プロジェクト: jjg0519/OA
        /// <summary>
        /// 修改岗位
        /// </summary>
        /// <param name="entity">岗位信息实例</param>
        public void PostUpdate(T_HR_POST entity)
        {
            try
            {
                var temp = dal.GetObjects().FirstOrDefault(s => s.T_HR_DEPARTMENT.DEPARTMENTID == entity.T_HR_DEPARTMENT.DEPARTMENTID &&
                                                           s.T_HR_POSTDICTIONARY.POSTCODE == entity.T_HR_POSTDICTIONARY.POSTCODE && s.POSTID != entity.POSTID);
                if (temp != null)
                {
                    throw new Exception("Repetition");
                }
                var ents = from ent in dal.GetObjects()
                           where ent.POSTID == entity.POSTID
                           select ent;
                if (ents.Count() > 0)
                {
                    var ent = ents.FirstOrDefault();
                    Utility.CloneEntity <T_HR_POST>(entity, ent);
                    ////岗位编置有变动就需要发起工作流
                    //if (ent.POSTNUMBER.GetValueOrDefault() != ent.POSTNUMBER.GetValueOrDefault())
                    //{
                    //    WorkflowUtility.CallWorkflow("岗位编制变更申请工作流", ent);
                    //}

                    //岗位字典
                    ent.T_HR_POSTDICTIONARYReference.EntityKey =
                        new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_POSTDICTIONARY", "POSTDICTIONARYID", entity.T_HR_POSTDICTIONARY.POSTDICTIONARYID);
                    //部门
                    ent.T_HR_DEPARTMENTReference.EntityKey =
                        new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_DEPARTMENT", "DEPARTMENTID", entity.T_HR_DEPARTMENT.DEPARTMENTID);

                    //如果审核状态为审核通过则添加岗位历史
                    if (entity.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString())
                    {
                        T_HR_POSTHISTORY postHis = new T_HR_POSTHISTORY();
                        postHis.RECORDSID = Guid.NewGuid().ToString();
                        //postHis = Utility.CloneObject<T_HR_POSTHISTORY>(entity);
                        postHis.CHANGEPOST        = entity.CHANGEPOST;
                        postHis.COMPANYID         = entity.COMPANYID;
                        postHis.CREATEUSERID      = entity.CREATEUSERID;
                        postHis.CREATEDATE        = entity.CREATEDATE;
                        postHis.DEPARTMENTNAME    = entity.DEPARTMENTNAME;
                        postHis.FATHERPOSTID      = entity.FATHERPOSTID;
                        postHis.OWNERCOMPANYID    = entity.OWNERCOMPANYID;
                        postHis.OWNERDEPARTMENTID = entity.OWNERDEPARTMENTID;
                        postHis.OWNERID           = entity.OWNERID;
                        postHis.OWNERPOSTID       = entity.OWNERPOSTID;
                        postHis.POSTFUNCTION      = entity.POSTFUNCTION;
                        postHis.POSTGOAL          = entity.POSTGOAL;
                        postHis.POSTID            = entity.POSTID;
                        postHis.POSTNUMBER        = entity.POSTNUMBER;
                        postHis.UNDERNUMBER       = entity.UNDERNUMBER;
                        postHis.UPDATEDATE        = entity.UPDATEDATE;
                        postHis.UPDATEUSERID      = entity.UPDATEUSERID;
                        postHis.PROMOTEDIRECTION  = entity.PROMOTEDIRECTION;
                        postHis.DEPARTMENTID      = entity.T_HR_DEPARTMENT.DEPARTMENTID;
                        if (entity.T_HR_POSTDICTIONARY != null)
                        {
                            postHis.T_HR_POSTDICTIONARYReference.EntityKey =
                                new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_POSTDICTIONARY", "POSTDICTIONARYID", entity.T_HR_POSTDICTIONARY.POSTDICTIONARYID);
                        }
                        postHis.REUSEDATE = DateTime.Now;
                        if (entity.EDITSTATE == Convert.ToInt32(EditStates.PendingCanceled).ToString())
                        {
                            postHis.CANCELDATE = DateTime.Now;
                        }
                        //DataContext.AddObject("T_HR_POSTHISTORY", postHis);
                        dal.AddToContext(postHis);
                    }
                    dal.SaveContextChanges();
                    //DataContext.SaveChanges();
                    CacheManagerMem.RemoveCache("T_HR_POST");
                    //WorkflowUtility.CallWorkflow("岗位变更申请审核工作流", ent);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #14
0
 /// <summary>
 /// 变更公司部门
 /// </summary>
 /// <param name="entity">公司部门实例</param>
 public void DepartmentUpdate(T_HR_DEPARTMENT entity)
 {
     try
     {
         var temp = dal.GetObjects().FirstOrDefault(s => s.T_HR_COMPANY.COMPANYID == entity.T_HR_COMPANY.COMPANYID &&
                                                    s.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTCODE == entity.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTCODE && s.DEPARTMENTID != entity.DEPARTMENTID);
         if (temp != null)
         {
             throw new Exception("Repetition");
         }
         var ents = from ent in dal.GetObjects()
                    where ent.DEPARTMENTID == entity.DEPARTMENTID
                    select ent;
         if (ents.Count() > 0)
         {
             var ent = ents.FirstOrDefault();
             Utility.CloneEntity <T_HR_DEPARTMENT>(entity, ent);
             if (entity.T_HR_DEPARTMENTDICTIONARY != null)
             {
                 ent.T_HR_DEPARTMENTDICTIONARYReference.EntityKey =
                     new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_DEPARTMENTDICTIONARY", "DEPARTMENTDICTIONARYID", entity.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTDICTIONARYID);
             }
             if (entity.T_HR_COMPANY != null)
             {
                 ent.T_HR_COMPANYReference.EntityKey =
                     new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_COMPANY", "COMPANYID", entity.T_HR_COMPANY.COMPANYID);
             }
             //如果审核状态为审核通过则添加部门历史
             if (entity.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString())
             {
                 T_HR_DEPARTMENTHISTORY departmentHis = new T_HR_DEPARTMENTHISTORY();
                 departmentHis.RECORDSID          = Guid.NewGuid().ToString();
                 departmentHis.DEPARTMENTID       = entity.DEPARTMENTID;
                 departmentHis.DEPARTMENTFUNCTION = entity.DEPARTMENTFUNCTION;
                 departmentHis.EDITSTATE          = entity.EDITSTATE;
                 departmentHis.COMPANYID          = entity.T_HR_COMPANY.COMPANYID;
                 departmentHis.CREATEUSERID       = entity.CREATEUSERID;
                 departmentHis.CREATEDATE         = entity.CREATEDATE;
                 departmentHis.OWNERCOMPANYID     = entity.OWNERCOMPANYID;
                 departmentHis.OWNERDEPARTMENTID  = entity.OWNERDEPARTMENTID;
                 departmentHis.OWNERID            = entity.OWNERDEPARTMENTID;
                 departmentHis.OWNERPOSTID        = entity.OWNERPOSTID;
                 departmentHis.UPDATEDATE         = entity.UPDATEDATE;
                 departmentHis.UPDATEUSERID       = entity.UPDATEUSERID;
                 if (entity.T_HR_DEPARTMENTDICTIONARY != null)
                 {
                     departmentHis.T_HR_DEPARTMENTDICTIONARYReference.EntityKey =
                         new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_DEPARTMENTDICTIONARY", "DEPARTMENTDICTIONARYID", entity.T_HR_DEPARTMENTDICTIONARY.DEPARTMENTDICTIONARYID);
                 }
                 departmentHis.REUSEDATE = DateTime.Now;
                 if (entity.EDITSTATE == Convert.ToInt32(EditStates.PendingCanceled).ToString())
                 {
                     departmentHis.CANCELDATE = DateTime.Now;
                 }
                 //DataContext.AddObject("T_HR_DEPARTMENTHISTORY", departmentHis);
                 dal.AddToContext(departmentHis);
             }
             dal.SaveContextChanges();
             //DataContext.SaveChanges();
             CacheManagerMem.RemoveCache("T_HR_DEPARTMENT");
             //WorkflowUtility.CallWorkflow("部门变更审核工作流", ent);
         }
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }