/// <summary> /// 根据项目成本中心对应的差旅政策信息 /// </summary> /// <param name="projectId"></param> /// <param name="isAllowUserInsurance"></param> /// <returns></returns> public List <CorpPolicyChangeModel> GetCorpPolicyChangeInfoByProjectId(int projectId, int isAllowUserInsurance) { List <int> policyIdList = _corpPolicyConfigProjectDal.Query <CorpPolicyConfigProjectEntity>( n => projectId == n.ProjectId, true).Select(n => n.PolicyId).ToList();//根据项目Id获取对应的差标信息 if (policyIdList == null || policyIdList.Count == 0) { return(null); } List <CorpPolicyChangeModel> resultList = new List <CorpPolicyChangeModel>(); List <CorpPolicyConfigEntity> policyList = _corpPolicyConfigDal.Query <CorpPolicyConfigEntity>( n => policyIdList.Contains(n.PolicyId) && !string.IsNullOrEmpty(n.IsDel) && n.IsDel.ToUpper() == "F", true).ToList(); foreach (var entity in policyList) { 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 = entity.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); }
public List <ProjectNameModel> GetCorpPolicyProjectByCorpId(string corpId, int?policyId, int?aduitId) { List <ProjectNameModel> projectNameModels = GetProjectNameByCorpId(corpId, "F"); List <int> projectIdList = new List <int>(); foreach (var projectNameModel in projectNameModels) { projectIdList.Add(projectNameModel.ProjectId); } List <CorpPolicyConfigProjectEntity> corpPolicyConfigProjectEntities = null; if (policyId.HasValue) { corpPolicyConfigProjectEntities = _corpPolicyConfigProjectDal.Query <CorpPolicyConfigProjectEntity>( n => projectIdList.Contains(n.ProjectId) && n.PolicyId == policyId.Value, true).ToList(); } List <CorpAduitConfigProjectEntity> corpAduitConfigProjectEntities = null; if (aduitId.HasValue) { corpAduitConfigProjectEntities = _corpAduitConfigProjectDal.Query <CorpAduitConfigProjectEntity>( n => projectIdList.Contains(n.ProjectId) && n.AduitId == aduitId.Value, true).ToList(); } foreach (var projectNameModel in projectNameModels) { CorpPolicyConfigProjectEntity corpPolicyConfigProjectEntity = corpPolicyConfigProjectEntities?.Find(n => n.ProjectId == projectNameModel.ProjectId); if (corpPolicyConfigProjectEntity != null) { projectNameModel.IsHasPolicy = true; } CorpAduitConfigProjectEntity corpAduitConfigDepartmentEntity = corpAduitConfigProjectEntities?.Find(n => n.ProjectId == projectNameModel.ProjectId); if (corpAduitConfigDepartmentEntity != null) { projectNameModel.IsHasAduit = true; } } return(projectNameModels); }
public bool AddPolicyProjectRelation(CorpPolicyConfigProjectModel model) { List <CorpPolicyConfigProjectEntity> corpPolicyConfigProjectEntities = _corpPolicyConfigProjectDal.Query <CorpPolicyConfigProjectEntity>( n => n.PolicyId == model.PolicyId, true) .ToList(); //根据政策id获取与项目成本中心的关系信息 bool isClearAll = (model.ProjectIdList.Find(n => n.Value == true) == null); //是否清空所有关系 if (!isClearAll) { foreach (var departKeyValue in model.ProjectIdList) { var configProject = corpPolicyConfigProjectEntities.Find(n => n.ProjectId == departKeyValue.Key); if (configProject == null && departKeyValue.Value)//不存在关系,并且勾选了部门 { //新增 _corpPolicyConfigProjectDal.Insert(new CorpPolicyConfigProjectEntity() { ProjectId = departKeyValue.Key, PolicyId = model.PolicyId }); } if (configProject != null && !departKeyValue.Value)//存在关系,并且不选部门 { //删除部门关系 _corpPolicyConfigProjectDal.Delete <CorpPolicyConfigProjectEntity>(configProject.Id); } } } else { if (corpPolicyConfigProjectEntities.Count > 0) { //清空对应的关系 foreach (var entity in corpPolicyConfigProjectEntities) { _corpPolicyConfigProjectDal.Delete <CorpPolicyConfigProjectEntity>(entity.Id); } } } return(true); }