public List <CorpAduitCustomerModel> GetCorpAduitCustomer(string corpId, int aduitId) { List <CorpAduitCustomerModel> corpAduitCustomerModels = new List <CorpAduitCustomerModel>(); //根据审批规则Id从部门关联表中获取对应的部门Id List <CorpAduitConfigDepartmentEntity> configDepartmentEntities = _corpAduitConfigDepartmentDal.Query <CorpAduitConfigDepartmentEntity>(n => n.AduitId == aduitId, true) .ToList(); List <int> departIdList = new List <int>(); configDepartmentEntities.ForEach(n => departIdList.Add(n.DepartmentId)); //根据部门id获取客户id List <CustomerInfoEntity> customerInfoEntities = _customerDal.Query <CustomerInfoEntity>( n => !string.IsNullOrEmpty(n.CorpID) && n.CorpID.ToUpper() == corpId.ToUpper() && departIdList.Contains(n.CorpDepartID ?? 0) && !string.IsNullOrEmpty(n.IsDel) && n.IsDel.ToUpper() == "F" && n.IsLock.ToUpper() == "F", true) .ToList(); //根据审批规则Id获取对应的客户id信息 List <CorpAduitConfigCustomerEntity> corpAduitConfigCustomerEntities = _corpAduitConfigCustomerDal.Query <CorpAduitConfigCustomerEntity>( n => n.AduitId == aduitId, true).ToList(); //排除已经删除的规则 List <CorpAduitConfigCustomerEntity> corpAduitConfigCustomerEntities2 = (from c in base.Context.Set <CorpAduitConfigCustomerEntity>() join a in Context.Set <CorpAduitConfigEntity>() on c.AduitId equals a.ConfigId where a.IsDel == 0 && c.AduitId != aduitId select c).ToList(); foreach (var customerInfoEntity in customerInfoEntities) { if (corpAduitConfigCustomerEntities2.Find(n => n.Cid == customerInfoEntity.Cid) != null) { continue; } CorpAduitConfigCustomerEntity configCustomerEntity = corpAduitConfigCustomerEntities.Find(n => n.Cid == customerInfoEntity.Cid); corpAduitCustomerModels.Add(new CorpAduitCustomerModel() { Cid = customerInfoEntity.Cid, CustomerName = customerInfoEntity.RealName, DepartmentName = customerInfoEntity.DepartmentName, IsHasAduit = (configCustomerEntity != null) }); } corpAduitCustomerModels = corpAduitCustomerModels.OrderBy(n => n.DepartmentName).ToList(); return(corpAduitCustomerModels); }
public List <CorpDepartmentModel> GetCorpPolicyDepartmentByCorpId(string corpId, int?policyId, int?aduitId) { List <CorpDepartmentModel> departmentModels = _getCorpDepartmentBll.GetCorpDepartmentByCorpId(corpId); List <int> departIdList = new List <int>(); foreach (var corpDepartmentModel in departmentModels) { departIdList.Add(corpDepartmentModel.Id); } List <CorpPolicyConfigDepartmentEntity> policyDepartmentEntities = null; if (policyId.HasValue) { policyDepartmentEntities = _corpPolicyConfigDepartmentDal.Query <CorpPolicyConfigDepartmentEntity>( n => departIdList.Contains(n.DepartmentId) && n.PolicyId == policyId.Value, true).ToList(); } List <CorpAduitConfigDepartmentEntity> aduitConfigDepartmentEntities = null; if (aduitId.HasValue) { aduitConfigDepartmentEntities = _corpAduitConfigDepartmentDal.Query <CorpAduitConfigDepartmentEntity>( n => departIdList.Contains(n.DepartmentId) && n.AduitId == aduitId.Value, true).ToList(); } foreach (var corpDepartmentModel in departmentModels) { CorpPolicyConfigDepartmentEntity corpPolicyConfigDepartmentEntity = policyDepartmentEntities?.Find(n => n.DepartmentId == corpDepartmentModel.Id); if (corpPolicyConfigDepartmentEntity != null) { corpDepartmentModel.IsHasPolicy = true; } CorpAduitConfigDepartmentEntity corpAduitConfigDepartmentEntity = aduitConfigDepartmentEntities?.Find(n => n.DepartmentId == corpDepartmentModel.Id); if (corpAduitConfigDepartmentEntity != null) { corpDepartmentModel.IsHasAduit = true; } } return(departmentModels); }
/// <summary> /// 产生审批规则 /// </summary> /// <param name="cid"></param> /// <param name="departId"></param> /// <returns></returns> public List <CorpAduitChangeModel> GetCorpAduitChangeInfo(int cid, int departId) { List <CorpAduitChangeModel> resultList = null; #region 先根据cid查找员工的审批规则 List <CorpAduitConfigCustomerEntity> corpAduitConfigCustomerEntities = _corpAduitConfigCustomerDal.Query <CorpAduitConfigCustomerEntity>(n => n.Cid == cid, true).ToList(); if (corpAduitConfigCustomerEntities != null && corpAduitConfigCustomerEntities.Count > 0) { List <int> aduitIdList = new List <int>(); corpAduitConfigCustomerEntities.ForEach(n => { aduitIdList.Add(n.AduitId); }); //获取审批规则 List <CorpAduitConfigEntity> aduitList = _corpAduitConfigDal.Query <CorpAduitConfigEntity>( n => aduitIdList.Contains(n.ConfigId) && n.IsDel == 0, true).ToList(); resultList = new List <CorpAduitChangeModel>(); foreach (var entity in corpAduitConfigCustomerEntities) { var aduit = aduitList.Find(n => n.ConfigId == entity.AduitId); if (aduit != null) { List <CorpAduitConfigDetailEntity> corpAduitConfigDetailEntities = _corpAduitConfigDetailDal.Query <CorpAduitConfigDetailEntity>( n => n.AduitCid == entity.AduitId, true).ToList(); resultList.Add(new CorpAduitChangeModel() { AduitId = entity.AduitId, AduitName = aduit.AduitName }); } } return(resultList); } #endregion #region 如果没有审批规则,则查找部门的审批规则 List <CorpAduitConfigDepartmentEntity> corpAduitConfigDepartmentEntities = _corpAduitConfigDepartmentDal.Query <CorpAduitConfigDepartmentEntity>(n => n.DepartmentId == departId, true) .ToList(); if (corpAduitConfigDepartmentEntities != null && corpAduitConfigDepartmentEntities.Count > 0) { List <int> aduitIdList = new List <int>(); corpAduitConfigDepartmentEntities.ForEach(n => { aduitIdList.Add(n.AduitId); }); //获取审批规则信息 List <CorpAduitConfigEntity> aduitList = _corpPolicyConfigDal.Query <CorpAduitConfigEntity>( n => aduitIdList.Contains(n.ConfigId) && n.IsDel == 0, true).ToList(); resultList = new List <CorpAduitChangeModel>(); foreach (var entity in corpAduitConfigDepartmentEntities) { var aduit = aduitList.Find(n => n.ConfigId == entity.AduitId); if (aduit != null) { resultList.Add(new CorpAduitChangeModel() { AduitId = entity.AduitId, AduitName = aduit.AduitName }); } } return(resultList); } #endregion return(null); }
public bool AddCorpAduitDepartmentRelation(CorpAduitConfigDepartmentModel model) { List <CorpAduitConfigDepartmentEntity> configDepartmentEntities = _corpAduitConfigDepartmentDal.Query <CorpAduitConfigDepartmentEntity>(n => n.AduitId == model.AduitId) .ToList(); bool isClearAll = (model.DepartmentIdList.Find(n => n.Value == true) == null);//是否清空所有关系 if (!isClearAll) { foreach (var departKeyValue in model.DepartmentIdList) { var configDepartment = configDepartmentEntities.Find(n => n.DepartmentId == departKeyValue.Key); if (configDepartment == null && departKeyValue.Value)//不存在关系,并且勾选了部门 { //新增 _corpAduitConfigDepartmentDal.Insert <CorpAduitConfigDepartmentEntity>(new CorpAduitConfigDepartmentEntity() { DepartmentId = departKeyValue.Key, AduitId = model.AduitId }); } if (configDepartment != null && !departKeyValue.Value)//存在关系,并且不选部门 { //删除部门关系 _corpAduitConfigDepartmentDal.Delete <CorpAduitConfigDepartmentEntity>(configDepartment.Id); //删除员工关系 List <CorpAduitConfigCustomerEntity> corpAduitConfigCustomerEntities = _corpAduitConfigDepartmentDal.Query <CorpAduitConfigCustomerEntity>( n => n.AduitId == model.AduitId, true).ToList(); if (corpAduitConfigCustomerEntities.Count > 0) { foreach (var entity in corpAduitConfigCustomerEntities) { _corpAduitConfigCustomerDal.Delete <CorpAduitConfigCustomerEntity>(entity.Id); } } } } } else { if (configDepartmentEntities.Count > 0) { foreach (var entity in configDepartmentEntities) { _corpAduitConfigDepartmentDal.Delete <CorpAduitConfigDepartmentEntity>(entity.Id); } } //在清空与员工的关系 List <CorpAduitConfigCustomerEntity> corpAduitConfigCustomerEntities = _corpAduitConfigCustomerDal.Query <CorpAduitConfigCustomerEntity>( n => n.AduitId == model.AduitId, true).ToList(); if (corpAduitConfigCustomerEntities.Count > 0) { foreach (var entity in corpAduitConfigCustomerEntities) { _corpAduitConfigCustomerDal.Delete <CorpAduitConfigCustomerEntity>(entity.Id); } } } return(true); }