diff --git a/New_College.Api/New_College.Model.xml b/New_College.Api/New_College.Model.xml index e46d156..b3032d0 100644 --- a/New_College.Api/New_College.Model.xml +++ b/New_College.Api/New_College.Model.xml @@ -545,6 +545,31 @@ 院校所在省份 + + + 院校所在城市 + + + + + 排名 + + + + + + + + + + 科类 + + + + + 专业组 + + 批次 @@ -570,6 +595,11 @@ 专业 + + + 专业备注 + + 最低分 @@ -595,14 +625,39 @@ 生源地 - + - 专业组 + 办学性质 - + - 专业备注 + 学校归属 + + + + + 全国统一招生代码 + + + + + 招生类型 + + + + + 学校类别 + + + + + 学历类别 + + + + + 学校曾用名 @@ -5600,6 +5655,11 @@ 排名 + + + + + 是否211 @@ -5640,6 +5700,11 @@ 是否双一流 + + + + + 对应的Ids diff --git a/New_College.Model/Models/D_PlanMajorDesc.cs b/New_College.Model/Models/D_PlanMajorDesc.cs index 9476594..5ee627e 100644 --- a/New_College.Model/Models/D_PlanMajorDesc.cs +++ b/New_College.Model/Models/D_PlanMajorDesc.cs @@ -27,6 +27,40 @@ namespace New_College.Model.Models /// 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; } + /// ///批次 /// @@ -55,6 +89,10 @@ namespace New_College.Model.Models [SugarColumn(IsNullable = true, Length = 1000)] public string Major { get; set; } + /// + /// 专业备注 + /// + public string Remark { get; set; } public string MajorCode { get; set; } @@ -88,14 +126,39 @@ namespace New_College.Model.Models public string Location { get; set; } /// - /// 专业组 + /// 办学性质 /// - public string MajorGroup { get; set; } + public string Nature { get; set; } /// - /// 专业备注 + /// 学校归属 /// - public string Remark { 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/Result/VolunteerResult.cs b/New_College.Model/ViewModels/Result/VolunteerResult.cs index 9e60d85..2562dcf 100644 --- a/New_College.Model/ViewModels/Result/VolunteerResult.cs +++ b/New_College.Model/ViewModels/Result/VolunteerResult.cs @@ -23,6 +23,16 @@ namespace New_College.Model.ViewModels public string Logo { get; set; } public int? Nhef { get; set; } + + public string _985 { get; set; } + + + public string _211 { get; set; } + + /// + /// + /// + public string _SYL { get; set; } /// /// 是否211 /// @@ -85,6 +95,15 @@ namespace New_College.Model.ViewModels public int? Syl { get; set; } + public string _985 { get; set; } + + + public string _211 { get; set; } + + /// + /// + /// + public string _SYL { get; set; } ///// ///// 院校最低分 diff --git a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs index e0b8067..dbf1c92 100644 --- a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs +++ b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs @@ -1,4 +1,5 @@ using LinqKit; +using New_College.Common.Helper; using New_College.IRepository; using New_College.IRepository.UnitOfWork; using New_College.Model; @@ -113,7 +114,7 @@ namespace New_College.Repository /// - /// 暂未实现 + /// CWB /// /// /// @@ -121,6 +122,10 @@ namespace New_College.Repository { query.Year = query.Year > 2023 ? 2023 : query.Year; RefAsync totalNumber = 0; + if(query.provinceIds == null) + { + query.provinceIds=new List() { 0}; + } var regionlist = this.Db.Queryable().Where(c => c.Level == 1).WhereIF(query.provinceIds != null && query.provinceIds.Any(), c => SqlFunc.ContainsArray(query.provinceIds, c.KeyId)).Select(c => c.RegionName).ToList(); var subjects = new string[] { }; @@ -163,15 +168,25 @@ namespace New_College.Repository { // plans.Id, plans.UId, - plans.UniversityName + plans.UniversityName, + //plans.AreaName, + //plans.Ownership, + //plans._211, + //plans._985, + //plans._SYL, + //plans.SubjectType, // plans.LowScore, // plans.LowScoreRank }) .Select(p => new UniversityEnrollmentPlanResult() { - // AreaName = universitys.Area_Name, + // AreaName = p.AreaName, UniversityId = p.UId, - // AscriptionName = universitys.AscriptionName, + // AscriptionName=p.Ownership, + //_211=p._211, + //_985=p._985, + //_SYL=p._SYL, + // Type= p.SubjectType, // Logo = universitys.Logo, // Nhef = universitys.Nhef, // Rank = universitys.Rank <= 0 ? "--" : universitys.Rank.ToString(), @@ -186,17 +201,19 @@ namespace New_College.Repository }).OrderBy(p => p.Scoreline, OrderByType.Desc) .ToPageListAsync(query.PageIndex, query.PageSize, totalNumber); - var universitylist = await d_University.Query(c => SqlFunc.ContainsArray(recommendInfo.Select(c => c.UniversityId).ToList(), c.Id)); + var universitylist = (await d_University.Query(c => SqlFunc.ContainsArray(recommendInfo.Select(c => c.UniversityId).ToList(), c.Id))).Select(c => new + D_University() + { Id = c.Id, Logo = c.Logo }).ToList(); recommendInfo.ForEach(a => { - a.AreaName = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Area_Name; - a.AscriptionName = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).AscriptionName; + //a.AreaName = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Area_Name; + //a.AscriptionName = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).AscriptionName; a.Logo = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Logo; - a.Nhef = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Nhef; - a.Rank = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Rank.ToString(); - a.Sff = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Sff; - a.Syl = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Syl; - a.AreaName = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Area_Name; + //a.Nhef = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Nhef; + //a.Rank = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Rank.ToString(); + //a.Sff = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Sff; + //a.Syl = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Syl; + //a.AreaName = universitylist.FirstOrDefault(c => c.Id == a.UniversityId).Area_Name; //a.PlanIds =new List() { 12123, 1212, 1212 }; a.Type = (a.Scoreline <= chongfirst && a.Scoreline > chongend) ? "冲" : (a.Scoreline <= chongend && a.Scoreline > wenend) ? "稳" : "保"; @@ -251,7 +268,7 @@ namespace New_College.Repository .WhereIF(query.Sff >= 0, (plans, universitys) => universitys.Sff == query.Sff) .WhereIF(query.Syl >= 0, (plans, universitys) => universitys.Syl == query.Syl) .WhereIF(query.Nature > 0, (plans, universitys) => universitys.Nature == query.Nature) - .WhereIF(!string.IsNullOrWhiteSpace(query.AreaName) && query.AreaName != "选择省份", (plans, universitys) => universitys.Area_Name==query.AreaName) + .WhereIF(!string.IsNullOrWhiteSpace(query.AreaName) && query.AreaName != "选择省份", (plans, universitys) => universitys.Area_Name == query.AreaName) .WhereIF(maxscore > 10, (plans, universitys) => plans.LowScore <= maxscore) .WhereIF(minscore > 0, (plans, universitys) => plans.LowScore > minscore) .WhereIF(query.Ranking > 0, (plans, universitys) => plans.LowScoreRank >= query.Ranking - 6) diff --git a/New_College.Services/D_LongIdMapServices.cs b/New_College.Services/D_LongIdMapServices.cs index 98c9c9b..ba85710 100644 --- a/New_College.Services/D_LongIdMapServices.cs +++ b/New_College.Services/D_LongIdMapServices.cs @@ -19,6 +19,7 @@ using New_College.Common.HttpRestSharp; using System.Text; using SqlSugar; using System.Linq.Expressions; +using Org.BouncyCastle.Asn1.Ocsp; namespace New_College.Services { @@ -756,13 +757,19 @@ namespace New_College.Services /// public async Task> GetPlanBySchollId(PlanQuery query) { - //var check = await t_EnrollmentBatchRepository.Query(x => x.Type == query.Type && x.Year == query.Year && x.Batch_name == query.BatchName && x.AreaName == query.AreaName); + Expression> whereexp = Expressionable.Create() //创建表达式 + .AndIF(!string.IsNullOrEmpty(query.AreaName), c => c.Location == query.AreaName) + .And(c => c.UId == query.UnviersityId) + .AndIF(!string.IsNullOrEmpty(query.BatchName), c => c.BatchName == query.BatchName) + .AndIF(query.Year > 0, c => c.Years == query.Year) + .ToExpression(); + ////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.Location == query.AreaName); //if (check.Count <= 0) - var check = await d_PlanMajorDescRepository.Query(x => x.Years == query.Year && x.BatchName == query.BatchName && x.Location == query.AreaName); - if (check.Count <= 0) - return new List() { }; + // return new List() { }; // var batchid = check.Select(x => x.Id)?.FirstOrDefault(); - var info = await d_PlanMajorDescRepository.Query(x => x.UId == query.UnviersityId && x.BatchName == query.BatchName && x.Years == query.Year && x.Location == query.AreaName); + var info = await d_PlanMajorDescRepository.Query(whereexp); List list = new List() { }; foreach (var item in info) { @@ -773,7 +780,7 @@ namespace New_College.Services SelectSubject = item.SelectSubject, Money = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free, PlanNum = item.PlanCount, - Scoreline = item.LowScore == 0 || string.IsNullOrWhiteSpace(item.LowScore.ToString()) ? "--" : item.LowScore.ToString() + Scoreline = item.LowScore == 0 || string.IsNullOrWhiteSpace(item.LowScore.ToString()) ? "--" : item.LowScore.ToString() }); } return list; @@ -1595,28 +1602,30 @@ namespace New_College.Services /// public async Task Import() { + var universitylist = await d_UniversityRepository.Query(); + var plist = await this._PlanMajorDescRepository.Query(c => c.Location == "山东省" && c.Years == 2023); + universitylist.ForEach(async u => + { + plist.ForEach(async cc => + { + if (cc.UId == u.Id) + { + cc.UId = u.Id; + cc.ModifyTime = DateTime.Now; + cc._985 = u.Nhef == 0 ? "否" : "是"; + cc._211 = u.Sff == 0 ? "否" : "是"; + cc._SYL = u.Syl == 0 ? "否" : "是"; + cc.AreaName = u.Area_Name; + cc.Nature = u.Nature == 0 ? "公办" : u.Nature == 1 ? "民办" : u.Nature == 2 ? "中外合作" : "港澳台"; + cc.Ownership = u.AscriptionName; + cc.EducationCategory = u.Subject_Level == 0 ? "本科" : "专科"; + //0综合,1理工类,2医学类|3军事类|4语言类|5师范类|6财经类|7政法类|8民族类|9农林类|10艺术类|11体育类|12其他 + cc.SchoolType = UniversityTypeRelsove.GetType(u.Type); + await this._PlanMajorDescRepository.Update(cc); + } - - - //var universitylist = await d_UniversityRepository.Query(); - - //var plist = await this._PlanMajorDescRepository.Query(c => c.Location == "山东" && c.Years == 2023); - //universitylist.ForEach(async u => - //{ - - - - // plist.ForEach(async cc => - // { - // if (cc.UniversityName == u.Name) - // { - // 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); @@ -1649,28 +1658,28 @@ namespace New_College.Services //this.d_PlanMajorScoreLineRepository = d_PlanMajorScoreLineRepository; //this.d_QualificationLineRepository = d_QualificationLineRepository; - var plandesc = await d_PlanMajorDescRepository.Query(c => c.Years == 2021 && c.Location == "山东"); - var plandescline = await d_PlanMajorScoreLineRepository.Query(c => c.Years == 2020 && c.Location == "山东"); - plandesc.ForEach(async a => - { - if (plandescline.Any(e => e.UId == a.UId && e.Major == a.Major && e.Location == a.Location)) - { - var firstdefault = plandescline.FirstOrDefault(e => e.UId == a.UId && a.Major == e.Major && e.Location == a.Location); - a.LowScore = firstdefault.LowScore; - a.LowScoreRank = firstdefault.LowScoreRank; - a.ModifyTime = DateTime.Now; - await d_PlanMajorDescRepository.Update(a); - } + //var plandesc = await d_PlanMajorDescRepository.Query(c => c.Years == 2021 && c.Location == "山东省"); + //var plandescline = await d_PlanMajorScoreLineRepository.Query(c => c.Years == 2020 && c.Location == "山东省"); + //plandesc.ForEach(async a => + //{ + // if (plandescline.Any(e => e.UId == a.UId && e.Major == a.Major && e.Location == a.Location)) + // { + // var firstdefault = plandescline.FirstOrDefault(e => e.UId == a.UId && a.Major == e.Major && e.Location == a.Location); + // a.LowScore = firstdefault.LowScore; + // a.LowScoreRank = firstdefault.LowScoreRank; + // a.ModifyTime = DateTime.Now; + // await d_PlanMajorDescRepository.Update(a); + // } - //if (!string.IsNullOrEmpty(a.Major)&&a.Major.Contains("(") &&!string.IsNullOrEmpty(a.SelectSubject)) - //{ - // a.ModifyTime = DateTime.Now; - // a.Remark = a.Major.Remove(a.Major.Length - 1, 1).Replace(a.Major.Split("(")[0], ""); - // a.Remark = a.Remark.Remove(0, 1); - // a.Major = a.Major.Split("(")[0]; - // await d_PlanMajorDescRepository.Update(a); - //} - }); + // //if (!string.IsNullOrEmpty(a.Major) && a.Major.Contains("(") && !string.IsNullOrEmpty(a.SelectSubject)) + // //{ + // // a.ModifyTime = DateTime.Now; + // // a.Remark = a.Major.Remove(a.Major.Length - 1, 1).Replace(a.Major.Split("(")[0], ""); + // // a.Remark = a.Remark.Remove(0, 1); + // // a.Major = a.Major.Split("(")[0]; + // // await d_PlanMajorDescRepository.Update(a); + // //} + //}); //plandescline.ForEach(async a => //{ diff --git a/New_College.Services/T_EnrollmentPlanedescServices.cs b/New_College.Services/T_EnrollmentPlanedescServices.cs index d8071f8..62e172d 100644 --- a/New_College.Services/T_EnrollmentPlanedescServices.cs +++ b/New_College.Services/T_EnrollmentPlanedescServices.cs @@ -397,441 +397,7 @@ namespace New_College.Services return tagcolor; } - #region old 霍兰德推荐学校专业 - ///// - ///// 霍兰德推荐学校专业 - ///// - ///// - ///// - //public async Task>> GetEnrollmentTagByPage(TagEnrollmentPlaneQuery 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 planid = planinfo.FirstOrDefault().Id; - // if (string.IsNullOrWhiteSpace(query.Tag)) - // return new MessageModel>() { success = false, msg = "Tag传入为空..." }; - // var newTags = GetTag(query.Tag).Distinct().ToList(); - // var planmaptag = await t_PlanMapTagRepository.Query(x => x.IsDelete == false); - // List majorcolorlists = new List() { }; - // List majorlists = new List() { }; - // int i = 0; - // foreach (var item in newTags) - // { - // i++; - // majorlists.AddRange(planmaptag.Where(x => x.Tag.Contains(item)).Select(x => x.Name)); - // majorcolorlists.AddRange(planmaptag.Where(x => x.Tag.Contains(item)).Select(x => new majorlists() - // { - // MajorName = x.Name, - // TagColor = TagcolorName(i).ToString() - // })); - // } - // majorlists = majorlists.Distinct().ToList(); - // if (majorlists.Count <= 0) - // return new MessageModel>() { success = false, msg = "标签匹配招生计划专业为空..." }; - // var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); - // if (batchinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "所属年份数据批次为空..." }; - // var batchids = batchinfo.Select(s => s.Id).ToList(); - // var wheres = PredicateBuilder.New(); - - // wheres.Start(x => x.IsDelete == false && x.PlanId == planid && majorlists.Contains(x.MajorName) && x.Scoreline <= query.Score && x.UniversityId > 0 && batchids.Contains(x.BatchtypeId)); - - // if (!string.IsNullOrWhiteSpace(query.SubjectClaim)) - // { - // if (query.SubjectClaim.Contains(",")) - // { - // var cc = query.SubjectClaim.Split(","); - // if (cc.Length == 2) - // { - // var cc1 = cc[0]; - // var cc2 = cc[1]; - // wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true || (x.Subjectclaim.Contains(query.SubjectClaim)) == true); - // } - // else if (cc.Length == 3) - // { - // var cc1 = cc[0]; - // var cc2 = cc[1]; - // var cc3 = cc[2]; - // wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(cc3) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true || (x.Subjectclaim.Contains(query.SubjectClaim) == true)); - // } - // } - // else - // { - // wheres.And(x => x.Subjectclaim.Contains(query.SubjectClaim) && !x.Subjectclaim.Contains(",")); - // } - // } - // var descinfo = await _dal.Query(wheres); - // if (descinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "该标签的对应招生计划为空..." }; - // var universityids = descinfo.OrderByDescending(x => x.Scoreline).Select(x => x.UniversityId).ToList(); - // var universityinfo = await d_UniversityRepository.Query(x => universityids.Contains(x.Id) && x.IsDelete == false); - - // if (query.SearchType == 1) - // { - // List list = new List() { }; - // foreach (var item in majorcolorlists) - // { - // var newdesc = descinfo.Where(x => x.MajorName == item.MajorName).ToList(); - // if (newdesc.Count > 0) - // { - // var newuniversityids = newdesc.Select(x => x.UniversityId).Distinct().ToList(); - // var newuniversityinfo = universityinfo.Where(x => newuniversityids.Contains(x.Id)); - // list.Add(new TagEnrollmentPlanResult() - // { - // Id = 0, - // Name = item.MajorName, - // Color = item.TagColor, - // Info = newuniversityinfo.Select(x => new OtherInfo() - // { - // Id = x.Id, - // Name = x.Name, - // Color = "" - // }).ToList() - // }); - // } - // } - // var datalist = list.OrderBy(x => x.Color).ToList(); - // return new MessageModel>() { success = true, msg = "获取成功", response = datalist }; - // } - // else - // { - // List list = new List() { }; - // foreach (var item in universityinfo) - // { - // var newdesc = descinfo.Where(x => x.UniversityId == item.Id).ToList(); - // if (newdesc.Count > 0) - // { - // List otherlist = new List() { }; - // foreach (var s in newdesc) - // { - // var color = majorcolorlists.Where(x => x.MajorName == s.MajorName).Select(x => x.TagColor).FirstOrDefault(); - // if (string.IsNullOrWhiteSpace(color)) - // color = "d_low"; - // otherlist.Add(new OtherInfo() - // { - // Id = 0, - // Name = s.MajorName, - // Color = color - // }); - // } - // var newotherlist = otherlist.OrderBy(x => x.Color); - // list.Add(new TagEnrollmentPlanResult() - // { - // Id = item.Id, - // Name = item.Name,//院校名称 - // Color = "",//院校没有颜色 - // Info = otherlist - // }); - // } - - // } - // return new MessageModel>() { success = true, msg = "获取成功", response = list }; - // } - - - // return new MessageModel>() { success = false, msg = "获取失败" }; - //} - - ///// - ///// 霍兰德推荐学校专业 - ///// - ///// - ///// - //public async Task>> GetEnrollmentTagByPage(TagEnrollmentPlaneQuery 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 planid = planinfo.FirstOrDefault().Id; - // if (string.IsNullOrWhiteSpace(query.Tag)) - // return new MessageModel>() { success = false, msg = "Tag传入为空..." }; - // var newTags = GetTag(query.Tag); - // var planmaptag = await t_PlanMapTagRepository.Query(x => x.IsDelete == false); - // List majorlists = new List() { }; - // foreach (var item in newTags) - // { - // majorlists.AddRange(planmaptag.Where(x => x.Tag.Contains(item)).Select(x => x.Name).ToList()); - // } - // majorlists = majorlists.Distinct().ToList(); - // if (majorlists.Count <= 0) - // return new MessageModel>() { success = false, msg = "标签匹配招生计划专业为空..." }; - // var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); - // if (batchinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "所属年份数据批次为空..." }; - // var batchids = batchinfo.Select(s => s.Id).ToList(); - - // //var descinfoss = await _dal.Query(x => x.IsDelete == false && x.PlanId == planid && majorlists.Contains(x.MajorName) && x.Scoreline <= query.Score && x.UniversityId > 0 && batchids.Contains(x.BatchtypeId)); - // StringBuilder sql = new StringBuilder() { }; - // StringBuilder sqlparams = new StringBuilder() { }; - - // var newmajorlists = ""; - // foreach (var item in majorlists) - // { - // newmajorlists = newmajorlists + "'" + item + "',"; - // } - // newmajorlists = newmajorlists.Substring(0, newmajorlists.Length - 1); - // var newbatchids = string.Join(",", batchids); - // var cc = query.Claim; - // if (!string.IsNullOrWhiteSpace(cc)) - // { - // if (cc.Contains(",")) - // { - // sql.AppendFormat("SELECT Subjectclaim,UniversityId,MajorName,Scoreline FROM `T_EnrollmentPlanedesc` where PlanId={0} and MajorName in ({1}) and Scoreline<={2} and UniversityId>0 and BatchtypeId in ({3}) and Subjectclaim='无限制' or Subjectclaim='无' or Subjectclaim like '%,%' and (", planid, newmajorlists, query.Score, newbatchids); - // var newcc = cc.Split(","); - // foreach (var item in newcc) - // { - // sqlparams.AppendFormat(" Subjectclaim like '%{0}%' or", item); - // } - // sqlparams.AppendFormat(" 1=1)"); - // sql.AppendFormat(sqlparams.ToString()); - // sql.AppendFormat(" union all"); - // sql.AppendFormat(" SELECT Subjectclaim,UniversityId,MajorName,Scoreline FROM `T_EnrollmentPlanedesc` where PlanId={0} and MajorName in ({1}) and Scoreline<={2} and UniversityId>0 and BatchtypeId in ({3}) and Subjectclaim='无限制' or Subjectclaim='无' or Subjectclaim like '%/%' and (", planid, newmajorlists, query.Score, newbatchids); - // sql.AppendFormat(sqlparams.ToString()); - // sql.AppendFormat(" union all"); - // sql.AppendFormat(" SELECT Subjectclaim,UniversityId,MajorName,Scoreline FROM `T_EnrollmentPlanedesc` where PlanId={0} and MajorName in ({1}) and Scoreline<={2} and UniversityId>0 and BatchtypeId in ({3}) and Subjectclaim not like '%,%' and Subjectclaim not like '%/%' and Subjectclaim='无限制' or Subjectclaim='无' and (", planid, newmajorlists, query.Score, newbatchids); - // sql.AppendFormat(sqlparams.ToString()); - // //wheres.And(x => x.Subjectclaim.Contains(cc)); - // } - // else - // { - // sql.AppendFormat("SELECT Subjectclaim,UniversityId,MajorName,Scoreline FROM `T_EnrollmentPlanedesc` where PlanId={0} and MajorName in ({1}) and Scoreline<={2} and UniversityId>0 and BatchtypeId in ({3}) and Subjectclaim='无限制' or Subjectclaim='无' or Subjectclaim like '%{4}%'", planid, newmajorlists, query.Score, newbatchids, cc); - // } - // } - // sql.AppendFormat(" group by Subjectclaim,UniversityId,MajorName,Scoreline"); - // var descinfo = await _dal.QuerySql(sql.ToString()); - // if (descinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "该标签的对应招生计划为空..." }; - // var universityids = descinfo.OrderByDescending(x => x.Scoreline).Select(x => x.UniversityId).ToList(); - // var universityinfo = await d_UniversityRepository.Query(x => universityids.Contains(x.Id) && x.IsDelete == false); - // List list = new List() { }; - // foreach (var item in majorlists) - // { - // var newdesc = descinfo.Where(x => x.MajorName == item).ToList(); - // if (newdesc.Count > 0) - // { - // var newuniversityids = newdesc.Select(x => x.UniversityId).Distinct().ToList(); - // var newuniversityinfo = universityinfo.Where(x => newuniversityids.Contains(x.Id)); - // list.Add(new TagEnrollmentPlanResult() - // { - // MajorName = item, - // SchoolInfo = newuniversityinfo.Select(x => new SchoolInfo() - // { - // AscriptionName = x.AscriptionName, - // Logo = x.Logo, - // Nhef = x.Nhef, - // Sff = x.Sff, - // Syl = x.Syl, - // UniversityId = x.Id, - // UniversityName = x.Name - // }).ToList() - // }); - // } - // } - - // return new MessageModel>() { success = true, msg = "获取成功", response = list }; - //} - - ///// - ///// 霍兰德推荐学校专业 old2 - ///// - ///// - ///// - //public async Task>> GetEnrollmentTagByPage(TagEnrollmentPlaneQuery 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 planid = planinfo.FirstOrDefault().Id; - // if (string.IsNullOrWhiteSpace(query.Tag)) - // return new MessageModel>() { success = false, msg = "Tag传入为空..." }; - // var newTags = GetTag(query.Tag); - // var planmaptag = await t_PlanMapTagRepository.Query(x => x.IsDelete == false); - // List majorlists = new List() { }; - // foreach (var item in newTags) - // { - // majorlists.AddRange(planmaptag.Where(x => x.Tag.Contains(item)).Select(x => x.Name).ToList()); - // } - // majorlists = majorlists.Distinct().ToList(); - // if (majorlists.Count <= 0) - // return new MessageModel>() { success = false, msg = "标签匹配招生计划专业为空..." }; - // var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); - // if (batchinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "所属年份数据批次为空..." }; - // var batchids = batchinfo.Select(s => s.Id).ToList(); - // var wheres = PredicateBuilder.New(); - - // wheres.Start(x => x.IsDelete == false && x.PlanId == planid && majorlists.Contains(x.MajorName) && x.Scoreline <= query.Score && x.UniversityId > 0 && batchids.Contains(x.BatchtypeId)); - - // if (!string.IsNullOrWhiteSpace(query.SubjectClaim)) - // { - // if (query.SubjectClaim.Contains(",")) - // { - // var cc = query.SubjectClaim.Split(","); - // if (cc.Length == 2) - // { - // var cc1 = cc[0]; - // var cc2 = cc[1]; - // wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true); - // } - // else if (cc.Length == 3) - // { - // var cc1 = cc[0]; - // var cc2 = cc[1]; - // var cc3 = cc[2]; - // wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(cc3) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true); - // } - // } - // else - // { - // wheres.And(x => x.Subjectclaim.Contains(query.SubjectClaim) && !x.Subjectclaim.Contains(",")); - // } - // } - // var descinfo = await _dal.Query(wheres); - // if (descinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "该标签的对应招生计划为空..." }; - // var universityids = descinfo.OrderByDescending(x => x.Scoreline).Select(x => x.UniversityId).ToList(); - // var universityinfo = await d_UniversityRepository.Query(x => universityids.Contains(x.Id) && x.IsDelete == false); - // List list = new List() { }; - // foreach (var item in majorlists) - // { - // var newdesc = descinfo.Where(x => x.MajorName == item).ToList(); - // if (newdesc.Count > 0) - // { - // var newuniversityids = newdesc.Select(x => x.UniversityId).Distinct().ToList(); - // var newuniversityinfo = universityinfo.Where(x => newuniversityids.Contains(x.Id)); - // list.Add(new TagEnrollmentPlanResult() - // { - // MajorName = item, - // SchoolInfo = newuniversityinfo.Select(x => new SchoolInfo() - // { - // AscriptionName = x.AscriptionName, - // Logo = x.Logo, - // Nhef = x.Nhef, - // Sff = x.Sff, - // Syl = x.Syl, - // UniversityId = x.Id, - // UniversityName = x.Name - // }).ToList() - // }); - // } - // } - - // return new MessageModel>() { success = true, msg = "获取成功", response = list }; - //} - #endregion - - - #region old懒人模式 - ///// - ///// 懒人模式 - ///// 办学性质 - ///// 高校级别 - ///// 专业ids - ///// - ///// - ///// - //public async Task>> GetEnrollmentLazyByPage(LazyEnrollmentPlaneQuery query) - //{ - // if (query.Score <= 0) - // return new MessageModel>() { success = false, msg = "分数不能为0..." }; - // 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 = "所选省份年份的招生计划,正在完善中..." }; - // //通过传来的专业分类Id 筛选出所选择的专业的ids - // 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(); - // //通过办学性质和高校级别筛选出学校的ids - // //string sql = ""; - // var stringBuilder = new StringBuilder(); - // stringBuilder.Append("SELECT Id FROM `D_University` where IsDelete=0 "); - // if (query.Nature > 0) - // { - // //sql += " and Nature=" + query.Nature + ""; - // stringBuilder.AppendFormat(" and Nature={0}", query.Nature); - // } - - // if (query.SchoolLevel > 0) - // { - // if (query.SchoolLevel == 1) - // { - // stringBuilder.AppendFormat(" and Nhef=1"); - // //sql += " and Nhef=1"; - // } - // else if (query.SchoolLevel == 2) - // { - // stringBuilder.AppendFormat(" and Sff=1"); - // //sql += " and Sff=1"; - // } - // else - // { - // stringBuilder.AppendFormat(" and Syl=1"); - // //sql += " and Syl=1"; - // } - // } - // var university = await d_UniversityRepository.QuerySql(stringBuilder.ToString()); - // if (university.Count <= 0) - // return new MessageModel>() { success = false, msg = "所选院校数据完善中..." }; - // var universityids = university.Select(x => x.Id).ToList(); - // var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); - // if (batchinfo.Count <= 0) - // return new MessageModel>() { success = false, msg = "所属年份数据批次为空..." }; - // var batchids = batchinfo.Select(s => s.Id).ToList(); - // //通过条件筛选出所有的 - // var wheres = PredicateBuilder.New(); - // wheres.And(x => x.Scoreline <= query.Score && 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) - // return new MessageModel>() { success = false, msg = "符合条件招生条件为空..." }; - // //招生计划内所有的院校Ids - // var planuniversityids = plandesc.Select(x => x.UniversityId).ToList().Distinct(); - // var ids = string.Join(",", planuniversityids); - // //var info = await d_UniversityRepository.QueryPage(x => planuniversityids.Contains(x.Id), query.PageIndex, query.PageSize); - // var start = query.PageSize * (query.PageIndex - 1); - // var end = query.PageIndex * query.PageSize; - // var stringBuilderinfo = new StringBuilder(); - // stringBuilderinfo.AppendFormat("select Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0 and Id in ({0}) limit {1},{2}", ids, start, end); - // var info = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString()); - // List list = new List() { }; - // foreach (var item in info) - // { - // var planids = plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList(); - // list.Add(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 = planids, - // AreaName = item.Area_Name, - // AscriptionName = item.AscriptionName, - // MjaorPlan = plandesc.Count(x => x.UniversityId == item.Id), - // Rank = item.Rank <= 0 ? "-" : item.Rank.ToString() - // }); - // } - // return new MessageModel>() - // { - // success = true, - // msg = "获取成功", - // response = new PageModel() - // { - // data = list, - // dataCount = planuniversityids.Count(), - // page = query.PageIndex, - // PageSize = query.PageSize, - // pageCount = (int)Math.Ceiling(ids.Count() / Convert.ToDecimal(query.PageSize)) - // } - // }; - //} - #endregion /// /// 懒人模式 @@ -858,29 +424,47 @@ namespace New_College.Services var majornames = major.Select(x => x.MajorName).ToList(); //通过办学性质和高校级别筛选出学校的ids //string sql = ""; - var stringBuilder = new StringBuilder(); - stringBuilder.Append("SELECT Id FROM `D_University` where IsDelete=0 "); - if (query.Nature != null && query.Nature.Count > 0) + var natureBuilder = new List(); + //stringBuilder.Append("SELECT Id FROM `D_University` where IsDelete=0 "); + if (query.Nature != null && query.Nature.Count() > 0) { - var newnature = string.Join(",", query.Nature); - stringBuilder.AppendFormat(" and Nature in ({0})", newnature); - } - if (query.AreaNames != null && query.AreaNames.Count > 0) - { - string areanames = ""; - foreach (var item in query.AreaNames) + query.Nature.ForEach(c => { - areanames += "'" + item + "',"; - } - var newnames = areanames.Substring(0, areanames.Length - 1); - stringBuilder.AppendFormat(" and Area_Name in ({0})", newnames); - } - stringBuilder.AppendFormat(" order by rank asc"); + // 0、公办,1、民办,2中外合作,3 港澳台 + switch (c) + { + case 0: + natureBuilder.Add("公办"); + break; + case 1: + natureBuilder.Add("民办"); + break; + case 2: + natureBuilder.Add("中外合作"); + break; + case 3: + natureBuilder.Add("港澳台"); + break; - var university = await d_UniversityRepository.QuerySql(stringBuilder.ToString()); - if (university.Count <= 0) - return new MessageModel>() { success = false, msg = "所选院校数据完善中..." }; - var universityids = university.Select(x => x.Id).ToList(); + } + }); + } + //if (query.AreaNames != null && query.AreaNames.Count > 0) + //{ + // string areanames = ""; + // foreach (var item in query.AreaNames) + // { + // areanames += "'" + item + "',"; + // } + // var newnames = areanames.Substring(0, areanames.Length - 1); + + //} + //stringBuilder.AppendFormat(" order by rank asc"); + + //var university = await d_UniversityRepository.QuerySql(stringBuilder.ToString()); + //if (university.Count <= 0) + // return new MessageModel>() { success = false, msg = "所选院校数据完善中..." }; + //var universityids = university.Select(x => x.Id).ToList(); //var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); @@ -905,7 +489,9 @@ namespace New_College.Services .AndIF(!string.IsNullOrEmpty(query.AreaName), w => w.Location == query.AreaName) .And(x => x.LowScore <= (query.Score + 10) && x.LowScore > 0) .AndIF(majornames.Any() && majornames.Count() > 0, x => majornames.Contains(x.Major)) - .And(x => universityids.Contains(x.UId)) + .AndIF(natureBuilder.Any() && natureBuilder.Count() > 0, c => SqlFunc.ContainsArray(natureBuilder, c.Nature)) + .AndIF(query.AreaNames.Any(), c => SqlFunc.ContainsArray(query.AreaNames, c.AreaName)) + //.And(x => universityids.Contains(x.UId)) .ToExpression();//注意 这一句 不能少 var plandesc = await _PlanMajorDescRepository.Query(exp); @@ -943,10 +529,8 @@ namespace New_College.Services //招生计划内所有的院校Ids var planuniversityids = plandesc.Select(x => x.UId).ToList().Distinct().Take(unum); var ids = string.Join(",", planuniversityids); - //var info = await d_UniversityRepository.QueryPage(x => planuniversityids.Contains(x.Id), query.PageIndex, query.PageSize); - var stringBuilderinfo = new StringBuilder(); - stringBuilderinfo.AppendFormat("select Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0 and Id in ({0}) order by Id asc", ids); + stringBuilderinfo.AppendFormat("select Id,Logo from D_University where IsDelete=0 and Id in ({0}) order by Id asc", ids); var info = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString()); List list = new List() { }; foreach (var item in info) @@ -954,14 +538,15 @@ namespace New_College.Services var plansinfo = plandesc.Where(x => x.UId == item.Id).ToList().Take(mnum); list.Add(new UniversityEnrollmentPlanLazyResult() { - UniversityName = item.Name, + //UniversityName = item.Name, UniversityId = item.Id, Logo = item.Logo, - Nhef = item.Nhef, - Sff = item.Sff, - Syl = item.Syl, - AreaName = item.Area_Name, + //Nhef = item.Nhef, + //Sff = item.Sff, + //Syl = item.Syl, + AreaName = plansinfo.FirstOrDefault().AreaName, Year = query.Year.ToString(), + UniversityName = plansinfo.FirstOrDefault().UniversityName, Infos = plansinfo.Select(x => new PlanInfo() { MajorId = x.Id, @@ -972,8 +557,8 @@ namespace New_College.Services PlanNum = x.PlanCount, Scoreline = x.LowScore }).ToList(), - AscriptionName = item.AscriptionName, - Rank = item.Rank <= 0 ? "-" : item.Rank.ToString() + // AscriptionName = item.AscriptionName, + // Rank = item.Rank <= 0 ? "-" : item.Rank.ToString() }); } return new MessageModel>() @@ -982,19 +567,7 @@ namespace New_College.Services msg = "获取成功", response = list }; - //return new MessageModel>() - //{ - // success = true, - // msg = "获取成功", - // response = new PageModel() - // { - // data = list, - // dataCount = planuniversityids.Count(), - // page = query.PageIndex, - // PageSize = query.PageSize, - // pageCount = (int)Math.Ceiling(ids.Count() / Convert.ToDecimal(query.PageSize)) - // } - //}; + } /// @@ -1063,7 +636,7 @@ namespace New_College.Services /// - /// 冲稳保获取推荐学校专业 + /// 冲稳保获取推荐学校专业(已弃用) /// /// ///