From 996994af25707f7a87a1dc7458426b911851464e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Tue, 14 May 2024 11:12:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=89=E5=B1=82=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Front/LibraryController.cs | 23 ++- .../Controllers/HealthCheckController.cs | 6 +- New_College.Api/New_College.xml | 7 + New_College.IServices/ID_LongIdMapServices.cs | 18 +++ .../ViewModels/Result/uniMajorSecond.cs | 15 +- .../BASE/IT_TbSNeedDataInfoRepository.cs | 1 + .../BASE/T_TbSNeedDataInfoRepository.cs | 6 + New_College.Services/D_LongIdMapServices.cs | 152 +++++++++++++++--- 8 files changed, 200 insertions(+), 28 deletions(-) diff --git a/New_College.Api/Controllers/Front/LibraryController.cs b/New_College.Api/Controllers/Front/LibraryController.cs index d30b782..297d37e 100644 --- a/New_College.Api/Controllers/Front/LibraryController.cs +++ b/New_College.Api/Controllers/Front/LibraryController.cs @@ -179,7 +179,7 @@ namespace New_College.Api.Controllers.Front return new MessageModel>() { - response = result, + response = result, }; } @@ -425,6 +425,27 @@ namespace New_College.Api.Controllers.Front } + + + + /// + /// 院校相关专业专用三层下拉接口 + /// + /// + /// + [HttpGet] + public async Task>> GetUniversityMajorByTree([FromQuery] IdQuery query) + { + var result = await iD_LongIdMapServices.GetUniversityMajorByTree(query); + + return new MessageModel>() + { + success = true, + msg = "获取成功", + response = result + }; + } + /// /// 院校相关专业专用 /// diff --git a/New_College.Api/Controllers/HealthCheckController.cs b/New_College.Api/Controllers/HealthCheckController.cs index a6b3eaa..374176c 100644 --- a/New_College.Api/Controllers/HealthCheckController.cs +++ b/New_College.Api/Controllers/HealthCheckController.cs @@ -68,9 +68,11 @@ namespace New_College.Controllers //return d_LongIdMapServices.UpdateUniveristyInf(); - await d_LongIdMapServices.UpdateSchoolScoreLine23(); + //更新院校分数线 + // await d_LongIdMapServices.UpdateSchoolScoreLine23(); - // await v_CustomerInfoServices.CustomeBillExport(); + await d_LongIdMapServices.PlanNeedProSync("浙江省", 2023, "综合", "普通类一段"); + // await v_CustomerInfoServices.CustomeBillExport(); return true; } diff --git a/New_College.Api/New_College.xml b/New_College.Api/New_College.xml index c2cfab9..5a336f7 100644 --- a/New_College.Api/New_College.xml +++ b/New_College.Api/New_College.xml @@ -520,6 +520,13 @@ + + + 院校相关专业专用三层下拉接口 + + + + 院校相关专业专用 diff --git a/New_College.IServices/ID_LongIdMapServices.cs b/New_College.IServices/ID_LongIdMapServices.cs index 1a0577c..fe3e8d4 100644 --- a/New_College.IServices/ID_LongIdMapServices.cs +++ b/New_College.IServices/ID_LongIdMapServices.cs @@ -13,6 +13,16 @@ namespace New_College.IServices /// public interface ID_LongIdMapServices : IBaseServices { + + /// + /// 同步融合表 + /// + /// + /// + /// + /// + /// + Task PlanNeedProSync(string location, int years, string subjectType, string batchname); /// /// 更显专业分数线 /// @@ -66,6 +76,14 @@ namespace New_College.IServices Task> GetUniversityMajor(IdQuery query); + + /// + /// 院校关联专业三级下拉 + /// + /// + /// + Task> GetUniversityMajorByTree(IdQuery query); + /// /// 获取职业第三级 /// diff --git a/New_College.Model/ViewModels/Result/uniMajorSecond.cs b/New_College.Model/ViewModels/Result/uniMajorSecond.cs index 23d8503..05aeef4 100644 --- a/New_College.Model/ViewModels/Result/uniMajorSecond.cs +++ b/New_College.Model/ViewModels/Result/uniMajorSecond.cs @@ -24,6 +24,19 @@ namespace New_College.Model.ViewModels public string Code { get; set; } } + + + public class uniTreeMajorItems + { + public int ParnetId { get; set; } + public int Id { get; set; } + public string Name { get; set; } + public List Item { get; set; } + public int MajorNum { get; set; } + + } + + /// /// uni 专业列表 /// @@ -96,7 +109,7 @@ namespace New_College.Model.ViewModels public List children { get; set; } } - + } diff --git a/New_College.Repository/BASE/IT_TbSNeedDataInfoRepository.cs b/New_College.Repository/BASE/IT_TbSNeedDataInfoRepository.cs index 353c720..9e9c58c 100644 --- a/New_College.Repository/BASE/IT_TbSNeedDataInfoRepository.cs +++ b/New_College.Repository/BASE/IT_TbSNeedDataInfoRepository.cs @@ -11,6 +11,7 @@ namespace New_College.IRepository public interface IT_TbSNeedDataInfoRepository : IBaseRepository { Task BatchUpdate(List t_TbSNeeds); + Task BatchAdd(List t_TbSNeeds); } } \ No newline at end of file diff --git a/New_College.Repository/BASE/T_TbSNeedDataInfoRepository.cs b/New_College.Repository/BASE/T_TbSNeedDataInfoRepository.cs index f46ab4d..f8447d5 100644 --- a/New_College.Repository/BASE/T_TbSNeedDataInfoRepository.cs +++ b/New_College.Repository/BASE/T_TbSNeedDataInfoRepository.cs @@ -16,6 +16,12 @@ namespace New_College.Repository { } + + public async Task BatchAdd(List t_TbSNeeds) + { + return await this.Db.Fastest().BulkCopyAsync(t_TbSNeeds); + } + public async Task BatchUpdate(List t_TbSNeeds) { return await this.Db.Fastest().BulkUpdateAsync(t_TbSNeeds); diff --git a/New_College.Services/D_LongIdMapServices.cs b/New_College.Services/D_LongIdMapServices.cs index a14f4c5..3bbe760 100644 --- a/New_College.Services/D_LongIdMapServices.cs +++ b/New_College.Services/D_LongIdMapServices.cs @@ -792,6 +792,51 @@ namespace New_College.Services return list; } + public async Task> GetUniversityMajorByTree(IdQuery query) + { + var rootlist = new List(); + var majormapids = (await d_MajorMapUniversityRepository.Query(x => x.IsDelete == false && x.Universityid == query.Id && x.MajorId > 0)).Select(x => x.MajorId).ToList(); + var majorclass = (await d_MajorRepository.Query(x => x.IsDelete == false && majormapids.Contains(x.Id))); + var majorclassids = majorclass.Select(x => x.CategoryClass_Id).ToList(); + var secondnodes = new List() { }; + var majorclassinfo = await d_MajorClassRepository.Query(x => majorclassids.Contains(x.Id)); + var majorroot = await d_MajorCategoryRepository.Query(x => majorclassinfo.Select(c => c.TradeId).Contains(x.Id)); + foreach (var item in majorclassinfo) + { + var thridnodes = majorclass.Where(x => x.CategoryClass_Id == item.Id).Select(x => new uniTreeMajorItems() + { + Id = x.Id, + Name = x.Name, + ParnetId = item.Id, + }).ToList(); + if (thridnodes.Count > 0) + secondnodes.Add(new uniTreeMajorItems() + { + ParnetId = item.TradeId, + Id = item.Id, + Name = item.Name, + Item = thridnodes, + MajorNum = thridnodes.Count() + }); + } + majorroot.ForEach(c => + { + if (secondnodes.Any()) + { + rootlist.Add(new uniTreeMajorItems() + { + Id = c.Id, + Item = secondnodes.Where(e => e.ParnetId == c.Id).ToList(), + MajorNum = secondnodes.Where(e => e.ParnetId == c.Id).Count(), + Name = c.Name, + ParnetId = 0 + }); + } + }); + return rootlist; + } + + /// /// 获取职业第三级 /// @@ -1936,7 +1981,7 @@ namespace New_College.Services var dsQualification = new List(); var list = await d_PlanMajorScoreLineRepository.Query(e => e.IsDelete == false && e.Years == 2023 && e.Location == "浙江省"); - + var planlist = await d_PlanMajorDescProRepository.Query(e => e.IsDelete == false && e.Years == 2023 && e.Location == "浙江省"); //var universitylist = await d_UniversityRepository.Query(); planlist.ForEach(a => @@ -1959,29 +2004,27 @@ namespace New_College.Services // c.UId = universitylist.Where(e => e.Name == c.UniversityName).FirstOrDefault().Id; // } //}); - //await d_PlanMajorScoreLineRepository.BatchUpdate(list); - //var unlist = list.Select(c => c.UniversityName).Distinct().ToList(); - //unlist.ForEach(a => - //{ - // var models = list.Where(e => e.UniversityName == a).FirstOrDefault(); - // //先找出院校最低分 - // dsQualification.Add(new D_QualificationLine() - // { - // Years = models.Years, - // UniversityName = a, - // CreateTime = DateTime.Now, - // IsDelete = false, - // Location = models.Location, - // OrderSort = 0, - // UId = models.UId, - // LowScore = list.Where(e => e.UniversityName == a).Select(c => c.LowScore).Min(), - // LowScoreRank = list.Where(e => e.UniversityName == a).Select(c => c.LowScoreRank).Min() - // }); - - - //}); - //var tt = dsQualification; - //await d_QualificationLineRepository.BatchAdd(dsQualification); + await d_PlanMajorScoreLineRepository.BatchUpdate(list); + var unlist = list.Select(c => c.UniversityName).Distinct().ToList(); + unlist.ForEach(a => + { + var models = list.Where(e => e.UniversityName == a).FirstOrDefault(); + //先找出院校最低分 + dsQualification.Add(new D_QualificationLine() + { + Years = models.Years, + UniversityName = a, + CreateTime = DateTime.Now, + IsDelete = false, + Location = models.Location, + OrderSort = 0, + UId = models.UId, + LowScore = list.Where(e => e.UniversityName == a).Select(c => c.LowScore).Min(), + LowScoreRank = list.Where(e => e.UniversityName == a).Select(c => c.LowScoreRank).Max() + }); + }); + var tt = dsQualification; + await d_QualificationLineRepository.BatchAdd(dsQualification); return true; } @@ -2217,12 +2260,71 @@ namespace New_College.Services } + + + + + /// + /// 同步need表数据 + /// + /// + /// + /// + /// + /// + public async Task PlanNeedProSync(string location, int years, string subjectType, string batchname) + { + var needlist = new List(); + var universitylist = await d_UniversityRepository.Query(); + var majorlist = await d_PlanMajorScoreLineRepository.Query(e => e.Location == location); + var plist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == location && c.Years == years && c.BatchName == batchname && c.IsDelete == false); + plist.ForEach(a => + { + var u = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault(); + needlist.Add(new T_TbSNeedDataInfo() + { + AcademicYear = a.AcademicYear, + // City = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Area_Name + Province = u.Area_Name, + EducationCategory = u.Subject_Level == 0 ? "本科" : "专科", + EnrollmentCode = u.UniversityCode, + Fee = a.Free, + Location = a.Location, + MajorCode = a.MajorCode, + MajorName = a.Major, + MastersDegree = u.Master_Count.ToString(), + UniversityName = a.UniversityName, + Ownership = u.AscriptionName, + Nature = u.Nature == 0 ? "公办" : u.Nature == 1 ? "民办" : u.Nature == 2 ? "中外合作办学" : "港澳台", + Remark = a.Remark, + PhDPoint = u.Doctorate_Count.ToString(), + SubjectType = subjectType, + _23subject = a.SelectSubject, + _23Count = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().PlanCount.ToString() : "0", + _23Score = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScore.ToString() : "0", + _23ScoreLine = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0", + _22Count = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().PlanCount.ToString() : "0", + _22Score = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScore.ToString() : "0", + _22ScoreLine = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0", + _21Count = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().PlanCount.ToString() : "0", + _21Score = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScore.ToString() : "0", + _21ScoreLine = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0", + _23SchoolScoreLine = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Select(c => c.LowScoreRank).Max().ToString() : "0", + _23SchoolScore = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Select(c => c.LowScore).Min().ToString() : "0" + }); + + }); + var tt = needlist; + // await t_TbSNeedDataInfoRepository.BatchAdd(tt); + return true; + } /// /// 更新招生计划数据 /// /// public async Task UpdatePlanProInf() { + var tbinfo = await t_TbSNeedDataInfoRepository.Query(e => e.Location == "河南省"); var universitylist = await d_UniversityRepository.Query(); var majorlist = await d_MajorRepository.Query(); @@ -2410,6 +2512,8 @@ namespace New_College.Services + + // #region 院校排序 /// /// 院校排序