public List <CorpAduitConfigModel> GetCorpAduitConfigListByCorpId(string corpId) { List <CorpAduitConfigEntity> corpAduitConfigEntities = _corpAduitConfigDal.Query <CorpAduitConfigEntity>(n => n.CorpId == corpId && n.IsDel == 0, true).ToList(); List <int> configList = new List <int>(); corpAduitConfigEntities.ForEach(n => configList.Add(n.ConfigId)); List <CorpAduitConfigDetailEntity> corpAduitConfigDetailEntities = _corpAduitConfigDetailDal.Query <CorpAduitConfigDetailEntity>(n => configList.Contains(n.ConfigId), true).OrderBy(n => n.AduitLevel) .ToList(); List <int> cidList = new List <int>(); corpAduitConfigDetailEntities.ForEach(n => { cidList.Add(n.AduitCid); }); List <CustomerInfoEntity> customerInfoEntities = _customerDal.Query <CustomerInfoEntity>(n => cidList.Contains(n.Cid), true).ToList(); List <CorpAduitConfigModel> corpAduitConfigModels = Mapper.Map <List <CorpAduitConfigEntity>, List <CorpAduitConfigModel> >(corpAduitConfigEntities); List <CorpAduitConfigDetailModel> corpAduitConfigDetailModels = Mapper.Map <List <CorpAduitConfigDetailEntity>, List <CorpAduitConfigDetailModel> >(corpAduitConfigDetailEntities); foreach (var corpAduitConfigModel in corpAduitConfigModels) { corpAduitConfigModel.DetailList = corpAduitConfigDetailModels.FindAll(n => n.ConfigId == corpAduitConfigModel.ConfigId); foreach (var corpAduitConfigDetailModel in corpAduitConfigModel.DetailList) { corpAduitConfigDetailModel.AduitName = customerInfoEntities.Find(n => n.Cid == corpAduitConfigDetailModel.AduitCid)?.RealName; } } return(corpAduitConfigModels); }
/// <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); }