develop
parent
f182c60333
commit
0b5fd3d7e6
|
|
@ -43,15 +43,14 @@ namespace New_College.Api.Controllers.Front
|
|||
{
|
||||
try
|
||||
{
|
||||
request.Years = request.Years >= 2023 ? 2023 : request.Years;
|
||||
request.Years = request.Years >= 2023 ? 2023 : request.Years;
|
||||
Expression<Func<D_PlanMajorDesc, bool>> whereexp = Expressionable.Create<D_PlanMajorDesc>() //创建表达式
|
||||
.And(c => c.Location == request.Location)
|
||||
.And(c => c.Years == request.Years)
|
||||
.AndIF(!string.IsNullOrEmpty(request.UniversityName), w => SqlFunc.Contains(w.UniversityName, request.UniversityName))
|
||||
.AndIF(!string.IsNullOrEmpty(request.MajorName), w => SqlFunc.Contains(w.Major, request.MajorName)).ToExpression();
|
||||
|
||||
.And(c => c.Location == request.Location)
|
||||
.And(c => c.Years == request.Years)
|
||||
.AndIF(!string.IsNullOrEmpty(request.BatchName), w => w.BatchName == request.BatchName)
|
||||
.AndIF(!string.IsNullOrEmpty(request.UniversityName), w => SqlFunc.Contains(w.UniversityName, request.UniversityName))
|
||||
.AndIF(!string.IsNullOrEmpty(request.MajorName), w => SqlFunc.Contains(w.Major, request.MajorName)).ToExpression();
|
||||
var pageModel = await this.d_PlanMajorDesc.QueryPage(whereexp, request.PageIndex, request.PageSize);
|
||||
|
||||
if (pageModel.dataCount > 0)
|
||||
{
|
||||
return new MessageModel<PageModel<D_PlanMajorDesc>>()
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ using New_College.IServices;
|
|||
using New_College.Model;
|
||||
using New_College.Model.Models;
|
||||
using New_College.Model.ViewModels;
|
||||
using SqlSugar;
|
||||
|
||||
|
||||
namespace New_College.Api.Controllers.Front
|
||||
|
|
@ -47,23 +48,37 @@ namespace New_College.Api.Controllers.Front
|
|||
success = false
|
||||
};
|
||||
}
|
||||
var query = await _ScoreLineServices.Query(c => c.Score == queryDto.Score.ToString() && c.Province == queryDto.Pronvice);
|
||||
var newscore = queryDto.Score - 1;
|
||||
var tmpquery = await _ScoreLineServices.Query(c => c.Score == newscore.ToString() && c.Province == queryDto.Pronvice);
|
||||
query.ForEach(a =>
|
||||
{
|
||||
var newsuminfo = tmpquery.FirstOrDefault(a => a.Years == a.Years);
|
||||
|
||||
response.Add(new SameScoreLineDataDto()
|
||||
{
|
||||
Count = a.Count,
|
||||
Score = a.Score,
|
||||
SumCount = a.SumCount,
|
||||
Years = a.Years,
|
||||
Type = a.Type,
|
||||
ScoreRegion = newsuminfo.SumCount + "~" + a.SumCount
|
||||
});
|
||||
});
|
||||
//1.先计算分数对应的位次,
|
||||
//2.再通过位次反向匹配,前面三年的分数
|
||||
|
||||
var biaozhun = await _ScoreLineServices.Query(c => (c.Score == queryDto.Score.ToString() || c.Score == (queryDto.Score - 1).ToString()) && c.Province == queryDto.Pronvice && c.Years == queryDto.Years);
|
||||
var lines = biaozhun.Select(s => s.SumCount).ToArray();
|
||||
var query = await _ScoreLineServices.Query(c => SqlFunc.Between(c.SumCount, lines.Min(), lines.Max()) && c.Province == queryDto.Pronvice);
|
||||
//var newscore = queryDto.Score - 1;
|
||||
//var tmpquery = await _ScoreLineServices.Query(c => c.Score == newscore.ToString() && c.Province == queryDto.Pronvice);
|
||||
//query.ForEach(a =>
|
||||
//{
|
||||
// // var newsuminfo = tmpquery.FirstOrDefault(a => a.Years == a.Years);
|
||||
|
||||
// response.Add(new SameScoreLineDataDto()
|
||||
// {
|
||||
// Count = a.Count,
|
||||
// Score = a.Score,
|
||||
// SumCount = a.SumCount,
|
||||
// Years = a.Years,
|
||||
// Type = a.Type,
|
||||
// ScoreRegion = newsuminfo.SumCount + "~" + a.SumCount
|
||||
// });
|
||||
//});
|
||||
response = query.GroupBy(g => new SameScoreLineDataDto { Years = g.Years, Type = g.Type }).Select(c => new SameScoreLineDataDto()
|
||||
{
|
||||
Score = query.Where(e => e.Years == c.Key.Years && e.Type == c.Key.Type).Max(e => e.Score),
|
||||
ScoreRegion = query.Where(e => e.Years == c.Key.Years && e.Type == c.Key.Type).Min(e => e.SumCount) + "~" + query.Where(e => e.Years == c.Key.Years && e.Type == c.Key.Type).Max(e => e.SumCount),
|
||||
Years = c.Key.Years,
|
||||
Type = c.Key.Type
|
||||
|
||||
}).DistinctBy(c => c.Years).ToList();
|
||||
return new MessageModel<List<SameScoreLineDataDto>>()
|
||||
{
|
||||
msg = "ok",
|
||||
|
|
|
|||
Loading…
Reference in New Issue