diff --git a/New_College.IServices/IT_TbSNeedDataInfoPevServices.cs b/New_College.IServices/IT_TbSNeedDataInfoPevServices.cs index aaa11a5..d475788 100644 --- a/New_College.IServices/IT_TbSNeedDataInfoPevServices.cs +++ b/New_College.IServices/IT_TbSNeedDataInfoPevServices.cs @@ -14,6 +14,6 @@ namespace New_College.IServices /// public interface IT_TbSNeedDataInfoPevServices :IBaseServices { - + Task> GetAIPerview(OneSubmitGoRequest request); } } \ No newline at end of file diff --git a/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs b/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs index 5de9cd7..c41ca8f 100644 --- a/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs +++ b/New_College.Model/ViewModels/Query/OneSubmitGoRequest.cs @@ -23,6 +23,7 @@ namespace New_College.Model.ViewModels /// public class OneSubmitGoRequest : BasePageRequest { + public string subjecttype { get; set; } public string Name { get; set; } /// /// 起始分数 @@ -357,7 +358,7 @@ namespace New_College.Model.ViewModels /// public int PlanId { get; set; } - + } public class PlanItem diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index 23bd75a..3907d29 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -63,31 +63,32 @@ namespace New_College.Services public async Task GetAIPerview(OneSubmitGoRequest request) { - - var subjecttype = request.SubjectClaim.Length == 2 ? request.SubjectClaim : "综合"; + request.subjecttype = request.SubjectClaim.Length == 2 ? request.SubjectClaim : "综合"; request.SubjectClaim = request.SubjectClaim.Length == 2 ? (request.SubjectClaim == "理科" ? "物,化,生" : "政,史,地") : request.SubjectClaim; var aidto = new AIPerviewDto(); - int startscore = request.Score - 60; - int endscore = request.Score + 15; - var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); - var natureNames = NatureHelper.NatureNames(request.Nature); - Expression> expression = Expressionable.Create() - .And(c => c.Location == request.Location) - .And(c => c.SubjectType == subjecttype) - .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._23subject, claim[0]) || SqlFunc.Contains(c._23subject, claim[1]) || SqlFunc.Contains(c._23subject, claim[2]) || c._23subject == "不限") - .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) - .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 => SqlFunc.ContainsArray(natureNames, c.Nature)) - .AndIF(request.EndScore > request.StartScore, c => SqlFunc.Between(c._23Score, startscore, endscore)) - .ToExpression(); - var querylist = (await t_TbSNeedDataInfoPev.Query(expression)).Select(c => new TbSNeedDataInfoPerviewViewDto() + //int startscore = request.Score - 60; + //int endscore = request.Score + 15; + //var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); + //var natureNames = NatureHelper.NatureNames(request.Nature); + //Expression> expression = Expressionable.Create() + // .And(c => c.Location == request.Location) + // .And(c => c.SubjectType == subjecttype) + // .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) + // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._23subject, claim[0]) || SqlFunc.Contains(c._23subject, claim[1]) || SqlFunc.Contains(c._23subject, claim[2]) || c._23subject == "不限") + // .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) + // .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 => SqlFunc.ContainsArray(natureNames, c.Nature)) + // .AndIF(request.EndScore > request.StartScore, c => SqlFunc.Between(c._23Score, startscore, endscore)) + // .ToExpression(); + + var baselist = await t_TbSNeedDataInfoPev.GetAIPerview(request); + var querylist = baselist.Select(c => new TbSNeedDataInfoPerviewViewDto() { //ID = c.ID, LnstitutionalLevel = c.LnstitutionalLevel, diff --git a/New_College.Services/T_TbSNeedDataInfoPevServices.cs b/New_College.Services/T_TbSNeedDataInfoPevServices.cs index 98d0094..abba6a3 100644 --- a/New_College.Services/T_TbSNeedDataInfoPevServices.cs +++ b/New_College.Services/T_TbSNeedDataInfoPevServices.cs @@ -6,20 +6,104 @@ using New_College.IRepository.Base; using System.Threading.Tasks; using System.Collections.Generic; using New_College.Model.ViewModels; +using OSS.Common.Resp; +using System.Text; +using System.Data.Entity.SqlServer; +using System.Security.Claims; +using Microsoft.Extensions.Primitives; namespace New_College.Services { public class T_TbSNeedDataInfoPevServices : BaseServices, IT_TbSNeedDataInfoPevServices { private readonly IBaseRepository _dal; - + public T_TbSNeedDataInfoPevServices(IBaseRepository dal) { this._dal = dal; base.BaseDal = dal; - + } - + + /// + /// 查询条件 + /// + /// + /// + public async Task> GetAIPerview(OneSubmitGoRequest request) + { + + //.And(c => c.Location == request.Location) + // .And(c => c.SubjectType == subjecttype) + // .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) + // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._23subject, claim[0]) || SqlFunc.Contains(c._23subject, claim[1]) || SqlFunc.Contains(c._23subject, claim[2]) || c._23subject == "不限") + // .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) + // .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 => SqlFunc.ContainsArray(natureNames, c.Nature)) + // .AndIF(request.EndScore > request.StartScore, c => SqlFunc.Between(c._23Score, startscore, endscore)) + + var claim01 = ""; + var claim02 = ""; + var claim03 = ""; + if (!string.IsNullOrWhiteSpace(request.SubjectClaim)) + { + var claim = request.SubjectClaim.Split(","); + claim01 = claim[0]; + claim02 = claim[1]; + claim03 = claim[2]; + } + StringBuilder sbsql = new StringBuilder(); + + sbsql.AppendFormat("SELECT LnstitutionalLevel,UniversityName,Nature,_23SchoolScore from T_TbSNeedDataInfo where Location='{0}' ", request.Location); + + sbsql.AppendFormat(" and SubjectType='{0}'",request.subjecttype); + + if (!string.IsNullOrWhiteSpace(request.Major)) + { + sbsql.AppendFormat(" and MajorName like'%{0}%'", request.Major); + } + if (!string.IsNullOrWhiteSpace(request.SubjectClaim)) + { + sbsql.AppendFormat(" and (_23subject like'%{0}%' or _23subject like'%{1}%' or _23subject like'%{2}%' )", claim01, claim02, claim03); + } + if (!string.IsNullOrWhiteSpace(request.Province)) + { + sbsql.AppendFormat(" and Province ='{0}'", request.Province); + } + if (request.Syl.HasValue && request.Syl == 1) + { + sbsql.Append(" and LnstitutionalLevel like'%双一流%'"); + } + if (request._211.HasValue && request._211 == 1) + { + sbsql.Append(" and LnstitutionalLevel like'%211%'"); + } + if (request._985.HasValue && request._985 == 1) + { + sbsql.Append(" and LnstitutionalLevel like'%985%'"); + } + if (!string.IsNullOrWhiteSpace(request.Ownership)) + { + sbsql.AppendFormat(" and Ownership ='{0}'", request.Ownership); + } + + if (!string.IsNullOrWhiteSpace(request.Nature)) + { + sbsql.AppendFormat(" and '{0}' like '%Nature%'", request.Nature); + } + + + if (request.EndScore > request.StartScore) + { + sbsql.AppendFormat(" and (_23Score BETWEEN {0} and {1})", request.Score - 60, request.Score + 15); + } + + var list = await _dal.QuerySql(sbsql.ToString()); + return list; + } } } \ No newline at end of file