public List <CorpPolicyCustomerModel> GetCorpPolicyCustomer(string corpId, int policyId) { List <CorpPolicyCustomerModel> corpPolicyCustomerModels = new List <CorpPolicyCustomerModel>(); //根据政策Id从部门关联表中获取对应的部门Id List <CorpPolicyConfigDepartmentEntity> configDepartmentEntities = _corpPolicyConfigDepartmentDal.Query <CorpPolicyConfigDepartmentEntity>(n => n.PolicyId == policyId, 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 <CorpPolicyConfigCustomerEntity> corpPolicyConfigCustomerEntities = _corpPolicyConfigCustomerDal.Query <CorpPolicyConfigCustomerEntity>( n => n.PolicyId == policyId, true).ToList(); //根据政策id获取非对应的客户信息 List <CorpPolicyConfigCustomerEntity> corpPolicyConfigCustomerEntities2 = (from c in base.Context.Set <CorpPolicyConfigCustomerEntity>() join a in Context.Set <CorpPolicyConfigEntity>() on c.PolicyId equals a.PolicyId where a.IsDel == "F" && c.PolicyId != policyId select c).ToList(); foreach (var customerInfoEntity in customerInfoEntities) { if (corpPolicyConfigCustomerEntities2.Find(n => n.Cid == customerInfoEntity.Cid) != null) { continue; } CorpPolicyConfigCustomerEntity configCustomerEntity = corpPolicyConfigCustomerEntities.Find(n => n.Cid == customerInfoEntity.Cid); corpPolicyCustomerModels.Add(new CorpPolicyCustomerModel() { Cid = customerInfoEntity.Cid, CustomerName = customerInfoEntity.RealName, DepartmentName = customerInfoEntity.DepartmentName, IsHasPolicy = (configCustomerEntity != null) }); } corpPolicyCustomerModels = corpPolicyCustomerModels.OrderBy(n => n.DepartmentName).ToList(); return(corpPolicyCustomerModels); }
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); }
public bool AddPolicyDepartmentRelation(CorpPolicyConfigDepartmentModel model) { List <CorpPolicyConfigDepartmentEntity> configDepartmentEntities = _corpPolicyConfigDepartmentDal.Query <CorpPolicyConfigDepartmentEntity>( n => n.PolicyId == model.PolicyId, true) .ToList(); //根据政策id获取与部门的关系信息 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)//不存在关系,并且勾选了部门 { //新增 _corpPolicyConfigDepartmentDal.Insert <CorpPolicyConfigDepartmentEntity>(new CorpPolicyConfigDepartmentEntity() { DepartmentId = departKeyValue.Key, PolicyId = model.PolicyId }); } if (configDepartment != null && !departKeyValue.Value)//存在关系,并且不选部门 { //删除部门关系 _corpPolicyConfigDepartmentDal.Delete <CorpPolicyConfigDepartmentEntity>(configDepartment.Id); //删除员工关系 List <CorpPolicyConfigCustomerEntity> corpPolicyConfigCustomerEntities = _corpPolicyConfigCustomerDal.Query <CorpPolicyConfigCustomerEntity>( n => n.PolicyId == model.PolicyId, true).ToList(); if (corpPolicyConfigCustomerEntities.Count > 0) { foreach (var entity in corpPolicyConfigCustomerEntities) { _corpPolicyConfigCustomerDal.Delete <CorpPolicyConfigCustomerEntity>(entity.Id); } } } } } else { //清空所有关系 if (configDepartmentEntities.Count > 0) { foreach (var entity in configDepartmentEntities) { _corpPolicyConfigDepartmentDal.Delete <CorpPolicyConfigDepartmentEntity>(entity.Id); } } //在清空与员工的关系 List <CorpPolicyConfigCustomerEntity> corpPolicyConfigCustomerEntities = _corpPolicyConfigCustomerDal.Query <CorpPolicyConfigCustomerEntity>( n => n.PolicyId == model.PolicyId, true).ToList(); if (corpPolicyConfigCustomerEntities.Count > 0) { foreach (var entity in corpPolicyConfigCustomerEntities) { _corpPolicyConfigCustomerDal.Delete <CorpPolicyConfigCustomerEntity>(entity.Id); } } } return(true); }
/// <summary> /// 产生差旅政策信息 /// </summary> /// <param name="cid"></param> /// <param name="departId"></param> /// <param name="isAllowUserInsurance"></param> /// <returns></returns> public List <CorpPolicyChangeModel> GetCorpPolicyChangeInfo(int cid, int departId, int isAllowUserInsurance) { List <CorpPolicyChangeModel> resultList = null; #region 先根据cid查找员工的差旅政策 List <CorpPolicyConfigCustomerEntity> corpPolicyConfigCustomerList = _corpPolicyConfigCustomerDal.Query <CorpPolicyConfigCustomerEntity>(n => n.Cid == cid, true).ToList(); if (corpPolicyConfigCustomerList != null && corpPolicyConfigCustomerList.Count > 0) { List <int> policyIdList = new List <int>(); corpPolicyConfigCustomerList.ForEach(n => { policyIdList.Add(n.PolicyId); }); //获取政策信息 List <CorpPolicyConfigEntity> policyList = _corpPolicyConfigDal.Query <CorpPolicyConfigEntity>( n => policyIdList.Contains(n.PolicyId) && !string.IsNullOrEmpty(n.IsDel) && n.IsDel.ToUpper() == "F", true).ToList(); resultList = new List <CorpPolicyChangeModel>(); foreach (var entity in corpPolicyConfigCustomerList) { var policy = policyList.Find(n => n.PolicyId == entity.PolicyId); if (policy != null) { List <CorpPolicyDetailConfigEntity> policyDetailList = _corpPolicyDetailConfigDal.Query <CorpPolicyDetailConfigEntity>( n => n.PolicyId == entity.PolicyId, true).ToList(); CorpPolicyDetailConfigModel policyModel = CorpPolicyConvertFactory.Convert(policyDetailList); if (isAllowUserInsurance == 0)//如果当前公司个性化不许购买保险,则统一设置F;如果允许购买保险,则看差标允许不允许 { policyModel.NPolicyValI = "F"; } resultList.Add(new CorpPolicyChangeModel() { PolicyId = entity.PolicyId, PolicyName = policy.PolicyName, ViolateNPolicyValL = policyModel.NPolicyValL, ViolateNPolicyValT = policyModel.NPolicyValT, ViolateNPolicyValR = policyModel.NPolicyValR, ViolateNPolicyValY = policyModel.NPolicyValY, ViolateNPolicyValI = policyModel.NPolicyValI, ViolateTPolicyValQ = policyModel.TPolicyValQ, ViolateTPolicyValM = policyModel.TPolicyValM, ViolateTPolicyValS = policyModel.TPolicyValS }); } } return(resultList); } #endregion #region 如果没有政策,则查找部门的差旅政策 List <CorpPolicyConfigDepartmentEntity> corpPolicyConfigDepartmentEntities = _corpPolicyConfigDepartmentDal.Query <CorpPolicyConfigDepartmentEntity>(n => n.DepartmentId == departId, true) .ToList(); if (corpPolicyConfigDepartmentEntities != null && corpPolicyConfigDepartmentEntities.Count > 0) { List <int> policyIdList = new List <int>(); corpPolicyConfigDepartmentEntities.ForEach(n => { policyIdList.Add(n.PolicyId); }); //获取政策信息 List <CorpPolicyConfigEntity> policyList = _corpPolicyConfigDal.Query <CorpPolicyConfigEntity>( n => policyIdList.Contains(n.PolicyId) && !string.IsNullOrEmpty(n.IsDel) && n.IsDel.ToUpper() == "F", true).ToList(); resultList = new List <CorpPolicyChangeModel>(); foreach (var entity in corpPolicyConfigDepartmentEntities) { var policy = policyList.Find(n => n.PolicyId == entity.PolicyId); if (policy != null) { List <CorpPolicyDetailConfigEntity> policyDetailList = _corpPolicyDetailConfigDal.Query <CorpPolicyDetailConfigEntity>( n => n.PolicyId == entity.PolicyId, true).ToList(); CorpPolicyDetailConfigModel policyModel = CorpPolicyConvertFactory.Convert(policyDetailList); if (isAllowUserInsurance == 0)//如果当前公司个性化不许购买保险,则统一设置F;如果允许购买保险,则看差标允许不允许 { policyModel.NPolicyValI = "F"; } resultList.Add(new CorpPolicyChangeModel() { PolicyId = entity.PolicyId, PolicyName = policy.PolicyName, ViolateNPolicyValL = policyModel.NPolicyValL, ViolateNPolicyValT = policyModel.NPolicyValT, ViolateNPolicyValR = policyModel.NPolicyValR, ViolateNPolicyValY = policyModel.NPolicyValY, ViolateNPolicyValI = policyModel.NPolicyValI, ViolateTPolicyValQ = policyModel.TPolicyValQ, ViolateTPolicyValM = policyModel.TPolicyValM, ViolateTPolicyValS = policyModel.TPolicyValS }); } } return(resultList); } #endregion //都没找到则返回null return(null); }