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