diff --git a/New_College.Api/Controllers/Front/EnrollMentPlansController.cs b/New_College.Api/Controllers/Front/EnrollMentPlansController.cs index 5368266..6e7b9f2 100644 --- a/New_College.Api/Controllers/Front/EnrollMentPlansController.cs +++ b/New_College.Api/Controllers/Front/EnrollMentPlansController.cs @@ -1,13 +1,16 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using New_College.IServices; using New_College.Model; +using New_College.Model.Models; using New_College.Model.ViewModels.Query; using New_College.Model.ViewModels.Result; +using SqlSugar; namespace New_College.Api.Controllers.Front { @@ -21,10 +24,12 @@ namespace New_College.Api.Controllers.Front { private readonly IT_EnrollmentPlaneServices t_EnrollmentPlane; private readonly IT_EnrollmentBatchServices t_EnrollmentBatch; - public EnrollMentPlansController(IT_EnrollmentPlaneServices enrollmentPlaneServices, IT_EnrollmentBatchServices t_EnrollmentBatchServices) + private readonly ID_PlanMajorDescServices d_PlanMajorDesc; + public EnrollMentPlansController(IT_EnrollmentPlaneServices enrollmentPlaneServices, IT_EnrollmentBatchServices t_EnrollmentBatchServices, ID_PlanMajorDescServices d_PlanMajorDesc) { this.t_EnrollmentPlane = enrollmentPlaneServices; this.t_EnrollmentBatch = t_EnrollmentBatchServices; + this.d_PlanMajorDesc = d_PlanMajorDesc; } @@ -34,35 +39,61 @@ namespace New_College.Api.Controllers.Front /// /// [HttpGet] - public async Task>> GetEnrollmentPlans([FromQuery] EnrollmentPlanRequest request) + public async Task>> GetEnrollmentPlans([FromQuery] EnrollmentPlanRequest request) { try { - var planinfo = await this.t_EnrollmentPlane.Query(e => e.IsDelete == false && e.Area_Id == request.AreaId && e.Years == request.Years); - if (planinfo.Any()) + Expression> whereexp = Expressionable.Create() //创建表达式 + .And(c => c.Location == request.Location) + .And(c => c.Years == request.Years) + .AndIF(!string.IsNullOrEmpty(request.UniversityName), w => w.UniversityName.Contains(request.UniversityName)) + .AndIF(!string.IsNullOrEmpty(request.MajorName), w => w.Major.Contains(request.MajorName)).ToExpression(); + + var pageModel = await this.d_PlanMajorDesc.QueryPage(whereexp, request.PageIndex, request.PageSize); + + if (pageModel.dataCount > 0) { - var BatchtypeId = (await this.t_EnrollmentBatch.Query(e => e.Year == request.Years && e.AreaId == request.AreaId && e.Batch_name == request.BatchName)).FirstOrDefault().Id; - request.PlanId = planinfo.FirstOrDefault().Id; - request.BatchtypeId = BatchtypeId; - var result = await this.t_EnrollmentPlane.GetEnrollmentPlans(request); - return new MessageModel>() + return new MessageModel>() { - msg = "success", - response = result, - success = true + response = pageModel, + success = true, + msg = "ok", + status = 200 }; } else { - return new MessageModel>() + return new MessageModel>() { msg = "相关信息更新中...", }; } + + //var planinfo = await this.t_EnrollmentPlane.Query(e => e.IsDelete == false && e.Area_Id == request.AreaId && e.Years == request.Years); + //if (planinfo.Any()) + //{ + // var BatchtypeId = (await this.t_EnrollmentBatch.Query(e => e.Year == request.Years && e.AreaId == request.AreaId && e.Batch_name == request.BatchName)).FirstOrDefault().Id; + // request.PlanId = planinfo.FirstOrDefault().Id; + // request.BatchtypeId = BatchtypeId; + // var result = await this.t_EnrollmentPlane.GetEnrollmentPlans(request); + // return new MessageModel>() + // { + // msg = "success", + // response = result, + // success = true + // }; + //} + //else + //{ + // return new MessageModel>() + // { + // msg = "相关信息更新中...", + // }; + //} } catch (Exception ex) { - return new MessageModel>() + return new MessageModel>() { msg = ex.Message }; diff --git a/New_College.Api/New_College.Model.xml b/New_College.Api/New_College.Model.xml index 6b694a4..95c7534 100644 --- a/New_College.Api/New_College.Model.xml +++ b/New_College.Api/New_College.Model.xml @@ -540,6 +540,16 @@ 专业 + + + 最低分 + + + + + 最低分排名 + + 学制 @@ -550,7 +560,7 @@ 学费 - + 生源地 @@ -3230,6 +3240,11 @@ 年份 + + + 生源地 + + 编号id @@ -3555,6 +3570,11 @@ 招生计划Ids + + + 高校所在省份 + + 高考年份 diff --git a/New_College.Api/Startup.cs b/New_College.Api/Startup.cs index 1b61a29..df47a35 100644 --- a/New_College.Api/Startup.cs +++ b/New_College.Api/Startup.cs @@ -215,7 +215,7 @@ namespace New_College }); // 生成种子数据 - app.UseSeedDataMildd(myContext, Env.WebRootPath); + // app.UseSeedDataMildd(myContext, Env.WebRootPath); // 开启QuartzNetJob调度服务 app.UseQuartzJobMildd(tasksQzServices, schedulerCenter); //服务注册 diff --git a/New_College.Model/Models/D_PlanMajorDesc.cs b/New_College.Model/Models/D_PlanMajorDesc.cs index 27f6042..69636b4 100644 --- a/New_College.Model/Models/D_PlanMajorDesc.cs +++ b/New_College.Model/Models/D_PlanMajorDesc.cs @@ -54,7 +54,18 @@ namespace New_College.Model.Models public string MajorCode { get; set; } - public int Count { get; set; } + public int PlanCount { get; set; } + + + /// + /// 最低分 + /// + public int LowScore { get; set; } + + /// + /// 最低分排名 + /// + public int LowScoreRank { get; set; } /// /// 学制 @@ -69,7 +80,7 @@ namespace New_College.Model.Models /// /// 生源地 /// - public string Loction { get; set; } + public string Location { get; set; } diff --git a/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs b/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs index 84ad0ca..0ac57e1 100644 --- a/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs +++ b/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs @@ -10,6 +10,11 @@ namespace New_College.Model.ViewModels.Query public string MajorName { get; set; } + /// + /// 生源地 + /// + public string Location { get; set; } + public int AreaId { get; set; } public int Years { get; set; } diff --git a/New_College.Model/ViewModels/Query/PlanDetailQuery.cs b/New_College.Model/ViewModels/Query/PlanDetailQuery.cs index 575051c..5f77a60 100644 --- a/New_College.Model/ViewModels/Query/PlanDetailQuery.cs +++ b/New_College.Model/ViewModels/Query/PlanDetailQuery.cs @@ -28,6 +28,11 @@ namespace New_College.Model.ViewModels public List UniversityIds { get; set; } + /// + /// 高校所在省份 + /// + public List provinceIds { get; set; } + public int BatchId { get; set; } /// diff --git a/New_College.Model/ViewModels/Result/VolunteerResult.cs b/New_College.Model/ViewModels/Result/VolunteerResult.cs index 3d71635..cfb8769 100644 --- a/New_College.Model/ViewModels/Result/VolunteerResult.cs +++ b/New_College.Model/ViewModels/Result/VolunteerResult.cs @@ -89,7 +89,6 @@ namespace New_College.Model.ViewModels public float Scoreline { get; set; } public int planCount { get; set; } - public int PlanId { get; set; } /// /// 对应的Ids diff --git a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs index 195a525..64bbcad 100644 --- a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs +++ b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs @@ -5,10 +5,12 @@ using New_College.Model; using New_College.Model.Models; using New_College.Model.ViewModels; using New_College.Repository.Base; +using NPOI.SS.Formula.Functions; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Threading.Tasks; namespace New_College.Repository @@ -21,12 +23,17 @@ namespace New_College.Repository private readonly IV_CustomerInfoRepository v_CustomerInfo; private readonly IT_EnrollmentPlaneRepository t_EnrollmentPlane; private readonly ID_MajorRepository d_Major; - public T_EnrollmentPlanedescRepository(IUnitOfWork unitOfWork, IV_CustomerInfoRepository _CustomerInfoRepository, IT_EnrollmentPlaneRepository t_EnrollmentPlaneRepository, ID_MajorRepository d_MajorRepository) : base(unitOfWork) + private readonly ID_PlanMajorDescRepository planMajorDesc; + private readonly ID_PlanMajorScoreLineRepository planMajorScoreLine; + private readonly ID_UniversityRepository d_University; + public T_EnrollmentPlanedescRepository(IUnitOfWork unitOfWork, IV_CustomerInfoRepository _CustomerInfoRepository, IT_EnrollmentPlaneRepository t_EnrollmentPlaneRepository, ID_MajorRepository d_MajorRepository, ID_PlanMajorDescRepository planMajorDesc, ID_PlanMajorScoreLineRepository planMajorScoreLine, ID_UniversityRepository d_University) : base(unitOfWork) { this.v_CustomerInfo = _CustomerInfoRepository; this.t_EnrollmentPlane = t_EnrollmentPlaneRepository; this.d_Major = d_MajorRepository; - + this.planMajorDesc = planMajorDesc; + this.planMajorScoreLine = planMajorScoreLine; + this.d_University = d_University; } /// @@ -39,7 +46,7 @@ namespace New_College.Repository RefAsync totalNumber = 0; - int planId = (await t_EnrollmentPlane.Query(e => e.Years == query.Year && e.Area_Id == query.AreaId)).FirstOrDefault().Id; + // int planId = (await t_EnrollmentPlane.Query(e => e.Years == query.Year && e.Area_Id == query.AreaId)).FirstOrDefault().Id; var subjects = new string[] { }; string sbuOne = string.Empty; string sbuTwo = string.Empty; @@ -55,30 +62,36 @@ namespace New_College.Repository sbuTree = subjects[2]; } var majornames = new List(); + var majoraslist= new List(); if (query.MajorIds != null && query.MajorIds.Count > 0) { //所选专业增加majorids筛选 //query.MajorIds - var major = await this.d_Major.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id)); - if (major.Count() <= 0) + majoraslist = await this.d_Major.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.Id)); + if (majoraslist.Count() <= 0) return new MessageModel>() { success = false, msg = "所选专业大类数据完善中..." }; - majornames = major.Select(x => x.MajorName).ToList(); + majornames = majoraslist.Select(x => x.MajorCode).ToList(); } - - var recommendInfo = await this.Db.Queryable((plans, universitys) => new object[] { JoinType.Left, plans.UniversityId == universitys.Id }) - .Where((plans, universitys) => plans.PlanId == planId && plans.BatchtypeId == query.BatchId) + var testlist = new List() { 1, 2, 3 }; + var recommendInfo = await this.Db.Queryable((plans, universitys) => new object[] { JoinType.Left, plans.UId == universitys.Id, JoinType.Left }) + //.Where((plans, universitys) => plans.PlanId == planId && plans.BatchtypeId == query.BatchId) .WhereIF(query.areaIds != null && query.areaIds.Count() > 0, (plans, universitys) => query.areaIds.Contains(universitys.Area_Id)) - .WhereIF(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline <= query.Score + 15)) - .WhereIF(query.Type == "冲", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline <= query.Score + 15 && plans.Scoreline > query.Score + 5)) - .WhereIF(query.Type == "稳", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline <= query.Score + 5 && plans.Scoreline > query.Score - 15)) - .WhereIF(query.Type == "保", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline < query.Score - 15)) - .WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.Subjectclaim.Contains(sbuOne) || plans.Subjectclaim.Contains(sbuTwo) || plans.Subjectclaim.Contains(sbuTree))) - .WhereIF(majornames.Any() && majornames.Count() > 0, (plans, universitys) => majornames.Contains(plans.MajorName)) - + .WhereIF(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15)) + .WhereIF(query.Type == "冲", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15 && plans.LowScore > query.Score + 5)) + .WhereIF(query.Type == "稳", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 5 && plans.LowScore > query.Score - 15)) + .WhereIF(query.Type == "保", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore < query.Score - 15)) + .WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.SelectSubject.Contains(sbuOne) || plans.SelectSubject.Contains(sbuTwo) || plans.SelectSubject.Contains(sbuTree))) + .WhereIF(majornames.Any() && majornames.Count() > 0, (plans, universitys) => majornames.Contains(plans.MajorCode)).GroupBy(plans => new + { + // plans.Id, + plans.UId, + // plans.LowScore, + // plans.LowScoreRank + }) .Select((plans, universitys) => new UniversityEnrollmentPlanResult() { AreaName = universitys.Area_Name, - UniversityId = plans.UniversityId, + UniversityId = plans.UId, AscriptionName = universitys.AscriptionName, Logo = universitys.Logo, Nhef = universitys.Nhef, @@ -86,36 +99,32 @@ namespace New_College.Repository UniversityName = universitys.Name, Sff = universitys.Sff, Syl = universitys.Syl, - planCount = plans.Plancount, - Scoreline = plans.Scoreline, - PlanId = plans.Id - }).MergeTable() - .GroupBy(it => new - { - it.UniversityId - }) - //plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5).Any() ? "冲" : (plandesc.Where(x => x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)).Any() ? "稳" : plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline > 0 && query.Score > x.Scoreline).Any() ? "保" : "其他" - .OrderBy(it => it.UniversityId, OrderByType.Asc) - .Select(it => new UniversityEnrollmentPlanResult - { - planCount = SqlFunc.AggregateSum(it.planCount), - MjaorPlan = SqlFunc.AggregateCount(it.UniversityId), - //PlanIds = SqlFunc.Subqueryable>().Select(s =>), - // Score = it.Score, - Type = (it.Scoreline <= chongfirst && it.Scoreline > chongend) ? "冲" : (it.Scoreline <= chongend && it.Scoreline > wenend) ? "稳" : "保", - AreaName = it.AreaName, - UniversityId = it.UniversityId, - AscriptionName = it.AscriptionName, - Logo = it.Logo, - Nhef = it.Nhef, - Rank = it.Rank, - UniversityName = it.UniversityName, + planCount = SqlFunc.AggregateSum(plans.PlanCount),// plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList() + + MjaorPlan = SqlFunc.AggregateCount(plans.UId), + Scoreline = SqlFunc.AggregateMin(plans.LowScore), + // PlanIds= String.Join(" ",plans.Id) - Sff = it.Sff, - Syl = it.Syl }) .ToPageListAsync(query.PageIndex, query.PageSize, totalNumber); + var plansinfo = await this.Db.Queryable((plans, universitys) => new object[] { JoinType.Left, plans.UId == universitys.Id, JoinType.Left }) + //.Where((plans, universitys) => plans.PlanId == planId && plans.BatchtypeId == query.BatchId) + .WhereIF(query.areaIds != null && query.areaIds.Count() > 0, (plans, universitys) => query.areaIds.Contains(universitys.Area_Id)) + .WhereIF(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15)) + .WhereIF(query.Type == "冲", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15 && plans.LowScore > query.Score + 5)) + .WhereIF(query.Type == "稳", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 5 && plans.LowScore > query.Score - 15)) + .WhereIF(query.Type == "保", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore < query.Score - 15)) + .WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.SelectSubject.Contains(sbuOne) || plans.SelectSubject.Contains(sbuTwo) || plans.SelectSubject.Contains(sbuTree))) + .WhereIF(majornames.Any() && majornames.Count() > 0, (plans, universitys) => majornames.Contains(plans.MajorCode)).ToListAsync(); + + recommendInfo.ForEach(a => + { + + a.PlanIds = plansinfo.Where(c=>c.UId==a.UniversityId).Select(c=>c.Id).ToList(); + a.Type = (a.Scoreline <= chongfirst && a.Scoreline > chongend) ? "冲" : (a.Scoreline <= chongend && a.Scoreline > wenend) ? "稳" : "保"; + }); + return new MessageModel>() { success = true, diff --git a/New_College.Services/D_LongIdMapServices.cs b/New_College.Services/D_LongIdMapServices.cs index 6bc526d..f9f6393 100644 --- a/New_College.Services/D_LongIdMapServices.cs +++ b/New_College.Services/D_LongIdMapServices.cs @@ -758,7 +758,7 @@ namespace New_College.Services { //var check = await t_EnrollmentBatchRepository.Query(x => x.Type == query.Type && x.Year == query.Year && x.Batch_name == query.BatchName && x.AreaName == query.AreaName); //if (check.Count <= 0) - var check = await d_PlanMajorDescRepository.Query(x => x.Years == query.Year && x.BatchName == query.BatchName && x.Loction == query.AreaName.Replace("省", "")); + var check = await d_PlanMajorDescRepository.Query(x => x.Years == query.Year && x.BatchName == query.BatchName && x.Location == query.AreaName.Replace("省", "")); if (check.Count <= 0) return new List() { }; // var batchid = check.Select(x => x.Id)?.FirstOrDefault(); @@ -770,9 +770,9 @@ namespace New_College.Services { Name = item.Major, AcademicYear = item.AcademicYear, - SelectSubject=item.SelectSubject, + SelectSubject = item.SelectSubject, Money = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free, - PlanNum = item.Count, + PlanNum = item.PlanCount, // Scoreline = item.Scoreline == 0 || string.IsNullOrWhiteSpace(item.Scoreline.ToString()) ? "--" : item.Scoreline.ToString() }); } @@ -1596,49 +1596,66 @@ namespace New_College.Services public async Task Import() { - - var universitylist = await d_UniversityRepository.Query(); - universitylist.ForEach(async u => + var plandesc = await d_PlanMajorDescRepository.Query(c => c.Years == 2022 && c.Location == "山东"); + var plandescline = await d_PlanMajorScoreLineRepository.Query(c => c.Years == 2022 && c.Location == "山东"); + plandesc.ForEach(async a => { - - var plist = await this._PlanMajorDescRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0); - - plist.ForEach(async cc => + if (plandescline.Any(e => e.UId == a.UId && e.Major == a.Major && e.Location == a.Location && e.FirstType == a.FirstType)) { - cc.UId = u.Id; - cc.ModifyTime = DateTime.Now; - await this._PlanMajorDescRepository.Update(cc); - - }); - - - var p2list = await this.d_PlanMajorScoreLineRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0); - - p2list.ForEach(async cc => - { - cc.UId = u.Id; - cc.ModifyTime = DateTime.Now; - await this.d_PlanMajorScoreLineRepository.Update(cc); - - }); - - - var p3list = await this.d_QualificationLineRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0); - - - p3list.ForEach(async cc => - { - cc.UId = u.Id; - cc.ModifyTime = DateTime.Now; - await this.d_QualificationLineRepository.Update(cc); - - }); - + var firstdefault = plandescline.FirstOrDefault(e => e.UId == a.UId && a.Major.Contains(e.Major) && e.Location == a.Location && e.FirstType == a.FirstType); + a.LowScore = firstdefault.LowScore; + a.LowScoreRank = firstdefault.LowScoreRank; + a.ModifyTime=DateTime.Now; + await d_PlanMajorDescRepository.Update(a); + } }); + + //var universitylist = await d_UniversityRepository.Query(); + //universitylist.ForEach(async u => + //{ + + // var plist = await this._PlanMajorDescRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0); + + // plist.ForEach(async cc => + // { + // cc.UId = u.Id; + // cc.ModifyTime = DateTime.Now; + // await this._PlanMajorDescRepository.Update(cc); + + // }); + + + // var p2list = await this.d_PlanMajorScoreLineRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0); + + // p2list.ForEach(async cc => + // { + // cc.UId = u.Id; + // cc.ModifyTime = DateTime.Now; + // await this.d_PlanMajorScoreLineRepository.Update(cc); + + // }); + + + // var p3list = await this.d_QualificationLineRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0); + + + // p3list.ForEach(async cc => + // { + // cc.UId = u.Id; + // cc.ModifyTime = DateTime.Now; + // await this.d_QualificationLineRepository.Update(cc); + + // }); + + + + + // }); + //this.d_PlanMajorDescServices = d_PlanMajorDescServices; //this.d_PlanMajorScoreLineRepository = d_PlanMajorScoreLineRepository; //this.d_QualificationLineRepository = d_QualificationLineRepository; diff --git a/New_College.Services/T_EnrollmentPlanedescServices.cs b/New_College.Services/T_EnrollmentPlanedescServices.cs index 3dee2be..6c383a2 100644 --- a/New_College.Services/T_EnrollmentPlanedescServices.cs +++ b/New_College.Services/T_EnrollmentPlanedescServices.cs @@ -14,6 +14,9 @@ using System; using System.Text; using New_College.Repository; using New_College.Common; +using Org.BouncyCastle.Asn1.Ocsp; +using SqlSugar; +using System.Linq.Expressions; namespace New_College.Services { @@ -35,6 +38,8 @@ namespace New_College.Services private readonly IT_GearInfoRepository t_GearInfo; private readonly IT_EnrollmentPlanedescRepository t_EnrollmentPlanedesc; private readonly IV_CustomerInfoRepository _CustomerInfoRepository; + private readonly ID_PlanMajorDescRepository _PlanMajorDescRepository; + private readonly ID_PlanMajorScoreLineRepository _PlanMajorScoreLineRepository; public T_EnrollmentPlanedescServices(IBaseRepository dal , ID_UniversityRepository ID_UniversityRepository , IT_EnrollmentBatchRepository IT_EnrollmentBatchRepository @@ -49,7 +54,7 @@ namespace New_College.Services , IU_VolunteerTableRepository IU_VolunteerTableRepository , IU_VolunteerTableDetailRepository IU_VolunteerTableDetailRepository , ID_UniversityCollectionRepository ID_UniversityCollectionRepository - , IT_GearInfoRepository IT_GearInfoRepository, IT_EnrollmentPlanedescRepository t_EnrollmentPlanedescServices, IV_CustomerInfoRepository v_CustomerInfoRepository) + , IT_GearInfoRepository IT_GearInfoRepository, IT_EnrollmentPlanedescRepository t_EnrollmentPlanedescServices, IV_CustomerInfoRepository v_CustomerInfoRepository, ID_PlanMajorDescRepository planMajorDescRepository, ID_PlanMajorScoreLineRepository planMajorScoreLineRepository) { this._dal = dal; d_UniversityRepository = ID_UniversityRepository; @@ -68,6 +73,8 @@ namespace New_College.Services base.BaseDal = dal; this.t_EnrollmentPlanedesc = t_EnrollmentPlanedescServices; this._CustomerInfoRepository = v_CustomerInfoRepository; + _PlanMajorDescRepository = planMajorDescRepository; + _PlanMajorScoreLineRepository = planMajorScoreLineRepository; } public List permut = new List(); @@ -956,7 +963,7 @@ namespace New_College.Services var batchids = batchinfo.Select(s => s.Id).ToList(); //通过条件筛选出所有的 var wheres = PredicateBuilder.New(); - wheres.And(x => x.Scoreline <= ( query.Score + 10) && x.Scoreline > 0 && majornames.Contains(x.MajorName) && universityids.Contains(x.UniversityId) && x.PlanId == planinfo.FirstOrDefault().Id && batchids.Contains(x.BatchtypeId)); + wheres.And(x => x.Scoreline <= (query.Score + 10) && x.Scoreline > 0 && majornames.Contains(x.MajorName) && universityids.Contains(x.UniversityId) && x.PlanId == planinfo.FirstOrDefault().Id && batchids.Contains(x.BatchtypeId)); //根据上述所有筛选 求出招生计划 var plandesc = await _dal.Query(wheres, "Scoreline desc"); if (plandesc.Count <= 0) @@ -1054,16 +1061,19 @@ namespace New_College.Services /// public async Task>> GetPlanByUniversity(PlanDetailQuery query) { + + + if (query.PlanIds != null && query.PlanIds.Count <= 0) return new MessageModel>() { success = false, msg = "传入不能为空" }; - var info = await _dal.QueryPage(x => x.IsDelete == false && query.PlanIds.Contains(x.Id), query.PageIndex, query.PageSize, "Scoreline desc"); + var info = await _PlanMajorDescRepository.QueryPage(x => x.IsDelete == false && query.PlanIds.Contains(x.Id), query.PageIndex, query.PageSize, "LowScore desc"); List list = new List() { }; foreach (var item in info.data) { - var newname = CheckMajorName(item.MajorName, item.Remark); - var newmoney = string.IsNullOrWhiteSpace(item.Tuitionfee) || item.Tuitionfee == "0" || item.Tuitionfee == "待定" ? "--" : item.Tuitionfee; - var newyear = string.IsNullOrWhiteSpace(item.Studyyears) ? "--" : item.Studyyears; - var count = list.Count(x => x.Name == newname && x.Money == newmoney && x.PlanNum == item.Plancount && x.Scoreline == item.Scoreline); + var newname = item.Major; + var newmoney = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free; + var newyear = string.IsNullOrWhiteSpace(item.AcademicYear) ? "--" : item.AcademicYear; + var count = list.Count(x => x.Name == newname && x.Money == newmoney && x.PlanNum == item.PlanCount && x.Scoreline == item.LowScore); if (count > 0) continue; list.Add(new PlanDescList() @@ -1071,9 +1081,9 @@ namespace New_College.Services Name = newname, Year = newyear, Money = newmoney, - PlanNum = item.Plancount, + PlanNum = item.PlanCount, MajorId = item.Id, - Scoreline = item.Scoreline + Scoreline = item.LowScore //Subject = GetSub(item.Subjectclaim) }); } @@ -1227,113 +1237,115 @@ namespace New_College.Services public async Task>> GetCWBUniversityDetail(CWBUniversityDetailQuery query) { - // return await this.t_EnrollmentPlanedesc.GetCWBUniversityDetail(query); - var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId); - if (planinfo == null) - return new MessageModel>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." }; - var wheres = PredicateBuilder.New(); - wheres.And(x => x.IsDelete == false && x.PlanId == planinfo.FirstOrDefault().Id && x.UniversityId > 0); - wheres.And(x => x.Scoreline > 0); - if (query.UniversityIds != null && query.UniversityIds.Any()) - { - wheres.And(x => query.UniversityIds.Contains(x.UniversityId)); - } + + + return await this.t_EnrollmentPlanedesc.GetCWBUniversityDetail(query); + //var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId); + //if (planinfo == null || planinfo.Count() <= 0) + // return new MessageModel>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." }; + //var wheres = PredicateBuilder.New(); + //wheres.And(x => x.IsDelete == false && x.PlanId == planinfo.FirstOrDefault().Id && x.UniversityId > 0); + //wheres.And(x => x.Scoreline > 0); + //if (query.UniversityIds != null && query.UniversityIds.Any()) + //{ + // wheres.And(x => query.UniversityIds.Contains(x.UniversityId)); + //} //此处需加冲稳保 - if (query.AreaId != 821 && query.AreaId != 1047 && query.AreaId != 1965) - { - if (query.BatchId > 0) - { - wheres.And(x => x.BatchtypeId == query.BatchId); - } - } + //if (query.AreaId != 821 && query.AreaId != 1047 && query.AreaId != 1965) + //{ + // if (query.BatchId > 0) + // { + // wheres.And(x => x.BatchtypeId == query.BatchId); + // } + //} //wheres.And(x => x.Scoreline > 0 && (query.Score >= x.Scoreline && query.Score - 25 <= x.Scoreline)); - if (string.IsNullOrWhiteSpace(query.Type)) - { - wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15)); - } - else - { - if (query.Type == "冲") - { - wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5)); - } - else if (query.Type == "稳") - { - wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)); - } - else if (query.Type == "保") - { - wheres.And(x => x.Scoreline > 0 && (x.Scoreline < query.Score - 15)); - } - } + //if (string.IsNullOrWhiteSpace(query.Type)) + //{ + // wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15)); + //} + //else + //{ + // if (query.Type == "冲") + // { + // wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5)); + // } + // else if (query.Type == "稳") + // { + // wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)); + // } + // else if (query.Type == "保") + // { + // wheres.And(x => x.Scoreline > 0 && (x.Scoreline < query.Score - 15)); + // } + //} //().Id && batchids.Contains(x.BatchtypeId) && x.UniversityId > 0); - if (query.MajorIds != null && query.MajorIds.Count > 0) - { - //所选专业增加majorids筛选 - //query.MajorIds - var major = await d_MajorRepository.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id)); - if (major.Count() <= 0) - return new MessageModel>() { success = false, msg = "所选专业大类数据完善中..." }; - var majornames = major.Select(x => x.MajorName).ToList(); - wheres.And(x => majornames.Contains(x.MajorName)); - } - //根据上述所有筛选 求出招生计划 - var plandesc = await _dal.Query(wheres, "Scoreline desc"); - int universityidcount = 0; - var start = query.PageSize * (query.PageIndex - 1); - var end = query.PageIndex * query.PageSize; + //if (query.MajorIds != null && query.MajorIds.Count > 0) + //{ + // 所选专业增加majorids筛选 + // query.MajorIds + // var major = await d_MajorRepository.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id)); + // if (major.Count() <= 0) + // return new MessageModel>() { success = false, msg = "所选专业大类数据完善中..." }; + // var majornames = major.Select(x => x.MajorName).ToList(); + // wheres.And(x => majornames.Contains(x.MajorName)); + //} + //根据上述所有筛选 求出招生计划 + //var plandesc = await _dal.Query(wheres, "Scoreline desc"); + //int universityidcount = 0; + //var start = query.PageSize * (query.PageIndex - 1); + //var end = query.PageIndex * query.PageSize; - var stringBuilderinfo = new StringBuilder(); + //var stringBuilderinfo = new StringBuilder(); - stringBuilderinfo.AppendFormat("select Rank,Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0"); - if (query.UniversityIds != null && query.UniversityIds.Count > 0) - { - universityidcount = query.UniversityIds.Count; - string ids = string.Join(",", query.UniversityIds); - stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids); - } - else - { - universityidcount = plandesc.Select(x => x.UniversityId).Distinct().Count(); - string ids = string.Join(",", plandesc.Select(x => x.UniversityId).Distinct().ToList()); - stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids); - } - stringBuilderinfo.AppendFormat(" limit {0},{1}", start, end); + //stringBuilderinfo.AppendFormat("select Rank,Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0"); + //if (query.UniversityIds != null && query.UniversityIds.Count > 0) + //{ + // universityidcount = query.UniversityIds.Count; + // string ids = string.Join(",", query.UniversityIds); + // stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids); + //} + //else + //{ + // universityidcount = plandesc.Select(x => x.UniversityId).Distinct().Count(); + // string ids = string.Join(",", plandesc.Select(x => x.UniversityId).Distinct().ToList()); + // stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids); + //} + //stringBuilderinfo.AppendFormat(" limit {0},{1}", start, end); - var sqldata = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString()); - if (sqldata.Count <= 0) - return new MessageModel>() { success = false, msg = "获取失败,数据为空" }; - var Type = query.Type; - var list = sqldata.Select(item => new UniversityEnrollmentPlanResult() - { - UniversityName = item.Name, - UniversityId = item.Id, - Logo = item.Logo, - Nhef = item.Nhef, - Sff = item.Sff, - Syl = item.Syl, - planCount = plandesc.Where(x => x.UniversityId == item.Id).Sum(x => x.Plancount), - PlanIds = plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList(), - AreaName = item.Area_Name, - AscriptionName = item.AscriptionName, - MjaorPlan = plandesc.Count(x => x.UniversityId == item.Id), - Rank = item.Rank <= 0 ? "-" : item.Rank.ToString(), - Type = plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5).Any() ? "冲" : (plandesc.Where(x => x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)).Any() ? "稳" : plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline > 0 && query.Score > x.Scoreline).Any() ? "保" : "其他" - }).ToList(); - return new MessageModel>() - { - success = true, - msg = "获取成功", - response = new PageModel() - { - data = list, - dataCount = universityidcount, - page = query.PageIndex, - PageSize = query.PageSize, - pageCount = (int)Math.Ceiling(universityidcount / Convert.ToDecimal(query.PageSize)) - } - }; + //var sqldata = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString()); + //if (sqldata.Count <= 0) + // return new MessageModel>() { success = false, msg = "获取失败,数据为空" }; + //var Type = query.Type; + //var list = sqldata.Select(item => new UniversityEnrollmentPlanResult() + //{ + // UniversityName = item.Name, + // UniversityId = item.Id, + // Logo = item.Logo, + // Nhef = item.Nhef, + // Sff = item.Sff, + // Syl = item.Syl, + // planCount = plandesc.Where(x => x.UniversityId == item.Id).Sum(x => x.Plancount), + // PlanIds = plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList(), + // AreaName = item.Area_Name, + // AscriptionName = item.AscriptionName, + // MjaorPlan = plandesc.Count(x => x.UniversityId == item.Id), + // Rank = item.Rank <= 0 ? "-" : item.Rank.ToString(), + // Type = plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5).Any() ? "冲" : (plandesc.Where(x => x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)).Any() ? "稳" : plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline > 0 && query.Score > x.Scoreline).Any() ? "保" : "其他" + //}).ToList(); + //return new MessageModel>() + //{ + // success = true, + // msg = "获取成功", + // response = new PageModel() + // { + // data = list, + // dataCount = universityidcount, + // page = query.PageIndex, + // PageSize = query.PageSize, + // pageCount = (int)Math.Ceiling(universityidcount / Convert.ToDecimal(query.PageSize)) + // } + //}; @@ -1589,7 +1601,7 @@ namespace New_College.Services } #region 获取Proposal建议 - public string GetProposal(float Probability) + private string GetProposal(float Probability) { if (Probability >= 85) {