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;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using New_College.IServices; using New_College.IServices;
using New_College.Model; using New_College.Model;
using New_College.Model.Models;
using New_College.Model.ViewModels.Query; using New_College.Model.ViewModels.Query;
using New_College.Model.ViewModels.Result; using New_College.Model.ViewModels.Result;
using SqlSugar;
namespace New_College.Api.Controllers.Front 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_EnrollmentPlaneServices t_EnrollmentPlane;
private readonly IT_EnrollmentBatchServices t_EnrollmentBatch; 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_EnrollmentPlane = enrollmentPlaneServices;
this.t_EnrollmentBatch = t_EnrollmentBatchServices; this.t_EnrollmentBatch = t_EnrollmentBatchServices;
this.d_PlanMajorDesc = d_PlanMajorDesc;
} }
@ -34,35 +39,61 @@ namespace New_College.Api.Controllers.Front
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
public async Task<MessageModel<PageModel<EnrollmentPlansResult>>> GetEnrollmentPlans([FromQuery] EnrollmentPlanRequest request) public async Task<MessageModel<PageModel<D_PlanMajorDesc>>> GetEnrollmentPlans([FromQuery] EnrollmentPlanRequest request)
{ {
try try
{ {
var planinfo = await this.t_EnrollmentPlane.Query(e => e.IsDelete == false && e.Area_Id == request.AreaId && e.Years == request.Years); Expression<Func<D_PlanMajorDesc, bool>> whereexp = Expressionable.Create<D_PlanMajorDesc>() //创建表达式
if (planinfo.Any()) .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; return new MessageModel<PageModel<D_PlanMajorDesc>>()
request.PlanId = planinfo.FirstOrDefault().Id;
request.BatchtypeId = BatchtypeId;
var result = await this.t_EnrollmentPlane.GetEnrollmentPlans(request);
return new MessageModel<PageModel<EnrollmentPlansResult>>()
{ {
msg = "success", response = pageModel,
response = result, success = true,
success = true msg = "ok",
status = 200
}; };
} }
else else
{ {
return new MessageModel<PageModel<EnrollmentPlansResult>>() return new MessageModel<PageModel<D_PlanMajorDesc>>()
{ {
msg = "相关信息更新中...", 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) catch (Exception ex)
{ {
return new MessageModel<PageModel<EnrollmentPlansResult>>() return new MessageModel<PageModel<D_PlanMajorDesc>>()
{ {
msg = ex.Message msg = ex.Message
}; };

View File

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

View File

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

View File

@ -54,7 +54,18 @@ namespace New_College.Model.Models
public string MajorCode { get; set; } 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> /// <summary>
/// 学制 /// 学制
@ -69,7 +80,7 @@ namespace New_College.Model.Models
/// <summary> /// <summary>
/// 生源地 /// 生源地
/// </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; } public string MajorName { get; set; }
/// <summary>
/// 生源地
/// </summary>
public string Location { get; set; }
public int AreaId { get; set; } public int AreaId { get; set; }
public int Years { get; set; } public int Years { get; set; }

View File

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

View File

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

View File

@ -5,10 +5,12 @@ using New_College.Model;
using New_College.Model.Models; using New_College.Model.Models;
using New_College.Model.ViewModels; using New_College.Model.ViewModels;
using New_College.Repository.Base; using New_College.Repository.Base;
using NPOI.SS.Formula.Functions;
using SqlSugar; using SqlSugar;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace New_College.Repository namespace New_College.Repository
@ -21,12 +23,17 @@ namespace New_College.Repository
private readonly IV_CustomerInfoRepository v_CustomerInfo; private readonly IV_CustomerInfoRepository v_CustomerInfo;
private readonly IT_EnrollmentPlaneRepository t_EnrollmentPlane; private readonly IT_EnrollmentPlaneRepository t_EnrollmentPlane;
private readonly ID_MajorRepository d_Major; 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.v_CustomerInfo = _CustomerInfoRepository;
this.t_EnrollmentPlane = t_EnrollmentPlaneRepository; this.t_EnrollmentPlane = t_EnrollmentPlaneRepository;
this.d_Major = d_MajorRepository; this.d_Major = d_MajorRepository;
this.planMajorDesc = planMajorDesc;
this.planMajorScoreLine = planMajorScoreLine;
this.d_University = d_University;
} }
/// <summary> /// <summary>
@ -39,7 +46,7 @@ namespace New_College.Repository
RefAsync<int> totalNumber = 0; 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[] { }; var subjects = new string[] { };
string sbuOne = string.Empty; string sbuOne = string.Empty;
string sbuTwo = string.Empty; string sbuTwo = string.Empty;
@ -55,30 +62,36 @@ namespace New_College.Repository
sbuTree = subjects[2]; sbuTree = subjects[2];
} }
var majornames = new List<string>(); var majornames = new List<string>();
var majoraslist= new List<D_Major>();
if (query.MajorIds != null && query.MajorIds.Count > 0) if (query.MajorIds != null && query.MajorIds.Count > 0)
{ {
//所选专业增加majorids筛选 //所选专业增加majorids筛选
//query.MajorIds //query.MajorIds
var major = await this.d_Major.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.CategoryClass_Id)); majoraslist = await this.d_Major.Query(x => x.IsDelete == false && query.MajorIds.Contains(x.Id));
if (major.Count() <= 0) if (majoraslist.Count() <= 0)
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选专业大类数据完善中..." }; return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>() { success = false, msg = "所选专业大类数据完善中..." };
majornames = major.Select(x => x.MajorName).ToList(); majornames = majoraslist.Select(x => x.MajorCode).ToList();
} }
var testlist = new List<int>() { 1, 2, 3 };
var recommendInfo = await this.Db.Queryable<T_EnrollmentPlanedesc, D_University>((plans, universitys) => new object[] { JoinType.Left, plans.UniversityId == universitys.Id }) 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) //.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(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(string.IsNullOrWhiteSpace(query.Type), (plans, universitys) => plans.LowScore > 0 && (plans.LowScore <= 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.LowScore > 0 && (plans.LowScore <= query.Score + 15 && plans.LowScore > 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.LowScore > 0 && (plans.LowScore <= query.Score + 5 && plans.LowScore > query.Score - 15))
.WhereIF(query.Type == "保", (plans, universitys) => plans.Scoreline > 0 && (plans.Scoreline < query.Score - 15)) .WhereIF(query.Type == "保", (plans, universitys) => plans.LowScore > 0 && (plans.LowScore < query.Score - 15))
.WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), (plans, universitys) => (plans.Subjectclaim.Contains(sbuOne) || plans.Subjectclaim.Contains(sbuTwo) || plans.Subjectclaim.Contains(sbuTree))) .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.MajorName)) .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() .Select((plans, universitys) => new UniversityEnrollmentPlanResult()
{ {
AreaName = universitys.Area_Name, AreaName = universitys.Area_Name,
UniversityId = plans.UniversityId, UniversityId = plans.UId,
AscriptionName = universitys.AscriptionName, AscriptionName = universitys.AscriptionName,
Logo = universitys.Logo, Logo = universitys.Logo,
Nhef = universitys.Nhef, Nhef = universitys.Nhef,
@ -86,36 +99,32 @@ namespace New_College.Repository
UniversityName = universitys.Name, UniversityName = universitys.Name,
Sff = universitys.Sff, Sff = universitys.Sff,
Syl = universitys.Syl, Syl = universitys.Syl,
planCount = plans.Plancount, planCount = SqlFunc.AggregateSum(plans.PlanCount),// plandesc.Where(x => x.UniversityId == item.Id).Select(x => x.Id).ToList()
Scoreline = plans.Scoreline,
PlanId = plans.Id MjaorPlan = SqlFunc.AggregateCount(plans.UId),
}).MergeTable() Scoreline = SqlFunc.AggregateMin(plans.LowScore),
.GroupBy(it => new // PlanIds= String.Join(" ",plans.Id)
{
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,
Sff = it.Sff,
Syl = it.Syl
}) })
.ToPageListAsync(query.PageIndex, query.PageSize, totalNumber); .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>>() return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>()
{ {
success = true, 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); //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) //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) if (check.Count <= 0)
return new List<NewPlanDescList>() { }; return new List<NewPlanDescList>() { };
// var batchid = check.Select(x => x.Id)?.FirstOrDefault(); // var batchid = check.Select(x => x.Id)?.FirstOrDefault();
@ -770,9 +770,9 @@ namespace New_College.Services
{ {
Name = item.Major, Name = item.Major,
AcademicYear = item.AcademicYear, AcademicYear = item.AcademicYear,
SelectSubject=item.SelectSubject, SelectSubject = item.SelectSubject,
Money = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free, 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() // 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() public async Task<bool> Import()
{ {
var plandesc = await d_PlanMajorDescRepository.Query(c => c.Years == 2022 && c.Location == "山东");
var universitylist = await d_UniversityRepository.Query(); var plandescline = await d_PlanMajorScoreLineRepository.Query(c => c.Years == 2022 && c.Location == "山东");
universitylist.ForEach(async u => plandesc.ForEach(async a =>
{ {
if (plandescline.Any(e => e.UId == a.UId && e.Major == a.Major && e.Location == a.Location && e.FirstType == a.FirstType))
var plist = await this._PlanMajorDescRepository.Query(c => c.UniversityName == u.Name && c.UId <= 0);
plist.ForEach(async cc =>
{ {
cc.UId = u.Id; var firstdefault = plandescline.FirstOrDefault(e => e.UId == a.UId && a.Major.Contains(e.Major) && e.Location == a.Location && e.FirstType == a.FirstType);
cc.ModifyTime = DateTime.Now; a.LowScore = firstdefault.LowScore;
await this._PlanMajorDescRepository.Update(cc); a.LowScoreRank = firstdefault.LowScoreRank;
a.ModifyTime=DateTime.Now;
}); await d_PlanMajorDescRepository.Update(a);
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 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_PlanMajorDescServices = d_PlanMajorDescServices;
//this.d_PlanMajorScoreLineRepository = d_PlanMajorScoreLineRepository; //this.d_PlanMajorScoreLineRepository = d_PlanMajorScoreLineRepository;
//this.d_QualificationLineRepository = d_QualificationLineRepository; //this.d_QualificationLineRepository = d_QualificationLineRepository;

View File

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