/// <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); } }
/// <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("没有找到对应实体!"); } }
/// <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); } }
/// <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); } }
/// <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; } }
/// <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); } }
/// <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("没有找到对应实体!"); } }
/// <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); } }
/// <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); } }
/// <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; } }