From f65d0a16e107c2d21bedefd1a6e3649b3d509dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=93=E5=A4=A7=E5=B8=88?= <156663459@qq.com> Date: Mon, 28 Jun 2021 20:04:40 +0800 Subject: [PATCH] =?UTF-8?q?----bug=20=E4=BF=AE=E5=A4=8D=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Front/EnrollMentPlansController.cs | 14 +++-- .../IT_EnrollmentPlaneServices.cs | 5 +- .../ViewModels/Query/EnrollmentPlanRequest.cs | 4 +- .../BASE/IT_EnrollmentPlaneRepository.cs | 9 +-- .../BASE/T_EnrollmentPlaneRepository.cs | 60 +++++++++++++------ .../T_EnrollmentPlaneServices.cs | 12 ++-- 6 files changed, 69 insertions(+), 35 deletions(-) diff --git a/New_College.Api/Controllers/Front/EnrollMentPlansController.cs b/New_College.Api/Controllers/Front/EnrollMentPlansController.cs index ddafd69..5368266 100644 --- a/New_College.Api/Controllers/Front/EnrollMentPlansController.cs +++ b/New_College.Api/Controllers/Front/EnrollMentPlansController.cs @@ -20,9 +20,11 @@ namespace New_College.Api.Controllers.Front public class EnrollMentPlansController : ControllerBase { private readonly IT_EnrollmentPlaneServices t_EnrollmentPlane; - public EnrollMentPlansController(IT_EnrollmentPlaneServices enrollmentPlaneServices) + private readonly IT_EnrollmentBatchServices t_EnrollmentBatch; + public EnrollMentPlansController(IT_EnrollmentPlaneServices enrollmentPlaneServices, IT_EnrollmentBatchServices t_EnrollmentBatchServices) { this.t_EnrollmentPlane = enrollmentPlaneServices; + this.t_EnrollmentBatch = t_EnrollmentBatchServices; } @@ -32,16 +34,18 @@ 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()) { + 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, @@ -50,7 +54,7 @@ namespace New_College.Api.Controllers.Front } else { - return new MessageModel>() + return new MessageModel>() { msg = "相关信息更新中...", }; @@ -58,7 +62,7 @@ namespace New_College.Api.Controllers.Front } catch (Exception ex) { - return new MessageModel>() + return new MessageModel>() { msg = ex.Message }; diff --git a/New_College.IServices/IT_EnrollmentPlaneServices.cs b/New_College.IServices/IT_EnrollmentPlaneServices.cs index aeff9ac..bc3aa54 100644 --- a/New_College.IServices/IT_EnrollmentPlaneServices.cs +++ b/New_College.IServices/IT_EnrollmentPlaneServices.cs @@ -1,4 +1,5 @@ using New_College.IServices.BASE; +using New_College.Model; using New_College.Model.Models; using New_College.Model.ViewModels.Query; using New_College.Model.ViewModels.Result; @@ -12,7 +13,7 @@ namespace New_College.IServices /// public interface IT_EnrollmentPlaneServices : IBaseServices { - Task Import(); + //Task Import(); /// @@ -20,7 +21,7 @@ namespace New_College.IServices /// /// /// - Task> GetEnrollmentPlans(EnrollmentPlanRequest request); + Task> GetEnrollmentPlans(EnrollmentPlanRequest request); } diff --git a/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs b/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs index 4297a2f..84ad0ca 100644 --- a/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs +++ b/New_College.Model/ViewModels/Query/EnrollmentPlanRequest.cs @@ -4,7 +4,7 @@ using System.Text; namespace New_College.Model.ViewModels.Query { - public class EnrollmentPlanRequest + public class EnrollmentPlanRequest : BasePageRequest { public string UniversityName { get; set; } @@ -18,5 +18,7 @@ namespace New_College.Model.ViewModels.Query public string BatchName { get; set; } + public int BatchtypeId { get; set; } + } } diff --git a/New_College.Repository/BASE/IT_EnrollmentPlaneRepository.cs b/New_College.Repository/BASE/IT_EnrollmentPlaneRepository.cs index f8ac5e3..acbd3ff 100644 --- a/New_College.Repository/BASE/IT_EnrollmentPlaneRepository.cs +++ b/New_College.Repository/BASE/IT_EnrollmentPlaneRepository.cs @@ -1,4 +1,5 @@ using New_College.IRepository.Base; +using New_College.Model; using New_College.Model.Models; using New_College.Model.ViewModels.Query; using New_College.Model.ViewModels.Result; @@ -7,11 +8,11 @@ using System.Threading.Tasks; namespace New_College.IRepository { - /// - /// IT_EnrollmentPlaneRepository - /// + /// + /// IT_EnrollmentPlaneRepository + /// public interface IT_EnrollmentPlaneRepository : IBaseRepository { - Task> GetEnrollmentPlans(EnrollmentPlanRequest request); + Task> GetEnrollmentPlans(EnrollmentPlanRequest request); } } \ No newline at end of file diff --git a/New_College.Repository/BASE/T_EnrollmentPlaneRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlaneRepository.cs index 7135fab..097e7a7 100644 --- a/New_College.Repository/BASE/T_EnrollmentPlaneRepository.cs +++ b/New_College.Repository/BASE/T_EnrollmentPlaneRepository.cs @@ -1,11 +1,14 @@ using New_College.IRepository; using New_College.IRepository.UnitOfWork; +using New_College.Model; using New_College.Model.Models; using New_College.Model.ViewModels.Query; using New_College.Model.ViewModels.Result; using New_College.Repository.Base; using SqlSugar; +using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; namespace New_College.Repository @@ -15,33 +18,54 @@ namespace New_College.Repository /// public class T_EnrollmentPlaneRepository : BaseRepository, IT_EnrollmentPlaneRepository { - public T_EnrollmentPlaneRepository(IUnitOfWork unitOfWork) : base(unitOfWork) + + private readonly ID_UniversityRepository d_University; + public T_EnrollmentPlaneRepository(IUnitOfWork unitOfWork, ID_UniversityRepository d_UniversityRepository) : base(unitOfWork) { + this.d_University = d_UniversityRepository; } - + /// /// /// /// /// - public async Task> GetEnrollmentPlans(EnrollmentPlanRequest request) + public async Task> GetEnrollmentPlans(EnrollmentPlanRequest request) { - var planinfo = await this.Db.Queryable((plans, universitys, batchs) => new object[] { JoinType.Left, plans.UniversityId == universitys.Id, JoinType.Left, plans.BatchtypeId == batchs.Id }) - .Where((plans, universitys) => plans.PlanId == request.PlanId) - .WhereIF(!string.IsNullOrEmpty(request.UniversityName), (plans, universitys, batchs) => universitys.Name.Contains(request.UniversityName)) - .WhereIF(!string.IsNullOrEmpty(request.MajorName), (plans, universitys, batchs) => plans.MajorName.Contains(request.MajorName)) - .WhereIF(!string.IsNullOrEmpty(request.BatchName), (plans, universitys, batchs) => batchs.Batch_name.Contains(request.BatchName)) - .OrderBy((plans) => plans.OrderSort, OrderByType.Desc).Select((plans, universitys, batchs) => new EnrollmentPlansResult - { - Id = plans.Id, - BatchName = batchs.Batch_name, - MajorName = plans.MajorName, - PlanCount = plans.Plancount, - UniversityName = universitys.Name - }).ToListAsync(); - return planinfo; - ; + var ulist = new List(); + RefAsync totalNumber = 0; + if (!string.IsNullOrWhiteSpace(request.UniversityName)) + { + ulist = (await this.d_University.Query(e => e.Name.Contains(request.UniversityName))).Select(s => s.Id).ToList(); + } + var planinfo = await this.Db.Queryable((plans, universitys, Batchtype) => new object[] { JoinType.Left, plans.UniversityId == universitys.Id, JoinType.Left, plans.BatchtypeId == Batchtype.Id }) + .Where(plans => plans.PlanId == request.PlanId && plans.BatchtypeId == request.BatchtypeId) + .WhereIF(ulist.Any() && ulist.Count() > 0, plans => ulist.Contains(plans.UniversityId)) + .WhereIF(!string.IsNullOrEmpty(request.MajorName), plans => plans.MajorName.Contains(request.MajorName)) + .OrderBy((plans) => plans.OrderSort, OrderByType.Desc).Select((plans, universitys, Batchtype) => new EnrollmentPlansResult + { + Id = plans.Id, + BatchName = Batchtype.Batch_name, + MajorName = plans.MajorName, + PlanCount = plans.Plancount, + UniversityName = universitys.Name + }).ToPageListAsync(request.PageIndex, request.PageSize, totalNumber); + return new PageModel() + { + data = planinfo, + page = request.PageIndex, + PageSize = request.PageSize, + dataCount = totalNumber, + pageCount = (int)Math.Ceiling(totalNumber / Convert.ToDecimal(request.PageSize)) + }; + } + + + + + + } } \ No newline at end of file diff --git a/New_College.Services/T_EnrollmentPlaneServices.cs b/New_College.Services/T_EnrollmentPlaneServices.cs index 460027f..cc9c047 100644 --- a/New_College.Services/T_EnrollmentPlaneServices.cs +++ b/New_College.Services/T_EnrollmentPlaneServices.cs @@ -13,6 +13,7 @@ using System.Data.Entity.ModelConfiguration.Conventions; using System; using New_College.Model.ViewModels.Result; using New_College.Model.ViewModels.Query; +using New_College.Model; namespace New_College.Services { @@ -34,15 +35,16 @@ namespace New_College.Services /// /// /// - public async Task> GetEnrollmentPlans(EnrollmentPlanRequest request) + public async Task> GetEnrollmentPlans(EnrollmentPlanRequest request) { + return await this.planeRepository.GetEnrollmentPlans(request); } - public Task Import() - { - throw new NotImplementedException(); - } + //public Task Import() + //{ + // throw new NotImplementedException(); + //} #region 2019上海招生分数更新 /////