Exemple #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);
                     CacheManager.RemoveCache("T_HR_COMPANY");
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
Exemple #2
0
        /// <summary>
        /// 撤消部门
        /// </summary>
        /// <param name="sourceEntity">部门实体</param>
        public void DepartmentCancel(T_HR_DEPARTMENT sourceEntity)
        {
            var entitys = (from ent in dal.GetTable()
                           where ent.DEPARTMENTID == sourceEntity.DEPARTMENTID
                           select ent);

            if (entitys.Count() > 0)
            {
                var entity = entitys.FirstOrDefault();
                if (IsExistChilds(sourceEntity.DEPARTMENTID))
                {
                    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);
                CacheManager.RemoveCache("T_HR_DEPARTMENT");
            }
            else
            {
                throw new Exception("没有找到对应实体!");
            }
        }
Exemple #3
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);
                CacheManager.RemoveCache("T_HR_COMPANY");
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
Exemple #4
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);
                CacheManager.RemoveCache("T_HR_DEPARTMENT");
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
Exemple #5
0
        /// <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);
                CacheManager.RemoveCache("T_HR_POST");
                // WorkflowUtility.CallWorkflow("岗位添加申请审核工作流", ent);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #6
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);
                        CacheManager.RemoveCache("T_HR_COMPANY");
                        //WorkflowUtility.CallWorkflow("公司撤消审批工作流", entity);
                        return(true);
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
Exemple #7
0
        /// <summary>
        /// 删除部门
        /// </summary>
        /// <param name="id">部门ID</param>
        public void DepartmentDelete(string id)
        {
            var entitys = (from ent in dal.GetTable()
                           where ent.DEPARTMENTID == id
                           select ent);

            if (entitys.Count() > 0)
            {
                var entity = entitys.FirstOrDefault();
                if (IsExistChilds(id))
                {
                    throw new Exception("此部门已关联岗位,不能删除!");
                }
                dal.Delete(entity);
                CacheManager.RemoveCache("T_HR_DEPARTMENT");
            }
            else
            {
                throw new Exception("没有找到对应实体!");
            }
        }
Exemple #8
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();
                    CacheManager.RemoveCache("T_HR_COMPANY");
                    //WorkflowUtility.CallWorkflow("公司审批审核工作流", ent);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
Exemple #9
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();
             CacheManager.RemoveCache("T_HR_DEPARTMENT");
             //WorkflowUtility.CallWorkflow("部门变更审核工作流", ent);
         }
     }
     catch (Exception ex)
     {
         throw (ex);
     }
 }
Exemple #10
0
        /// <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();
                    CacheManager.RemoveCache("T_HR_POST");
                    //WorkflowUtility.CallWorkflow("岗位变更申请审核工作流", ent);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }