109 lines
4.6 KiB
C#
109 lines
4.6 KiB
C#
|
|
using New_College.IServices;
|
|
using New_College.Model.Models;
|
|
using New_College.Services.BASE;
|
|
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<TbSNeedDataInfoPerviewViewDto>, IT_TbSNeedDataInfoPevServices
|
|
{
|
|
private readonly IBaseRepository<TbSNeedDataInfoPerviewViewDto> _dal;
|
|
|
|
public T_TbSNeedDataInfoPevServices(IBaseRepository<TbSNeedDataInfoPerviewViewDto> dal)
|
|
{
|
|
this._dal = dal;
|
|
base.BaseDal = dal;
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 查询条件
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public async Task<List<TbSNeedDataInfoPerviewViewDto>> 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;
|
|
}
|
|
}
|
|
} |