|
|
|
|
@ -169,9 +169,6 @@ namespace New_College.Repository
|
|
|
|
|
|
|
|
|
|
var subjecttype = query.SubjectClaim.Length == 2 ? query.SubjectClaim : "综合";
|
|
|
|
|
query.SubjectClaim = query.SubjectClaim.Length == 2 ? (query.SubjectClaim == "理科" ? "物,化,生" : "政,史,地") : query.SubjectClaim;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var regionlist = this.Db.Queryable<SysRegion>().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 claim = new string[] { };
|
|
|
|
|
@ -244,22 +241,9 @@ namespace New_College.Repository
|
|
|
|
|
sqlstr.AppendFormat(" and (_23subject like'%{0}%' or _23subject like'%{1}%' or _23subject like'%{2}%' )", claim01, claim02, claim03);
|
|
|
|
|
}
|
|
|
|
|
sqlstr.Append(" order by _23Score");
|
|
|
|
|
//string sql = string.Format("SELECT * from T_TbSNeedDataInfo where location='{0}' and _23Score BETWEEN {1} and {2} and (_23subject like'%{3}%' or _23subject like'%{4}%' or _23subject like'%{5}%' )"
|
|
|
|
|
// , query.Location, query.Score, query.Score + 15, claim01, claim02, claim03);
|
|
|
|
|
|
|
|
|
|
var recommendInfo = await this.Db.SqlQueryable<TbSNeedDataInfoViewDto>(sqlstr.ToString()).ToListAsync();
|
|
|
|
|
// var recommendInfo = await this.Db.Queryable<TbSNeedDataInfoViewDto>()
|
|
|
|
|
// .WhereIF(regionlist.Any(), p => SqlFunc.ContainsArray(regionlist, p.Province))
|
|
|
|
|
// //.WhereIF(query.Year > 0, p => p.Years == query.Year)
|
|
|
|
|
// .WhereIF(!string.IsNullOrEmpty(query.Location), p => p.Location == query.Location)
|
|
|
|
|
// .Where(p => p.SubjectType == subjecttype)
|
|
|
|
|
// //.WhereIF(!string.IsNullOrEmpty(query.BatchName), p => p.BatchName == query.BatchName)
|
|
|
|
|
// .WhereIF(string.IsNullOrWhiteSpace(query.Type), p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 60, query.Score + 15))
|
|
|
|
|
// .WhereIF(query.Type == "冲", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score, query.Score + 15))
|
|
|
|
|
// .WhereIF(query.Type == "稳", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 26, query.Score - 1))
|
|
|
|
|
// .WhereIF(query.Type == "保", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 60, query.Score - 26))
|
|
|
|
|
// .WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), c => SqlFunc.Contains(c._23subject, claim01) || SqlFunc.Contains(c._23subject, claim02) || SqlFunc.Contains(c._23subject, claim03) || c._23subject == "不限")
|
|
|
|
|
// .WhereIF(majornames.Any() && majornames.Count() > 0, p => SqlFunc.ContainsArray(majornames, p.MajorName))
|
|
|
|
|
//.ToListAsync();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var universitylist = recommendInfo.GroupBy(g => g.UniversityName).Select(c => new UniversityEnrollmentPlanResult() { UniversityName = c.Key }).ToList();
|
|
|
|
|
var universitytemps = (await d_University.Query(c => SqlFunc.ContainsArray(recommendInfo.Select(c => c.UniversityName).ToList(), c.Name))).Select(c => new
|
|
|
|
|
@ -267,28 +251,58 @@ namespace New_College.Repository
|
|
|
|
|
{ Id = c.Id, Logo = c.Logo, Name = c.Name }).ToList();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ulist = universitylist.Select(s => new UniversityEnrollmentPlanResult()
|
|
|
|
|
{
|
|
|
|
|
Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "",
|
|
|
|
|
UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0,
|
|
|
|
|
AreaName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Province : " ",
|
|
|
|
|
UniversityCode = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).EnrollmentCode : "",
|
|
|
|
|
Rank = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).UniversityRank : " ",
|
|
|
|
|
_985 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("985") ? "是" : "否") : "否") : "否",
|
|
|
|
|
_211 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("211") ? "是" : "否") : "否") : "否",
|
|
|
|
|
_SYL = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否") : "否",
|
|
|
|
|
SchoolScoreline = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScoreLine) : 0,
|
|
|
|
|
SchoolLowScore = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScore) : 0,
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score),
|
|
|
|
|
AscriptionName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Ownership : " ",
|
|
|
|
|
CityName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).City : " ",
|
|
|
|
|
MjaorPlan = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count() : 0,
|
|
|
|
|
planCount = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)) : 0,
|
|
|
|
|
PlanIds = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList()) : null,
|
|
|
|
|
UniversityName = s.UniversityName,
|
|
|
|
|
//var ulist = universitylist.Select(s => new UniversityEnrollmentPlanResult()
|
|
|
|
|
//{
|
|
|
|
|
// Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "",
|
|
|
|
|
// UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0,
|
|
|
|
|
// AreaName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Province : " ",
|
|
|
|
|
// UniversityCode = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).EnrollmentCode : "",
|
|
|
|
|
// Rank = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).UniversityRank : " ",
|
|
|
|
|
// _985 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("985") ? "是" : "否") : "否") : "否",
|
|
|
|
|
// _211 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("211") ? "是" : "否") : "否") : "否",
|
|
|
|
|
// _SYL = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否") : "否",
|
|
|
|
|
// SchoolScoreline = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScoreLine) : 0,
|
|
|
|
|
// SchoolLowScore = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScore) : 0,
|
|
|
|
|
// Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校
|
|
|
|
|
// Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score),
|
|
|
|
|
// AscriptionName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Ownership : " ",
|
|
|
|
|
// CityName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).City : " ",
|
|
|
|
|
// MjaorPlan = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count() : 0,
|
|
|
|
|
// planCount = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)) : 0,
|
|
|
|
|
// PlanIds = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList()) : null,
|
|
|
|
|
// UniversityName = s.UniversityName,
|
|
|
|
|
|
|
|
|
|
//}).OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList();
|
|
|
|
|
var ulist = new List<UniversityEnrollmentPlanResult>();
|
|
|
|
|
universitylist.ForEach(s =>
|
|
|
|
|
{
|
|
|
|
|
if (recommendInfo.Any(e => e.UniversityName == s.UniversityName))
|
|
|
|
|
{
|
|
|
|
|
var recommendFirstModel = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName);
|
|
|
|
|
ulist.Add(new UniversityEnrollmentPlanResult()
|
|
|
|
|
{
|
|
|
|
|
Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "",
|
|
|
|
|
UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0,
|
|
|
|
|
AreaName = recommendFirstModel.Province,
|
|
|
|
|
UniversityCode = recommendFirstModel.EnrollmentCode,
|
|
|
|
|
Rank = recommendFirstModel.UniversityRank,
|
|
|
|
|
_985 = (recommendFirstModel.LnstitutionalLevel != null ? (recommendFirstModel.LnstitutionalLevel.Contains("985") ? "是" : "否") : "否"),
|
|
|
|
|
_211 = (recommendFirstModel.LnstitutionalLevel != null ? (recommendFirstModel.LnstitutionalLevel.Contains("211") ? "是" : "否") : "否"),
|
|
|
|
|
_SYL = (recommendFirstModel.LnstitutionalLevel != null ? (recommendFirstModel.LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否"),
|
|
|
|
|
SchoolScoreline = int.Parse(recommendFirstModel._23SchoolScoreLine),
|
|
|
|
|
SchoolLowScore = int.Parse(recommendFirstModel._23SchoolScore),
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendFirstModel._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendFirstModel._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendFirstModel._23Score), (int)query.Score),
|
|
|
|
|
AscriptionName = recommendFirstModel.Ownership,
|
|
|
|
|
CityName = recommendFirstModel.City,
|
|
|
|
|
MjaorPlan = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count(),
|
|
|
|
|
planCount = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)),
|
|
|
|
|
PlanIds = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList(),
|
|
|
|
|
UniversityName = s.UniversityName
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}).OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList();
|
|
|
|
|
|
|
|
|
|
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>()
|
|
|
|
|
{
|
|
|
|
|
@ -296,7 +310,7 @@ namespace New_College.Repository
|
|
|
|
|
msg = "获取成功",
|
|
|
|
|
response = new PageModel<UniversityEnrollmentPlanResult>()
|
|
|
|
|
{
|
|
|
|
|
data = ulist,
|
|
|
|
|
data = ulist.OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList(),
|
|
|
|
|
dataCount = universitylist.Count,
|
|
|
|
|
page = query.PageIndex,
|
|
|
|
|
PageSize = query.PageSize,
|
|
|
|
|
@ -355,13 +369,13 @@ namespace New_College.Repository
|
|
|
|
|
Years = plans.Years
|
|
|
|
|
})
|
|
|
|
|
.ToPageListAsync(query.PageIndex, query.PageSize, totalNumber);
|
|
|
|
|
recommendInfo.ForEach(recommendInfo =>
|
|
|
|
|
recommendInfo.Where(e => e.Id > 0).ToList().ForEach(recommendInfo =>
|
|
|
|
|
{
|
|
|
|
|
recommendInfo.Percentage = MajorPlanScoreTool.GetPlanPercentage((int)recommendInfo.ScoreLine, query.Score);
|
|
|
|
|
});
|
|
|
|
|
return new PageModel<UniversityResult>()
|
|
|
|
|
{
|
|
|
|
|
data = recommendInfo.OrderBy(o => o.Percentage).ToList(),
|
|
|
|
|
data = recommendInfo.Where(e => e.Id > 0).OrderBy(o => o.Percentage).ToList(),
|
|
|
|
|
page = query.PageIndex,
|
|
|
|
|
PageSize = query.PageSize,
|
|
|
|
|
dataCount = totalNumber,
|
|
|
|
|
|