From b86b9c7464a93b899c8125e84fd13ff5b362f45e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Fri, 26 Jan 2024 10:37:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=83=A8=E5=88=86=E9=99=A2?= =?UTF-8?q?=E6=A0=A1=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Front/WeixinPayController.cs | 2 +- New_College.Api/New_College.Model.xml | 10 + .../Helper/MajorPlanScoreTool.cs | 4 +- New_College.Model/Models/T_TbSNeedDataInfo.cs | 16 +- .../ViewModels/Query/OneSubmitGoRequest.cs | 2 +- .../D_PlanMajorDescServices.cs | 324 ++++++++---------- 6 files changed, 180 insertions(+), 178 deletions(-) diff --git a/New_College.Api/Controllers/Front/WeixinPayController.cs b/New_College.Api/Controllers/Front/WeixinPayController.cs index 6501f64..0197211 100644 --- a/New_College.Api/Controllers/Front/WeixinPayController.cs +++ b/New_College.Api/Controllers/Front/WeixinPayController.cs @@ -268,7 +268,7 @@ namespace New_College.Api.Controllers.Front var rep = await v_OrderInfoRepository.Update(oneinfo); if (rep) { - DingHookHelper.DingTalkHookMessage("支付回调成功", oneinfo.out_trade_no + ":修改为VIP"); + DingHookHelper.DingTalkHookMessage("支付回调成功", oneinfo.out_trade_no); //修改用户信息 修改为VIp var customerinfo = await v_CustomerInfoRepository.QueryById(oneinfo.CustomerId); customerinfo.IsVIP = true; diff --git a/New_College.Api/New_College.Model.xml b/New_College.Api/New_College.Model.xml index 95c1509..d578b28 100644 --- a/New_College.Api/New_College.Model.xml +++ b/New_College.Api/New_College.Model.xml @@ -2697,6 +2697,11 @@ + + + 主键ID + + 招生类型 @@ -2927,6 +2932,11 @@ 就业质量 + + + 所在地 + + 用户跟角色关联表 diff --git a/New_College.Common/Helper/MajorPlanScoreTool.cs b/New_College.Common/Helper/MajorPlanScoreTool.cs index bb8a961..d6e72e6 100644 --- a/New_College.Common/Helper/MajorPlanScoreTool.cs +++ b/New_College.Common/Helper/MajorPlanScoreTool.cs @@ -17,7 +17,7 @@ namespace New_College.Common /// public static int GetPlanPercentage(int LowScore, int requestScore) { - int minscore = requestScore - 15;//最小 + int minscore = requestScore - 25;//最小 int constscore = requestScore;//中位数 int maxscore = requestScore + 15;//最大 @@ -33,7 +33,7 @@ namespace New_College.Common /// public static int GetPlanScore(int LowScore, int requestScore) { - int minscore = requestScore - 15;//最小 + int minscore = requestScore - 25;//最小 int constscore = requestScore;//中位数 int maxscore = requestScore + 15;//最大 int type = LowScore <= minscore ? 0 : minscore < LowScore && LowScore <= constscore ? 1 : LowScore > constscore && LowScore <= maxscore ? 2 : 0; diff --git a/New_College.Model/Models/T_TbSNeedDataInfo.cs b/New_College.Model/Models/T_TbSNeedDataInfo.cs index c356b5d..70f10d1 100644 --- a/New_College.Model/Models/T_TbSNeedDataInfo.cs +++ b/New_College.Model/Models/T_TbSNeedDataInfo.cs @@ -8,6 +8,12 @@ namespace New_College.Model.Models //[SugarTable("T_TbSNeedDataInfo")] public class T_TbSNeedDataInfo { + + /// + /// 主键ID + /// + [SugarColumn(ColumnName = "ID")] + public long ID { get; set; } /// /// 招生类型 /// @@ -238,5 +244,13 @@ namespace New_College.Model.Models /// [SugarColumn(ColumnName="EmploymentQuality" )] public string EmploymentQuality { get; set; } - } + + /// + /// 所在地 + /// + [SugarColumn(ColumnName = "Location")] + public string Location { get; set; } + + + } } diff --git a/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs b/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs index d5badd8..faf435b 100644 --- a/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs +++ b/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs @@ -241,7 +241,7 @@ namespace New_College.Model.ViewModels /// /// 招生计划Id /// - public int PlanId { get; set; } + public long PlanId { get; set; } } diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index 13c13b2..c5b5ef4 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -16,6 +16,7 @@ using LinqKit; using System.Collections.Generic; using New_College.Repository; using System.Data.Entity.Infrastructure; +using NPOI.SS.Formula.Functions; namespace New_College.Services { @@ -29,13 +30,19 @@ namespace New_College.Services private readonly ID_QualificationLineRepository _qualificationLineRepository; private readonly ID_PlanMajorDescRepository _planMajorDescRepository; private readonly IT_BatchlineRepository _batchlineRepository; - public D_PlanMajorDescServices(IBaseRepository dal, ID_QualificationLineRepository d_QualificationLineRepository, ID_PlanMajorDescRepository planMajorDescRepository, IT_BatchlineRepository batchlineRepository) + private readonly IT_TbSNeedDataInfoServices sNeedDataInfoServices; + private readonly ID_UniversityServices _UniversityServices; + public D_PlanMajorDescServices(IBaseRepository dal, ID_QualificationLineRepository d_QualificationLineRepository, + ID_PlanMajorDescRepository planMajorDescRepository, IT_BatchlineRepository batchlineRepository, + IT_TbSNeedDataInfoServices sNeedDataInfoServices, ID_UniversityServices d_UniversityServices) { this._dal = dal; base.BaseDal = dal; _qualificationLineRepository = d_QualificationLineRepository; _planMajorDescRepository = planMajorDescRepository; _batchlineRepository = batchlineRepository; + this.sNeedDataInfoServices = sNeedDataInfoServices; + _UniversityServices = d_UniversityServices; } @@ -57,7 +64,7 @@ namespace New_College.Services /// public async Task> GetAIGoList(OneSubmitGoRequest request) { - request.PageSize = request.PageSize > 200 ? 200 : request.PageSize; + request.PageSize = request.PageSize > 50 ? 50 : request.PageSize; var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); var pagemodel = new AIGOPageModel(); int startscore = request.Score - 15; @@ -66,7 +73,7 @@ namespace New_College.Services var batlist = await _batchlineRepository.Query(c => c.Year == request.Year && c.Type_name == "综合"); request.BatchName = batlist.Where(c => c.Average <= request.Score && c.Batch_name == "普通类一段").Any() ? "普通类一段" : "普通类二段"; Expression> expression = Expressionable.Create() - .And(c => c.Years == qyear) + .And(c => c.Years == qyear) .And(c => c.IsDelete == false) .And(c => c.Location == request.Location) .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName)) @@ -85,38 +92,26 @@ namespace New_College.Services var query = await _qualificationLineRepository.QueryPage(expression, request.PageIndex, request.PageSize, " LowScoreRank desc "); //var majorarry = query.data.Select(c => c.Major).Distinct().ToArray(); - var universityarry = query.data.Select(c => c.UId).Distinct().ToArray();// - Expression> expression2 = Expressionable.Create() - .And(c => c.IsDelete == false) - .And(c => c.Location == request.Location) - .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major)) - // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, request.SubjectClaim)) //此条件不带 - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2]) || c.SelectSubject == "不限") - .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName) - .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) - .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) - .AndIF(request.Syl.HasValue && request.Syl == 1, c => c._SYL == "是") - .AndIF(request._211.HasValue && request._211 == 1, c => c._211 == "是") - .AndIF(request._985.HasValue && request._985 == 1, c => c._985 == "是") - .AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership) - .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature) - //.AndIF(majorarry.Any(), c => SqlFunc.ContainsArray(majorarry, c.Major)) - .AndIF(universityarry.Any(), c => SqlFunc.ContainsArray(universityarry, c.UId)) - .AndIF(request.EndScore > endscore || request.StartScore < startscore, c => SqlFunc.Between(c.LowScore, request.StartScore, request.EndScore)) - .ToExpression(); - var list = (await _dal.Query(expression2)).Select(c => new D_PlanMajorDesc() - { - Major = c.Major, - MajorCode = c.MajorCode, - UniversityName = c.UniversityName, - UId = c.UId, - Years = c.Years, - LowScore = c.LowScore, - LowScoreRank = c.LowScoreRank, - PlanCount = c.PlanCount, - Id = c.Id - // AcademicYear = c.Years.ToString() - }).ToList(); + var universityarry = query.data.Select(c => c.UniversityName).Distinct().ToArray();// + + Expression> expression3 = Expressionable.Create() + .And(c => c.Location == request.Location) + .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) + // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, request.SubjectClaim)) //此条件不带 + .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限") + //.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName) + .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) + // .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) + .AndIF(request.Syl.HasValue && request.Syl == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "双一流")) + .AndIF(request._211.HasValue && request._211 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "211")) + .AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985")) + .AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership) + .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature) + .AndIF(universityarry.Any(), c => SqlFunc.ContainsArray(universityarry, c.UniversityName)) + .AndIF(request.EndScore > endscore || request.StartScore < startscore, c => SqlFunc.Between(c._23Score, request.StartScore, request.EndScore)) + .ToExpression(); + var querylist = await this.sNeedDataInfoServices.Query(expression3); + var responselist = query.data.Select(c => new AIGOResponse() { AreaName = c.AreaName, @@ -130,61 +125,59 @@ namespace New_College.Services collegeCode = c.RecruitCode.ToString(), LowScoreRank = c.LowScoreRank, Ownership = c.Ownership, - //_fscore = c.LowScore, - //_frank = c.LowScoreRank, - // SubjectClam = c.SelectSubject, Type = MajorPlanScoreTool.GetPlanScore(c.LowScore, request.Score),//冲稳保院校 Percentage = MajorPlanScoreTool.GetPlanPercentage(c.LowScore, request.Score), - planCount = list.Where(w => w.Years == (DateTime.Now.Year - 1) && w.UId == c.UId).Sum(c => c.PlanCount), - iGoPlanMajorItems = list.Where(w => w.Years == (DateTime.Now.Year - 1) && w.UId == c.UId).Select(t => new AIGoPlanMajorItem() - { - PlanId = t.Id, - MajorCode = t.MajorCode, - fee = t.Free, - Major = t.Major, - MajorGroup = t.MajorGroup, - MajorRemark = t.Remark, - planCount = t.PlanCount, - SubjectClam = t.SelectSubject, - Type = MajorPlanScoreTool.GetPlanScore(t.LowScore, request.Score),//冲稳保院校 - Percentage = MajorPlanScoreTool.GetPlanPercentage(t.LowScore, request.Score), - PlanItems = list.Where(ss => ss.UId == c.UId && ss.Major == t.Major).Select(k => new PlanItem() - { - PlanCount = k.PlanCount, - RankLine = k.LowScoreRank, - Scoreline = k.LowScore, - Year = k.Years.ToString(), - Count = "--" - }).ToList() - }).ToList(), + planCount = querylist.Where(w => w.UniversityName == c.UniversityName).Sum(c => int.Parse(c._23Count)), }).OrderByDescending(c => c.Type).OrderBy(c => c.LowScoreRank).ToList(); - var _qualifcationlist = await _qualificationLineRepository.Query(c => SqlFunc.ContainsArray(universityarry, c.UId)); - - // responselist = responselist.Where(e => e.iGoPlanMajorItems.Select(s=>s.planCount).Sum() > 0).ToList(); responselist.ToList().ForEach(c => { - c._fcount = c.iGoPlanMajorItems.Select(s => s.planCount).Sum(); - c._scount = c.iGoPlanMajorItems.Select(s => s.PlanItems.Where(w => w.Year == "2022").Sum(s => s.PlanCount)).Sum(); - c._tcount = c.iGoPlanMajorItems.Select(s => s.PlanItems.Where(w => w.Year == "2021").Sum(s => s.PlanCount)).Sum(); - if (_qualifcationlist.Where(e => e.Years == DateTime.Now.Year && e.UId == c.UniversityId).Any()) + var items = querylist.Where(e => e.UniversityName == c.UniversityName); + c._fcount = items.Select(e => int.Parse(e._23Count)).Sum(); + c._scount = items.Select(e => int.Parse(e._22Count)).Sum(); + c._tcount = items.Select(e => int.Parse(e._21Count)).Sum(); + c._fscore = items.Min(e => int.Parse(e._23SchoolScore)); + c._frank = items.Min(e => int.Parse(e._23SchoolScoreLine)); + c._sscore = items.Min(e => int.Parse(e._22Score)); + c._srank = items.Min(e => int.Parse(e._22ScoreLine)); + c._tscore = items.Min(e => int.Parse(e._22Score)); + c._trank = items.Min(e => int.Parse(e._22ScoreLine)); + c.iGoPlanMajorItems = items.Select(t => new AIGoPlanMajorItem() { - var tmpqualif = _qualifcationlist.Where(e => e.Years == DateTime.Now.Year && e.UId == c.UniversityId).FirstOrDefault(); - c._fscore = tmpqualif.LowScore; - c._frank = tmpqualif.LowScoreRank; - }; - if (_qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 1) && e.UId == c.UniversityId).Any()) - { - var tmpqualif = _qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 1) && e.UId == c.UniversityId).FirstOrDefault(); - c._sscore = tmpqualif.LowScore; - c._srank = tmpqualif.LowScoreRank; - }; - if (_qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 2) && e.UId == c.UniversityId).Any()) - { - var tmpqualif = _qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 2) && e.UId == c.UniversityId).FirstOrDefault(); - c._tscore = tmpqualif.LowScore; - c._trank = tmpqualif.LowScoreRank; - }; + + PlanId = t.ID, + MajorCode = t.MajorCode, + fee = t.Fee, + Major = t.MajorName, + // MajorGroup = t.MajorGroup,//山东无专业组 + MajorRemark = t.Remark, + planCount = int.Parse(t._23Count), + SubjectClam = t._23subject, + Type = MajorPlanScoreTool.GetPlanScore(int.Parse(t._23Score), request.Score),//冲稳保院校 + Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(t._23Score), request.Score), + PlanItems = new List() + { + new PlanItem() { + PlanCount=int.Parse(t._23Count), + RankLine=int.Parse(t._23ScoreLine), + Scoreline=int.Parse(t._23Score), + Year="2023" + }, + new PlanItem() { + PlanCount=int.Parse(t._22Count), + RankLine=int.Parse(t._22ScoreLine), + Scoreline=int.Parse(t._22Score), + Year="2022" + }, + new PlanItem() { + PlanCount=int.Parse(t._21Count), + RankLine=int.Parse(t._21ScoreLine), + Scoreline=int.Parse(t._21Score), + Year="2021" + }, + } + }).ToList(); + }); return new AIGOPageModel() { @@ -209,112 +202,97 @@ namespace New_College.Services public async Task> GetPlanMajorList(OneSubmitGoRequest request) { - request.PageSize = 999;//山东省 + var pagemodel = new PageModel(); + + request.PageSize = request.PageSize < 100 ? 100 : request.PageSize; + //request.PageSize = 150;//山东省 request.Year = request.Year > 2023 ? 2023 : request.Year; var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); - var pagemodel = new PageModel(); - Expression> expression = Expressionable.Create() - .And(c => c.IsDelete == false) - .And(c => c.Location == request.Location) - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2]) || c.SelectSubject == "不限") - .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major)) - .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName)) - .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) - .And(c => c.Years == request.Year) - .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) - .AndIF(request.Score > 0, c => SqlFunc.Between(c.LowScore, request.Score - 15, request.Score + 10)) - .AndIF(request.Syl.HasValue && request.Syl == 1, c => c._SYL == "是") - .AndIF(request._211.HasValue && request._211 == 1, c => c._211 == "是") - .AndIF(request._985.HasValue && request._985 == 1, c => c._985 == "是") - .AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership) - .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature) - //.AndIF(request. > 0, c => SqlFunc.Between(c.LowScore, request.Score, request.Score)) 位次区间 - .ToExpression(); - var query = await _dal.QueryPage(expression, request.PageIndex, request.PageSize, " LowScoreRank asc "); + Expression> expression3 = Expressionable.Create() - var majorarry = query.data.Select(c => c.Major).Distinct().ToArray(); - var universityarry = query.data.Select(c => c.UId).Distinct().ToArray();// - Expression> expression2 = Expressionable.Create() - .And(c => c.IsDelete == false) - .And(c => c.Location == request.Location) - .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major)) - // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2]) || c.SelectSubject == "不限") //此条件不带 - .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName.Trim()) - .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) - .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) - .AndIF(request.Syl.HasValue && request.Syl == 1, c => c._SYL == "是") - .AndIF(request._211.HasValue && request._211 == 1, c => c._211 == "是") - .AndIF(request._985.HasValue && request._985 == 1, c => c._985 == "是") - .AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership) - .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature) - .AndIF(majorarry.Any(), c => SqlFunc.ContainsArray(majorarry, c.Major)) - .AndIF(universityarry.Any(), c => SqlFunc.ContainsArray(universityarry, c.UId)) - //.AndIF(request. > 0, c => SqlFunc.Between(c.LowScore, request.Score, request.Score)) 位次区间 - .ToExpression(); - var list = (await _dal.Query(expression2)).Select(c => new D_PlanMajorDesc() + .And(c => c.Location == request.Location) + .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限") + .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) + //.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName)) + .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) + //.And(c => c.Years == request.Year) + //.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) + .AndIF(request.Score > 0, c => SqlFunc.Between(c._23Score, request.Score - 25, request.Score + 15)) + .AndIF(request.Syl.HasValue && request.Syl == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "双一流")) + .AndIF(request._211.HasValue && request._211 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "211")) + .AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985")) + .AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership) + .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature) + //.AndIF(request. > 0, c => SqlFunc.Between(c.LowScore, request.Score, request.Score)) 位次区间 + .ToExpression(); + + var querylist = await this.sNeedDataInfoServices.Query(expression3); + + var universitymaps = (await _UniversityServices.Query(c => c.IsDelete == false)).Select(c => new D_University() { - Major = c.Major, - MajorCode = c.MajorCode, - UniversityName = c.UniversityName, - BatchName = c.BatchName, - SelectSubject = c.SelectSubject, - UId = c.UId, - Years = c.Years, - Remark = c.Remark, - LowScore = c.LowScore, - LowScoreRank = c.LowScoreRank, - PlanCount = c.PlanCount, - // AcademicYear = c.Years.ToString() - + Id = c.Id, + Name = c.Name, }).ToList(); - var responselist = query.data.OrderByDescending(c => c.SelectSubject).Select(c => new OneSubmitGoResponse() + + var responselist = querylist.Select(c => new OneSubmitGoResponse() { - AreaName = c.AreaName, - fee = c.Free, - Major = c.Major, - MajorGroup = c.MajorGroup, + + AreaName = c.Province, + fee = c.Fee, + Major = c.MajorName, + // MajorGroup = c.MajorGroup, AcademicYear = c.AcademicYear, MajorRemark = c.Remark, - planCount = c.PlanCount, + planCount = int.Parse(c._23Count), Ownership = c.Ownership, - Rank = c.Rank, - _985 = c._985, - _211 = c._211, - _SYL = c._SYL, - UniversityId = c.UId, + Rank = c.UniversityRank, + _985 = c.LnstitutionalLevel!=null?(c.LnstitutionalLevel.Contains("985") ? "是" : "否") : "否", + _211 = c.LnstitutionalLevel != null ? (c.LnstitutionalLevel.Contains("211") ? "是" : "否") : "否", + _SYL = c.LnstitutionalLevel != null ? (c.LnstitutionalLevel.Contains("双一流") ? "是" : "否"): "否", + UniversityId = universitymaps.Where(e => e.Name == c.UniversityName).Any() ? universitymaps.FirstOrDefault(e => e.Name == c.UniversityName).Id : 0, UniversityName = c.UniversityName, - SubjectClam = c.SelectSubject, - Type = MajorPlanScoreTool.GetPlanScore(c.LowScore, request.Score),//还缺冲稳保 - Percentage = MajorPlanScoreTool.GetPlanPercentage(c.LowScore, request.Score), - PlanId = c.Id, + SubjectClam = c._23subject, + Type = MajorPlanScoreTool.GetPlanScore(int.Parse(c._23Score), request.Score),//还缺冲稳保 + Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(c._23Score), request.Score), + PlanId = (int)c.ID, UniversityCode = c.EnrollmentCode, collegeCode = c.EnrollmentCode, MajorCode = c.MajorCode, - LowScoreRank = c.LowScoreRank, - LowScore = c.LowScore, - PlanItems = list.Where(e => e.UId == c.UId && e.Major.Equals(c.Major) && e.MajorCode == c.MajorCode && e.BatchName == request.BatchName).GroupBy(b => new PlanItem() { Year = b.Years.ToString(), Scoreline = b.LowScore, RankLine = b.LowScoreRank }).Select(s => new PlanItem() + LowScoreRank = int.Parse(c._23SchoolScoreLine), + LowScore = int.Parse(c._23SchoolScore), + PlanItems = new List() { - PlanCount = s.Sum(m => m.PlanCount), - RankLine = s.Key.RankLine, - Scoreline = s.Key.Scoreline, - Year = s.Key.Year, - Count = "--" - }).OrderByDescending(k => k.Year).ToList() + new PlanItem() { + PlanCount=int.Parse(c._23Count), + RankLine=int.Parse(c._23ScoreLine), + Scoreline=int.Parse(c._23Score), + Year="2023" + }, + new PlanItem() { + PlanCount=int.Parse(c._22Count), + RankLine=int.Parse(c._22ScoreLine), + Scoreline=int.Parse(c._22Score), + Year="2022" + }, + new PlanItem() { + PlanCount=int.Parse(c._21Count), + RankLine=int.Parse(c._21ScoreLine), + Scoreline=int.Parse(c._21Score), + Year="2021" + }, + } }).ToList(); - //冲稳保比例--待定 - var newlist = responselist.Where(c => c.Type == 2).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(18).ToList(); - newlist.AddRange(responselist.Where(c => c.Type == 1).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(60).ToList()); - newlist.AddRange(responselist.Where(c => c.Type == 0).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(18).ToList()); - - return new PageModel() - { - data = newlist, - dataCount = query.dataCount, - page = query.page, - pageCount = query.pageCount, - PageSize = query.PageSize - }; + ////冲稳保比例--待定 + var newlist = responselist.Where(c => c.Type == 2).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(25).ToList(); + newlist.AddRange(responselist.Where(c => c.Type == 1).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(45).ToList()); + newlist.AddRange(responselist.Where(c => c.Type == 0).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(30).ToList()); + pagemodel.page = request.PageIndex; + pagemodel.data = newlist; + pagemodel.dataCount = responselist.Count; + pagemodel.PageSize = request.PageSize; + pagemodel.pageCount= pagemodel.data.Count(); + return pagemodel; }