From d0c76bda1109e9417102f70a1a0987f79f1e67db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Fri, 24 Nov 2023 20:46:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:bug=20--=E6=96=B0=E5=A2=9E=E6=89=A9?= =?UTF-8?q?=E7=BC=A9=E6=8B=9B=E4=BA=BA=E6=95=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Back/D_PlanMajorDescController.cs | 87 ++++- .../Front/PcVolunteerController.cs | 91 +++-- New_College.Api/New_College.Model.xml | 320 ++++++++++++++++++ New_College.Api/New_College.xml | 14 + .../ID_PlanMajorDescProServices.cs | 32 ++ .../Models/D_PlanMajorDescPro.cs | 178 ++++++++++ .../ViewModels/Query/OneSubmitGoRequest.cs | 2 +- .../ViewModels/UniversityPlanProView.cs | 220 ++++++++++++ .../ViewModels/VolunteerTableDtoView.cs | 5 + .../BASE/D_PlanMajorDescProRepository.cs | 80 +++++ .../BASE/ID_PlanMajorDescProRepository.cs | 16 + .../D_PlanMajorDescProServices.cs | 83 +++++ .../D_PlanMajorDescServices.cs | 9 +- 13 files changed, 1099 insertions(+), 38 deletions(-) create mode 100644 New_College.IServices/ID_PlanMajorDescProServices.cs create mode 100644 New_College.Model/Models/D_PlanMajorDescPro.cs create mode 100644 New_College.Model/ViewModels/UniversityPlanProView.cs create mode 100644 New_College.Repository/BASE/D_PlanMajorDescProRepository.cs create mode 100644 New_College.Repository/BASE/ID_PlanMajorDescProRepository.cs create mode 100644 New_College.Services/D_PlanMajorDescProServices.cs diff --git a/New_College.Api/Controllers/Back/D_PlanMajorDescController.cs b/New_College.Api/Controllers/Back/D_PlanMajorDescController.cs index 53e9d3a..11ca875 100644 --- a/New_College.Api/Controllers/Back/D_PlanMajorDescController.cs +++ b/New_College.Api/Controllers/Back/D_PlanMajorDescController.cs @@ -8,6 +8,7 @@ using System.Linq.Expressions; using System.Threading.Tasks; using New_College.Model.ViewModels; using System.Linq; +using Org.BouncyCastle.Asn1.Ocsp; namespace New_College.Api.Controllers { @@ -20,13 +21,91 @@ namespace New_College.Api.Controllers /// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下 /// private readonly ID_PlanMajorDescServices _d_PlanMajorDescServices; - - public D_PlanMajorDescController(ID_PlanMajorDescServices D_PlanMajorDescServices) + private readonly ID_PlanMajorDescProServices _d_PlanMajorDescProServices; + public D_PlanMajorDescController(ID_PlanMajorDescServices D_PlanMajorDescServices, ID_PlanMajorDescProServices d_PlanMajorDescProServices) { _d_PlanMajorDescServices = D_PlanMajorDescServices; + _d_PlanMajorDescProServices = d_PlanMajorDescProServices; } + + /// + /// 查询扩缩招院校招生计划详情 + /// + /// + /// + [HttpGet] + public async Task> GetMajorPlanPro([FromQuery] MajorPlanProViewQuery request) + { + if (request.Year <= 0) + { + return new MessageModel() + { + msg = "Year字段必传参数", + }; + } + + if (string.IsNullOrEmpty(request.Location)) + { + return new MessageModel() + { + msg = "Location字段必传参数", + }; + } + if (request.UId <= 0) + { + return new MessageModel() + { + msg = "UId字段必传参数", + + }; + + } + var query = await _d_PlanMajorDescProServices.GetMajorPlanPro(request); + return new MessageModel() + { + response = query, + success = query != null ? true : false, + msg = query != null ? "获取成功" : "获取失败" + }; + } + /// + /// 查询扩缩招院校列表 + /// + /// + /// + [HttpGet] + public async Task>> GetUniversityPlanPro([FromQuery] UniversityProViewQuery request) + { + var result = new PageModel(); + if (string.IsNullOrWhiteSpace(request.Location)) + { + return new MessageModel>() + { + msg = "Location字段必传参数", + + }; + } + + if (request.Year <= 0) + { + return new MessageModel>() + { + msg = "Year字段必传参数", + }; + } + var pagemodel = await _d_PlanMajorDescProServices.GetUniversityPlanPro(request); + + return new MessageModel>() + { + response = pagemodel, + success = pagemodel.data.Any() ? true : false, + msg = pagemodel.data.Any() ? "获取成功" : "获取失败" + }; + + } + /// /// 一键填报 /// @@ -57,7 +136,7 @@ namespace New_College.Api.Controllers { return new MessageModel>() { - msg= "SubjectClaim字段必传参数", + msg = "SubjectClaim字段必传参数", }; } @@ -72,7 +151,7 @@ namespace New_College.Api.Controllers } var response = await _d_PlanMajorDescServices.GetPlanMajorList(request); - if (response.data==null||!response.data.Any() || response.dataCount <= 0) + if (response.data == null || !response.data.Any() || response.dataCount <= 0) { return new MessageModel>() { diff --git a/New_College.Api/Controllers/Front/PcVolunteerController.cs b/New_College.Api/Controllers/Front/PcVolunteerController.cs index 194b1ad..e5f5969 100644 --- a/New_College.Api/Controllers/Front/PcVolunteerController.cs +++ b/New_College.Api/Controllers/Front/PcVolunteerController.cs @@ -127,34 +127,47 @@ namespace New_College.Api.Controllers.Front view.BatchName = query.BatchName; view.CreateTime = query.CreateTime; view.ModifyTime = query.ModifyTime; - view.tableDetailItemsViews = items.Select(c => new VolunteerTableDetailItemsView() - { - UniversityId = c.UniversityId, - UniversityName = c.UniversityName, - UniversityCode = c.UniversityCode, - _211 = planmajordesc.Where(e => e.UId == c.UniversityId).FirstOrDefault()._211, - _985 = planmajordesc.Where(e => e.UId == c.UniversityId).FirstOrDefault()._985, - _SYL = planmajordesc.Where(e => e.UId == c.UniversityId).FirstOrDefault()._SYL, - planMajorItems = planmajordesc.Where(ww => ww.UId == c.UniversityId).Select(s => new VolunteerTablePlanMajorItem() - { - fee = s.Free, - Major = s.Major, - MajorCode = s.MajorCode, - MajorGroup = s.MajorGroup, - MajorRemark = s.Remark, - planCount = s.PlanCount, - PlanId = s.Id, - SubjectClam = s.SelectSubject, - PlanItems = planmajorcomplist.Where(pp => pp.Major == s.Major && pp.UId == c.UniversityId).Select(p => new PlanItem() - { - PlanCount = p.PlanCount, - RankLine = p.LowScoreRank, - Scoreline = p.LowScore, - Year = p.Years.ToString(), - }).ToList() - }).ToList() - }).ToList(); + var tableDetailItemsViews = new List(); + items.ForEach(s => + { + var planids = s.PlanMajorIds.Split(",", StringSplitOptions.RemoveEmptyEntries).Select(ss => int.Parse(ss)).ToList(); + var uitem = new VolunteerTableDetailItemsView() + { + // Sort = s.Sort, + planMajorItems = planmajordesc.Where(ww => planids.Contains(ww.Id)).Select(c => new VolunteerTablePlanMajorItem() + { + fee = c.Free, + Major = c.Major, + MajorCode = c.MajorCode, + MajorGroup = c.MajorGroup, + MajorRemark = c.Remark, + planCount = c.PlanCount, + PlanId = c.Id, + Sort = s.OrderSort, + SubjectClam = c.SelectSubject, + PlanItems = planmajorcomplist.Where(ee => ee.UId == s.UniversityId && ee.Major == c.Major).Select(tt => new PlanItem() + { + Count = tt.PlanCount, + PlanCount = tt.PlanCount, + RankLine = tt.LowScoreRank, + Scoreline = tt.LowScore, + Year = tt.Years.ToString() + }).ToList() + }).ToList(), + UniversityId = s.UniversityId, + UniversityName = s.UniversityName, + UniversityCode = s.UniversityCode, + Sort= s.OrderSort, + _211 = planmajordesc.Where(e => e.UId == s.UniversityId).FirstOrDefault()._211, + _985 = planmajordesc.Where(e => e.UId == s.UniversityId).FirstOrDefault()._985, + _SYL = planmajordesc.Where(e => e.UId == s.UniversityId).FirstOrDefault()._SYL, + }; + + tableDetailItemsViews.Add(uitem); + }); + + view.tableDetailItemsViews=tableDetailItemsViews; return new MessageModel() { msg = "获取成功", @@ -175,6 +188,14 @@ namespace New_College.Api.Controllers.Front [HttpPost("Post")] public async Task> Post([FromBody] VolunteerTableDtoView request) { + if (request.CustomerId <= 0) + { + return new MessageModel() + { + msg = "用户Id" + }; + } + var data = new MessageModel(); int ordersort = 0; if (string.IsNullOrWhiteSpace(request.VolunteerTableName)) @@ -214,7 +235,7 @@ namespace New_College.Api.Controllers.Front CreateTime = DateTime.Now, IsDelete = false, ModifyTime = DateTime.Now, - OrderSort = 0, + OrderSort = c.Sort, PlanMajorIds = c.PlanMajorIds, UniversityCode = c.UniversityCode, UniversityId = c.UniversityId, @@ -254,7 +275,17 @@ namespace New_College.Api.Controllers.Front if (request.VId > 0) { _unitOfWork.BeginTran(); - data.success = await _VolunteerTableServices.Update(request); + data.success = await _VolunteerTableServices.Update(new U_VolunteerTable() + { + BatchName = request.BatchName, + ModifyTime = DateTime.Now, + CustomerId = request.CustomerId, + Id = request.VId, + Score = request.Score, + SubjectClaim = request.SubjectClaim, + Type = request.Type, + VolunteerTableName = request.VolunteerTableName + }); //删掉之前的志愿表,更新新的匹配进来 var itemids = (await _VolunteerTableDetailServices.Query(c => c.VolunteerTableId == request.VId)).Select(c => (object)c.Id).ToArray(); var status = await _VolunteerTableDetailServices.DeleteByIds(itemids); @@ -263,7 +294,7 @@ namespace New_College.Api.Controllers.Front CreateTime = DateTime.Now, IsDelete = false, ModifyTime = DateTime.Now, - OrderSort = 0, + OrderSort = c.Sort, PlanMajorIds = c.PlanMajorIds, UniversityCode = c.UniversityCode, UniversityId = c.UniversityId, diff --git a/New_College.Api/New_College.Model.xml b/New_College.Api/New_College.Model.xml index a1fe867..8e9a2fc 100644 --- a/New_College.Api/New_College.Model.xml +++ b/New_College.Api/New_College.Model.xml @@ -665,6 +665,146 @@ 学校曾用名 + + + 院校Id + + + + + + + + + + 院校名称 + + + + + 院校备注 + + + + + 院校所在省份 + + + + + 院校所在城市 + + + + + 排名 + + + + + + + + + + 科类 + + + + + 专业组 + + + + + 批次 + + + + + 选科要求 + + + + + 门类 + + + + + 一级学科 + + + + + 专业 + + + + + 专业备注 + + + + + 最低分 + + + + + 最低分排名 + + + + + 学制 + + + + + 学费 + + + + + 生源地 + + + + + 办学性质:公办 民办 + + + + + 学校归属 + + + + + 全国统一招生代码 + + + + + 招生类型 + + + + + 学校类别 + + + + + 学历类别 + + + + + 学校曾用名 + + 各省份每年招生计划专业分数线 @@ -6535,6 +6675,186 @@ + + + 学科层次(1本科,0专科) + + + + + 省市区名称 + + + + + 办学性质 + + + + + 用户id + + + + + 学校类型 + + + + + 是否985 0、否,1、是 + + + + + 是否211 0、否,1、是 + + + + + 是否双一流 0、否,1、是 + + + + + 学生所在省份 + + + + + 年份 + + + + + 计划数 + + + + + 扩缩招生情况 + + + + + 上一年招生人数 + + + + + 学费 + + + + + 专业代码 + + + + + 专业组 + + + + + 专业名称 + + + + + 专业备注 + + + + + 选科组合 + + + + + 批次名称 + + + + + 官网 + + + + + 院校id + + + + + 名称 + + + + + 排名 + + + + + 是否985 + + + + + 是否211 + + + + + 是否双一流 + + + + + 学校logo + + + + + 省市区名称 + + + + + 办学性质 + + + + + 隶属于 + + + + + 学科层次 + + + + + 学校类型 + + + + + 招生专业数 + + + + + 招生总人数 + + + + + 扩缩招生情况 + + 用户ID diff --git a/New_College.Api/New_College.xml b/New_College.Api/New_College.xml index a18ecf5..bc9201f 100644 --- a/New_College.Api/New_College.xml +++ b/New_College.Api/New_College.xml @@ -113,6 +113,20 @@ 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下 + + + 查询扩缩招院校招生计划详情 + + + + + + + 查询扩缩招院校列表 + + + + 一键填报 diff --git a/New_College.IServices/ID_PlanMajorDescProServices.cs b/New_College.IServices/ID_PlanMajorDescProServices.cs new file mode 100644 index 0000000..88fe344 --- /dev/null +++ b/New_College.IServices/ID_PlanMajorDescProServices.cs @@ -0,0 +1,32 @@ +using Microsoft.AspNetCore.Mvc; +using New_College.IServices.BASE; +using New_College.Model; +using New_College.Model.Models; +using New_College.Model.ViewModels; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace New_College.IServices +{ + /// + /// ID_PlanMajorDescProServices + /// + public interface ID_PlanMajorDescProServices :IBaseServices + { + + /// + /// 扩缩招院校 + /// + /// + /// + Task> GetUniversityPlanPro(UniversityProViewQuery request); + + + /// + /// 扩缩招专业 + /// + /// + /// + Task GetMajorPlanPro(MajorPlanProViewQuery request); + } +} \ No newline at end of file diff --git a/New_College.Model/Models/D_PlanMajorDescPro.cs b/New_College.Model/Models/D_PlanMajorDescPro.cs new file mode 100644 index 0000000..cfb40a4 --- /dev/null +++ b/New_College.Model/Models/D_PlanMajorDescPro.cs @@ -0,0 +1,178 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Text; + +namespace New_College.Model.Models +{ + //年份 学校 批次 选科要求 门类 一级学科 专业 专业代码 招生人数 学制 学费 生源地 + + public class D_PlanMajorDescPro : EntityModel + { + + /// + /// 院校Id + /// + public int UId { get; set; } + + + /// + /// + /// + public int Years { get; set; } + + /// + /// 院校名称 + /// + public string UniversityName { get; set; } + + /// + /// 院校备注 + /// + public string UniversityRemark { get; set; } + + + /// + /// 院校所在省份 + /// + public string AreaName { get; set; } + + /// + ///院校所在城市 + /// + public string CityName { get; set; } + + + + /// + /// 排名 + /// + public string Rank { get; set; } + + + public string _985 { get; set; } + + + public string _211 { get; set; } + + /// + /// + /// + public string _SYL { get; set; } + + /// + /// 科类 + /// + public string SubjectType { get; set; } + + + /// + /// 专业组 + /// + public string MajorGroup { get; set; } + + /// + ///批次 + /// + public string BatchName { get; set; } + /// + /// 选科要求 + /// + public string SelectSubject { get; set; } + + /// + /// 门类 + /// + public string RootType { get; set; } + + /// + /// 一级学科 + /// + + public string FirstType { get; set; } + + + /// + /// 专业 + /// + + [SugarColumn(IsNullable = true, Length = 1000)] + public string Major { get; set; } + + /// + /// 专业备注 + /// + public string Remark { get; set; } + + public string MajorCode { get; set; } + + + public int PlanCount { get; set; } + + + public int NewCount { get; set; } + + + /// + /// 最低分 + /// + public int LowScore { get; set; } + + /// + /// 最低分排名 + /// + public int LowScoreRank { get; set; } + + /// + /// 学制 + /// + public string AcademicYear { get; set; } + + /// + /// 学费 + /// + public string Free { get; set; } + + /// + /// 生源地 + /// + public string Location { get; set; } + + /// + /// 办学性质:公办 民办 + /// + public string Nature { get; set; } + + /// + /// 学校归属 + /// + public string Ownership { get; set; } + + /// + /// 全国统一招生代码 + /// + public string EnrollmentCode { get; set; } + + /// + /// 招生类型 + /// + public string EnrollmentType { get; set; } + + /// + /// 学校类别 + /// + public string SchoolType { get; set; } + + /// + /// 学历类别 + /// + public string EducationCategory { get; set; } + + /// + /// 学校曾用名 + /// + public string FormerName { get; set; } + + + } +} diff --git a/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs b/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs index ea694eb..2db2b68 100644 --- a/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs +++ b/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs @@ -15,7 +15,7 @@ namespace New_College.Model.ViewModels /// public class OneSubmitGoRequest : BasePageRequest { - + public string Name { get; set; } /// /// 起始分数 /// diff --git a/New_College.Model/ViewModels/UniversityPlanProView.cs b/New_College.Model/ViewModels/UniversityPlanProView.cs new file mode 100644 index 0000000..bf6a51d --- /dev/null +++ b/New_College.Model/ViewModels/UniversityPlanProView.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace New_College.Model.ViewModels +{ + + public class MajorPlanProViewQuery + { + public int UId { get; set; } + + public string Location { get; set; } + + public int Year { get; set; } + + } + + public class UniversityProViewQuery : BasePageRequest + { + + public int Year { get; set; } + public string Name { get; set; } + /// + /// 学科层次(1本科,0专科) + /// + public int? SubjectLevel { get; set; } + /// + /// 省市区名称 + /// + public List? AreaName { get; set; } + /// + /// 办学性质 + /// + public List? Nature { get; set; } + /// + /// 用户id + /// + public int CustomerId { get; set; } + + /// + /// 学校类型 + /// + public List? Type { get; set; } + + /// + /// 是否985 0、否,1、是 + /// + public int? Nhef { get; set; } + + /// + /// 是否211 0、否,1、是 + /// + public int? Sff { get; set; } + + /// + /// 是否双一流 0、否,1、是 + /// + public int? Syl { get; set; } + + + /// + /// 学生所在省份 + /// + public string Location { get; set; } + + } + + + public class MajorPlanProView + { + public int UId { get; set; } + + public string UniversityName { get; set; } + + public string UniversityCode { get; set; } + + public List itemViews { get; set; } + + + } + + + public class MajorPlanProItemView + { + /// + /// 年份 + /// + public int Years { get; set; } + /// + /// 计划数 + /// + public int planCount { get; set; } + + /// + /// 扩缩招生情况 + /// + public int NewCount { get; set; } + + /// + /// 上一年招生人数 + /// + public int OldPlanCount { get; set; } + + /// + /// 学费 + /// + public string fee { get; set; } + + /// + /// 专业代码 + /// + public string MajorCode { get; set; } + /// + /// 专业组 + /// + public string MajorGroup { get; set; } + /// + /// 专业名称 + /// + public string Major { get; set; } + + /// + /// 专业备注 + /// + public string MajorRemark { get; set; } + + /// + /// 选科组合 + /// + public string SubjectClam { get; set; } + + /// + /// 批次名称 + /// + public string BatchName { get; set; } + + + } + + + public class UniversityPlanProView + { + + public int PlanCount { get; set; } + /// + /// 官网 + /// + public string Web { get; set; } + /// + /// 院校id + /// + public int UId { get; set; } + /// + /// 名称 + /// + public string Name { get; set; } + /// + /// 排名 + /// + public string Rank { get; set; } + /// + /// 是否985 + /// + public string _985 { get; set; } + /// + /// 是否211 + /// + public string _211 { get; set; } + /// + /// 是否双一流 + /// + public string _SYL { get; set; } + + /// + /// 学校logo + /// + public string Logo { get; set; } + + /// + /// 省市区名称 + /// + public string AreaName { get; set; } + /// + /// 办学性质 + /// + public string Nature { get; set; } + /// + /// 隶属于 + /// + public string AscriptionName { get; set; } + /// + /// 学科层次 + /// + public string SubjectLevel { get; set; } + /// + /// 学校类型 + /// + public string UniversityType { get; set; } + + /// + /// 招生专业数 + /// + public int MajorCount { get; set; } + + + /// + /// 招生总人数 + /// + public int ALLCount { get; set; } + + + /// + /// 扩缩招生情况 + /// + public int NewCount { get; set; } + + } +} diff --git a/New_College.Model/ViewModels/VolunteerTableDtoView.cs b/New_College.Model/ViewModels/VolunteerTableDtoView.cs index 9c6d2a1..d5d1990 100644 --- a/New_College.Model/ViewModels/VolunteerTableDtoView.cs +++ b/New_College.Model/ViewModels/VolunteerTableDtoView.cs @@ -85,6 +85,8 @@ namespace New_College.Model.ViewModels /// public string _SYL { get; set; } + public int Sort { get; set; } + /// /// /// @@ -99,6 +101,7 @@ namespace New_College.Model.ViewModels /// public int planCount { get; set; } + public int Sort { get; set; } /// /// 学费 /// @@ -206,6 +209,8 @@ namespace New_College.Model.ViewModels public class VolunteerTableDetailView { + + public int Sort { get; set; } /// /// 院校Id /// diff --git a/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs b/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs new file mode 100644 index 0000000..16e7175 --- /dev/null +++ b/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs @@ -0,0 +1,80 @@ +using New_College.IRepository; +using New_College.IRepository.UnitOfWork; +using New_College.Model; +using New_College.Model.Models; +using New_College.Model.ViewModels; +using New_College.Repository.Base; +using SqlSugar; +using System.Linq.Expressions; +using System.Linq; +using System; +using System.Threading.Tasks; +using MathNet.Numerics.Statistics.Mcmc; +using System.Collections.Generic; + +namespace New_College.Repository +{ + /// + /// D_PlanMajorDescProRepository + /// + public class D_PlanMajorDescProRepository : BaseRepository, ID_PlanMajorDescProRepository + { + public D_PlanMajorDescProRepository(IUnitOfWork unitOfWork) : base(unitOfWork) + { + + } + + public async Task> GetUniversityPlanPro(UniversityProViewQuery request) + { + RefAsync totalCount = 0; + var pageresult = new PageModel(); + + var pagelist = await this.Db.Queryable().Where(c => c.Location == request.Location) + .Where(c => c.Years == request.Year) + .WhereIF(request.Sff.HasValue, c => c._211 == (request.Sff == 1 ? "是" : "否")) + .WhereIF(request.Nhef.HasValue, c => c._985 == (request.Nhef == 1 ? "是" : "否")) + .WhereIF(request.Syl.HasValue, c => c._SYL == (request.Syl == 1 ? "是" : "否")) + .WhereIF(request.Nature != null && request.Nature.Any(), x => SqlFunc.ContainsArray(request.Nature, x.Nature)) + .WhereIF(request.AreaName != null && request.AreaName.Any() && !request.AreaName.Contains("全国"), x => SqlFunc.ContainsArray(request.AreaName, x.AreaName)) + .WhereIF(request.SubjectLevel.HasValue, c => c.EducationCategory == (request.SubjectLevel == 1 ? "本科" : "专科")) + .WhereIF(!string.IsNullOrWhiteSpace(request.Name), c => SqlFunc.Contains(c.UniversityName, request.Name)).GroupBy(c => new + { + c.AreaName, + c.UId, + c.UniversityName, + c.Nature, + c._985, + c._211, + c._SYL, + c.SchoolType, + c.EducationCategory, + c.Rank + + }) + .Select(c => new UniversityPlanProView() + { + AreaName = c.AreaName, + ALLCount = SqlFunc.AggregateSum(c.PlanCount), + MajorCount = SqlFunc.AggregateCount(c.UId), + NewCount = SqlFunc.AggregateSum(c.NewCount), + UId = c.UId, + Name = c.UniversityName, + Nature = c.Nature, + _985 = c._985, + _211 = c._211, + _SYL = c._SYL, + UniversityType = c.SchoolType, + SubjectLevel = c.EducationCategory, + Rank = c.Rank + }) + .OrderBy(k => k.UId, OrderByType.Asc) + .ToPageListAsync(request.PageIndex, request.PageSize, totalCount); + pageresult.pageCount = (Math.Ceiling(totalCount.ObjToDecimal() / request.PageSize.ObjToDecimal())).ObjToInt(); + pageresult.page = request.PageIndex; + pageresult.data = pagelist; + pageresult.dataCount = totalCount; + pageresult.PageSize = request.PageSize; + return pageresult; + } + } +} \ No newline at end of file diff --git a/New_College.Repository/BASE/ID_PlanMajorDescProRepository.cs b/New_College.Repository/BASE/ID_PlanMajorDescProRepository.cs new file mode 100644 index 0000000..1dd6138 --- /dev/null +++ b/New_College.Repository/BASE/ID_PlanMajorDescProRepository.cs @@ -0,0 +1,16 @@ +using New_College.IRepository.Base; +using New_College.Model; +using New_College.Model.Models; +using New_College.Model.ViewModels; +using System.Threading.Tasks; + +namespace New_College.IRepository +{ + /// + /// ID_PlanMajorDescProRepository + /// + public interface ID_PlanMajorDescProRepository : IBaseRepository + { + Task> GetUniversityPlanPro(UniversityProViewQuery request); + } +} \ No newline at end of file diff --git a/New_College.Services/D_PlanMajorDescProServices.cs b/New_College.Services/D_PlanMajorDescProServices.cs new file mode 100644 index 0000000..b94d44d --- /dev/null +++ b/New_College.Services/D_PlanMajorDescProServices.cs @@ -0,0 +1,83 @@ + +using New_College.IServices; +using New_College.Model.Models; +using New_College.Services.BASE; +using New_College.IRepository.Base; +using System.Threading.Tasks; +using New_College.Model; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using New_College.Model.ViewModels; +using SqlSugar; +using System.Linq.Expressions; +using System; +using System.Data.Entity.Core.Common.CommandTrees; +using System.Linq; +using New_College.IRepository; + +namespace New_College.Services +{ + public class D_PlanMajorDescProServices : BaseServices, ID_PlanMajorDescProServices + { + private readonly IBaseRepository _dal; + private readonly ID_PlanMajorDescProRepository d_PlanMajorDescProRepository; + public D_PlanMajorDescProServices(IBaseRepository dal, ID_PlanMajorDescProRepository d_PlanMajorDescPro) + { + this._dal = dal; + base.BaseDal = dal; + d_PlanMajorDescProRepository= d_PlanMajorDescPro; + } + + + + /// + /// + /// + /// + /// + public async Task GetMajorPlanPro(MajorPlanProViewQuery request) + { + var majorview = new MajorPlanProView(); + Expression> expression = Expressionable.Create() + .And(c => c.UId == request.UId) + .And(c => c.Location == request.Location) + .And(c => c.Years == request.Year) + .ToExpression(); + var query = await _dal.Query(expression); + var view = query.First(); + majorview.UId = view.UId; + majorview.UniversityName = view.Location; + majorview.UniversityCode = view.EnrollmentCode; + majorview.itemViews = query.Select(c => new MajorPlanProItemView() + { + BatchName = c.BatchName, + fee = c.Free, + Major = c.Major, + MajorCode = c.MajorCode, + MajorGroup = c.MajorGroup, + MajorRemark = c.Remark, + planCount = c.PlanCount, + NewCount = c.NewCount, + OldPlanCount = c.PlanCount + c.NewCount, + SubjectClam = c.SelectSubject, + Years = c.Years + }).ToList(); + return majorview; + } + + + + + + /// + /// + /// + /// + /// + public async Task> GetUniversityPlanPro(UniversityProViewQuery request) + { + + return await d_PlanMajorDescProRepository.GetUniversityPlanPro(request); + } + } +} \ No newline at end of file diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index deb9e7e..9b264d4 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -50,6 +50,7 @@ namespace New_College.Services .And(c => c.IsDelete == false) .And(c => c.Location == request.Location) .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName)) + .AndIF(!string.IsNullOrWhiteSpace(request.Name), c => SqlFunc.Contains(c.UniversityName, request.Name)) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SubjectType == request.SchoolType) .AndIF(request.Score > 0 && (request.EndScore <= endscore && request.StartScore >= startscore), c => SqlFunc.Between(c.LowScore, startscore, endscore)) @@ -68,7 +69,7 @@ namespace New_College.Services .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, 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])) .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) @@ -151,6 +152,10 @@ namespace New_College.Services /// public async Task> GetPlanMajorList(OneSubmitGoRequest request) { + + request.PageSize = 96;//山东省 + + var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); var pagemodel = new PageModel(); Expression> expression = Expressionable.Create() @@ -170,8 +175,6 @@ namespace New_College.Services .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 desc "); var majorarry = query.data.Select(c => c.Major).Distinct().ToArray();