From d2b24a77c5f376cb2f410c57d5cfc0c026fceb5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com>
Date: Thu, 11 Jul 2024 11:49:30 +0800
Subject: [PATCH] bug fixed
---
.../Front/PcVolunteerController.cs | 4 +--
.../Helper/MajorPlanScoreTool.cs | 4 +++
.../BASE/T_EnrollmentPlanedescRepository.cs | 34 ++++++++++++-------
.../D_PlanMajorDescServices.cs | 9 ++---
4 files changed, 33 insertions(+), 18 deletions(-)
diff --git a/New_College.Api/Controllers/Front/PcVolunteerController.cs b/New_College.Api/Controllers/Front/PcVolunteerController.cs
index f6f61ab..51b793c 100644
--- a/New_College.Api/Controllers/Front/PcVolunteerController.cs
+++ b/New_College.Api/Controllers/Front/PcVolunteerController.cs
@@ -120,7 +120,7 @@ namespace New_College.Api.Controllers.Front
var location = planmajordesc.FirstOrDefault().Location;
var majorlist = planmajordesc.Select(c => c.MajorName).ToList();
var universityname = planmajordesc.Select(c => c.UniversityName).Distinct().ToList();
- var planmajorcomplist = await _TbSNeedDataInfoServices.Query(c => c.Location == location && SqlFunc.ContainsArray(majorlist, c.MajorName) && SqlFunc.ContainsArray(universityname, c.UniversityName));//
+ var planmajorcomplist = await _TbSNeedDataInfoServices.Query(c => c.Location == location && SqlFunc.ContainsArray(majorlist, c.MajorName) && SqlFunc.ContainsArray(universityname, c.UniversityName) && c._plancount > 0);//
view.VolunteerTableName = query.VolunteerTableName;
view.SubjectClaim = query.SubjectClaim.Length > 2 ? "综合" : query.SubjectClaim;
@@ -319,7 +319,7 @@ namespace New_College.Api.Controllers.Front
});
- var stream =await PdfOptHelper.CreatePdfAsync(string.Format("{0}-{1}-{2}", query.VolunteerTableName, query.SubjectClaim, query.Score), unversityheaders.ToList(), majorlistheaders.ToList(), ulist, query.CreateTime.Value);
+ var stream = await PdfOptHelper.CreatePdfAsync(string.Format("{0}-{1}-{2}", query.VolunteerTableName, query.SubjectClaim, query.Score), unversityheaders.ToList(), majorlistheaders.ToList(), ulist, query.CreateTime.Value);
// 返回 PDF 文件
return File(stream.ToArray(), "application/pdf", string.Format("{0}.pdf", DateTime.Now.ToString("yyyyMMddhhssfff_")));
diff --git a/New_College.Common/Helper/MajorPlanScoreTool.cs b/New_College.Common/Helper/MajorPlanScoreTool.cs
index 77bffe4..6ad7497 100644
--- a/New_College.Common/Helper/MajorPlanScoreTool.cs
+++ b/New_College.Common/Helper/MajorPlanScoreTool.cs
@@ -17,6 +17,10 @@ namespace New_College.Common
///
public static int GetPlanPercentage(int LowScore, int requestScore)
{
+ if (LowScore == 0)
+ {
+ return 90;
+ }
//int minscore = requestScore - 60;//最小
//int constscore = requestScore;//中位数
//int maxscore = requestScore + 15;//最大
diff --git a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs
index 0624ffb..97fda41 100644
--- a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs
+++ b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs
@@ -216,21 +216,31 @@ namespace New_College.Repository
}
if (string.IsNullOrEmpty(query.Type))
{
- sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score + 15);
+ sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score + 15);
}
if (query.Type == "冲")
{
- sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score, query.Score + 15);
+ sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score, query.Score + 15);
}
if (query.Type == "稳")
{
- sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score - 26, query.Score - 1);
+ sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score - 26, query.Score - 1);
}
if (query.Type == "保")
{
- sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score - 26);
+ sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score - 26);
}
+
+ if (query.BatchName == "普通类二段" || query.BatchName.Contains("专科"))
+ {
+ sqlstr.AppendLine(" or _23Score <=0 and EducationCategory='专科') ");
+ }
+ else
+ {
+ sqlstr.AppendLine(" ) ");
+ }
+
if (majornames.Any() && majornames.Count() > 0)
{
sqlstr.Append(" and (");
@@ -254,14 +264,14 @@ namespace New_College.Repository
{
sqlstr.AppendFormat(" and (_23subject like'%{0}%' or _23subject like'%{1}%' or _23subject like'%{2}%' or _23subject like'%{3}%' )", claim01, claim02, claim03, "不限");
}
- if (query.BatchName == "普通类二段" || query.BatchName.Contains("专科"))
- {
- sqlstr.AppendLine(" or _23Score <=0 and EducationCategory='专科' order by _23ScoreLine ");
- }
- else
- {
- sqlstr.Append("and _23ScoreLine>0 order by _23ScoreLine ");
- }
+ //if (query.BatchName == "普通类二段" || query.BatchName.Contains("专科"))
+ //{
+ // sqlstr.AppendLine(" or _23Score <=0 and EducationCategory='专科') order by _23ScoreLine ");
+ //}
+ //else
+ //{
+ sqlstr.Append(" order by _23ScoreLine ");
+ // }
var recommendInfo = await this.Db.SqlQueryable(sqlstr.ToString()).ToListAsync();
diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs
index 8c224c7..87afc5e 100644
--- a/New_College.Services/D_PlanMajorDescServices.cs
+++ b/New_College.Services/D_PlanMajorDescServices.cs
@@ -239,7 +239,7 @@ namespace New_College.Services
.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._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限")||
+ (!SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限") ||
(SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) && SqlFunc.Contains(c._24subject, claim02) && SqlFunc.Contains(c._24subject, claim03))
)
//.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName)
@@ -371,17 +371,18 @@ namespace New_College.Services
Expression> expression3 = Expressionable.Create()
.And(c => c.Location == request.Location)
.And(c => c.SubjectType == batchtypeName)
+ .And(c => c._plancount > 0)
.AndIF(request.Score > 0 && (request.BatchName.Contains("本科") || request.BatchName.Contains("一段")), c => c._23ScoreLine > 0)
.AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim),
- c =>
+ c =>
(!SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限") ||
(SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) && SqlFunc.Contains(c._24subject, claim02) && SqlFunc.Contains(c._24subject, claim03))
)
.AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major))
.AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province))
//.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType)
- .AndIF(request.Score > 0&&(request.BatchName.Contains("本科")||request.BatchName.Contains("一段")), c => SqlFunc.Between(c._23Score, request.Score - 60, request.Score + 15))
- .AndIF(request.Score > 0 && (request.BatchName.Contains("专科") || request.BatchName.Contains("二段")), c => SqlFunc.Between(c._23Score, request.Score - 150, request.Score + 20))
+ .AndIF(request.Score > 0 && (request.BatchName.Contains("本科") || request.BatchName.Contains("一段")), c => SqlFunc.Between(c._23Score, request.Score - 60, request.Score + 15))
+ .AndIF(request.Score > 0 && (request.BatchName.Contains("专科") || request.BatchName.Contains("二段")), c => SqlFunc.Between(c._23Score, request.Score - 150, request.Score + 20)||c._23Score== "0")
.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"))