|
|
|
|
@ -16,6 +16,7 @@ using LinqKit;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using New_College.Repository;
|
|
|
|
|
using System.Data.Entity.Infrastructure;
|
|
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
|
|
|
|
|
|
|
namespace New_College.Services
|
|
|
|
|
{
|
|
|
|
|
@ -29,13 +30,19 @@ namespace New_College.Services
|
|
|
|
|
private readonly ID_QualificationLineRepository _qualificationLineRepository;
|
|
|
|
|
private readonly ID_PlanMajorDescRepository _planMajorDescRepository;
|
|
|
|
|
private readonly IT_BatchlineRepository _batchlineRepository;
|
|
|
|
|
public D_PlanMajorDescServices(IBaseRepository<D_PlanMajorDesc> dal, ID_QualificationLineRepository d_QualificationLineRepository, ID_PlanMajorDescRepository planMajorDescRepository, IT_BatchlineRepository batchlineRepository)
|
|
|
|
|
private readonly IT_TbSNeedDataInfoServices sNeedDataInfoServices;
|
|
|
|
|
private readonly ID_UniversityServices _UniversityServices;
|
|
|
|
|
public D_PlanMajorDescServices(IBaseRepository<D_PlanMajorDesc> dal, ID_QualificationLineRepository d_QualificationLineRepository,
|
|
|
|
|
ID_PlanMajorDescRepository planMajorDescRepository, IT_BatchlineRepository batchlineRepository,
|
|
|
|
|
IT_TbSNeedDataInfoServices sNeedDataInfoServices, ID_UniversityServices d_UniversityServices)
|
|
|
|
|
{
|
|
|
|
|
this._dal = dal;
|
|
|
|
|
base.BaseDal = dal;
|
|
|
|
|
_qualificationLineRepository = d_QualificationLineRepository;
|
|
|
|
|
_planMajorDescRepository = planMajorDescRepository;
|
|
|
|
|
_batchlineRepository = batchlineRepository;
|
|
|
|
|
this.sNeedDataInfoServices = sNeedDataInfoServices;
|
|
|
|
|
_UniversityServices = d_UniversityServices;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -57,7 +64,7 @@ namespace New_College.Services
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public async Task<AIGOPageModel<AIGOResponse>> GetAIGoList(OneSubmitGoRequest request)
|
|
|
|
|
{
|
|
|
|
|
request.PageSize = request.PageSize > 200 ? 200 : request.PageSize;
|
|
|
|
|
request.PageSize = request.PageSize > 50 ? 50 : request.PageSize;
|
|
|
|
|
var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
|
|
|
|
|
var pagemodel = new AIGOPageModel<AIGOResponse>();
|
|
|
|
|
int startscore = request.Score - 15;
|
|
|
|
|
@ -85,38 +92,26 @@ namespace New_College.Services
|
|
|
|
|
var query = await _qualificationLineRepository.QueryPage(expression, request.PageIndex, request.PageSize, " LowScoreRank desc ");
|
|
|
|
|
|
|
|
|
|
//var majorarry = query.data.Select(c => c.Major).Distinct().ToArray();
|
|
|
|
|
var universityarry = query.data.Select(c => c.UId).Distinct().ToArray();//
|
|
|
|
|
Expression<Func<D_PlanMajorDesc, bool>> expression2 = Expressionable.Create<D_PlanMajorDesc>()
|
|
|
|
|
.And(c => c.IsDelete == false)
|
|
|
|
|
var universityarry = query.data.Select(c => c.UniversityName).Distinct().ToArray();//
|
|
|
|
|
|
|
|
|
|
Expression<Func<T_TbSNeedDataInfo, bool>> expression3 = Expressionable.Create<T_TbSNeedDataInfo>()
|
|
|
|
|
.And(c => c.Location == request.Location)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major))
|
|
|
|
|
// .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]) || c.SelectSubject == "不限")
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
|
|
|
|
|
.AndIF(request.Syl.HasValue && request.Syl == 1, c => c._SYL == "是")
|
|
|
|
|
.AndIF(request._211.HasValue && request._211 == 1, c => c._211 == "是")
|
|
|
|
|
.AndIF(request._985.HasValue && request._985 == 1, c => c._985 == "是")
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限")
|
|
|
|
|
//.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province))
|
|
|
|
|
// .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
|
|
|
|
|
.AndIF(request.Syl.HasValue && request.Syl == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "双一流"))
|
|
|
|
|
.AndIF(request._211.HasValue && request._211 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "211"))
|
|
|
|
|
.AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985"))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature)
|
|
|
|
|
//.AndIF(majorarry.Any(), c => SqlFunc.ContainsArray(majorarry, c.Major))
|
|
|
|
|
.AndIF(universityarry.Any(), c => SqlFunc.ContainsArray(universityarry, c.UId))
|
|
|
|
|
.AndIF(request.EndScore > endscore || request.StartScore < startscore, c => SqlFunc.Between(c.LowScore, request.StartScore, request.EndScore))
|
|
|
|
|
.AndIF(universityarry.Any(), c => SqlFunc.ContainsArray(universityarry, c.UniversityName))
|
|
|
|
|
.AndIF(request.EndScore > endscore || request.StartScore < startscore, c => SqlFunc.Between(c._23Score, request.StartScore, request.EndScore))
|
|
|
|
|
.ToExpression();
|
|
|
|
|
var list = (await _dal.Query(expression2)).Select(c => new D_PlanMajorDesc()
|
|
|
|
|
{
|
|
|
|
|
Major = c.Major,
|
|
|
|
|
MajorCode = c.MajorCode,
|
|
|
|
|
UniversityName = c.UniversityName,
|
|
|
|
|
UId = c.UId,
|
|
|
|
|
Years = c.Years,
|
|
|
|
|
LowScore = c.LowScore,
|
|
|
|
|
LowScoreRank = c.LowScoreRank,
|
|
|
|
|
PlanCount = c.PlanCount,
|
|
|
|
|
Id = c.Id
|
|
|
|
|
// AcademicYear = c.Years.ToString()
|
|
|
|
|
}).ToList();
|
|
|
|
|
var querylist = await this.sNeedDataInfoServices.Query(expression3);
|
|
|
|
|
|
|
|
|
|
var responselist = query.data.Select(c => new AIGOResponse()
|
|
|
|
|
{
|
|
|
|
|
AreaName = c.AreaName,
|
|
|
|
|
@ -130,61 +125,59 @@ namespace New_College.Services
|
|
|
|
|
collegeCode = c.RecruitCode.ToString(),
|
|
|
|
|
LowScoreRank = c.LowScoreRank,
|
|
|
|
|
Ownership = c.Ownership,
|
|
|
|
|
//_fscore = c.LowScore,
|
|
|
|
|
//_frank = c.LowScoreRank,
|
|
|
|
|
// SubjectClam = c.SelectSubject,
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(c.LowScore, request.Score),//冲稳保院校
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(c.LowScore, request.Score),
|
|
|
|
|
planCount = list.Where(w => w.Years == (DateTime.Now.Year - 1) && w.UId == c.UId).Sum(c => c.PlanCount),
|
|
|
|
|
iGoPlanMajorItems = list.Where(w => w.Years == (DateTime.Now.Year - 1) && w.UId == c.UId).Select(t => new AIGoPlanMajorItem()
|
|
|
|
|
{
|
|
|
|
|
PlanId = t.Id,
|
|
|
|
|
MajorCode = t.MajorCode,
|
|
|
|
|
fee = t.Free,
|
|
|
|
|
Major = t.Major,
|
|
|
|
|
MajorGroup = t.MajorGroup,
|
|
|
|
|
MajorRemark = t.Remark,
|
|
|
|
|
planCount = t.PlanCount,
|
|
|
|
|
SubjectClam = t.SelectSubject,
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(t.LowScore, request.Score),//冲稳保院校
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(t.LowScore, request.Score),
|
|
|
|
|
PlanItems = list.Where(ss => ss.UId == c.UId && ss.Major == t.Major).Select(k => new PlanItem()
|
|
|
|
|
{
|
|
|
|
|
PlanCount = k.PlanCount,
|
|
|
|
|
RankLine = k.LowScoreRank,
|
|
|
|
|
Scoreline = k.LowScore,
|
|
|
|
|
Year = k.Years.ToString(),
|
|
|
|
|
Count = "--"
|
|
|
|
|
}).ToList()
|
|
|
|
|
}).ToList(),
|
|
|
|
|
planCount = querylist.Where(w => w.UniversityName == c.UniversityName).Sum(c => int.Parse(c._23Count)),
|
|
|
|
|
}).OrderByDescending(c => c.Type).OrderBy(c => c.LowScoreRank).ToList();
|
|
|
|
|
|
|
|
|
|
var _qualifcationlist = await _qualificationLineRepository.Query(c => SqlFunc.ContainsArray(universityarry, c.UId));
|
|
|
|
|
|
|
|
|
|
// responselist = responselist.Where(e => e.iGoPlanMajorItems.Select(s=>s.planCount).Sum() > 0).ToList();
|
|
|
|
|
responselist.ToList().ForEach(c =>
|
|
|
|
|
{
|
|
|
|
|
c._fcount = c.iGoPlanMajorItems.Select(s => s.planCount).Sum();
|
|
|
|
|
c._scount = c.iGoPlanMajorItems.Select(s => s.PlanItems.Where(w => w.Year == "2022").Sum(s => s.PlanCount)).Sum();
|
|
|
|
|
c._tcount = c.iGoPlanMajorItems.Select(s => s.PlanItems.Where(w => w.Year == "2021").Sum(s => s.PlanCount)).Sum();
|
|
|
|
|
if (_qualifcationlist.Where(e => e.Years == DateTime.Now.Year && e.UId == c.UniversityId).Any())
|
|
|
|
|
var items = querylist.Where(e => e.UniversityName == c.UniversityName);
|
|
|
|
|
c._fcount = items.Select(e => int.Parse(e._23Count)).Sum();
|
|
|
|
|
c._scount = items.Select(e => int.Parse(e._22Count)).Sum();
|
|
|
|
|
c._tcount = items.Select(e => int.Parse(e._21Count)).Sum();
|
|
|
|
|
c._fscore = items.Min(e => int.Parse(e._23SchoolScore));
|
|
|
|
|
c._frank = items.Min(e => int.Parse(e._23SchoolScoreLine));
|
|
|
|
|
c._sscore = items.Min(e => int.Parse(e._22Score));
|
|
|
|
|
c._srank = items.Min(e => int.Parse(e._22ScoreLine));
|
|
|
|
|
c._tscore = items.Min(e => int.Parse(e._22Score));
|
|
|
|
|
c._trank = items.Min(e => int.Parse(e._22ScoreLine));
|
|
|
|
|
c.iGoPlanMajorItems = items.Select(t => new AIGoPlanMajorItem()
|
|
|
|
|
{
|
|
|
|
|
var tmpqualif = _qualifcationlist.Where(e => e.Years == DateTime.Now.Year && e.UId == c.UniversityId).FirstOrDefault();
|
|
|
|
|
c._fscore = tmpqualif.LowScore;
|
|
|
|
|
c._frank = tmpqualif.LowScoreRank;
|
|
|
|
|
};
|
|
|
|
|
if (_qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 1) && e.UId == c.UniversityId).Any())
|
|
|
|
|
|
|
|
|
|
PlanId = t.ID,
|
|
|
|
|
MajorCode = t.MajorCode,
|
|
|
|
|
fee = t.Fee,
|
|
|
|
|
Major = t.MajorName,
|
|
|
|
|
// MajorGroup = t.MajorGroup,//山东无专业组
|
|
|
|
|
MajorRemark = t.Remark,
|
|
|
|
|
planCount = int.Parse(t._23Count),
|
|
|
|
|
SubjectClam = t._23subject,
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(int.Parse(t._23Score), request.Score),//冲稳保院校
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(t._23Score), request.Score),
|
|
|
|
|
PlanItems = new List<PlanItem>()
|
|
|
|
|
{
|
|
|
|
|
var tmpqualif = _qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 1) && e.UId == c.UniversityId).FirstOrDefault();
|
|
|
|
|
c._sscore = tmpqualif.LowScore;
|
|
|
|
|
c._srank = tmpqualif.LowScoreRank;
|
|
|
|
|
};
|
|
|
|
|
if (_qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 2) && e.UId == c.UniversityId).Any())
|
|
|
|
|
{
|
|
|
|
|
var tmpqualif = _qualifcationlist.Where(e => e.Years == (DateTime.Now.Year - 2) && e.UId == c.UniversityId).FirstOrDefault();
|
|
|
|
|
c._tscore = tmpqualif.LowScore;
|
|
|
|
|
c._trank = tmpqualif.LowScoreRank;
|
|
|
|
|
};
|
|
|
|
|
new PlanItem() {
|
|
|
|
|
PlanCount=int.Parse(t._23Count),
|
|
|
|
|
RankLine=int.Parse(t._23ScoreLine),
|
|
|
|
|
Scoreline=int.Parse(t._23Score),
|
|
|
|
|
Year="2023"
|
|
|
|
|
},
|
|
|
|
|
new PlanItem() {
|
|
|
|
|
PlanCount=int.Parse(t._22Count),
|
|
|
|
|
RankLine=int.Parse(t._22ScoreLine),
|
|
|
|
|
Scoreline=int.Parse(t._22Score),
|
|
|
|
|
Year="2022"
|
|
|
|
|
},
|
|
|
|
|
new PlanItem() {
|
|
|
|
|
PlanCount=int.Parse(t._21Count),
|
|
|
|
|
RankLine=int.Parse(t._21ScoreLine),
|
|
|
|
|
Scoreline=int.Parse(t._21Score),
|
|
|
|
|
Year="2021"
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}).ToList();
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
return new AIGOPageModel<AIGOResponse>()
|
|
|
|
|
{
|
|
|
|
|
@ -209,112 +202,97 @@ namespace New_College.Services
|
|
|
|
|
public async Task<PageModel<OneSubmitGoResponse>> GetPlanMajorList(OneSubmitGoRequest request)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
request.PageSize = 999;//山东省
|
|
|
|
|
var pagemodel = new PageModel<OneSubmitGoResponse>();
|
|
|
|
|
|
|
|
|
|
request.PageSize = request.PageSize < 100 ? 100 : request.PageSize;
|
|
|
|
|
//request.PageSize = 150;//山东省
|
|
|
|
|
|
|
|
|
|
request.Year = request.Year > 2023 ? 2023 : request.Year;
|
|
|
|
|
var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
|
|
|
|
|
var pagemodel = new PageModel<OneSubmitGoResponse>();
|
|
|
|
|
Expression<Func<D_PlanMajorDesc, bool>> expression = Expressionable.Create<D_PlanMajorDesc>()
|
|
|
|
|
.And(c => c.IsDelete == false)
|
|
|
|
|
.And(c => c.Location == request.Location)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2]) || c.SelectSubject == "不限")
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName))
|
|
|
|
|
.And(c => c.Years == request.Year)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
|
|
|
|
|
.AndIF(request.Score > 0, c => SqlFunc.Between(c.LowScore, request.Score - 15, request.Score + 10))
|
|
|
|
|
.AndIF(request.Syl.HasValue && request.Syl == 1, c => c._SYL == "是")
|
|
|
|
|
.AndIF(request._211.HasValue && request._211 == 1, c => c._211 == "是")
|
|
|
|
|
.AndIF(request._985.HasValue && request._985 == 1, c => c._985 == "是")
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership)
|
|
|
|
|
.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 asc ");
|
|
|
|
|
Expression<Func<T_TbSNeedDataInfo, bool>> expression3 = Expressionable.Create<T_TbSNeedDataInfo>()
|
|
|
|
|
|
|
|
|
|
var majorarry = query.data.Select(c => c.Major).Distinct().ToArray();
|
|
|
|
|
var universityarry = query.data.Select(c => c.UId).Distinct().ToArray();//
|
|
|
|
|
Expression<Func<D_PlanMajorDesc, bool>> expression2 = Expressionable.Create<D_PlanMajorDesc>()
|
|
|
|
|
.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, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2]) || c.SelectSubject == "不限") //此条件不带
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName.Trim())
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
|
|
|
|
|
.AndIF(request.Syl.HasValue && request.Syl == 1, c => c._SYL == "是")
|
|
|
|
|
.AndIF(request._211.HasValue && request._211 == 1, c => c._211 == "是")
|
|
|
|
|
.AndIF(request._985.HasValue && request._985 == 1, c => c._985 == "是")
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限")
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major))
|
|
|
|
|
//.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province))
|
|
|
|
|
//.And(c => c.Years == request.Year)
|
|
|
|
|
//.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
|
|
|
|
|
.AndIF(request.Score > 0, c => SqlFunc.Between(c._23Score, request.Score - 25, request.Score + 15))
|
|
|
|
|
.AndIF(request.Syl.HasValue && request.Syl == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "双一流"))
|
|
|
|
|
.AndIF(request._211.HasValue && request._211 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "211"))
|
|
|
|
|
.AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985"))
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Ownership), c => c.Ownership == request.Ownership)
|
|
|
|
|
.AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature)
|
|
|
|
|
.AndIF(majorarry.Any(), c => SqlFunc.ContainsArray(majorarry, c.Major))
|
|
|
|
|
.AndIF(universityarry.Any(), c => SqlFunc.ContainsArray(universityarry, c.UId))
|
|
|
|
|
//.AndIF(request. > 0, c => SqlFunc.Between(c.LowScore, request.Score, request.Score)) 位次区间
|
|
|
|
|
.ToExpression();
|
|
|
|
|
var list = (await _dal.Query(expression2)).Select(c => new D_PlanMajorDesc()
|
|
|
|
|
|
|
|
|
|
var querylist = await this.sNeedDataInfoServices.Query(expression3);
|
|
|
|
|
|
|
|
|
|
var universitymaps = (await _UniversityServices.Query(c => c.IsDelete == false)).Select(c => new D_University()
|
|
|
|
|
{
|
|
|
|
|
Major = c.Major,
|
|
|
|
|
MajorCode = c.MajorCode,
|
|
|
|
|
UniversityName = c.UniversityName,
|
|
|
|
|
BatchName = c.BatchName,
|
|
|
|
|
SelectSubject = c.SelectSubject,
|
|
|
|
|
UId = c.UId,
|
|
|
|
|
Years = c.Years,
|
|
|
|
|
Remark = c.Remark,
|
|
|
|
|
LowScore = c.LowScore,
|
|
|
|
|
LowScoreRank = c.LowScoreRank,
|
|
|
|
|
PlanCount = c.PlanCount,
|
|
|
|
|
// AcademicYear = c.Years.ToString()
|
|
|
|
|
|
|
|
|
|
Id = c.Id,
|
|
|
|
|
Name = c.Name,
|
|
|
|
|
}).ToList();
|
|
|
|
|
var responselist = query.data.OrderByDescending(c => c.SelectSubject).Select(c => new OneSubmitGoResponse()
|
|
|
|
|
|
|
|
|
|
var responselist = querylist.Select(c => new OneSubmitGoResponse()
|
|
|
|
|
{
|
|
|
|
|
AreaName = c.AreaName,
|
|
|
|
|
fee = c.Free,
|
|
|
|
|
Major = c.Major,
|
|
|
|
|
MajorGroup = c.MajorGroup,
|
|
|
|
|
|
|
|
|
|
AreaName = c.Province,
|
|
|
|
|
fee = c.Fee,
|
|
|
|
|
Major = c.MajorName,
|
|
|
|
|
// MajorGroup = c.MajorGroup,
|
|
|
|
|
AcademicYear = c.AcademicYear,
|
|
|
|
|
MajorRemark = c.Remark,
|
|
|
|
|
planCount = c.PlanCount,
|
|
|
|
|
planCount = int.Parse(c._23Count),
|
|
|
|
|
Ownership = c.Ownership,
|
|
|
|
|
Rank = c.Rank,
|
|
|
|
|
_985 = c._985,
|
|
|
|
|
_211 = c._211,
|
|
|
|
|
_SYL = c._SYL,
|
|
|
|
|
UniversityId = c.UId,
|
|
|
|
|
Rank = c.UniversityRank,
|
|
|
|
|
_985 = c.LnstitutionalLevel!=null?(c.LnstitutionalLevel.Contains("985") ? "是" : "否") : "否",
|
|
|
|
|
_211 = c.LnstitutionalLevel != null ? (c.LnstitutionalLevel.Contains("211") ? "是" : "否") : "否",
|
|
|
|
|
_SYL = c.LnstitutionalLevel != null ? (c.LnstitutionalLevel.Contains("双一流") ? "是" : "否"): "否",
|
|
|
|
|
UniversityId = universitymaps.Where(e => e.Name == c.UniversityName).Any() ? universitymaps.FirstOrDefault(e => e.Name == c.UniversityName).Id : 0,
|
|
|
|
|
UniversityName = c.UniversityName,
|
|
|
|
|
SubjectClam = c.SelectSubject,
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(c.LowScore, request.Score),//还缺冲稳保
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(c.LowScore, request.Score),
|
|
|
|
|
PlanId = c.Id,
|
|
|
|
|
SubjectClam = c._23subject,
|
|
|
|
|
Type = MajorPlanScoreTool.GetPlanScore(int.Parse(c._23Score), request.Score),//还缺冲稳保
|
|
|
|
|
Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(c._23Score), request.Score),
|
|
|
|
|
PlanId = (int)c.ID,
|
|
|
|
|
UniversityCode = c.EnrollmentCode,
|
|
|
|
|
collegeCode = c.EnrollmentCode,
|
|
|
|
|
MajorCode = c.MajorCode,
|
|
|
|
|
LowScoreRank = c.LowScoreRank,
|
|
|
|
|
LowScore = c.LowScore,
|
|
|
|
|
PlanItems = list.Where(e => e.UId == c.UId && e.Major.Equals(c.Major) && e.MajorCode == c.MajorCode && e.BatchName == request.BatchName).GroupBy(b => new PlanItem() { Year = b.Years.ToString(), Scoreline = b.LowScore, RankLine = b.LowScoreRank }).Select(s => new PlanItem()
|
|
|
|
|
LowScoreRank = int.Parse(c._23SchoolScoreLine),
|
|
|
|
|
LowScore = int.Parse(c._23SchoolScore),
|
|
|
|
|
PlanItems = new List<PlanItem>()
|
|
|
|
|
{
|
|
|
|
|
PlanCount = s.Sum(m => m.PlanCount),
|
|
|
|
|
RankLine = s.Key.RankLine,
|
|
|
|
|
Scoreline = s.Key.Scoreline,
|
|
|
|
|
Year = s.Key.Year,
|
|
|
|
|
Count = "--"
|
|
|
|
|
}).OrderByDescending(k => k.Year).ToList()
|
|
|
|
|
new PlanItem() {
|
|
|
|
|
PlanCount=int.Parse(c._23Count),
|
|
|
|
|
RankLine=int.Parse(c._23ScoreLine),
|
|
|
|
|
Scoreline=int.Parse(c._23Score),
|
|
|
|
|
Year="2023"
|
|
|
|
|
},
|
|
|
|
|
new PlanItem() {
|
|
|
|
|
PlanCount=int.Parse(c._22Count),
|
|
|
|
|
RankLine=int.Parse(c._22ScoreLine),
|
|
|
|
|
Scoreline=int.Parse(c._22Score),
|
|
|
|
|
Year="2022"
|
|
|
|
|
},
|
|
|
|
|
new PlanItem() {
|
|
|
|
|
PlanCount=int.Parse(c._21Count),
|
|
|
|
|
RankLine=int.Parse(c._21ScoreLine),
|
|
|
|
|
Scoreline=int.Parse(c._21Score),
|
|
|
|
|
Year="2021"
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}).ToList();
|
|
|
|
|
//冲稳保比例--待定
|
|
|
|
|
var newlist = responselist.Where(c => c.Type == 2).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(18).ToList();
|
|
|
|
|
newlist.AddRange(responselist.Where(c => c.Type == 1).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(60).ToList());
|
|
|
|
|
newlist.AddRange(responselist.Where(c => c.Type == 0).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(18).ToList());
|
|
|
|
|
|
|
|
|
|
return new PageModel<OneSubmitGoResponse>()
|
|
|
|
|
{
|
|
|
|
|
data = newlist,
|
|
|
|
|
dataCount = query.dataCount,
|
|
|
|
|
page = query.page,
|
|
|
|
|
pageCount = query.pageCount,
|
|
|
|
|
PageSize = query.PageSize
|
|
|
|
|
};
|
|
|
|
|
////冲稳保比例--待定
|
|
|
|
|
var newlist = responselist.Where(c => c.Type == 2).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(25).ToList();
|
|
|
|
|
newlist.AddRange(responselist.Where(c => c.Type == 1).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(45).ToList());
|
|
|
|
|
newlist.AddRange(responselist.Where(c => c.Type == 0).OrderByDescending(c => c.SubjectClam).OrderByDescending(c => c.LowScore).Take(30).ToList());
|
|
|
|
|
pagemodel.page = request.PageIndex;
|
|
|
|
|
pagemodel.data = newlist;
|
|
|
|
|
pagemodel.dataCount = responselist.Count;
|
|
|
|
|
pagemodel.PageSize = request.PageSize;
|
|
|
|
|
pagemodel.pageCount= pagemodel.data.Count();
|
|
|
|
|
return pagemodel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|