2771 lines
134 KiB
C#
2771 lines
134 KiB
C#
|
||
using New_College.IServices;
|
||
using New_College.Model.Models;
|
||
using New_College.Services.BASE;
|
||
using New_College.IRepository.Base;
|
||
using New_College.IRepository;
|
||
using System.Threading.Tasks;
|
||
using New_College.Common.Excel;
|
||
using System.Data;
|
||
using System;
|
||
using System.Linq;
|
||
using System.Collections.Generic;
|
||
using New_College.Model.ViewModels;
|
||
using LinqKit;
|
||
using New_College.Model;
|
||
using New_College.Common.Helper;
|
||
using New_College.Common;
|
||
using New_College.Common.HttpRestSharp;
|
||
using System.Text;
|
||
using SqlSugar;
|
||
using System.Linq.Expressions;
|
||
using Org.BouncyCastle.Asn1.Ocsp;
|
||
using StackExchange.Redis;
|
||
using New_College.Repository;
|
||
using NPOI.Util.ArrayExtensions;
|
||
using System.Threading;
|
||
using Org.BouncyCastle.Asn1.Tsp;
|
||
using Newtonsoft.Json;
|
||
using MySqlX.XDevAPI.Common;
|
||
using NPOI.SS.Formula.Functions;
|
||
using StackExchange.Profiling.Internal;
|
||
using static Google.Protobuf.Reflection.SourceCodeInfo.Types;
|
||
|
||
namespace New_College.Services
|
||
{
|
||
public class D_LongIdMapServices : BaseServices<D_LongIdMap>, ID_LongIdMapServices
|
||
{
|
||
private readonly IBaseRepository<D_LongIdMap> _dal;
|
||
private readonly ID_MajorCategoryRepository d_MajorCategoryRepository;
|
||
private readonly ID_MajorClassRepository d_MajorClassRepository;
|
||
private readonly ID_MajorRepository d_MajorRepository;
|
||
private readonly ID_OccupationCategoryRepository d_OccupationCategoryRepository;
|
||
private readonly ID_OccupationRepository d_OccupationRepository;
|
||
private readonly ID_OccMapTagRepository d_OccMapTagRepository;
|
||
private readonly ID_MajorMapOccouptionRepository d_MajorMapOccouptionRepository;
|
||
private readonly ID_MajorMapTagRepository d_MajorMapTagRepository;
|
||
private readonly ID_MajorObtainRepository d_MajorObtainRepository;
|
||
private readonly ID_UniversityRepository d_UniversityRepository;
|
||
private readonly ID_UniversityimgRepository d_UniversityimgRepository;
|
||
private readonly ID_UniversityRankRepository d_UniversityRankRepository;
|
||
private readonly ID_MajorMapUniversityRepository d_MajorMapUniversityRepository;
|
||
private readonly ID_MajorInformationRepository d_MajorInformationRepository;
|
||
private readonly ID_UniversityCollectionRepository d_UniversityCollectionRepository;
|
||
private readonly IT_EnrollmentPlanedescRepository t_EnrollmentPlanedescRepository;
|
||
private readonly IT_EnrollmentBatchRepository t_EnrollmentBatchRepository;
|
||
private readonly ID_GraduateFlowRepository d_GraduateFlowRepository;
|
||
private readonly IT_EnrollmentPlaneRepository t_EnrollmentPlaneRepository;
|
||
private readonly ID_MyHistoryInfoServices d_MyHistory;
|
||
private readonly ID_PlanMajorDescRepository _PlanMajorDescRepository;
|
||
private readonly ID_PlanMajorScoreLineRepository d_PlanMajorScoreLineRepository;
|
||
private readonly ID_QualificationLineRepository d_QualificationLineRepository;
|
||
private readonly ID_PlanMajorDescRepository d_PlanMajorDescRepository;
|
||
private readonly ID_PlanMajorDescProRepository d_PlanMajorDescProRepository;
|
||
private readonly IT_TbSNeedDataInfoRepository t_TbSNeedDataInfoRepository;
|
||
private readonly IRedisCacheManager _redisCache;
|
||
public D_LongIdMapServices(IBaseRepository<D_LongIdMap> dal
|
||
, ID_MajorCategoryRepository ID_MajorCategoryRepository
|
||
, ID_MajorClassRepository ID_MajorClassRepository
|
||
, ID_MajorRepository ID_MajorRepository
|
||
, ID_OccupationCategoryRepository ID_OccupationCategoryRepository
|
||
, ID_OccupationRepository ID_OccupationRepository
|
||
, ID_OccMapTagRepository ID_OccMapTagRepository
|
||
, ID_MajorMapOccouptionRepository ID_MajorMapOccouptionRepository
|
||
, ID_MajorMapTagRepository ID_MajorMapTagRepository
|
||
, ID_MajorObtainRepository ID_MajorObtainRepository
|
||
, ID_UniversityRepository ID_UniversityRepository
|
||
, ID_UniversityimgRepository ID_UniversityimgRepository
|
||
, ID_UniversityRankRepository ID_UniversityRankRepository
|
||
, ID_MajorMapUniversityRepository ID_MajorMapUniversityRepository
|
||
, ID_MajorInformationRepository ID_MajorInformationRepository
|
||
, ID_UniversityCollectionRepository ID_UniversityCollectionRepository
|
||
, IT_EnrollmentPlanedescRepository IT_EnrollmentPlanedescRepository
|
||
, IT_EnrollmentBatchRepository IT_EnrollmentBatchRepository
|
||
, ID_GraduateFlowRepository ID_GraduateFlowRepository
|
||
, IT_EnrollmentPlaneRepository IT_EnrollmentPlaneRepository,
|
||
ID_MyHistoryInfoServices d_MyHistoryInfoServices,
|
||
ID_PlanMajorDescRepository _PlanMajorDescRepository,
|
||
ID_PlanMajorScoreLineRepository d_PlanMajorScoreLineRepository,
|
||
ID_QualificationLineRepository d_QualificationLineRepository,
|
||
ID_PlanMajorDescRepository d_PlanMajorDescRepository,
|
||
ID_PlanMajorDescProRepository d_PlanMajorDescProRepository,
|
||
IT_TbSNeedDataInfoRepository tbSNeedDataInfoRepository,
|
||
IRedisCacheManager redisCache)
|
||
{
|
||
this._dal = dal;
|
||
d_MajorCategoryRepository = ID_MajorCategoryRepository;
|
||
d_MajorClassRepository = ID_MajorClassRepository;
|
||
d_MajorRepository = ID_MajorRepository;
|
||
d_OccupationCategoryRepository = ID_OccupationCategoryRepository;
|
||
d_OccupationRepository = ID_OccupationRepository;
|
||
d_OccMapTagRepository = ID_OccMapTagRepository;
|
||
d_MajorMapOccouptionRepository = ID_MajorMapOccouptionRepository;
|
||
d_MajorMapTagRepository = ID_MajorMapTagRepository;
|
||
d_MajorObtainRepository = ID_MajorObtainRepository;
|
||
d_UniversityRepository = ID_UniversityRepository;
|
||
d_UniversityimgRepository = ID_UniversityimgRepository;
|
||
d_UniversityRankRepository = ID_UniversityRankRepository;
|
||
d_MajorMapUniversityRepository = ID_MajorMapUniversityRepository;
|
||
d_MajorInformationRepository = ID_MajorInformationRepository;
|
||
d_UniversityCollectionRepository = ID_UniversityCollectionRepository;
|
||
t_EnrollmentPlanedescRepository = IT_EnrollmentPlanedescRepository;
|
||
t_EnrollmentBatchRepository = IT_EnrollmentBatchRepository;
|
||
d_GraduateFlowRepository = ID_GraduateFlowRepository;
|
||
t_EnrollmentPlaneRepository = IT_EnrollmentPlaneRepository;
|
||
base.BaseDal = dal;
|
||
this.d_MyHistory = d_MyHistoryInfoServices;
|
||
this._PlanMajorDescRepository = _PlanMajorDescRepository;
|
||
this.d_PlanMajorScoreLineRepository = d_PlanMajorScoreLineRepository;
|
||
this.d_QualificationLineRepository = d_QualificationLineRepository;
|
||
this.d_PlanMajorDescRepository = d_PlanMajorDescRepository;
|
||
this.d_PlanMajorDescProRepository = d_PlanMajorDescProRepository;
|
||
t_TbSNeedDataInfoRepository = tbSNeedDataInfoRepository;
|
||
this._redisCache = redisCache;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取院校库 添加个人收藏和对比 的验证
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<PageModel<UniversityResult>> GetUniversitys(UniversityQuery query)
|
||
{
|
||
Expression<Func<D_University, bool>> expression = Expressionable.Create<D_University>()
|
||
.And(x => x.IsDelete == false)
|
||
.AndIF(query.AreaName != null && query.AreaName.Any() && !query.AreaName.Contains("全国"), x => SqlFunc.ContainsArray(query.AreaName, x.Area_Name))
|
||
.AndIF(query.Nature != null && query.Nature.Any(), x => SqlFunc.ContainsArray(query.Nature, x.Nature))
|
||
.AndIF(query.Type != null && query.Type.Any(), x => SqlFunc.ContainsArray(query.Type, x.Type))
|
||
.AndIF(query.SubjectLevel.HasValue, x => x.Subject_Level == query.SubjectLevel)
|
||
.AndIF(query.Ascription != null && query.Ascription.Any(), x => SqlFunc.ContainsArray(query.Ascription, x.Ascription))
|
||
.AndIF(query.Nhef.HasValue, x => x.Nhef == query.Nhef)
|
||
.AndIF(query.Sff.HasValue, x => x.Sff == query.Sff)
|
||
.AndIF(query.Syl.HasValue, x => x.Syl == query.Syl)
|
||
.AndIF(!string.IsNullOrWhiteSpace(query.Name), u => SqlFunc.Contains(u.Name, query.Name))
|
||
.ToExpression();
|
||
var info = await d_UniversityRepository.QueryPage(expression, query.PageIndex, query.PageSize, "Rank Asc");
|
||
if (info.data.Count <= 0)
|
||
return new PageModel<UniversityResult>() { };
|
||
|
||
var collectionuniversity = new List<D_UniversityCollection>();
|
||
if (query.CustomerId > 0)
|
||
{
|
||
collectionuniversity = await d_UniversityCollectionRepository.Query(x => x.CustomerId == query.CustomerId && x.IsDelete == false);
|
||
}
|
||
List<UniversityResult> list = new List<UniversityResult>() { };
|
||
info.data = info.data.OrderBy(s => s.Rank).ToList();
|
||
foreach (var c in info.data)
|
||
{
|
||
string attribute = "";
|
||
if (c.Nhef == 1)
|
||
attribute += "985";
|
||
if (c.Sff == 1)
|
||
attribute += "211";
|
||
if (c.Syl == 1)
|
||
attribute += "双一流";
|
||
list.Add(new UniversityResult
|
||
{
|
||
Id = c.Id,
|
||
Name = c.Name,
|
||
Nature = c.Nature,
|
||
AscriptionName = c.AscriptionName,
|
||
UniversityCode = UniversityCodeConvertRules.UniversityCodeConvertRulesMap(c.UniversityCode),
|
||
collegeCode = c.UniversityCode,
|
||
AreaName = c.Area_Name,
|
||
AcademicianCount = c.Academician_Count,
|
||
Address = c.Address,
|
||
BuildDate = c.Build_Date,
|
||
DoctorateCount = c.Doctorate_Count,
|
||
Phone = c.Phone,
|
||
Web = c.Web,
|
||
Logo = c.Logo,
|
||
Syl = c.Syl == 1,
|
||
Nhef = c.Nhef == 1,
|
||
Sff = c.Sff == 1,
|
||
UniversityType = c.Type,
|
||
IsNearScore = false,
|
||
SubjectLevel = c.Subject_Level,
|
||
Rank = c.Rank,
|
||
IsCollection = collectionuniversity.Count(x => x.Type == 1 && x.UniversityId == c.Id) > 0,
|
||
IsContrast = collectionuniversity.Count(x => x.Type == 2 && x.UniversityId == c.Id) > 0,
|
||
});
|
||
}
|
||
return new PageModel<UniversityResult>()
|
||
{
|
||
data = list,
|
||
dataCount = info.dataCount,
|
||
page = info.page,
|
||
pageCount = info.pageCount,
|
||
PageSize = info.PageSize
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 专业库 一级二级列表
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<uniMajorInfoResult>> uniGetMajorInfo(MajorcategoryQuery query)
|
||
{
|
||
var expression = Expressionable.Create<D_Major>()
|
||
.And(x => x.IsDelete == false)
|
||
//.And(x => x.Type != 3)
|
||
.AndIF(!string.IsNullOrEmpty(query.MajorName), x => SqlFunc.Contains(x.MajorName, query.MajorName))
|
||
.ToExpression();
|
||
var majorcategories = (await d_MajorCategoryRepository.Query(x => x.Type == query.SchoolLevel && x.IsDelete == false)).Select(x => new uniMajorSelect() { Id = x.Id, Name = x.Name }); ;
|
||
var majorclasses = (await d_MajorClassRepository.Query(x => x.IsDelete == false)).Select(x => new uniMajorClassSelect() { Id = x.Id, Name = x.Name, TradeId = x.TradeId });
|
||
var majorinfo = (await d_MajorRepository.Query(expression)).Select(s => new uniMajorSelect() { pid = s.CategoryClass_Id, Id = s.Id, Name = s.Name }).ToList();
|
||
List<uniMajorInfoResult> list = new List<uniMajorInfoResult>() { };
|
||
foreach (var item in majorcategories)
|
||
{
|
||
List<uniMajorSecond> scond = new List<uniMajorSecond>() { };
|
||
var nowmajoclass = majorclasses.Where(x => x.TradeId == item.Id).ToList();
|
||
scond = nowmajoclass.Select(s => new uniMajorSecond()
|
||
{
|
||
MajorName = s.Name,
|
||
SecondId = s.Id,
|
||
MajorNum = majorinfo.Count(x => x.Name != s.Name && x.pid == s.Id),
|
||
majorSelects = majorinfo.Where(x => x.Name != s.Name && x.pid == s.Id).ToList()
|
||
|
||
}).ToList();
|
||
|
||
if (scond.Count() > 0)
|
||
{
|
||
if (scond.Select(c => c.MajorNum).Sum() > 0)
|
||
{
|
||
list.Add(new uniMajorInfoResult()
|
||
{
|
||
FirstName = item.Name,
|
||
RootId = item.Id,
|
||
SecondInfo = scond.Where(w => w.MajorNum > 0).ToList(),
|
||
});
|
||
}
|
||
}
|
||
}
|
||
return list;
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 根据一级分类id 获取二级三级专业数据
|
||
/// </summary>
|
||
/// <param name="tradeId"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<TreeMajorInfoResult>> GetTreeMajors(int tradeId)
|
||
{
|
||
var result = new List<TreeMajorInfoResult>();
|
||
var classmajors = (await d_MajorClassRepository.Query(x => x.IsDelete == false && x.TradeId == tradeId)).Select(x => new uniMajorClassSelect() { Id = x.Id, Name = x.Name, TradeId = x.TradeId }).ToList();
|
||
var majorinfo = (await d_MajorRepository.Query(x => x.IsDelete == false)).Select(s => new uniMajorClassSelect() { Id = s.Id, TradeId = s.CategoryClass_Id, Name = s.Name, Code = s.MajorCode }).ToList();
|
||
classmajors.ForEach(a =>
|
||
{
|
||
var models = new TreeMajorInfoResult();
|
||
models.MajorClassId = a.Id;
|
||
models.MajorClassName = a.Name;
|
||
models.MajorsInfo = majorinfo.Where(e => e.TradeId == a.Id).Select(s => new uniMajorSelect()
|
||
{
|
||
Id = s.Id,
|
||
Name = s.Name,
|
||
Code = s.Code
|
||
}).ToList();
|
||
result.Add(models);
|
||
});
|
||
return result;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 获取推荐职业
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<List<OccupationResult>> GetRecommendOccupation()
|
||
{
|
||
var info = await d_OccupationRepository.Query(x => x.Recommend > 0 && x.IsDelete == false);
|
||
if (info.Count <= 0)
|
||
return new List<OccupationResult>() { };
|
||
return info.Select(x => new OccupationResult() { Id = x.Id, Name = x.OccupationName }).ToList();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 职业库 一级二级列表
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<List<uniMajorInfoResult>> uniGetOccupationInfo(MinOccupationRequest request)
|
||
{
|
||
List<uniMajorInfoResult> list = new List<uniMajorInfoResult>() { };
|
||
var occupationCategoryList = (await d_OccupationCategoryRepository.Query(x => x.IsDelete == false)).Select(x => new uniOccSelect() { Id = x.Id, Level = x.Level, Name = x.Name, ParentId = x.ParentId, OccupationName = x.OccupationName });
|
||
Expression<Func<D_Occupation, bool>> expression = Expressionable.Create<D_Occupation>()
|
||
.And(x => x.IsDelete == false)
|
||
.AndIF(!string.IsNullOrWhiteSpace(request.Name), x => SqlFunc.Contains(x.Name, request.Name))
|
||
.AndIF(request.IsHot, x => x.Recommend > 0)
|
||
.ToExpression();
|
||
var occupations = (await d_OccupationRepository.Query(expression)).Select(s => s.CategoryId).ToList();
|
||
var nowoccupationCategoryList = occupationCategoryList.Where(x => x.Level == 0).ToList();
|
||
foreach (var item in nowoccupationCategoryList)
|
||
{
|
||
List<uniMajorSecond> scond = new List<uniMajorSecond>() { };
|
||
var nowmajoclass = occupationCategoryList.Where(x => x.ParentId == item.Id).ToList();
|
||
scond = nowmajoclass.Select(s => new uniMajorSecond()
|
||
{
|
||
MajorName = s.OccupationName,
|
||
MajorNum = occupations.Count(e => e == s.Id),
|
||
SecondId = s.Id
|
||
}).ToList();
|
||
list.Add(new uniMajorInfoResult()
|
||
{
|
||
FirstName = item.Name,
|
||
SecondInfo = scond
|
||
});
|
||
}
|
||
return list;
|
||
}
|
||
|
||
|
||
public async Task<List<pcMajorInfoResult>> pcGetOccupationInfo(string name = null)
|
||
{
|
||
var list = new List<pcMajorInfoResult>() { };
|
||
|
||
|
||
Expression<Func<D_OccupationCategory, bool>> categoryexpression = Expressionable.Create<D_OccupationCategory>()
|
||
.And(x => x.IsDelete == false)
|
||
// .AndIF(!string.IsNullOrWhiteSpace(name), x => SqlFunc.Contains(x.Name, name))
|
||
.ToExpression();
|
||
var occupationCategoryList = (await d_OccupationCategoryRepository.Query(categoryexpression)).Select(x => new uniOccSelect() { Id = x.Id, Level = x.Level, Name = x.Name, ParentId = x.ParentId, OccupationName = x.OccupationName });
|
||
|
||
Expression<Func<D_Occupation, bool>> expression = Expressionable.Create<D_Occupation>()
|
||
.And(x => x.IsDelete == false)
|
||
.AndIF(!string.IsNullOrWhiteSpace(name), x => SqlFunc.Contains(x.Name, name))
|
||
.ToExpression();
|
||
var queryoccupations = await d_OccupationRepository.Query(expression);
|
||
var occupations = queryoccupations.Select(s => s.CategoryId).ToList();
|
||
var nowoccupationCategoryList = occupationCategoryList.Where(x => x.Level == 0).ToList();
|
||
foreach (var item in nowoccupationCategoryList)
|
||
{
|
||
var scond = new List<pcMajorItem>();
|
||
var nowmajoclass = occupationCategoryList.Where(x => x.ParentId == item.Id).ToList();
|
||
var tids = queryoccupations.Select(c => c.CategoryId).ToList();
|
||
if (nowmajoclass.Where(ww => SqlFunc.ContainsArray(tids, ww.Id)).Any())
|
||
{
|
||
scond = nowmajoclass.Select(s => new pcMajorItem()
|
||
{
|
||
Name = s.OccupationName,
|
||
MajorNum = occupations.Count(e => e == s.Id),
|
||
children = queryoccupations.Where(e => e.CategoryId == s.Id).Select(c => new pcMajorItem()
|
||
{
|
||
Name = c.Name,
|
||
Id = c.Id,
|
||
// MajorNum = queryoccupations.Where(e => e.CategoryId == s.Id).Count()
|
||
}).ToList(),
|
||
Id = s.Id
|
||
}).ToList();
|
||
list.Add(new pcMajorInfoResult()
|
||
{
|
||
Name = item.Name,
|
||
children = scond.Where(e => e.children.Any()).ToList()
|
||
});
|
||
}
|
||
}
|
||
return list;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 院校详情
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<UniversityDetailResponse> GetUniversityDetails(IdQuery query)
|
||
{
|
||
if (query.Id <= 0)
|
||
return new UniversityDetailResponse() { Status = -1 };
|
||
var university = await d_UniversityRepository.QueryById(query.Id);
|
||
if (university == null)
|
||
return new UniversityDetailResponse() { Status = -2 };
|
||
var result = new UniversityDetailResponse();
|
||
string imgs = "";
|
||
var imglist = (await d_UniversityimgRepository.Query(x => x.UniversityId == query.Id && x.IsDelete == false)).FirstOrDefault();
|
||
if (imglist != null)
|
||
{
|
||
imgs = imglist.ImgList;
|
||
}
|
||
if (query.CustomerId.HasValue && query.CustomerId.Value > 0)
|
||
{
|
||
await d_MyHistory.Add(new D_MyHistoryInfo()
|
||
{
|
||
|
||
OrderSort = 0,
|
||
Type = 0,
|
||
UId = query.CustomerId.Value
|
||
});
|
||
}
|
||
result.universityResult = new UniversityResult
|
||
{
|
||
Id = university.Id,
|
||
Name = university.Name,
|
||
Address = university.Address,
|
||
Phone = university.Phone,
|
||
Nature = university.Nature,
|
||
AscriptionName = university.AscriptionName,
|
||
Rank = university.Rank,
|
||
AreaName = university.Area_Name,
|
||
Logo = university.Logo,
|
||
Syl = university.Syl == 1 ? true : false,
|
||
Nhef = university.Nhef == 1 ? true : false,
|
||
Sff = university.Sff == 1 ? true : false,
|
||
QJJH = university.QJJH == 1 ? true : false,
|
||
UniversityType = university.Type,
|
||
SubjectLevel = university.Subject_Level,
|
||
BuildDate = university.Build_Date,
|
||
Imglist = imgs,
|
||
DoctorateCount = university.Doctorate_Count,
|
||
MasterCount = university.Master_Count,
|
||
AcademicianCount = university.Academician_Count,
|
||
UniversityCode = UniversityCodeConvertRules.UniversityCodeConvertRulesMap(university.UniversityCode),
|
||
collegeCode = university.UniversityCode,
|
||
Web = string.IsNullOrEmpty(university.Web) ? "暂无" : university.Web,
|
||
// IsCollection = false,
|
||
Description = ClearHtmlHelper.SHTML(university.Description),
|
||
LongSchoolId = (await _dal.Query(x => x.IsDelete == false && x.table == "D_University" && x.newid == university.Id)).Select(x => x.longid).FirstOrDefault()
|
||
};
|
||
var mapuniversity = await d_MajorMapUniversityRepository.Query(x => x.Universityid == query.Id && x.IsDelete == false);
|
||
var majorids = mapuniversity.Select(x => x.MajorId).ToList();
|
||
var majorlist = await d_MajorRepository.Query(x => majorids.Contains(x.Id) && x.IsDelete == false);
|
||
var majors = new List<RelatedMajorModel>();
|
||
var spmajors = new List<RelatedMajorModel>();
|
||
int m = 0;
|
||
int sp = 0;
|
||
mapuniversity.ForEach(o =>
|
||
{
|
||
if (majorlist.Where(s => s.Id == o.MajorId).Any())
|
||
{
|
||
|
||
if (o.sp == 0 && m <= 5)
|
||
{
|
||
m++;
|
||
majors.Add(new RelatedMajorModel()
|
||
{
|
||
majorName = majorlist.Single(s => s.Id == o.MajorId).MajorName,
|
||
mid = o.MajorId
|
||
});
|
||
}
|
||
else if (o.sp == 1 && sp <= 5)
|
||
{
|
||
spmajors.Add(new RelatedMajorModel()
|
||
{
|
||
majorName = majorlist.Single(s => s.Id == o.MajorId).MajorName,
|
||
mid = o.MajorId
|
||
});
|
||
}
|
||
}
|
||
});
|
||
var graduateFlowinfo = (await d_GraduateFlowRepository.Query(x => x.UniversityId == query.Id && x.IsDelete == false)).FirstOrDefault();
|
||
if (graduateFlowinfo != null)
|
||
{
|
||
result.graduateModels = new graduateModel()
|
||
{
|
||
provinces = graduateFlowinfo.Provinces,
|
||
attrs = graduateFlowinfo.Attrs
|
||
};
|
||
}
|
||
|
||
result.relatedMajors = majors;
|
||
result.relatespMajors = spmajors;
|
||
result.Status = 1;
|
||
|
||
return result;
|
||
}
|
||
|
||
|
||
|
||
public async Task<List<SeachMajorDtoResponse>> SeachMajor(SeachMajorDtoRequest request)
|
||
{
|
||
return await d_MajorRepository.SeachMajor(request);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 获取专业介绍
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<MajorDetail> GetMajorDetail(MajorQuery query)
|
||
{
|
||
var info = (await d_MajorInformationRepository.Query(x => x.MajorId == query.MajorId && x.IsDelete == false)).FirstOrDefault();
|
||
if (info == null)
|
||
return new MajorDetail() { };//学校专业不匹配 获取专业概况信息为空
|
||
return new MajorDetail()
|
||
{
|
||
id = info.Id,
|
||
abstracts = info.Majordescription.ClearHtml(),
|
||
maincourse = info.Majorcourse.ClearHtml(),
|
||
studydirection = info.Postgraduate.ClearHtml(),
|
||
workdirection = info.Majorintent.ClearHtml(),
|
||
Name = info.Name
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 相关院校
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<PageModel<UniversityResult>> GetRelevantSchool(MajorSchoolQuery query)
|
||
{
|
||
var majorinfo = await d_MajorMapUniversityRepository.Query(x => x.MajorId == query.MajorId && x.IsDelete == false);
|
||
if (majorinfo.Count <= 0)
|
||
return new PageModel<UniversityResult>() { };
|
||
var universityids = majorinfo.Select(x => x.Universityid).ToList();
|
||
|
||
Expression<Func<D_University, bool>> exp = Expressionable.Create<D_University>() //创建表达式
|
||
.AndIF(!string.IsNullOrEmpty(query.AreaName) && query.AreaName != "全国", x => x.Area_Name.Contains(query.AreaName))
|
||
.And(x => x.IsDelete == false && universityids.Contains(x.Id))
|
||
.AndIF(query.SubjectLevel > 0, x => x.Subject_Level == query.SubjectLevel)
|
||
.AndIF(query.Type >= 0, x => x.Type == query.Type)
|
||
.AndIF(query.Nhef >= 0, x => x.Nhef == query.Nhef)
|
||
.AndIF(query.Sff >= 0, x => x.Sff == query.Sff)
|
||
.AndIF(query.Syl >= 0, x => x.Syl == query.Syl)
|
||
.AndIF(query.Nature >= 0, x => x.Nature == query.Nature)
|
||
.ToExpression();//注意 这一句 不能少
|
||
|
||
// var templist = await d_UniversityRepository.Query(c => universityids.Contains(c.Id));
|
||
|
||
var info = await d_UniversityRepository.QueryPage(exp, query.PageIndex, query.PageSize, "Rank Asc");
|
||
if (info.data.Count() <= 0)
|
||
return new PageModel<UniversityResult>() { };
|
||
List<UniversityResult> list = new List<UniversityResult>() { };
|
||
info.data = info.data.OrderBy(s => s.Rank).ToList();
|
||
foreach (var t in info.data)
|
||
{
|
||
//string typeStr = GetUniversityTypeName(t.Type);
|
||
//string ascription = GetAscriptionName(t.Ascription);
|
||
//string syl = t.Syl == 1 ? "双一流" : "";
|
||
//string nhefSff = GetNhefSff(t);
|
||
//string nature = t.Nature == 1 ? "公立" : "私立";
|
||
//string naturedetail = string.Format("{0}{1}{2}", typeStr, ascription, syl);
|
||
list.Add(new UniversityResult()
|
||
{
|
||
Id = t.Id,
|
||
Logo = t.Logo,
|
||
Name = t.Name,
|
||
AreaName = t.Area_Name,
|
||
Nature = t.Nature,
|
||
//naturedetail = naturedetail,
|
||
Sff = t.Sff == 1,
|
||
Syl = t.Syl == 1,
|
||
Nhef = t.Nhef == 1,
|
||
UniversityType = t.Type,
|
||
SubjectLevel = t.Subject_Level,
|
||
Rank = t.Rank,
|
||
});
|
||
}
|
||
return new PageModel<UniversityResult>()
|
||
{
|
||
data = list,
|
||
dataCount = info.dataCount,
|
||
page = info.page,
|
||
pageCount = info.pageCount,
|
||
PageSize = info.PageSize
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取专业就业前景
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<CareerProspects> GetCareerProspects(MajorCareerQuery query)
|
||
{
|
||
var info = (await d_MajorObtainRepository.Query(x => x.MajorId == query.MajorId)).FirstOrDefault();
|
||
if (info == null)
|
||
return new CareerProspects() { };
|
||
CareerProspects result = new CareerProspects() { };
|
||
List<distribution> TradeDistribute = new List<distribution>() { };
|
||
var array = JsonHelper.ParseJson<List<string>>(info.ObtainIndustryDis);
|
||
var arraynum = JsonHelper.ParseJson<List<int>>(info.ObtainIndustryDisProportion.Replace("%", ""));
|
||
for (int i = 0; i < array.Count; i++)
|
||
{
|
||
TradeDistribute.Add(new distribution() { name = array[i], data = arraynum[i] });
|
||
}
|
||
//就业地区
|
||
List<distribution> RegionDistribute = new List<distribution>() { };
|
||
var arrayarea = JsonHelper.ParseJson<List<string>>(info.ObtainRegionalDis);
|
||
var arrayareanum = JsonHelper.ParseJson<List<int>>(info.ObtainRegionalDisProportion.Replace("%", ""));
|
||
for (int i = 0; i < arrayarea.Count; i++)
|
||
{
|
||
RegionDistribute.Add(new distribution() { name = arrayarea[i], data = arrayareanum[i] });
|
||
}
|
||
//工资情况
|
||
List<distribution> MoneyDistribute = new List<distribution>() { };
|
||
var arraymoney = JsonHelper.ParseJson<List<string>>(info.WageSituation);
|
||
var arraymoneynum = JsonHelper.ParseJson<List<int>>(info.WageProportion.Replace("%", ""));
|
||
for (int i = 0; i < arraymoney.Count; i++)
|
||
{
|
||
MoneyDistribute.Add(new distribution() { name = arraymoney[i], data = arraymoneynum[i] });
|
||
}
|
||
//工作年限工资 WorkingYear
|
||
WorkingYear WorkingYear = new WorkingYear() { };
|
||
WorkingYear.WorkingYears = info.WorkingYears;
|
||
WorkingYear.WorkingYearsWage = info.WorkingYearsWage;
|
||
result.RegionDistribute = RegionDistribute;
|
||
result.TradeDistribute = TradeDistribute;
|
||
result.MoneyDistribute = MoneyDistribute;
|
||
result.WorkingYear = WorkingYear;
|
||
return result;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取第三级
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<MessageModel<List<uniMajorInfo>>> uniGetMajorThree(ManageMajorQuery query)
|
||
{
|
||
List<uniMajorInfo> info = new List<uniMajorInfo>() { };
|
||
//if (!string.IsNullOrWhiteSpace(query.Tags))
|
||
//{
|
||
// if (query.Tags.Length != 3)
|
||
// return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "传入标签长度错误..." };
|
||
// //转化标签
|
||
// var tags = new List<string>() { };
|
||
// string n = query.Tags;
|
||
// string m = "";
|
||
// tags.AddRange(zuhe(n));
|
||
// for (int j = 2; j > -1; j--)
|
||
// {
|
||
// m = m + n[j];
|
||
// }
|
||
// tags.AddRange(zuhe(m));
|
||
// var ids = (await d_MajorMapTagRepository.Query(x => x.Tag.Contains(tags[0]) || x.Tag.Contains(tags[1]) || x.Tag.Contains(tags[2]) || x.Tag.Contains(tags[3]) || x.Tag.Contains(tags[4]) || x.Tag.Contains(tags[5]))).Select(x => x.MajorId).ToList();
|
||
// if (ids.Count <= 0)
|
||
// return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "标签对应专业为空" };
|
||
// info = (await d_MajorRepository.Query(x => ids.Contains(x.Id) && x.IsDelete == false)).Select(x => new uniMajorInfo() { Id = x.Id, Name = x.MajorName }).ToList();
|
||
|
||
// if (!string.IsNullOrWhiteSpace(query.SubjectClaim))
|
||
// {
|
||
// var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId);
|
||
// if (planinfo == null)
|
||
// return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." };
|
||
// var planid = planinfo.FirstOrDefault().Id;
|
||
// var wheres = PredicateBuilder.New<T_EnrollmentPlanedesc>();
|
||
// wheres.And(x => x.IsDelete == false && x.PlanId == planid && x.Scoreline <= query.Score && x.UniversityId > 0);
|
||
// if (query.SubjectClaim.Contains(","))
|
||
// {
|
||
// var cc = query.SubjectClaim.Split(",");
|
||
// if (cc.Length == 2)
|
||
// {
|
||
// var cc1 = cc[0];
|
||
// var cc2 = cc[1];
|
||
// wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true);
|
||
// }
|
||
// else if (cc.Length == 3)
|
||
// {
|
||
// var cc1 = cc[0];
|
||
// var cc2 = cc[1];
|
||
// var cc3 = cc[2];
|
||
// wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(cc3) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true);
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// wheres.And(x => x.Subjectclaim.Contains(query.SubjectClaim) && !x.Subjectclaim.Contains(","));
|
||
// }
|
||
// var descinfo = await t_EnrollmentPlanedescRepository.Query(wheres);
|
||
// var newmajorlist = descinfo.Select(x => x.MajorName).Distinct().ToList();
|
||
// info = info.Where(x => newmajorlist.Contains(x.Name)).ToList();
|
||
// }
|
||
//}
|
||
//else if (query.universityId > 0)
|
||
//{
|
||
// var majormapids = (await d_MajorMapUniversityRepository.Query(x => x.IsDelete == false && x.Universityid == query.universityId && x.MajorId > 0)).Select(x => x.MajorId).ToList();
|
||
// info = (await d_MajorRepository.Query(x => majormapids.Contains(x.Id) && x.IsDelete == false)).Select(x => new uniMajorInfo() { Id = x.Id, Name = x.MajorName, Code = x.MajorCode }).ToList();
|
||
//}
|
||
//else
|
||
//{
|
||
var majorclasses = (await d_MajorClassRepository.Query(x => x.IsDelete == false)).Select(x => new uniMajorClassSelect() { Id = x.Id, Name = x.Name, TradeId = x.TradeId });
|
||
var nowmajorname = majorclasses.Where(x => x.Id == query.categoryclassid).Select(x => x.Name)?.FirstOrDefault();
|
||
var newmajorinfo = await d_MajorRepository.Query(x => x.IsDelete == false && x.CategoryClass_Id == query.categoryclassid);
|
||
info = newmajorinfo.Where(x => x.Name != nowmajorname).Select(x => new uniMajorInfo() { Id = x.Id, Name = x.MajorName, Code = x.MajorCode }).ToList();
|
||
//}
|
||
return new MessageModel<List<uniMajorInfo>>()
|
||
{
|
||
success = true,
|
||
msg = "获取成功",
|
||
response = info
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据标签推荐专业
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<MessageModel<List<uniMajorInfo>>> GetMajorThreeByTag(MajorThreeByTagQuery query)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(query.Tags))
|
||
return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "传入标签为空,请先去测试..." };
|
||
if (query.Tags.Length != 3)
|
||
return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "传入标签长度错误..." };
|
||
//转化标签
|
||
var tags = new List<string>() { };
|
||
string n = query.Tags;
|
||
string m = "";
|
||
tags.AddRange(zuhe(n));
|
||
for (int j = 2; j > -1; j--)
|
||
{
|
||
m = m + n[j];
|
||
}
|
||
tags.AddRange(zuhe(m));
|
||
var ids = (await d_MajorMapTagRepository.Query(x => x.Tag.Contains(tags[0]) || x.Tag.Contains(tags[1]) || x.Tag.Contains(tags[2]) || x.Tag.Contains(tags[3]) || x.Tag.Contains(tags[4]) || x.Tag.Contains(tags[5]))).Select(x => x.MajorId).ToList();
|
||
if (ids.Count <= 0)
|
||
return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "标签对应专业为空" };
|
||
var info = (await d_MajorRepository.Query(x => ids.Contains(x.Id) && x.IsDelete == false)).Select(x => new uniMajorInfo() { Id = x.Id, Name = x.MajorName }).ToList();
|
||
|
||
if (!string.IsNullOrWhiteSpace(query.SubjectClaim))
|
||
{
|
||
var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId);
|
||
if (planinfo == null)
|
||
return new MessageModel<List<uniMajorInfo>>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." };
|
||
var planid = planinfo.FirstOrDefault().Id;
|
||
var wheres = PredicateBuilder.New<T_EnrollmentPlanedesc>();
|
||
wheres.And(x => x.IsDelete == false && x.PlanId == planid && x.Scoreline <= query.Score && x.UniversityId > 0);
|
||
if (query.SubjectClaim.Contains(","))
|
||
{
|
||
var cc = query.SubjectClaim.Split(",");
|
||
if (cc.Length == 2)
|
||
{
|
||
var cc1 = cc[0];
|
||
var cc2 = cc[1];
|
||
wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true);
|
||
}
|
||
else if (cc.Length == 3)
|
||
{
|
||
var cc1 = cc[0];
|
||
var cc2 = cc[1];
|
||
var cc3 = cc[2];
|
||
wheres.And(x => (x.Subjectclaim.Contains("/") && x.Subjectclaim.Contains(cc1)) == true || (x.Subjectclaim.Contains(cc2) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(cc3) && x.Subjectclaim.Contains("/")) == true || (x.Subjectclaim.Contains(",") && x.Subjectclaim.Contains(query.SubjectClaim)) == true);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
wheres.And(x => x.Subjectclaim.Contains(query.SubjectClaim) && !x.Subjectclaim.Contains(","));
|
||
}
|
||
var descinfo = await t_EnrollmentPlanedescRepository.Query(wheres);
|
||
var newmajorlist = descinfo.Select(x => x.MajorName).Distinct().ToList();
|
||
info = info.Where(x => newmajorlist.Contains(x.Name)).ToList();
|
||
}
|
||
return new MessageModel<List<uniMajorInfo>>()
|
||
{
|
||
success = true,
|
||
msg = "获取成功",
|
||
response = info
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 院校相关专业专用
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<uniMajorInfoResult>> GetUniversityMajor(IdQuery query)
|
||
{
|
||
var majormapids = (await d_MajorMapUniversityRepository.Query(x => x.IsDelete == false && x.Universityid == query.Id && x.MajorId > 0)).Select(x => x.MajorId).ToList();
|
||
var majorclass = (await d_MajorRepository.Query(x => x.IsDelete == false && majormapids.Contains(x.Id)));
|
||
var majorclassids = majorclass.Select(x => x.CategoryClass_Id).ToList();
|
||
List<uniMajorInfoResult> list = new List<uniMajorInfoResult>() { };
|
||
var majorclassinfo = await d_MajorClassRepository.Query(x => majorclassids.Contains(x.Id));
|
||
foreach (var item in majorclassinfo)
|
||
{
|
||
List<uniMajorSecond> second = new List<uniMajorSecond>() { };
|
||
second = majorclass.Where(x => x.CategoryClass_Id == item.Id).Select(x => new uniMajorSecond()
|
||
{
|
||
SecondId = x.Id,
|
||
MajorName = x.Name,
|
||
}).ToList();
|
||
if (second.Count > 0)
|
||
list.Add(new uniMajorInfoResult()
|
||
{
|
||
FirstName = item.Name,
|
||
SecondInfo = second,
|
||
MajorNum = second.Count()
|
||
});
|
||
}
|
||
return list;
|
||
}
|
||
|
||
public async Task<List<uniTreeMajorItems>> GetUniversityMajorByTree(IdQuery query)
|
||
{
|
||
var rootlist = new List<uniTreeMajorItems>();
|
||
var majormapids = (await d_MajorMapUniversityRepository.Query(x => x.IsDelete == false && x.Universityid == query.Id && x.MajorId > 0)).Select(x => x.MajorId).ToList();
|
||
var majorclass = (await d_MajorRepository.Query(x => x.IsDelete == false && majormapids.Contains(x.Id)));
|
||
var majorclassids = majorclass.Select(x => x.CategoryClass_Id).ToList();
|
||
var secondnodes = new List<uniTreeMajorItems>() { };
|
||
var majorclassinfo = await d_MajorClassRepository.Query(x => majorclassids.Contains(x.Id));
|
||
var majorroot = await d_MajorCategoryRepository.Query(x => majorclassinfo.Select(c => c.TradeId).Contains(x.Id));
|
||
foreach (var item in majorclassinfo)
|
||
{
|
||
var thridnodes = majorclass.Where(x => x.CategoryClass_Id == item.Id).Select(x => new uniTreeMajorItems()
|
||
{
|
||
Id = x.Id,
|
||
Name = x.Name,
|
||
ParnetId = item.Id,
|
||
}).ToList();
|
||
if (thridnodes.Count > 0)
|
||
secondnodes.Add(new uniTreeMajorItems()
|
||
{
|
||
ParnetId = item.TradeId,
|
||
Id = item.Id,
|
||
Name = item.Name,
|
||
Item = thridnodes,
|
||
MajorNum = thridnodes.Count()
|
||
});
|
||
}
|
||
majorroot.ForEach(c =>
|
||
{
|
||
if (secondnodes.Any())
|
||
{
|
||
rootlist.Add(new uniTreeMajorItems()
|
||
{
|
||
Id = c.Id,
|
||
Item = secondnodes.Where(e => e.ParnetId == c.Id).ToList(),
|
||
MajorNum = secondnodes.Where(e => e.ParnetId == c.Id).Count(),
|
||
Name = c.Name,
|
||
ParnetId = 0
|
||
});
|
||
}
|
||
});
|
||
return rootlist;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 获取职业第三级
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<MessageModel<List<IdNameResult>>> GetOccupationThree(IdQuery query)
|
||
{
|
||
StringBuilder stringBuilder = new StringBuilder() { };
|
||
stringBuilder.AppendFormat("SELECT Id,Name FROM `D_Occupation` where CategoryId={0} and IsDelete=0", query.Id);
|
||
var info = await d_OccupationRepository.QuerySql(stringBuilder.ToString());
|
||
if (info.Count <= 0)
|
||
return new MessageModel<List<IdNameResult>>() { success = false, msg = "数据为空" };
|
||
return new MessageModel<List<IdNameResult>>()
|
||
{
|
||
success = true,
|
||
msg = "获取成功",
|
||
response = info.Select(x => new IdNameResult()
|
||
{
|
||
Id = x.Id,
|
||
Name = x.Name
|
||
}).ToList()
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取职业详情-职业介绍
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<OccupationDetailResult> GetRecommendIntroduce(IdQuery query)
|
||
{
|
||
if (query.Id <= 0)
|
||
return new OccupationDetailResult() { Status = -1 };
|
||
var occupation = await d_OccupationRepository.QueryById(query.Id);
|
||
return new OccupationDetailResult()
|
||
{
|
||
Status = 1,
|
||
OccupationIntraduce = occupation.OccupationIntraduce.ClearHtml(),
|
||
JobContent = occupation.JobContent,
|
||
Name = occupation.Name,
|
||
Prospects = occupation.Prospects,
|
||
Requirements = occupation.Requirements,
|
||
Sort = occupation.OrderSort,
|
||
Id = occupation.Id.ToString()
|
||
};
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 查学校省份的 年份批次
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<BatchYear> GetBatchYearBySchoolId(PlanYearQuery query)
|
||
{
|
||
BatchYear result = new BatchYear() { };
|
||
//var info = await d_PlanMajorDescRepository.Query(x => x.UId == query.UnviersityId);
|
||
//if (info.Count <= 0)
|
||
// return new BatchYear() { };
|
||
var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.AreaName == query.AreaName && x.IsDelete == false);
|
||
var batchselect = batchinfo.Select(x => x.Batch_name).Distinct().ToList();
|
||
var yearselect = batchinfo.Select(x => x.Year).Distinct().OrderByDescending(x => x).ToList();
|
||
var typeselect = batchinfo.Select(x => x.Type).Distinct().ToList();
|
||
result.Batch = batchselect;
|
||
result.Year = yearselect;
|
||
result.Type = typeselect;
|
||
return result;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取招生计划 院校详情
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<NewPlanDescList>> GetPlanBySchollId(PlanQuery query)
|
||
{
|
||
Expression<Func<D_PlanMajorDescPro, bool>> whereexp = Expressionable.Create<D_PlanMajorDescPro>() //创建表达式
|
||
.And(c => c.IsDelete == false)
|
||
.AndIF(!string.IsNullOrEmpty(query.AreaName), c => c.Location == query.AreaName)
|
||
.And(c => c.UId == query.UnviersityId)
|
||
.AndIF(!string.IsNullOrEmpty(query.BatchName), c => c.BatchName == query.BatchName)
|
||
.AndIF(query.Year > 0, c => c.Years == query.Year)
|
||
.ToExpression();
|
||
var info = await d_PlanMajorDescProRepository.Query(whereexp);
|
||
List<NewPlanDescList> list = new List<NewPlanDescList>() { };
|
||
foreach (var item in info)
|
||
{
|
||
string scoreline = item.LowScore == 0 || string.IsNullOrWhiteSpace(item.LowScore.ToString()) ? "--" : item.LowScore.ToString();
|
||
if (query.Year > 2023)
|
||
{
|
||
scoreline = "--";
|
||
}
|
||
list.Add(new NewPlanDescList()
|
||
{
|
||
Name = item.Major,
|
||
AcademicYear = item.AcademicYear,
|
||
SelectSubject = item.SelectSubject,
|
||
Money = string.IsNullOrWhiteSpace(item.Free) || item.Free == "0" || item.Free == "待定" ? "--" : item.Free,
|
||
PlanNum = item.PlanCount,
|
||
Scoreline = scoreline
|
||
});
|
||
}
|
||
return list;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取院校排名
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<UniversityRankList>> GetUniversityRank(UniversityRankQuery query)
|
||
{
|
||
var info = await d_UniversityRankRepository.Query(x => x.IsDelete == false && x.UniversityType == query.Type && x.Year == query.Year);
|
||
if (info.Count <= 0)
|
||
return new List<UniversityRankList>() { };
|
||
List<UniversityRankList> list = new List<UniversityRankList>() { };
|
||
return info.OrderBy(x => x.OrderSort).Select(x => new UniversityRankList() { Name = x.UniversityName, Sort = x.Rank }).ToList();
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<UniversityPcRankList>> GetPcUniversityRank(UniversityRankQuery query)
|
||
{
|
||
|
||
return await d_UniversityRankRepository.GetPcUniversityRank(query);
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 专业搜索
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public async Task<MessageModel<PageModel<IdNameResult>>> uniGetSearchMajor(NameBaseQuery query)
|
||
{
|
||
var majorcategories = (await d_MajorCategoryRepository.Query(x => x.Type == query.Type && x.IsDelete == false)).Select(x => x.Id); ;
|
||
var majorclasses = (await d_MajorClassRepository.Query(x => x.IsDelete == false && majorcategories.Contains(x.TradeId))).Select(x => x.Id).ToList();
|
||
|
||
var info = await d_MajorRepository.QueryPage(x => majorclasses.Contains(x.CategoryClass_Id) && x.IsDelete == false && x.Name.Contains(query.Name), query.PageIndex, query.PageSize);
|
||
if (info.data.Count <= 0)
|
||
return new MessageModel<PageModel<IdNameResult>>() { success = false, msg = "获取失败,数据为空" };
|
||
List<IdNameResult> list = new List<IdNameResult>() { };
|
||
foreach (var item in info.data)
|
||
{
|
||
list.Add(new IdNameResult()
|
||
{
|
||
Id = item.Id,
|
||
Name = item.Name
|
||
});
|
||
}
|
||
return new MessageModel<PageModel<IdNameResult>>()
|
||
{
|
||
success = true,
|
||
msg = "获取成功",
|
||
response = new PageModel<IdNameResult>()
|
||
{
|
||
data = list,
|
||
dataCount = info.dataCount,
|
||
page = info.page,
|
||
pageCount = info.pageCount,
|
||
PageSize = info.PageSize
|
||
}
|
||
};
|
||
}
|
||
|
||
|
||
#region 数据处理
|
||
/// <summary>
|
||
/// 组合
|
||
/// </summary>
|
||
/// <param name="ssel"></param>
|
||
public List<string> zuhe(string ssel)
|
||
{
|
||
var list = new List<string>() { };
|
||
string m1 = "";
|
||
for (int i = 0; i < ssel.Length; i++)
|
||
{
|
||
m1 = ssel + ssel.Substring(i, 1);
|
||
list.Add(m1.Remove(i, 1));
|
||
}
|
||
return list;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取学校类型0综合,1理工类,2医学类|3军事类|4语言类|5师范类|6财经类|7政法类|8民族类|9农林类|10艺术类|11体育类|12其他
|
||
/// </summary>
|
||
/// <param name="type"></param>
|
||
/// <returns></returns>
|
||
private string GetUniversityTypeName(int? type)
|
||
{
|
||
if (!Enum.IsDefined(typeof(EnumUniversityType), type))
|
||
return "";
|
||
//数字转为枚举
|
||
EnumUniversityType enumUniversityType = (EnumUniversityType)Enum.ToObject(typeof(EnumUniversityType), type);
|
||
return CommonTools.GetDescription(enumUniversityType);
|
||
}
|
||
/// <summary>
|
||
/// 获取学校归属
|
||
/// </summary>
|
||
/// <param name="AscriptionType"></param>
|
||
/// <returns></returns>
|
||
public string GetAscriptionName(int AscriptionType)
|
||
{
|
||
if (AscriptionType == 1)
|
||
return "教育部";
|
||
if (AscriptionType == 2)
|
||
return "省政府";
|
||
return "教育部";
|
||
}
|
||
/// <summary>
|
||
/// 获取学校性质
|
||
/// </summary>
|
||
/// <param name="t"></param>
|
||
/// <returns></returns>
|
||
private string GetNhefSff(D_University t)
|
||
{
|
||
List<string> array = new List<string>();
|
||
if (t.Nhef == 1)
|
||
array.Add("985");
|
||
if (t.Sff == 1)
|
||
array.Add("211");
|
||
string nhefSff = string.Join('、', array);
|
||
return nhefSff;
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 获取招生简章列表
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public MessageModel<List<GenBycollegeItem>> GetEnrollmentinproductionResult(UniversityGeneralRequest query)
|
||
{
|
||
var stringBuilder = new StringBuilder();
|
||
//http://192.168.104.104:3000/youzy.dms.basiclib.api.college.news.bycollege.get
|
||
var info = HttpHelper.PostApi<GenBycollegeobject>("http://192.168.104.104:3000/youzy.dms.basiclib.api.college.news.bycollege.get", query);
|
||
if (info.isSuccess == true)
|
||
{
|
||
return new MessageModel<List<GenBycollegeItem>>()
|
||
{
|
||
success = true,
|
||
msg = "获取成功",
|
||
response = info.result.items.ToList()
|
||
};
|
||
}
|
||
return new MessageModel<List<GenBycollegeItem>>()
|
||
{
|
||
success = info.isSuccess,
|
||
msg = "获取失败",
|
||
};
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 获取招生简介详情
|
||
/// </summary>
|
||
/// <param name="query"></param>
|
||
/// <returns></returns>
|
||
public MessageModel<collegeDetailResult> GetRequestEnrollmentinproductionDetailResult(StringIdQuery query)
|
||
{
|
||
//http://192.168.104.104:3000/youzy.dms.basiclib.api.college.news.get?id=65d152e0b306093ad50dc039&isAddHits=true
|
||
var info = HttpHelper.PostApi<Rootobject>(string.Format("http://192.168.104.104:3000/youzy.dms.basiclib.api.college.news.get?id={0}&isAddHits=true", query.Id));
|
||
if (info.isSuccess == true)
|
||
{
|
||
return new MessageModel<collegeDetailResult>()
|
||
{
|
||
success = true,
|
||
msg = "获取成功",
|
||
response = info.result
|
||
};
|
||
}
|
||
return new MessageModel<collegeDetailResult>()
|
||
{
|
||
success = info.isSuccess,
|
||
msg = "获取失败",
|
||
};
|
||
}
|
||
|
||
|
||
|
||
|
||
#region 数据导入
|
||
|
||
#region Majorcategory
|
||
///// <summary>
|
||
///// Majorcategory
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\Majorcategory.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string Sort = dr["Sort"].ToString();
|
||
// string TradeName = dr["TradeName"].ToString();
|
||
// string TradeNumber = dr["TradeNumber"].ToString();
|
||
// string Type = dr["Type"].ToString();
|
||
// var info = await d_MajorCategoryRepository.Add(new D_MajorCategory()
|
||
// {
|
||
// OrderSort = Convert.ToInt32(Sort),
|
||
// Name = Name,
|
||
// TradeName = TradeName,
|
||
// TradeNumber = TradeNumber,
|
||
// Type = Convert.ToInt32(Type)
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region Majorclass
|
||
///// <summary>
|
||
///// Majorclass
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\Majorclass.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Categoryname = dr["Categoryname"].ToString();
|
||
// string Sort = dr["Sort"].ToString();
|
||
// string TradeId = dr["TradeId"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
|
||
// var nowmapid = (await _dal.Query(x => x.longid == TradeId)).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_MajorClassRepository.Add(new D_MajorClass()
|
||
// {
|
||
// OrderSort = Convert.ToInt32(Sort),
|
||
// Name = Name,
|
||
// Categoryname = Categoryname,
|
||
// TradeId = nowmapid
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region Major
|
||
///// <summary>
|
||
///// Major
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\Major.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string MajorName = dr["MajorName"].ToString();
|
||
// string MajorCode = dr["MajorCode"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string Type = dr["Type"].ToString();
|
||
// string CategoryClass_Id = dr["CategoryClass_Id"].ToString();
|
||
|
||
// var nowmapid = mapinfo.Where(x => x.longid == CategoryClass_Id).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_MajorRepository.Add(new D_Major()
|
||
// {
|
||
// Name = Name,
|
||
// CategoryClass_Id = nowmapid,
|
||
// MajorCode = MajorCode,
|
||
// MajorName = MajorName,
|
||
// Type = Type == "" ? 0 : Convert.ToInt32(Type),
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region OccupationCategory
|
||
///// <summary>
|
||
///// OccupationCategory
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\OccupationCategory.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// //var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Level = dr["Level"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string OccupationName = dr["OccupationName"].ToString();
|
||
// var ParentId = dr["ParentId"].ToString() == "0" ? 0 : (await _dal.Query(x => x.longid == dr["ParentId"].ToString())).Select(x => x.newid).FirstOrDefault();
|
||
// string Sort = dr["Sort"].ToString();
|
||
// var info = await d_OccupationCategoryRepository.Add(new D_OccupationCategory()
|
||
// {
|
||
// Level = Convert.ToInt32(Level),
|
||
// Name = Name,
|
||
// OccupationName = OccupationName,
|
||
// ParentId = ParentId,
|
||
// OrderSort = Convert.ToInt32(Sort)
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region Occupation
|
||
///// <summary>
|
||
///// Occupation
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\Occupation.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string CategoryId = dr["CategoryId"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string OccupationIntraduce = dr["OccupationIntraduce"].ToString();
|
||
// string OccupationName = dr["OccupationName"].ToString();
|
||
// var newid = mapinfo.Where(x => x.longid == CategoryId).Select(x => x.newid).FirstOrDefault();
|
||
|
||
// var info = await d_OccupationRepository.Add(new D_Occupation ()
|
||
// {
|
||
// CategoryId=newid,
|
||
// Name=Name,
|
||
// OccupationIntraduce=OccupationIntraduce,
|
||
// OccupationName=OccupationName,
|
||
// Recommend=0,
|
||
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region OccMapTag
|
||
///// <summary>
|
||
///// OccMapTag
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\OccMapTag.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string OccId = dr["OccId"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string Tag = dr["Tag"].ToString();
|
||
|
||
// var newid = mapinfo.Where(x => x.longid == OccId).Select(x => x.newid).FirstOrDefault();
|
||
|
||
// var info = await d_OccMapTagRepository.Add(new D_OccMapTag ()
|
||
// {
|
||
// Name=Name,
|
||
// OccId=newid,
|
||
// Tag=Tag
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region MajorMapOccouption
|
||
///// <summary>
|
||
///// MajorMapOccouption
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\MajorMapOccouption.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string MajorId = dr["MajorId"].ToString();
|
||
// string OccouptionId = dr["OccouptionId"].ToString();
|
||
|
||
|
||
// var newMajorId = mapinfo.Where(x => x.longid == MajorId).Select(x => x.newid).FirstOrDefault();
|
||
// var newOccouptionId = mapinfo.Where(x => x.longid == OccouptionId).Select(x => x.newid).FirstOrDefault();
|
||
|
||
// var info = await d_MajorMapOccouptionRepository.Add(new D_MajorMapOccouption()
|
||
// {
|
||
// MajorId = newMajorId,
|
||
// OccouptionId = newOccouptionId
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// await _dal.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region MajorMapTag
|
||
///// <summary>
|
||
///// MajorMapTag
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\MajorMapTag.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string MajorId = dr["MajorId"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string Tag = dr["Tag"].ToString();
|
||
|
||
// var newMajorId = mapinfo.Where(x => x.longid == MajorId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_MajorMapTagRepository.Add(new D_MajorMapTag()
|
||
// {
|
||
// MajorId = newMajorId,
|
||
// Name=Name,
|
||
// Tag=Tag,
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region MajorObtain
|
||
///// <summary>
|
||
///// MajorObtain
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\MajorObtain.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string AverageWage = dr["AverageWage"].ToString();
|
||
// string EducationalBackgroundRatio = dr["EducationalBackgroundRatio"].ToString();
|
||
// string EducationRequirements = dr["EducationRequirements"].ToString();
|
||
// string EmploymentDirection = dr["EmploymentDirection"].ToString();
|
||
// string Experience = dr["Experience"].ToString();
|
||
// string ExperienceRatio = dr["ExperienceRatio"].ToString();
|
||
// string MajorId = dr["MajorId"].ToString();
|
||
// string MajorName = dr["MajorName"].ToString();
|
||
// string ObtainIndustryDis = dr["ObtainIndustryDis"].ToString();
|
||
// string ObtainIndustryDisProportion = dr["ObtainIndustryDisProportion"].ToString();
|
||
// string ObtainMoreArea = dr["ObtainMoreArea"].ToString();
|
||
// string ObtainMostIndustries = dr["ObtainMostIndustries"].ToString();
|
||
// string ObtainRank = dr["ObtainRank"].ToString();
|
||
// string ObtainRankDetail = dr["ObtainRankDetail"].ToString();
|
||
// string ObtainRegionalDis = dr["ObtainRegionalDis"].ToString();
|
||
// string ObtainRegionalDisProportion = dr["ObtainRegionalDisProportion"].ToString();
|
||
// string Position = dr["Position"].ToString();
|
||
// string WageProportion = dr["WageProportion"].ToString();
|
||
// string WageSituation = dr["WageSituation"].ToString();
|
||
// string WorkingYears = dr["WorkingYears"].ToString();
|
||
// string WorkingYearsWage = dr["WorkingYearsWage"].ToString();
|
||
|
||
// var newMajorId = mapinfo.Where(x => x.longid == MajorId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_MajorObtainRepository.Add(new D_MajorObtain()
|
||
// {
|
||
// MajorId = newMajorId,
|
||
// AverageWage = AverageWage,
|
||
// ObtainMoreArea = ObtainMoreArea,
|
||
// EducationalBackgroundRatio = EducationalBackgroundRatio,
|
||
// EducationRequirements = EducationRequirements,
|
||
// EmploymentDirection = EmploymentDirection,
|
||
// Experience = Experience,
|
||
// ExperienceRatio = ExperienceRatio,
|
||
// ObtainIndustryDis = ObtainIndustryDis,
|
||
// MajorName = MajorName,
|
||
// ObtainRank = ObtainRank,
|
||
// ObtainIndustryDisProportion = ObtainIndustryDisProportion,
|
||
// ObtainMostIndustries = ObtainMostIndustries,
|
||
// ObtainRankDetail = ObtainRankDetail,
|
||
// ObtainRegionalDis = ObtainRegionalDis,
|
||
// Position = Position,
|
||
// ObtainRegionalDisProportion = ObtainRegionalDisProportion,
|
||
// WageProportion = WageProportion,
|
||
// WageSituation = WageSituation,
|
||
// WorkingYears = WorkingYears,
|
||
// WorkingYearsWage = WorkingYearsWage
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region University
|
||
///// <summary>
|
||
///// University
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\University.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// //var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Area_Name = dr["Area_Name"].ToString();
|
||
// string Ascription = dr["Ascription"].ToString();
|
||
// string AscriptionName = dr["AscriptionName"].ToString();
|
||
// string Description = dr["Description"].ToString();
|
||
// string Doctorate_Count = dr["Doctorate_Count"].ToString();
|
||
// string Logo = dr["Logo"].ToString();
|
||
// string Master_Count = dr["Master_Count"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string Nature = dr["Nature"].ToString();
|
||
// string Nhef = dr["Nhef"].ToString();
|
||
// string Rank = dr["Rank"].ToString();
|
||
// string Sff = dr["Sff"].ToString();
|
||
// string Subject_Level = dr["Subject_Level"].ToString();
|
||
// string Syl = dr["Syl"].ToString();
|
||
// string Type = dr["Type"].ToString();
|
||
// string Web = dr["Web"].ToString();
|
||
|
||
// //var newMajorId = mapinfo.Where(x => x.longid == MajorId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_UniversityRepository.Add(new D_University()
|
||
// {
|
||
// Name = Name,
|
||
// Area_Name = Area_Name,
|
||
// Ascription = Ascription == "" ? 0 : Convert.ToInt32(Ascription),
|
||
// AscriptionName = AscriptionName,
|
||
// Description = Description,
|
||
// Doctorate_Count = Doctorate_Count == "" ? 0 : Convert.ToInt32(Doctorate_Count),
|
||
// Logo = Logo,
|
||
// Master_Count = Master_Count == "" ? 0 : Convert.ToInt32(Master_Count),
|
||
// Nature = Nature == "" ? 0 : Convert.ToInt32(Nature),
|
||
// Nhef = Nhef == "" ? 0 : Convert.ToInt32(Nhef),
|
||
// Rank = Rank == "" ? 0 : Convert.ToInt32(Rank),
|
||
// Sff = Sff == "" ? 0 : Convert.ToInt32(Sff),
|
||
// Web = Web,
|
||
// Type = Type == "" ? 0 : Convert.ToInt32(Type),
|
||
// Syl = Syl == "" ? 0 : Convert.ToInt32(Syl),
|
||
// Subject_Level = Subject_Level == "" ? 0 : Convert.ToInt32(Subject_Level),
|
||
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region Universityimg
|
||
///// <summary>
|
||
///// Universityimg
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\Universityimg.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string ImgList = dr["ImgList"].ToString();
|
||
// string UniversityId = dr["UniversityId"].ToString();
|
||
|
||
// var newuniversityid = mapinfo.Where(x => x.longid == UniversityId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_UniversityimgRepository.Add(new D_Universityimg()
|
||
// {
|
||
// ImgList=ImgList,
|
||
// UniversityId=newuniversityid,
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region UniversityRank
|
||
///// <summary>
|
||
///// UniversityRank
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\UniversityRank.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// //var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Rank = dr["Rank"].ToString();
|
||
// string UniversityName = dr["UniversityName"].ToString();
|
||
// string UniversityType = dr["UniversityType"].ToString();
|
||
// string Year = dr["Year"].ToString();
|
||
|
||
// //var newuniversityid = mapinfo.Where(x => x.longid == UniversityId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_UniversityRankRepository.Add(new D_UniversityRank()
|
||
// {
|
||
// Rank = Convert.ToInt32(Rank),
|
||
// UniversityName = UniversityName,
|
||
// UniversityType = Convert.ToInt32(UniversityType),
|
||
// Year = Year
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region MajorMapUniversity
|
||
///// <summary>
|
||
///// MajorMapUniversity
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\MajorMapUniversity.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Universityid = dr["Universityid"].ToString();
|
||
// string majorid = dr["majorid"].ToString();
|
||
|
||
|
||
// var newuniversityid = mapinfo.Where(x => x.longid == Universityid).Select(x => x.newid).FirstOrDefault();
|
||
// var newmajorid = mapinfo.Where(x => x.longid == majorid).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_MajorMapUniversityRepository.Add(new D_MajorMapUniversity()
|
||
// {
|
||
// MajorId = newmajorid,
|
||
// Universityid = newuniversityid,
|
||
// sp = 0
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region Majorinformation
|
||
///// <summary>
|
||
///// Majorinformation
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\Majorinformation.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string Name = dr["Name"].ToString();
|
||
// string Universityid = dr["Universityid"].ToString();
|
||
// string MajorId = dr["MajorId"].ToString();
|
||
// string Majorcourse = dr["Majorcourse"].ToString();
|
||
// string Majorintent = dr["Majorintent"].ToString();
|
||
// string Majordescription = dr["Majordescription"].ToString();
|
||
// string Skill = dr["Skill"].ToString();
|
||
// string Postgraduate = dr["Postgraduate"].ToString();
|
||
|
||
// var newuniversityid = mapinfo.Where(x => x.longid == Universityid).Select(x => x.newid).FirstOrDefault();
|
||
// var newmajorid = mapinfo.Where(x => x.longid == MajorId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_MajorInformationRepository.Add(new D_MajorInformation()
|
||
// {
|
||
// Name = Name,
|
||
// UniversityId = newuniversityid <= 0 ? 0 : newuniversityid,
|
||
// MajorId = newmajorid <= 0 ? 0 :newmajorid,
|
||
// Majorcourse = Majorcourse,
|
||
// Majordescription = Majordescription,
|
||
// Majorintent = Majorintent,
|
||
// Skill = Skill,
|
||
// Postgraduate = Postgraduate
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
|
||
#region GraduateFlow
|
||
///// <summary>
|
||
///// GraduateFlow
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\GraduateFlow.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// List<D_LongIdMap> list = new List<D_LongIdMap>() { };
|
||
// var mapinfo = await _dal.Query(x => x.IsDelete == false);
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// string id = dr["_id"].ToString();
|
||
// string universityId = dr["universityId"].ToString();
|
||
// string provinces = dr["provinces"].ToString();
|
||
// string attrs = dr["attrs"].ToString();
|
||
|
||
// var newuniversityid = mapinfo.Where(x => x.longid == universityId).Select(x => x.newid).FirstOrDefault();
|
||
// var info = await d_GraduateFlowRepository.Add(new D_GraduateFlow()
|
||
// {
|
||
// Attrs = attrs,
|
||
// Provinces = provinces,
|
||
// UniversityId = newuniversityid,
|
||
// OrderSort = 0
|
||
// });
|
||
// if (info > 0)
|
||
// {
|
||
// list.Add(new D_LongIdMap() { longid = id, newid = info });
|
||
// }
|
||
// }
|
||
// await _dal.Add(list);
|
||
// }
|
||
// return true;
|
||
//}
|
||
#endregion
|
||
#endregion
|
||
|
||
|
||
/// <summary>
|
||
/// 更新数据学校Id
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<bool> Import()
|
||
{
|
||
// var universitylist = await d_UniversityRepository.Query();
|
||
// var plist = await this._PlanMajorDescRepository.Query(c => c.Location == "山东省" && c.Years == 2021 && c.PlanCount > 0);
|
||
//universitylist.ForEach(async u =>
|
||
//{
|
||
// plist.ForEach(async cc =>
|
||
// {
|
||
// if (cc.UId == u.Id)
|
||
// {
|
||
// cc.UId = u.Id;
|
||
// cc.ModifyTime = DateTime.Now;
|
||
// cc._985 = u.Nhef == 0 ? "否" : "是";
|
||
// cc._211 = u.Sff == 0 ? "否" : "是";
|
||
// cc._SYL = u.Syl == 0 ? "否" : "是";
|
||
// cc.AreaName = u.Area_Name;
|
||
// cc.Nature = u.Nature == 0 ? "公办" : u.Nature == 1 ? "民办" : u.Nature == 2 ? "中外合作" : "港澳台";
|
||
// cc.Ownership = u.AscriptionName;
|
||
// cc.EducationCategory = u.Subject_Level == 0 ? "本科" : "专科";
|
||
// //0综合,1理工类,2医学类|3军事类|4语言类|5师范类|6财经类|7政法类|8民族类|9农林类|10艺术类|11体育类|12其他
|
||
// cc.SchoolType = UniversityTypeRelsove.GetType(u.Type);
|
||
// 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;
|
||
|
||
//var plandesc = await d_PlanMajorDescRepository.Query(c => c.Years == 2023 && c.Location == "山东省");
|
||
//var plandescline = await d_PlanMajorScoreLineRepository.Query(c => c.Years == 2022 && c.Location == "山东省");
|
||
//plandesc.ForEach(async a =>
|
||
//{
|
||
|
||
|
||
// // if (!string.IsNullOrEmpty(a.Major) && a.Major.Contains("(") && !string.IsNullOrEmpty(a.SelectSubject))
|
||
// //{
|
||
// // a.ModifyTime = DateTime.Now;
|
||
// // a.Remark = a.Major.Remove(a.Major.Length - 1, 1).Replace(a.Major.Split("(")[0], "");
|
||
// // a.Remark = a.Remark.Remove(0, 1);
|
||
// // a.Major = a.Major.Split("(")[0];
|
||
// // await d_PlanMajorDescRepository.Update(a);
|
||
// //}
|
||
|
||
|
||
// //if (!string.IsNullOrEmpty(a.Major) && a.Major.Contains("(") && !string.IsNullOrEmpty(a.SelectSubject))
|
||
// //{
|
||
// // a.ModifyTime = DateTime.Now;
|
||
// // a.Remark = a.Major.Remove(a.Major.Length - 1, 1).Replace(a.Major.Split("(")[0], "");
|
||
// // a.Remark = a.Remark.Remove(0, 1);
|
||
// // a.Major = a.Major.Split("(")[0];
|
||
// // await d_PlanMajorDescRepository.Update(a);
|
||
// //}
|
||
|
||
|
||
// if (plandescline.Any(e => e.UId == a.UId && e.Major == a.Major && e.Location == a.Location) && a.LowScore <= 0)
|
||
// {
|
||
// var firstdefault = plandescline.FirstOrDefault(e => e.UId == a.UId && a.Major == e.Major && e.Location == a.Location);
|
||
// a.LowScore = firstdefault.LowScore;
|
||
// a.LowScoreRank = firstdefault.LowScoreRank;
|
||
// a.ModifyTime = DateTime.Now;
|
||
// await d_PlanMajorDescRepository.Update(a);
|
||
// }
|
||
//});
|
||
|
||
//plandescline.ForEach(async a =>
|
||
//{
|
||
|
||
// if (!string.IsNullOrEmpty(a.Major) && a.Major.Contains("(") && !string.IsNullOrEmpty(a.SelectSubject))
|
||
// {
|
||
// a.ModifyTime = DateTime.Now;
|
||
// a.Remark = a.Major.Remove(a.Major.Length - 1, 1).Replace(a.Major.Split("(")[0], "");
|
||
// a.Remark = a.Remark.Remove(0, 1);
|
||
// a.Major = a.Major.Split("(")[0];
|
||
// await d_PlanMajorDescRepository.Update(a);
|
||
// }
|
||
|
||
// if (!string.IsNullOrEmpty(a.Major) && a.Major.Contains("(") && !string.IsNullOrEmpty(a.SelectSubject))
|
||
// {
|
||
// a.ModifyTime = DateTime.Now;
|
||
// a.Remark = a.Major.Remove(a.Major.Length - 1, 1).Replace(a.Major.Split("(")[0], "");
|
||
// a.Remark = a.Remark.Remove(0, 1);
|
||
// a.Major = a.Major.Split("(")[0];
|
||
// await d_PlanMajorDescRepository.Update(a);
|
||
// }
|
||
//});
|
||
//var plistpro = await d_PlanMajorDescProRepository.Query(c => c.Location == "山东省" && c.Years == 2023);
|
||
//plist.ForEach(async c =>
|
||
//{
|
||
// if (plistpro.Where(w => w.UId == c.UId && w.Major == c.Major && c.BatchName == w.BatchName && w.Location == "山东省").Any())
|
||
// {
|
||
// var pmodel = plistpro.Where(w => w.UId == c.UId && w.Major == c.Major && c.BatchName == w.BatchName && w.Location == "山东省").FirstOrDefault();
|
||
// pmodel.NewCount = pmodel.PlanCount - c.PlanCount;
|
||
// pmodel.ModifyTime = DateTime.Now;
|
||
// await d_PlanMajorDescProRepository.Update(pmodel);
|
||
// }
|
||
//});
|
||
#region *******************院校信息更新******************
|
||
|
||
//for (var i = 1; i <= 147; i++)
|
||
//{
|
||
// var body = new HttpHelperPostRequest() { pageIndex = i };
|
||
// var info = HttpHelper.PostApi<HttpHelperPostobject>("http://192.168.104.104:3000/youzy.dms.basiclib.api.college.query", body);
|
||
|
||
// info.result.items.ToList().ForEach(async a =>
|
||
// {
|
||
|
||
// //http://192.168.104.104:3000/youzy.dms.basiclib.api.college.bycode.get?code=10017 //详情
|
||
// // var bodydetail = new httphelperdetailrequest() { code = a.code };
|
||
// var undetail = HttpHelper.GetApi<UniversityDetailobject>("http://192.168.104.104:3000/", "youzy.dms.basiclib.api.college.bycode.get?code=" + a.code + "", "");
|
||
// Thread.Sleep(1000);
|
||
// var universitymodel = await d_UniversityRepository.Query(c => c.Name == a.cnName);
|
||
// if (universitymodel.Any() && undetail != null && undetail.result != null)
|
||
// {
|
||
// var updatemodel = universitymodel.FirstOrDefault();
|
||
// var category = undetail.result.categories.ToList();
|
||
// //if (category.Contains("医药"))
|
||
// //{
|
||
// // updatemodel.Type = UniversityTypeRelsove.GetTypeName("医药");
|
||
|
||
// //updatemodel.Web = undetail.result.webSite;
|
||
// //updatemodel.Address = undetail.result.address[0].address;
|
||
// //updatemodel.Phone = string.Join(",",undetail.result.zhaoBanDH);
|
||
// // updatemodel.AscriptionName = undetail.result.belong;
|
||
// //updatemodel.UniversityCode = a.code;
|
||
// //updatemodel.Rank = a.ranking;
|
||
// //updatemodel.Build_Date = undetail.result.createdYear;
|
||
// //updatemodel.Description = undetail.result.introduction;
|
||
// updatemodel.Master_Count = undetail.result.pointsOfShuo.Any() ? undetail.result.pointsOfShuo[0].number : 0;
|
||
// updatemodel.Doctorate_Count = undetail.result.pointsOfBo.Any() ? undetail.result.pointsOfBo[0].number : 0;
|
||
// //updatemodel.Type = UniversityTypeRelsove.GetTypeName((undetail.result.categories.Any() ? undetail.result.categories[0] : ""));
|
||
// await d_UniversityRepository.Update(updatemodel);
|
||
// // }
|
||
// }
|
||
|
||
// });
|
||
//}
|
||
|
||
|
||
|
||
|
||
|
||
#endregion
|
||
|
||
#region *********************院校代码更新******************************‘
|
||
|
||
//var universitylist = await d_UniversityRepository.Query();
|
||
//var plist = await this._PlanMajorDescRepository.Query(c => c.Location == "山东省" && c.Years == 2021 && c.PlanCount > 0);
|
||
//universitylist.ForEach(async u =>
|
||
//{
|
||
// plist.ForEach(async cc =>
|
||
// {
|
||
// if (cc.UId == u.Id&&string.IsNullOrWhiteSpace(cc.EnrollmentCode))
|
||
// {
|
||
// cc.EnrollmentCode = u.UniversityCode;
|
||
// cc.ModifyTime = DateTime.Now;
|
||
// await this._PlanMajorDescRepository.Update(cc);
|
||
// }
|
||
|
||
// });
|
||
//});
|
||
|
||
#endregion
|
||
|
||
|
||
|
||
return true;
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<bool> UpdateSchoolScoreLine23(string Location, string subjectType)
|
||
{
|
||
|
||
var dsQualification = new List<D_QualificationLine>();
|
||
|
||
var list = await d_PlanMajorScoreLineRepository.Query(e => e.IsDelete == false && e.Years == 2023 && e.Location == Location && e.SubjectType == subjectType);
|
||
|
||
//var planlist = await d_PlanMajorDescProRepository.Query(e => e.IsDelete == false && e.Years == 2023 && e.Location == "浙江省");
|
||
var universitylist = await d_UniversityRepository.Query();
|
||
//planlist.ForEach(a =>
|
||
//{
|
||
// var lany = list.Where(e => e.MajorCode == a.MajorCode && e.Major == a.Major && e.UniversityName == a.UniversityName);
|
||
// if (lany.Any())
|
||
// {
|
||
// var aa = lany.FirstOrDefault();
|
||
// a.UId = aa.UId;
|
||
// a.BatchName = aa.BatchName;
|
||
// }
|
||
//});
|
||
|
||
//await d_PlanMajorDescProRepository.Batchupdate(planlist);
|
||
|
||
//list.ForEach(c =>
|
||
//{
|
||
// if (c.UId <= 0)
|
||
// {
|
||
// c.UId = universitylist.Where(e => e.Name == c.UniversityName).FirstOrDefault().Id;
|
||
// }
|
||
//});
|
||
//await d_PlanMajorScoreLineRepository.BatchUpdate(list);
|
||
var unlist = list.Select(c => c.UId).Distinct().ToList();
|
||
unlist.ForEach(a =>
|
||
{
|
||
var models = list.Where(e => e.UId == a).FirstOrDefault();
|
||
//先找出院校最低分
|
||
var newmodel = new D_QualificationLine()
|
||
{
|
||
Years = models.Years,
|
||
UniversityName = models.UniversityName,
|
||
AreaName = universitylist.Where(c => c.Id == a).FirstOrDefault().Name,
|
||
EducationType = universitylist.Where(c => c.Id == a).FirstOrDefault().Subject_Level == 0 ? "本科" : "专科",
|
||
ModifyTime = DateTime.Now,
|
||
Ownership = universitylist.Where(c => c.Id == a).FirstOrDefault().AscriptionName,
|
||
// RecruitCode = universitylist.Where(c => c.Name == a).FirstOrDefault().UniversityCode,
|
||
RecruitType = "",
|
||
CreateTime = DateTime.Now,
|
||
IsDelete = false,
|
||
Location = models.Location,
|
||
OrderSort = 0,
|
||
UId = models.UId,
|
||
LowScore = list.Where(e => e.UId == a).Select(c => c.LowScore).Min(),
|
||
LowScoreRank = list.Where(e => e.UId == a).Select(c => c.LowScoreRank).Max(),
|
||
SubjectType = models.SubjectType,
|
||
BatchName = models.BatchName,
|
||
};
|
||
dsQualification.Add(newmodel);
|
||
// await d_QualificationLineRepository.Add(newmodel);
|
||
});
|
||
//var tt = dsQualification;
|
||
dsQualification.ForEach(async c =>
|
||
{
|
||
await d_QualificationLineRepository.Add(c);
|
||
});
|
||
return true;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 更新专业分数线
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<bool> UpdatePlanScoreLine()
|
||
{
|
||
var tbinfo = await t_TbSNeedDataInfoRepository.Query(e => e.Location == "山东省");
|
||
var plist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == "山东省" && c.Years == 2023 && c.IsDelete == false);
|
||
var list = new List<D_PlanMajorScoreLine>();
|
||
int i = 232818;
|
||
tbinfo.ForEach(a =>
|
||
{
|
||
if (plist.Where(e => e.UniversityName == a.UniversityName && e.MajorCode == a.MajorCode).Any())
|
||
{
|
||
i++;
|
||
var pdefault = plist.Where(e => e.UniversityName == a.UniversityName && e.MajorCode == a.MajorCode).FirstOrDefault();
|
||
list.Add(new D_PlanMajorScoreLine()
|
||
{
|
||
Id = i,
|
||
AvgScore = a._23SchoolAvgScore,
|
||
BatchName = pdefault.BatchName,
|
||
CreateTime = DateTime.Now,
|
||
FirstType = a.FirstType,
|
||
IsDelete = true,
|
||
Location = a.Location,
|
||
LowScore = Convert.ToInt32(a._23Score),
|
||
LowScoreRank = Convert.ToInt32(a._23ScoreLine),
|
||
Major = a.MajorName,
|
||
MajorCode = a.MajorCode,
|
||
ModifyTime = DateTime.Now,
|
||
//HighScore = "0",
|
||
//MajorGroup = "",
|
||
PlanCount = pdefault.PlanCount,
|
||
RootType = pdefault.RootType,
|
||
SelectSubject = pdefault.SelectSubject,
|
||
SubjectType = "综合",
|
||
UId = pdefault.UId,
|
||
UniversityName = a.UniversityName,
|
||
Years = pdefault.Years,
|
||
Remark = pdefault.Remark
|
||
});
|
||
}
|
||
});
|
||
|
||
//var count = list;
|
||
await d_PlanMajorScoreLineRepository.BatchAdd(list);
|
||
return true;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 更新学校基础信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<bool> UpdateUniveristyInf()
|
||
{
|
||
var tbinfo = await t_TbSNeedDataInfoRepository.Query();
|
||
// var plist = await this._PlanMajorDescRepository.Query(c => c.Location == "山东省" && c.Years == 2023);
|
||
|
||
var info = await d_UniversityRepository.Query();
|
||
// var infoimg = await d_UniversityimgRepository.Query();
|
||
info.ForEach(async a =>
|
||
{
|
||
if (tbinfo.Where(e => e.UniversityName == a.Name).Any())
|
||
{
|
||
var baseinfo = tbinfo.Where(e => e.UniversityName == a.Name).FirstOrDefault();
|
||
// var imginfo = infoimg.FirstOrDefault(o => o.UniversityId == a.Id);
|
||
//if (!string.IsNullOrWhiteSpace(baseinfo.VRUrl) && imginfo != null)
|
||
//{
|
||
// imginfo.VRUrl = baseinfo.VRUrl;
|
||
// await d_UniversityimgRepository.Update(imginfo);
|
||
//}
|
||
if (baseinfo.LnstitutionalLevel != null)
|
||
{
|
||
a.Sff = baseinfo.LnstitutionalLevel.Contains("211") ? 1 : 0;
|
||
a.Syl = baseinfo.LnstitutionalLevel.Contains("双一流") ? 1 : 0;
|
||
a.QJJH = baseinfo.LnstitutionalLevel.Contains("强基") ? 1 : 0;
|
||
a.Nhef = baseinfo.LnstitutionalLevel.Contains("985") ? 1 : 0;
|
||
}
|
||
//a.Doctorate_Count = int.Parse(baseinfo.PhDPoint);
|
||
//a.Master_Count = int.Parse(baseinfo.MastersDegree);
|
||
//a.Nature = baseinfo.Nature.Contains("公办") ? 0 : baseinfo.Nature.Contains("民办") ? 1 : baseinfo.Nature.Contains("中外合作") ? 2 : baseinfo.Nature.Contains("港澳台") ? 3 : -1;
|
||
//a.Subject_Level = baseinfo.EducationCategory == "本科" ? 0 : 1;
|
||
await d_UniversityRepository.Update(a);
|
||
}
|
||
});
|
||
//var plist = await this._PlanMajorDescRepository.Query(c => c.Location == "山东省" && c.Years == 2023 && c.IsDelete == false && c.UId <= 0);
|
||
//info.ForEach(async a =>
|
||
//{
|
||
// var pplist = plist.Where(ee => ee.UniversityName == a.Name).ToList();
|
||
|
||
// pplist.ForEach(c =>
|
||
// {
|
||
|
||
// c.UId = a.Id;
|
||
// c.AreaName = a.Area_Name;
|
||
// c.Rank = a.Rank.ToString();
|
||
// c._985 = a.Nhef == 1 ? "是" : "否";
|
||
// c._SYL = a.Syl == 1 ? "是" : "否";
|
||
// c._211 = a.Sff == 1 ? "是" : "否";
|
||
// c.Nature = a.Nature == 0 ? "公办" : a.Nature == 1 ? "民办" : a.Nature == 2 ? "中外合作办学" : "港澳台";
|
||
// c.ReName = c.Major;
|
||
// c.Remark = "(" + c.Major.Remove(c.Major.Length - 1, 1).Replace(c.Major.Split("(")[0], "");
|
||
// c.Major = c.Major.Split("(")[0];
|
||
|
||
// });
|
||
// if (pplist.Any() && pplist.Count() > 0)
|
||
// {
|
||
// await this._PlanMajorDescRepository.Batchupdate(pplist);
|
||
// }
|
||
//});
|
||
|
||
return true;
|
||
}
|
||
|
||
|
||
public async Task<List<UniversityMongoResult>> GetSyncUniversityInfo()
|
||
{
|
||
if (_redisCache.Get("sync_university"))
|
||
{
|
||
return JsonConvert.DeserializeObject<List<UniversityMongoResult>>((Encoding.UTF8.GetString(_redisCache.Get<byte[]>("sync_university"))));
|
||
}
|
||
|
||
var list = new List<UniversityMongoResult>();
|
||
var tbinfo = await t_TbSNeedDataInfoRepository.Query(e => e.Location == "山东省");
|
||
var universitylist = await d_UniversityRepository.Query();
|
||
var universityimglist = await d_UniversityimgRepository.Query(x => x.IsDelete == false);
|
||
|
||
universitylist.ForEach(university =>
|
||
{
|
||
|
||
var models = new UniversityMongoResult()
|
||
{
|
||
Id = university.Id,
|
||
Name = university.Name,
|
||
Address = university.Address,
|
||
Phone = university.Phone,
|
||
// Nature = university.Nature,
|
||
//AscriptionName = university.AscriptionName,
|
||
Rank = university.Rank,
|
||
AreaName = university.Area_Name,
|
||
Logo = university.Logo,
|
||
// Syl = university.Syl == 1 ? true : false,
|
||
// Nhef = university.Nhef == 1 ? true : false,
|
||
// Sff = university.Sff == 1 ? true : false,
|
||
// QJJH = university.QJJH == 1 ? true : false,
|
||
//UniversityType = university.Type,
|
||
SubjectLevel = university.Subject_Level,
|
||
BuildDate = university.Build_Date,
|
||
// Imglist = imgs,
|
||
DoctorateCount = university.Doctorate_Count,
|
||
MasterCount = university.Master_Count,
|
||
AcademicianCount = university.Academician_Count,
|
||
collegeCode = university.UniversityCode,
|
||
Web = string.IsNullOrEmpty(university.Web) ? "暂无" : university.Web,
|
||
// Description = ClearHtmlHelper.SHTML(university.Description),
|
||
};
|
||
|
||
|
||
|
||
if (universityimglist.Where(e => e.UniversityId == university.Id).Any() && universityimglist.Where(e => e.UniversityId == university.Id).Select(c => c.ImgList).Count() > 0)
|
||
{
|
||
models.Imglist = universityimglist.Where(e => e.UniversityId == university.Id).Select(c => c.ImgList).FirstOrDefault();
|
||
}
|
||
else
|
||
{
|
||
var unimglist = HttpHelper.GetApi<UnImglistobject>("http://192.168.104.104:3000/", "youzy.dms.basiclib.api.college.image.get?collegeCode=" + university.UniversityCode + "", "");
|
||
if (unimglist != null && unimglist.isSuccess)
|
||
{
|
||
|
||
// models.Imglist = unimglist.result.urls.Select(c => c.url).ToList().ToJson();
|
||
}
|
||
}
|
||
models.VrUrl = universityimglist.Where(e => e.UniversityId == university.Id).Select(c => c.VRUrl).FirstOrDefault();
|
||
|
||
var baseinfo = tbinfo.Where(e => e.UniversityName == university.Name).FirstOrDefault();
|
||
|
||
if (baseinfo != null && !string.IsNullOrWhiteSpace(baseinfo.LnstitutionalLevel))
|
||
{
|
||
models.features = baseinfo.LnstitutionalLevel;
|
||
}
|
||
|
||
if (baseinfo != null && !string.IsNullOrWhiteSpace(baseinfo.City))
|
||
{
|
||
models.CityName = baseinfo.City;
|
||
}
|
||
|
||
|
||
if ((baseinfo != null && !string.IsNullOrWhiteSpace(baseinfo.Nature)))
|
||
{
|
||
models.Nature = baseinfo.Nature;
|
||
}
|
||
else
|
||
{
|
||
models.Nature = university.Nature == 0 ? "公办" : university.Nature == 1 ? "民办" : university.Nature == 2 ? "中外合作" : "港澳台";
|
||
}
|
||
|
||
|
||
if (baseinfo != null && !string.IsNullOrWhiteSpace(baseinfo.Ownership))
|
||
{
|
||
models.Belong = baseinfo.Ownership;
|
||
}
|
||
else
|
||
{
|
||
models.Belong = university.AscriptionName;
|
||
}
|
||
|
||
|
||
var undetail = HttpHelper.GetApi<UniversityDetailobject>("http://192.168.104.104:3000/", "youzy.dms.basiclib.api.college.bycode.get?code=" + university.UniversityCode + "", "");
|
||
if (undetail != null && undetail.isSuccess)
|
||
{
|
||
models.UniversityType = undetail.result.categories.ToList();
|
||
|
||
}
|
||
else
|
||
{
|
||
models.UniversityType = new List<string>() {
|
||
|
||
GetUniversityTypeName(university.Type)
|
||
};
|
||
}
|
||
list.Add(models);
|
||
|
||
});
|
||
//byte[] byresult = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(list));
|
||
//_redisCache.Set("sync_university", byresult, TimeSpan.FromDays(1));
|
||
return list;
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 更新最新的招生计划数据
|
||
/// </summary>
|
||
/// <param name="location"></param>
|
||
/// <param name="years"></param>
|
||
/// <param name="subjectType"></param>
|
||
/// <param name="batchname"></param>
|
||
/// <returns></returns>
|
||
public async Task<bool> SyncnewNeedProSData(string location, int years, string subjectType, string batchname)
|
||
{
|
||
var oldplist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == location && c.Years == 2023 && c.SubjectType == subjectType && c.BatchName == batchname && c.IsDelete == false);
|
||
var newplist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == location && c.Years == years && c.SubjectType == subjectType && c.BatchName == batchname && c.IsDelete == false);
|
||
newplist.ForEach(a =>
|
||
{
|
||
if (oldplist.Where(e => e.UId == a.UId).Any())
|
||
{
|
||
var u = oldplist.Where(e => e.UId == a.UId).FirstOrDefault();
|
||
if (oldplist.Where(e => e.UId == a.UId && e.MajorCode == a.MajorCode).Any())
|
||
{
|
||
var m = oldplist.Where(e => e.UId == a.UId && e.MajorCode == a.MajorCode);
|
||
|
||
if (string.IsNullOrWhiteSpace(a.CityName))
|
||
{
|
||
a.CityName = u.CityName;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.AreaName))
|
||
{
|
||
a.AreaName = u.AreaName;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.EducationCategory))
|
||
{
|
||
a.EducationCategory = u.EducationCategory;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.EnrollmentCode))
|
||
{
|
||
a.EnrollmentCode = u.EnrollmentCode;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.EnrollmentType))
|
||
{
|
||
a.EnrollmentType = u.EnrollmentType;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.FirstType))
|
||
{
|
||
if (m.Any())
|
||
{
|
||
a.FirstType = m.FirstOrDefault().FirstType;
|
||
}
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.FormerName))
|
||
{
|
||
|
||
a.FormerName = u.FormerName;
|
||
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.Logo))
|
||
{
|
||
a.Logo = u.Logo;
|
||
}
|
||
if (a.LowScore <= 0)
|
||
{
|
||
if (m.Any())
|
||
{
|
||
a.LowScore = m.FirstOrDefault().LowScore;
|
||
}
|
||
}
|
||
|
||
if (a.LowScoreRank <= 0)
|
||
{
|
||
if (m.Any())
|
||
{
|
||
a.LowScoreRank = m.FirstOrDefault().LowScoreRank;
|
||
}
|
||
}
|
||
|
||
if (string.IsNullOrWhiteSpace(a.Nature))
|
||
{
|
||
a.Nature = u.Nature;
|
||
}
|
||
|
||
if (a.NewCount <= 0)//差值
|
||
{
|
||
if (m.Any())
|
||
{
|
||
a.NewCount = a.PlanCount - m.FirstOrDefault().PlanCount;
|
||
}
|
||
}
|
||
|
||
if (string.IsNullOrWhiteSpace(a.Ownership))
|
||
{
|
||
a.Ownership = u.Ownership;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.Rank))
|
||
{
|
||
a.Rank = u.Rank;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.RootType))
|
||
{
|
||
if (m.Any())
|
||
{
|
||
a.RootType = m.FirstOrDefault().RootType;
|
||
}
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a.SchoolType))
|
||
{
|
||
if (m.Any())
|
||
{
|
||
a.SchoolType = m.FirstOrDefault().SchoolType;
|
||
}
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a._211))
|
||
{
|
||
a._211 = u._211;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a._985))
|
||
{
|
||
a._985 = u._985;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(a._SYL))
|
||
{
|
||
a._SYL = u._SYL;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
return await this.d_PlanMajorDescProRepository.Batchupdate(newplist);
|
||
|
||
}
|
||
/// <summary>
|
||
/// 同步need表数据
|
||
/// </summary>
|
||
/// <param name="location"></param>
|
||
/// <param name="years"></param>
|
||
/// <param name="subjectType"></param>
|
||
/// <param name="batchname"></param>
|
||
/// <returns></returns>
|
||
public async Task<bool> PlanNeedProSync(string location, int years, string subjectType, string batchname)
|
||
{
|
||
var needlist = new List<T_TbSNeedDataInfo>();
|
||
var universitylist = await d_UniversityRepository.Query();
|
||
var majorlist = await d_PlanMajorScoreLineRepository.Query(e => e.Location == location);
|
||
var plist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == location && c.Years == years && c.SubjectType == subjectType && c.BatchName == batchname && c.IsDelete == false);
|
||
var countid = (await this.t_TbSNeedDataInfoRepository.Query()).OrderByDescending(c => c.ID).FirstOrDefault().ID;
|
||
plist.ForEach(a =>
|
||
{
|
||
countid++;
|
||
var u = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault();
|
||
if (u != null)
|
||
{
|
||
needlist.Add(new T_TbSNeedDataInfo()
|
||
{
|
||
ID = countid,
|
||
AcademicYear = a.AcademicYear,
|
||
EnrollmentType= "普通计划",
|
||
// City = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Area_Name
|
||
Province = u.Area_Name,
|
||
EducationCategory = u.Subject_Level == 0 ? "本科" : "专科",
|
||
EnrollmentCode = u.UniversityCode,
|
||
Fee = a.Free,
|
||
Location = a.Location,
|
||
MajorCode = a.MajorCode,
|
||
MajorName = a.Major,
|
||
MastersDegree = u.Master_Count.ToString(),
|
||
UniversityName = a.UniversityName,
|
||
Ownership = u.AscriptionName,
|
||
Nature = u.Nature == 0 ? "公办" : u.Nature == 1 ? "民办" : u.Nature == 2 ? "中外合作办学" : u.Nature == 3 ? "港澳台" : "独立学院",
|
||
Remark = a.Remark,
|
||
PhDPoint = u.Doctorate_Count.ToString(),
|
||
_plancount = a.PlanCount,
|
||
BatchName = a.BatchName,
|
||
SubjectType = subjectType,
|
||
_23ScoreLine = a.LowScoreRank.ToString(),
|
||
_23Score = a.LowScore.ToString(),
|
||
_Score = a.LowScore.ToString(),
|
||
_24subject = a.SelectSubject,
|
||
_23subject = a.SelectSubject,
|
||
_23Count = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().PlanCount.ToString() : "0",
|
||
// _23Score = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScore.ToString() : "0",
|
||
// _23ScoreLine = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0",
|
||
_22Count = majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().PlanCount.ToString() : "0",
|
||
_22Score = majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScore.ToString() : "0",
|
||
_22ScoreLine = majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0",
|
||
_21Count = majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().PlanCount.ToString() : "0",
|
||
_21Score = majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScore.ToString() : "0",
|
||
_21ScoreLine = majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0",
|
||
_23SchoolScoreLine = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Select(c => c.LowScoreRank).Max().ToString() : "0",
|
||
_23SchoolScore = majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.MajorCode == a.MajorCode && e.UniversityName == a.UniversityName).Select(c => c.LowScore).Min().ToString() : "0"
|
||
});
|
||
}
|
||
|
||
});
|
||
var tt = needlist;
|
||
await t_TbSNeedDataInfoRepository.BatchAdd(tt);
|
||
return true;
|
||
}
|
||
/// <summary>
|
||
/// 更新招生计划数据
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public async Task<bool> UpdatePlanProInf(string Location)
|
||
{
|
||
|
||
var tbinfo = await t_TbSNeedDataInfoRepository.Query(e => e.Location == Location);
|
||
var universitylist = await d_UniversityRepository.Query(e => e.IsDelete == false);
|
||
// var majorlist = await d_MajorRepository.Query(e => e.Type == 2 && e.IsDelete == false);
|
||
|
||
#region************************更新招生计划合计****************************
|
||
|
||
// var majorlist = await d_PlanMajorScoreLineRepository.Query(e => e.Location == Location && e.Years == 2023);
|
||
// var qliylist = await d_QualificationLineRepository.Query(e => e.Location == Location && e.Years == 2023);
|
||
// var plist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == Location && c.Years == 2023 && c.IsDelete == false);
|
||
//tbinfo.ForEach(o =>
|
||
//{
|
||
// if (plist.Any(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName))
|
||
// {
|
||
// o._21Count = plist.Where(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().PlanCount.ToString();
|
||
// o.AcademicYear = plist.Where(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().AcademicYear;
|
||
// }
|
||
// if (majorlist.Any(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName))
|
||
// {
|
||
// o._21Score = majorlist.Where(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScore.ToString();
|
||
// o._21ScoreLine = majorlist.Where(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScoreRank.ToString();
|
||
// }
|
||
// if (qliylist.Any(e => e.UniversityName == o.UniversityName))
|
||
// {
|
||
// o._23SchoolScore = qliylist.Where(e => e.UniversityName == o.UniversityName).FirstOrDefault().LowScore.ToString();
|
||
// o._23SchoolScoreLine = qliylist.Where(e => e.UniversityName == o.UniversityName).FirstOrDefault().LowScoreRank.ToString();
|
||
// //o._23SchoolAvgScore=
|
||
// }
|
||
|
||
|
||
//});
|
||
|
||
//await t_TbSNeedDataInfoRepository.BatchUpdate(tbinfo);
|
||
|
||
|
||
#endregion************************更新招生计划合计****************************
|
||
|
||
#region ***********************更新相关参数***************************
|
||
|
||
var tbsdinfo = await t_TbSNeedDataInfoRepository.Query(e => e.Location == "山东省");
|
||
var majorlist = await d_PlanMajorScoreLineRepository.Query(e => e.Location == Location);
|
||
tbinfo.ForEach(o =>
|
||
{
|
||
//if (majorlist.Any(e => e.Major == o.MajorName && e.UniversityName == o.UniversityName))
|
||
//{
|
||
// if (o._21Score == "0")
|
||
// {
|
||
// o._21Score = majorlist.Where(e => e.Years == 2021 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScore.ToString() : "0";
|
||
// o._21ScoreLine = majorlist.Where(e => e.Years == 2021 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0";
|
||
// o._21Count = majorlist.Where(e => e.Years == 2021 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2021 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().PlanCount.ToString() : "0";
|
||
// }
|
||
|
||
// if (o._22Score == "0")
|
||
// {
|
||
// o._22Score = majorlist.Where(e => e.Years == 2022 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScore.ToString() : "0";
|
||
// o._22ScoreLine = majorlist.Where(e => e.Years == 2022 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0";
|
||
// o._22Count = majorlist.Where(e => e.Years == 2022 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2022 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().PlanCount.ToString() : "0";
|
||
// }
|
||
|
||
// if (o._23Score == "0")
|
||
// {
|
||
// o._23Score = majorlist.Where(e => e.Years == 2023 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScore.ToString() : "0";
|
||
// o._23ScoreLine = majorlist.Where(e => e.Years == 2023 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().LowScoreRank.ToString() : "0";
|
||
// o._23Count = majorlist.Where(e => e.Years == 2023 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).Any() ? majorlist.Where(e => e.Years == 2023 && e.Major == o.MajorName && e.UniversityName == o.UniversityName).FirstOrDefault().PlanCount.ToString() : "0";
|
||
// }
|
||
//}
|
||
if (tbsdinfo.Any(a => a.UniversityName == o.UniversityName))
|
||
{
|
||
|
||
o.UniversityRank = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().UniversityRank;
|
||
o.City = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().City;
|
||
o.EmploymentQuality = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().EmploymentQuality;
|
||
o.EnrollmentCode = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().EnrollmentCode;
|
||
if (tbsdinfo.Any(a => a.UniversityName ==o.UniversityName && a.MajorName.Contains(o.MajorName)))
|
||
{
|
||
o.Fee = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName && a.MajorName.Contains(o.MajorName)).FirstOrDefault().Fee;
|
||
o.MjaorLevel = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName && a.MajorName.Contains(o.MajorName)).FirstOrDefault().MjaorLevel;
|
||
o.MajorCount = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName && a.MajorName.Contains(o.MajorName)).FirstOrDefault().LnstitutionalLevel;
|
||
o.MajorRankPercentage = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName && a.MajorName.Contains(o.MajorName)).FirstOrDefault().LnstitutionalLevel;
|
||
o.FirstType = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName && a.MajorName.Contains(o.MajorName)).FirstOrDefault().FirstType;
|
||
}
|
||
|
||
|
||
o.LnstitutionalLevel = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().LnstitutionalLevel;
|
||
|
||
o.MastersDegree = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().MastersDegree;
|
||
o.MastersMajor = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().MastersMajor;
|
||
|
||
o.Nature = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().Nature;
|
||
o.Ownership = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().Ownership;
|
||
o.PhDMajor = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().PhDMajor;
|
||
o.PhDPoint = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().PhDPoint;
|
||
o.ProfessionalAssessment = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().ProfessionalAssessment;
|
||
o.Province = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().Province;
|
||
o.VRUrl = tbsdinfo.Where(a => a.UniversityName ==o.UniversityName).FirstOrDefault().VRUrl;
|
||
}
|
||
});
|
||
await t_TbSNeedDataInfoRepository.BatchUpdate(tbinfo);
|
||
|
||
#endregion
|
||
|
||
#region 院校专业关联
|
||
//var models = new List<D_MajorMapUniversity>();
|
||
|
||
//tbinfo.ForEach(async a =>
|
||
//{
|
||
// if (majorlist.Where(e => a.MajorName.Contains(e.Name)).Any())
|
||
// {
|
||
// if (universitylist.Where(e => e.Name == a.UniversityName).Any())
|
||
// {
|
||
|
||
// var mid = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id;
|
||
// var uid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id;
|
||
// if (!models.Where(e => e.Universityid == uid && e.MajorId == mid).Any())
|
||
// {
|
||
// if (!(await d_MajorMapUniversityRepository.Query(q => q.Universityid == uid && q.MajorId == mid)).Any())
|
||
// models.Add(new D_MajorMapUniversity()
|
||
// {
|
||
// CreateTime = DateTime.UtcNow,
|
||
// IsDelete = false,
|
||
// ModifyTime = DateTime.UtcNow,
|
||
// OrderSort = 0,
|
||
// sp = 0,
|
||
// MajorId = majorlist.Where(e => a.MajorName.Contains(e.Name)).FirstOrDefault().Id,
|
||
// Universityid = universitylist.Where(e => e.Name == a.UniversityName).FirstOrDefault().Id
|
||
// });
|
||
// }
|
||
// }
|
||
// }
|
||
//});
|
||
//await d_MajorMapUniversityRepository.Add(models);
|
||
#endregion
|
||
|
||
|
||
#region 更新专业计划信息
|
||
//var plist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == "上海市" && c.Years == 2024 && c.IsDelete == false);
|
||
//// var plist = await this.d_PlanMajorDescProRepository.Query(c => c.Location == "河南省" && c.Years == 2024 && c.IsDelete == false);
|
||
//plist.ForEach(p =>
|
||
//{
|
||
// //var newmodel = tbinfo.Where(e => (e.EnrollmentCode == p.EnrollmentCode || e.UniversityName == p.UniversityName) && e.MajorCode == p.MajorCode).FirstOrDefault();
|
||
// //if (newmodel != null)
|
||
// //{
|
||
// var universitymodel = universitylist.Where(e => e.Id == p.UId).FirstOrDefault();
|
||
// if (universitymodel != null)
|
||
// {
|
||
// p.CityName = universitymodel.Area_Name;
|
||
// p.EducationCategory = universitymodel.Subject_Level == 0 ? "本科" : "专科";
|
||
// p.EnrollmentCode = universitymodel.UniversityCode;
|
||
// // p.EnrollmentType = newmodel.EnrollmentType;
|
||
// //p.SchoolType=newmodel.sch
|
||
// //p.FirstType = universitymodel.FirstType;
|
||
// p.Nature = universitymodel.Nature == 0 ? "公办" : universitymodel.Nature == 1 ? "民办" : universitymodel.Nature == 2 ? "中外合作办学" : universitymodel.Nature == 3 ? "港澳台" : "独立学院";
|
||
// p.AreaName = universitymodel.Area_Name;
|
||
// p.Ownership = universitymodel.AscriptionName;
|
||
// p.Web = universitymodel.Web;
|
||
// p.Logo = universitymodel.Logo;
|
||
// p._985 = universitymodel.Nhef == 1 ? "是" : "否";
|
||
// p._211 = universitymodel.Sff == 1 ? "是" : "否";
|
||
// p._SYL = universitymodel.Syl == 1 ? "是" : "否";
|
||
// p.Rank = (universitymodel.Rank == 0 || universitymodel.Rank == 9999) ? "--" : universitymodel.Rank.ToString();
|
||
// //p.NewCount = int.Parse(newmodel._23Count) - int.Parse(newmodel._22Count);
|
||
// //p.PlanCount = int.Parse(newmodel._23Count);
|
||
// //p.LowScore = int.Parse(newmodel._23Score);
|
||
// //p.LowScoreRank = int.Parse(newmodel._23ScoreLine);
|
||
// }
|
||
//});
|
||
|
||
//await this.d_PlanMajorDescProRepository.Batchupdate(plist);
|
||
#endregion
|
||
|
||
#region 更新专业分数先选科数据
|
||
|
||
//var planlinelist = await d_PlanMajorScoreLineRepository.Query(e => e.IsDelete == false && e.Years == 2023 && e.Location == "山东省");
|
||
//planlinelist.ForEach(async c =>
|
||
//{
|
||
// var tmpany = tbinfo.Where(e => e.UniversityName == c.UniversityName && e.MajorCode == c.MajorCode).Any();
|
||
// if (tmpany)
|
||
// {
|
||
// var tmp = tbinfo.Where(e => e.UniversityName == c.UniversityName && e.MajorCode == c.MajorCode).FirstOrDefault();
|
||
// c.SelectSubject = tmp._23subject;
|
||
// await d_PlanMajorScoreLineRepository.Update(c);
|
||
// }
|
||
//});
|
||
|
||
#endregion
|
||
|
||
return true;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
// #region 院校排序
|
||
/// <summary>
|
||
/// 院校排序
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
//public async Task<bool> Import()
|
||
//{
|
||
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\院校专业职业\\院校排名.xlsx");
|
||
// if (dataSet.Tables.Count > 0)
|
||
// {
|
||
// var stringBuilderinfo = new StringBuilder();
|
||
// stringBuilderinfo.AppendFormat("select Id,Name,Logo,Nhef,Sff,Syl,Area_Name,AscriptionName from D_University where IsDelete=0");
|
||
// var info = await d_UniversityRepository.QuerySql(stringBuilderinfo.ToString());
|
||
|
||
// List<D_University> list = new List<D_University>() { };
|
||
// foreach (DataRow dr in dataSet.Tables[0].Rows)
|
||
// {
|
||
// var rank = Convert.ToInt32(dr["排序"].ToString());
|
||
// var name = dr["院校名称"].ToString();
|
||
// var nowinfo = info.Where(x => x.Name == name).FirstOrDefault();
|
||
// if (nowinfo != null)
|
||
// {
|
||
// nowinfo.Rank = rank;
|
||
// list.Add(nowinfo);
|
||
// }
|
||
// }
|
||
// await d_UniversityRepository.Update(list);
|
||
// }
|
||
|
||
// return true;
|
||
//}
|
||
// #endregion
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
public class HttpHelperPostRequest
|
||
{
|
||
|
||
public int pageIndex { get; set; }
|
||
}
|
||
|
||
public class HttpHelperPostobject
|
||
{
|
||
public basiclibResult result { get; set; }
|
||
public string code { get; set; }
|
||
public string message { get; set; }
|
||
public string fullMessage { get; set; }
|
||
public DateTime timestamp { get; set; }
|
||
public bool isSuccess { get; set; }
|
||
}
|
||
|
||
public class basiclibResult
|
||
{
|
||
public int totalCount { get; set; }
|
||
public basiclibItem[] items { get; set; }
|
||
}
|
||
|
||
public class basiclibItem
|
||
{
|
||
public int numId { get; set; }
|
||
public string code { get; set; }
|
||
public string gbCode { get; set; }
|
||
public string cnName { get; set; }
|
||
public string logoUrl { get; set; }
|
||
public string natureType { get; set; }
|
||
public string eduLevel { get; set; }
|
||
public string belong { get; set; }
|
||
public string[] categories { get; set; }
|
||
public string[] features { get; set; }
|
||
public string provinceCode { get; set; }
|
||
public string provinceName { get; set; }
|
||
public string cityName { get; set; }
|
||
public int hits { get; set; }
|
||
public int ranking { get; set; }
|
||
public int rankingOfWSL { get; set; }
|
||
public int rankingOfRK { get; set; }
|
||
public int rankingOfXYH { get; set; }
|
||
public int rankingOfQS { get; set; }
|
||
public int rankingOfUSNews { get; set; }
|
||
public int rankingOfEdu { get; set; }
|
||
public float comScore { get; set; }
|
||
public string id { get; set; }
|
||
}
|
||
|
||
} |