feat:bug fixed

develop
old易 2023-09-25 18:49:21 +08:00
parent fed31c45df
commit 43227fdf68
10 changed files with 320 additions and 211 deletions

View File

@ -1,13 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using New_College.IServices;
using New_College.Model;
using New_College.Model.Models;
using New_College.Model.ViewModels.Query;
using New_College.Model.ViewModels.Result;
using SqlSugar;
namespace New_College.Api.Controllers.Front
{
@ -21,10 +24,12 @@ namespace New_College.Api.Controllers.Front
{
private readonly IT_EnrollmentPlaneServices t_EnrollmentPlane;
private readonly IT_EnrollmentBatchServices t_EnrollmentBatch;
public EnrollMentPlansController(IT_EnrollmentPlaneServices enrollmentPlaneServices, IT_EnrollmentBatchServices t_EnrollmentBatchServices)
private readonly ID_PlanMajorDescServices d_PlanMajorDesc;
public EnrollMentPlansController(IT_EnrollmentPlaneServices enrollmentPlaneServices, IT_EnrollmentBatchServices t_EnrollmentBatchServices, ID_PlanMajorDescServices d_PlanMajorDesc)
{
this.t_EnrollmentPlane = enrollmentPlaneServices;
this.t_EnrollmentBatch = t_EnrollmentBatchServices;
this.d_PlanMajorDesc = d_PlanMajorDesc;
}
@ -34,35 +39,61 @@ namespace New_College.Api.Controllers.Front
/// <param name="request"></param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<PageModel<EnrollmentPlansResult>>> GetEnrollmentPlans([FromQuery] EnrollmentPlanRequest request)
public async Task<MessageModel<PageModel<D_PlanMajorDesc>>> GetEnrollmentPlans([FromQuery] EnrollmentPlanRequest request)
{
try
{
var planinfo = await this.t_EnrollmentPlane.Query(e => e.IsDelete == false && e.Area_Id == request.AreaId && e.Years == request.Years);
if (planinfo.Any())
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 => w.UniversityName.Contains(request.UniversityName))
.AndIF(!string.IsNullOrEmpty(request.MajorName), w => w.Major.Contains(request.MajorName)).ToExpression();
var pageModel = await this.d_PlanMajorDesc.QueryPage(whereexp, request.PageIndex, request.PageSize);
if (pageModel.dataCount > 0)
{
var BatchtypeId = (await this.t_EnrollmentBatch.Query(e => e.Year == request.Years && e.AreaId == request.AreaId && e.Batch_name == request.BatchName)).FirstOrDefault().Id;
request.PlanId = planinfo.FirstOrDefault().Id;
request.BatchtypeId = BatchtypeId;
var result = await this.t_EnrollmentPlane.GetEnrollmentPlans(request);
return new MessageModel<PageModel<EnrollmentPlansResult>>()
return new MessageModel<PageModel<D_PlanMajorDesc>>()
{
msg = "success",
response = result,
success = true
response = pageModel,
success = true,
msg = "ok",
status = 200
};
}
else
{
return new MessageModel<PageModel<EnrollmentPlansResult>>()
return new MessageModel<PageModel<D_PlanMajorDesc>>()
{
msg = "相关信息更新中...",
};
}
//var planinfo = await this.t_EnrollmentPlane.Query(e => e.IsDelete == false && e.Area_Id == request.AreaId && e.Years == request.Years);
//if (planinfo.Any())
//{
// var BatchtypeId = (await this.t_EnrollmentBatch.Query(e => e.Year == request.Years && e.AreaId == request.AreaId && e.Batch_name == request.BatchName)).FirstOrDefault().Id;
// request.PlanId = planinfo.FirstOrDefault().Id;
// request.BatchtypeId = BatchtypeId;
// var result = await this.t_EnrollmentPlane.GetEnrollmentPlans(request);
// return new MessageModel<PageModel<EnrollmentPlansResult>>()
// {
// msg = "success",
// response = result,
// success = true
// };
//}
//else
//{
// return new MessageModel<PageModel<EnrollmentPlansResult>>()
// {
// msg = "相关信息更新中...",
// };
//}
}
catch (Exception ex)
{
return new MessageModel<PageModel<EnrollmentPlansResult>>()
return new MessageModel<PageModel<D_PlanMajorDesc>>()
{
msg = ex.Message
};

View File

@ -540,6 +540,16 @@
专业
</summary>
</member>
<member name="P:New_College.Model.Models.D_PlanMajorDesc.LowScore">
<summary>
最低分
</summary>
</member>
<member name="P:New_College.Model.Models.D_PlanMajorDesc.LowScoreRank">
<summary>
最低分排名
</summary>
</member>
<member name="P:New_College.Model.Models.D_PlanMajorDesc.AcademicYear">
<summary>
学制
@ -550,7 +560,7 @@
学费
</summary>
</member>
<member name="P:New_College.Model.Models.D_PlanMajorDesc.Loction">
<member name="P:New_College.Model.Models.D_PlanMajorDesc.Location">
<summary>
生源地
</summary>
@ -3230,6 +3240,11 @@
年份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.Query.EnrollmentPlanRequest.Location">
<summary>
生源地
</summary>
</member>
<member name="P:New_College.Model.ViewModels.Query.VipCardInfoQuery.Id">
<summary>
编号id
@ -3555,6 +3570,11 @@
招生计划Ids
</summary>
</member>
<member name="P:New_College.Model.ViewModels.CWBUniversityDetailQuery.provinceIds">
<summary>
高校所在省份
</summary>
</member>
<member name="P:New_College.Model.ViewModels.CWBUniversityDetailQuery.Year">
<summary>
高考年份

View File

@ -215,7 +215,7 @@ namespace New_College
});
// 生成种子数据
app.UseSeedDataMildd(myContext, Env.WebRootPath);
// app.UseSeedDataMildd(myContext, Env.WebRootPath);
// 开启QuartzNetJob调度服务
app.UseQuartzJobMildd(tasksQzServices, schedulerCenter);
//服务注册

View File

@ -54,7 +54,18 @@ namespace New_College.Model.Models
public string MajorCode { get; set; }
public int Count { get; set; }
public int PlanCount { get; set; }
/// <summary>
/// 最低分
/// </summary>
public int LowScore { get; set; }
/// <summary>
/// 最低分排名
/// </summary>
public int LowScoreRank { get; set; }
/// <summary>
/// 学制
@ -69,7 +80,7 @@ namespace New_College.Model.Models
/// <summary>
/// 生源地
/// </summary>
public string Loction { get; set; }
public string Location { get; set; }

View File

@ -10,6 +10,11 @@ namespace New_College.Model.ViewModels.Query
public string MajorName { get; set; }
/// <summary>
/// 生源地
/// </summary>
public string Location { get; set; }
public int AreaId { get; set; }
public int Years { get; set; }

View File

@ -28,6 +28,11 @@ namespace New_College.Model.ViewModels
public List<int> UniversityIds { get; set; }
/// <summary>
/// 高校所在省份
/// </summary>
public List<int> provinceIds { get; set; }
public int BatchId { get; set; }
/// <summary>

View File

@ -89,7 +89,6 @@ namespace New_College.Model.ViewModels
public float Scoreline { get; set; }
public int planCount { get; set; }
public int PlanId { get; set; }
/// <summary>
/// 对应的Ids

View File

@ -5,10 +5,12 @@ using New_College.Model;
using New_College.Model.Models;
using New_College.Model.ViewModels;
using New_College.Repository.Base;
using NPOI.SS.Formula.Functions;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
namespace New_College.Repository
@ -21,12 +23,17 @@ namespace New_College.Repository
private readonly IV_CustomerInfoRepository v_CustomerInfo;
private readonly IT_EnrollmentPlaneRepository t_EnrollmentPlane;
private readonly ID_MajorRepository d_Major;
public T_EnrollmentPlanedescRepository(IUnitOfWork unitOfWork, IV_CustomerInfoRepository _CustomerInfoRepository, IT_EnrollmentPlaneRepository t_EnrollmentPlaneRepository, ID_MajorRepository d_MajorRepository) : base(unitOfWork)
private readonly ID_PlanMajorDescRepository planMajorDesc;
private readonly ID_PlanMajorScoreLineRepository planMajorScoreLine;
private readonly ID_UniversityRepository d_University;
public T_EnrollmentPlanedescRepository(IUnitOfWork unitOfWork, IV_CustomerInfoRepository _CustomerInfoRepository, IT_EnrollmentPlaneRepository t_EnrollmentPlaneRepository, ID_MajorRepository d_MajorRepository, ID_PlanMajorDescRepository planMajorDesc, ID_PlanMajorScoreLineRepository planMajorScoreLine, ID_UniversityRepository d_University) : base(unitOfWork)
{
this.v_CustomerInfo = _CustomerInfoRepository;
this.t_EnrollmentPlane = t_EnrollmentPlaneRepository;
this.d_Major = d_MajorRepository;
this.planMajorDesc = planMajorDesc;
this.planMajorScoreLine = planMajorScoreLine;
this.d_University = d_University;
}
/// <summary>
@ -39,7 +46,7 @@ namespace New_College.Repository
RefAsync<int> totalNumber = 0;
int planId = (await t_EnrollmentPlane.Query(e => e.Years == query.Year && e.Area_Id == query.AreaId)).FirstOrDefault().Id;
// int planId = (await t_EnrollmentPlane.Query(e => e.Years == query.Year && e.Area_Id == query.AreaId)).FirstOrDefault().Id;
var subjects = new string[] { };
string sbuOne = string.Empty;
string sbuTwo = string.Empty;
@ -55,30 +62,36 @@ namespace New_College.Repository
sbuTree = subjects[2];
}
var majornames = new List<string>();
var majoraslist= new List<D_Major>();
if (query.MajorIds != null && query.MajorIds.Count > 0)
{
//所选专业增加majorids筛选
//query.MajorIds
var major = await this.d_Major.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id));
if (major.Count() <= 0)
majoraslist = await this.d_Major.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.Id));
if (majoraslist.Count() <= 0)
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选专业大类数据完善中..." };
majornames = major.Select(x => x.MajorName).ToList();
majornames = majoraslist.Select(x => x.MajorCode).ToList();
}
var recommendInfo = await this.Db.Queryable<T_EnrollmentPlanedesc, D_University>((plans, universitys) => new object[] { JoinType.Left, plans.UniversityId == universitys.Id })
.Where((plans, universitys) => plans.PlanId == planId && plans.BatchtypeId == query.BatchId)
var testlist = new List<int>() { 1, 2, 3 };
var recommendInfo = await this.Db.Queryable<D_PlanMajorDesc, D_University>((plans, universitys) => new object[] { JoinType.Left, plans.UId == universitys.Id, JoinType.Left })
//.Where((plans, universitys) => plans.PlanId == planId && plans.BatchtypeId == query.BatchId)
.WhereIF(query.areaIds != null && query.areaIds.Count() > 0, (plans, universitys) => query.areaIds.Contains(universitys.Area_Id))
.WhereIF(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline <= query.Score + 15))
.WhereIF(query.Type == "冲", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline <= query.Score + 15 && plans.Scoreline > query.Score + 5))
.WhereIF(query.Type == "稳", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline <= query.Score + 5 && plans.Scoreline > query.Score - 15))
.WhereIF(query.Type == "保", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline < query.Score - 15))
.WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.Subjectclaim.Contains(sbuOne) || plans.Subjectclaim.Contains(sbuTwo) || plans.Subjectclaim.Contains(sbuTree)))
.WhereIF(majornames.Any() && majornames.Count() > 0, (plans, universitys) => majornames.Contains(plans.MajorName))
.WhereIF(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15))
.WhereIF(query.Type == "冲", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15 && plans.LowScore > query.Score + 5))
.WhereIF(query.Type == "稳", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 5 && plans.LowScore > query.Score - 15))
.WhereIF(query.Type == "保", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore < query.Score - 15))
.WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.SelectSubject.Contains(sbuOne) || plans.SelectSubject.Contains(sbuTwo) || plans.SelectSubject.Contains(sbuTree)))
.WhereIF(majornames.Any() && majornames.Count() > 0, (plans, universitys) => majornames.Contains(plans.MajorCode)).GroupBy(plans => new
{
// plans.Id,
plans.UId,
// plans.LowScore,
// plans.LowScoreRank
})
.Select((plans, universitys) => new UniversityEnrollmentPlanResult()
{
AreaName = universitys.Area_Name,
UniversityId = plans.UniversityId,
UniversityId = plans.UId,
AscriptionName = universitys.AscriptionName,
Logo = universitys.Logo,
Nhef = universitys.Nhef,
@ -86,36 +99,32 @@ namespace New_College.Repository
UniversityName = universitys.Name,
Sff = universitys.Sff,
Syl = universitys.Syl,
planCount = plans.Plancount,
Scoreline = plans.Scoreline,
PlanId = plans.Id
}).MergeTable()
.GroupBy(it => new
{
it.UniversityId
})
//plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5).Any() ? "冲" : (plandesc.Where(x => x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)).Any() ? "稳" : plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline > 0 && query.Score > x.Scoreline).Any() ? "保" : "其他"
.OrderBy(it => it.UniversityId, OrderByType.Asc)
.Select(it => new UniversityEnrollmentPlanResult
{
planCount = SqlFunc.AggregateSum(it.planCount),
MjaorPlan = SqlFunc.AggregateCount(it.UniversityId),
//PlanIds = SqlFunc.Subqueryable<List<UniversityEnrollmentPlanResult>>().Select(s =>),
// Score = it.Score,
Type = (it.Scoreline <= chongfirst && it.Scoreline > chongend) ? "冲" : (it.Scoreline <= chongend && it.Scoreline > wenend) ? "稳" : "保",
AreaName = it.AreaName,
UniversityId = it.UniversityId,
AscriptionName = it.AscriptionName,
Logo = it.Logo,
Nhef = it.Nhef,
Rank = it.Rank,
UniversityName = it.UniversityName,
planCount = SqlFunc.AggregateSum(plans.PlanCount),// plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList()
MjaorPlan = SqlFunc.AggregateCount(plans.UId),
Scoreline = SqlFunc.AggregateMin(plans.LowScore),
// PlanIds= String.Join(" ",plans.Id)
Sff = it.Sff,
Syl = it.Syl
})
.ToPageListAsync(query.PageIndex, query.PageSize, totalNumber);
var plansinfo = await this.Db.Queryable<D_PlanMajorDesc, D_University>((plans, universitys) => new object[] { JoinType.Left, plans.UId == universitys.Id, JoinType.Left })
//.Where((plans, universitys) => plans.PlanId == planId && plans.BatchtypeId == query.BatchId)
.WhereIF(query.areaIds != null && query.areaIds.Count() > 0, (plans, universitys) => query.areaIds.Contains(universitys.Area_Id))
.WhereIF(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15))
.WhereIF(query.Type == "冲", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 15 && plans.LowScore > query.Score + 5))
.WhereIF(query.Type == "稳", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= query.Score + 5 && plans.LowScore > query.Score - 15))
.WhereIF(query.Type == "保", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore < query.Score - 15))
.WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.SelectSubject.Contains(sbuOne) || plans.SelectSubject.Contains(sbuTwo) || plans.SelectSubject.Contains(sbuTree)))
.WhereIF(majornames.Any() && majornames.Count() > 0, (plans, universitys) => majornames.Contains(plans.MajorCode)).ToListAsync();
recommendInfo.ForEach(a =>
{
a.PlanIds = plansinfo.Where(c=>c.UId==a.UniversityId).Select(c=>c.Id).ToList();
a.Type = (a.Scoreline <= chongfirst && a.Scoreline > chongend) ? "冲" : (a.Scoreline <= chongend && a.Scoreline > wenend) ? "稳" : "保";
});
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>()
{
success = true,

View File

@ -758,7 +758,7 @@ namespace New_College.Services
{
//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.Loction == query.AreaName.Replace("省", ""));
var check = await d_PlanMajorDescRepository.Query(x => x.Years == query.Year && x.BatchName == query.BatchName && x.Location == query.AreaName.Replace("省", ""));
if (check.Count <= 0)
return new List<NewPlanDescList>() { };
// var batchid = check.Select(x => x.Id)?.FirstOrDefault();
@ -770,9 +770,9 @@ namespace New_College.Services
{
Name = item.Major,
AcademicYear = item.AcademicYear,
SelectSubject=item.SelectSubject,
SelectSubject = item.SelectSubject,
Money = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free,
PlanNum = item.Count,
PlanNum = item.PlanCount,
// Scoreline = item.Scoreline == 0 || string.IsNullOrWhiteSpace(item.Scoreline.ToString()) ? "--" : item.Scoreline.ToString()
});
}
@ -1596,49 +1596,66 @@ namespace New_College.Services
public async Task<bool> Import()
{
var universitylist = await d_UniversityRepository.Query();
universitylist.ForEach(async u =>
var plandesc = await d_PlanMajorDescRepository.Query(c => c.Years == 2022 && c.Location == "山东");
var plandescline = await d_PlanMajorScoreLineRepository.Query(c => c.Years == 2022 && c.Location == "山东");
plandesc.ForEach(async a =>
{
var plist = await this._PlanMajorDescRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0);
plist.ForEach(async cc =>
if (plandescline.Any(e => e.UId == a.UId && e.Major == a.Major && e.Location == a.Location && e.FirstType == a.FirstType))
{
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);
p2list.ForEach(async cc =>
{
cc.UId = u.Id;
cc.ModifyTime = DateTime.Now;
await this.d_PlanMajorScoreLineRepository.Update(cc);
});
var p3list = await this.d_QualificationLineRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0);
p3list.ForEach(async cc =>
{
cc.UId = u.Id;
cc.ModifyTime = DateTime.Now;
await this.d_QualificationLineRepository.Update(cc);
});
var firstdefault = plandescline.FirstOrDefault(e => e.UId == a.UId && a.Major.Contains(e.Major) && e.Location == a.Location && e.FirstType == a.FirstType);
a.LowScore = firstdefault.LowScore;
a.LowScoreRank = firstdefault.LowScoreRank;
a.ModifyTime=DateTime.Now;
await d_PlanMajorDescRepository.Update(a);
}
});
//var universitylist = await d_UniversityRepository.Query();
//universitylist.ForEach(async u =>
//{
// var plist = await this._PlanMajorDescRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0);
// plist.ForEach(async cc =>
// {
// 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);
// p2list.ForEach(async cc =>
// {
// cc.UId = u.Id;
// cc.ModifyTime = DateTime.Now;
// await this.d_PlanMajorScoreLineRepository.Update(cc);
// });
// var p3list = await this.d_QualificationLineRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0);
// p3list.ForEach(async cc =>
// {
// cc.UId = u.Id;
// cc.ModifyTime = DateTime.Now;
// await this.d_QualificationLineRepository.Update(cc);
// });
// });
//this.d_PlanMajorDescServices = d_PlanMajorDescServices;
//this.d_PlanMajorScoreLineRepository = d_PlanMajorScoreLineRepository;
//this.d_QualificationLineRepository = d_QualificationLineRepository;

View File

@ -14,6 +14,9 @@ using System;
using System.Text;
using New_College.Repository;
using New_College.Common;
using Org.BouncyCastle.Asn1.Ocsp;
using SqlSugar;
using System.Linq.Expressions;
namespace New_College.Services
{
@ -35,6 +38,8 @@ namespace New_College.Services
private readonly IT_GearInfoRepository t_GearInfo;
private readonly IT_EnrollmentPlanedescRepository t_EnrollmentPlanedesc;
private readonly IV_CustomerInfoRepository _CustomerInfoRepository;
private readonly ID_PlanMajorDescRepository _PlanMajorDescRepository;
private readonly ID_PlanMajorScoreLineRepository _PlanMajorScoreLineRepository;
public T_EnrollmentPlanedescServices(IBaseRepository<T_EnrollmentPlanedesc> dal
, ID_UniversityRepository ID_UniversityRepository
, IT_EnrollmentBatchRepository IT_EnrollmentBatchRepository
@ -49,7 +54,7 @@ namespace New_College.Services
, IU_VolunteerTableRepository IU_VolunteerTableRepository
, IU_VolunteerTableDetailRepository IU_VolunteerTableDetailRepository
, ID_UniversityCollectionRepository ID_UniversityCollectionRepository
, IT_GearInfoRepository IT_GearInfoRepository, IT_EnrollmentPlanedescRepository t_EnrollmentPlanedescServices, IV_CustomerInfoRepository v_CustomerInfoRepository)
, IT_GearInfoRepository IT_GearInfoRepository, IT_EnrollmentPlanedescRepository t_EnrollmentPlanedescServices, IV_CustomerInfoRepository v_CustomerInfoRepository, ID_PlanMajorDescRepository planMajorDescRepository, ID_PlanMajorScoreLineRepository planMajorScoreLineRepository)
{
this._dal = dal;
d_UniversityRepository = ID_UniversityRepository;
@ -68,6 +73,8 @@ namespace New_College.Services
base.BaseDal = dal;
this.t_EnrollmentPlanedesc = t_EnrollmentPlanedescServices;
this._CustomerInfoRepository = v_CustomerInfoRepository;
_PlanMajorDescRepository = planMajorDescRepository;
_PlanMajorScoreLineRepository = planMajorScoreLineRepository;
}
public List<string> permut = new List<string>();
@ -956,7 +963,7 @@ namespace New_College.Services
var batchids = batchinfo.Select(s => s.Id).ToList();
//通过条件筛选出所有的
var wheres = PredicateBuilder.New<T_EnrollmentPlanedesc>();
wheres.And(x => x.Scoreline <= ( query.Score + 10) && x.Scoreline > 0 && majornames.Contains(x.MajorName) && universityids.Contains(x.UniversityId) && x.PlanId == planinfo.FirstOrDefault().Id && batchids.Contains(x.BatchtypeId));
wheres.And(x => x.Scoreline <= (query.Score + 10) && x.Scoreline > 0 && 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)
@ -1054,16 +1061,19 @@ namespace New_College.Services
/// <returns></returns>
public async Task<MessageModel<PageModel<PlanDescList>>> GetPlanByUniversity(PlanDetailQuery query)
{
if (query.PlanIds != null && query.PlanIds.Count <= 0)
return new MessageModel<PageModel<PlanDescList>>() { success = false, msg = "传入不能为空" };
var info = await _dal.QueryPage(x => x.IsDelete == false && query.PlanIds.Contains(x.Id), query.PageIndex, query.PageSize, "Scoreline desc");
var info = await _PlanMajorDescRepository.QueryPage(x => x.IsDelete == false && query.PlanIds.Contains(x.Id), query.PageIndex, query.PageSize, "LowScore desc");
List<PlanDescList> list = new List<PlanDescList>() { };
foreach (var item in info.data)
{
var newname = CheckMajorName(item.MajorName, item.Remark);
var newmoney = string.IsNullOrWhiteSpace(item.Tuitionfee) || item.Tuitionfee == "0" || item.Tuitionfee == "待定" ? "--" : item.Tuitionfee;
var newyear = string.IsNullOrWhiteSpace(item.Studyyears) ? "--" : item.Studyyears;
var count = list.Count(x => x.Name == newname && x.Money == newmoney && x.PlanNum == item.Plancount && x.Scoreline == item.Scoreline);
var newname = item.Major;
var newmoney = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free;
var newyear = string.IsNullOrWhiteSpace(item.AcademicYear) ? "--" : item.AcademicYear;
var count = list.Count(x => x.Name == newname && x.Money == newmoney && x.PlanNum == item.PlanCount && x.Scoreline == item.LowScore);
if (count > 0)
continue;
list.Add(new PlanDescList()
@ -1071,9 +1081,9 @@ namespace New_College.Services
Name = newname,
Year = newyear,
Money = newmoney,
PlanNum = item.Plancount,
PlanNum = item.PlanCount,
MajorId = item.Id,
Scoreline = item.Scoreline
Scoreline = item.LowScore
//Subject = GetSub(item.Subjectclaim)
});
}
@ -1227,113 +1237,115 @@ namespace New_College.Services
public async Task<MessageModel<PageModel<UniversityEnrollmentPlanResult>>> GetCWBUniversityDetail(CWBUniversityDetailQuery query)
{
// return await this.t_EnrollmentPlanedesc.GetCWBUniversityDetail(query);
var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId);
if (planinfo == null)
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." };
var wheres = PredicateBuilder.New<T_EnrollmentPlanedesc>();
wheres.And(x => x.IsDelete == false && x.PlanId == planinfo.FirstOrDefault().Id && x.UniversityId > 0);
wheres.And(x => x.Scoreline > 0);
if (query.UniversityIds != null && query.UniversityIds.Any())
{
wheres.And(x => query.UniversityIds.Contains(x.UniversityId));
}
return await this.t_EnrollmentPlanedesc.GetCWBUniversityDetail(query);
//var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId);
//if (planinfo == null || planinfo.Count() <= 0)
// return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." };
//var wheres = PredicateBuilder.New<T_EnrollmentPlanedesc>();
//wheres.And(x => x.IsDelete == false && x.PlanId == planinfo.FirstOrDefault().Id && x.UniversityId > 0);
//wheres.And(x => x.Scoreline > 0);
//if (query.UniversityIds != null && query.UniversityIds.Any())
//{
// wheres.And(x => query.UniversityIds.Contains(x.UniversityId));
//}
//此处需加冲稳保
if (query.AreaId != 821 && query.AreaId != 1047 && query.AreaId != 1965)
{
if (query.BatchId > 0)
{
wheres.And(x => x.BatchtypeId == query.BatchId);
}
}
//if (query.AreaId != 821 && query.AreaId != 1047 && query.AreaId != 1965)
//{
// if (query.BatchId > 0)
// {
// wheres.And(x => x.BatchtypeId == query.BatchId);
// }
//}
//wheres.And(x => x.Scoreline > 0 && (query.Score >= x.Scoreline && query.Score - 25 <= x.Scoreline));
if (string.IsNullOrWhiteSpace(query.Type))
{
wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15));
}
else
{
if (query.Type == "冲")
{
wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5));
}
else if (query.Type == "稳")
{
wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15));
}
else if (query.Type == "保")
{
wheres.And(x => x.Scoreline > 0 && (x.Scoreline < query.Score - 15));
}
}
//if (string.IsNullOrWhiteSpace(query.Type))
//{
// wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15));
//}
//else
//{
// if (query.Type == "冲")
// {
// wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5));
// }
// else if (query.Type == "稳")
// {
// wheres.And(x => x.Scoreline > 0 && (x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15));
// }
// else if (query.Type == "保")
// {
// wheres.And(x => x.Scoreline > 0 && (x.Scoreline < query.Score - 15));
// }
//}
//().Id && batchids.Contains(x.BatchtypeId) && x.UniversityId > 0);
if (query.MajorIds != null && query.MajorIds.Count > 0)
{
//所选专业增加majorids筛选
//query.MajorIds
var major = await d_MajorRepository.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id));
if (major.Count() <= 0)
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选专业大类数据完善中..." };
var majornames = major.Select(x => x.MajorName).ToList();
wheres.And(x => majornames.Contains(x.MajorName));
}
//根据上述所有筛选 求出招生计划
var plandesc = await _dal.Query(wheres, "Scoreline desc");
int universityidcount = 0;
var start = query.PageSize * (query.PageIndex - 1);
var end = query.PageIndex * query.PageSize;
//if (query.MajorIds != null && query.MajorIds.Count > 0)
//{
// 所选专业增加majorids筛选
// query.MajorIds
// var major = await d_MajorRepository.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id));
// if (major.Count() <= 0)
// return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选专业大类数据完善中..." };
// var majornames = major.Select(x => x.MajorName).ToList();
// wheres.And(x => majornames.Contains(x.MajorName));
//}
//根据上述所有筛选 求出招生计划
//var plandesc = await _dal.Query(wheres, "Scoreline desc");
//int universityidcount = 0;
//var start = query.PageSize * (query.PageIndex - 1);
//var end = query.PageIndex * query.PageSize;
var stringBuilderinfo = new StringBuilder();
//var stringBuilderinfo = new StringBuilder();
stringBuilderinfo.AppendFormat("select Rank,Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0");
if (query.UniversityIds != null && query.UniversityIds.Count > 0)
{
universityidcount = query.UniversityIds.Count;
string ids = string.Join(",", query.UniversityIds);
stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids);
}
else
{
universityidcount = plandesc.Select(x => x.UniversityId).Distinct().Count();
string ids = string.Join(",", plandesc.Select(x => x.UniversityId).Distinct().ToList());
stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids);
}
stringBuilderinfo.AppendFormat(" limit {0},{1}", start, end);
//stringBuilderinfo.AppendFormat("select Rank,Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0");
//if (query.UniversityIds != null && query.UniversityIds.Count > 0)
//{
// universityidcount = query.UniversityIds.Count;
// string ids = string.Join(",", query.UniversityIds);
// stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids);
//}
//else
//{
// universityidcount = plandesc.Select(x => x.UniversityId).Distinct().Count();
// string ids = string.Join(",", plandesc.Select(x => x.UniversityId).Distinct().ToList());
// stringBuilderinfo.AppendFormat(" and Id in ({0}) ", ids);
//}
//stringBuilderinfo.AppendFormat(" limit {0},{1}", start, end);
var sqldata = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString());
if (sqldata.Count <= 0)
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "获取失败,数据为空" };
var Type = query.Type;
var list = sqldata.Select(item => 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 = plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList(),
AreaName = item.Area_Name,
AscriptionName = item.AscriptionName,
MjaorPlan = plandesc.Count(x => x.UniversityId == item.Id),
Rank = item.Rank <= 0 ? "-" : item.Rank.ToString(),
Type = plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5).Any() ? "冲" : (plandesc.Where(x => x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)).Any() ? "稳" : plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline > 0 && query.Score > x.Scoreline).Any() ? "保" : "其他"
}).ToList();
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>()
{
success = true,
msg = "获取成功",
response = new PageModel<UniversityEnrollmentPlanResult>()
{
data = list,
dataCount = universityidcount,
page = query.PageIndex,
PageSize = query.PageSize,
pageCount = (int)Math.Ceiling(universityidcount / Convert.ToDecimal(query.PageSize))
}
};
//var sqldata = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString());
//if (sqldata.Count <= 0)
// return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "获取失败,数据为空" };
//var Type = query.Type;
//var list = sqldata.Select(item => 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 = plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList(),
// AreaName = item.Area_Name,
// AscriptionName = item.AscriptionName,
// MjaorPlan = plandesc.Count(x => x.UniversityId == item.Id),
// Rank = item.Rank <= 0 ? "-" : item.Rank.ToString(),
// Type = plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline <= query.Score + 15 && x.Scoreline > query.Score + 5).Any() ? "冲" : (plandesc.Where(x => x.Scoreline <= query.Score + 5 && x.Scoreline > query.Score - 15)).Any() ? "稳" : plandesc.Where(x => x.UniversityId == item.Id && x.Scoreline > 0 && query.Score > x.Scoreline).Any() ? "保" : "其他"
//}).ToList();
//return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>()
//{
// success = true,
// msg = "获取成功",
// response = new PageModel<UniversityEnrollmentPlanResult>()
// {
// data = list,
// dataCount = universityidcount,
// page = query.PageIndex,
// PageSize = query.PageSize,
// pageCount = (int)Math.Ceiling(universityidcount / Convert.ToDecimal(query.PageSize))
// }
//};
@ -1589,7 +1601,7 @@ namespace New_College.Services
}
#region 获取Proposal建议
public string GetProposal(float Probability)
private string GetProposal(float Probability)
{
if (Probability >= 85)
{