NewGaoKaoApi/New_College.Services/D_LongIdMapServices.cs

1610 lines
75 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
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;
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)
{
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;
}
/// <summary>
/// 获取院校库 添加个人收藏和对比 的验证
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public async Task<PageModel<UniversityResult>> GetUniversitys(UniversityQuery query)
{
var wheres = PredicateBuilder.New<D_University>();
wheres = wheres.And(x => x.IsDelete == false);
if (!string.IsNullOrEmpty(query.AreaName) && query.AreaName != "全国")
wheres = wheres.And(x => x.Area_Name.Contains(query.AreaName));
if (query.SubjectLevel > 0)
wheres = wheres.And(x => x.Subject_Level == query.SubjectLevel);
if (query.Type >= 0)
wheres = wheres.And(x => x.Type == query.Type);
if (query.Nhef >= 0)
wheres = wheres.And(x => x.Nhef == query.Nhef);
if (query.Sff >= 0)
wheres = wheres.And(x => x.Sff == query.Sff);
if (query.Syl >= 0)
wheres = wheres.And(x => x.Syl == query.Syl);
if (!string.IsNullOrWhiteSpace(query.Name))
wheres = wheres.And(u => u.Name.Contains(query.Name));
if (query.Nature > 0)
wheres = wheres.And(x => x.Nature == query.Nature);
var info = await d_UniversityRepository.QueryPage(wheres, query.PageIndex, query.PageSize, "Rank Asc");
if (info.data.Count <= 0)
return new PageModel<UniversityResult>() { };
var 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,
AreaName = c.Area_Name,
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 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(x => x.IsDelete == false)).Select(s => new uniMajorSelect() { Id = s.CategoryClass_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.Id == s.Id),
}).ToList();
if (scond.Count() == 0)
continue;
list.Add(new uniMajorInfoResult()
{
FirstName = item.Name,
RootId = item.Id,
SecondInfo = scond
});
}
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 }).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
}).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()
{
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 });
var occupations = (await d_OccupationRepository.Query(x => x.IsDelete == false)).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;
}
/// <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,
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,
Imglist = imgs,
DoctorateCount = university.Doctorate_Count,
MasterCount = university.Master_Count,
AcademicianCount = university.Academician_Count,
// 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;
}
/// <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();
var wheres = PredicateBuilder.New<D_University>();
wheres = wheres.And(x => x.IsDelete == false && universityids.Contains(x.Id));
if (!string.IsNullOrEmpty(query.AreaName) && query.AreaName != "全国")
wheres = wheres.And(x => x.Area_Name.Contains(query.AreaName));
if (query.SubjectLevel > 0)
wheres = wheres.And(x => x.Subject_Level == query.SubjectLevel);
if (query.Type >= 0)
wheres = wheres.And(x => x.Type == query.Type);
if (query.Nhef >= 0)
wheres = wheres.And(x => x.Nhef == query.Nhef);
if (query.Sff >= 0)
wheres = wheres.And(x => x.Sff == query.Sff);
if (query.Syl >= 0)
wheres = wheres.And(x => x.Syl == query.Syl);
wheres = wheres.And(x => x.Nature == query.Nature);
var info = await d_UniversityRepository.QueryPage(wheres, 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 }).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 }).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;
}
/// <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(),
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 t_EnrollmentPlanedescRepository.Query(x => x.UniversityId == query.UnviersityId);
if (info.Count <= 0)
return new BatchYear() { };
var batchids = info.Select(x => x.BatchtypeId).Distinct().ToList();
var batchinfo = await t_EnrollmentBatchRepository.Query(x => batchids.Contains(x.Id) && x.AreaName == query.AreaName);
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)
{
var check = await t_EnrollmentBatchRepository.Query(x => x.Type == query.Type && x.Year == query.Year && x.Batch_name == query.BatchName && x.AreaName == query.AreaName);
if (check.Count <= 0)
return new List<NewPlanDescList>() { };
var batchid = check.Select(x => x.Id)?.FirstOrDefault();
var info = await t_EnrollmentPlanedescRepository.Query(x => x.UniversityId == query.UnviersityId && x.BatchtypeId == batchid);
List<NewPlanDescList> list = new List<NewPlanDescList>() { };
foreach (var item in info)
{
list.Add(new NewPlanDescList()
{
Name = item.MajorName,
Money = string.IsNullOrWhiteSpace(item.Tuitionfee) || item.Tuitionfee == "0" || item.Tuitionfee == "待定" ? "--" : item.Tuitionfee,
PlanNum = item.Plancount,
Scoreline = item.Scoreline == 0 || string.IsNullOrWhiteSpace(item.Scoreline.ToString()) ? "--" : item.Scoreline.ToString()
});
}
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);
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<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>
/// 获取学校类型
/// </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 async Task<MessageModel<List<RequestEnrollmentinproductionResult>>> GetRequestEnrollmentinproductionResult(UniversityIdQuery query)
{
var longinfo = (await _dal.Query(x => x.IsDelete == false && x.table == "D_University" && x.newid == query.Id)).FirstOrDefault();
if (longinfo == null)
return new MessageModel<List<RequestEnrollmentinproductionResult>>() { success = false, msg = "未找到数据" };
RequestQuery request = new RequestQuery() { Id = longinfo.longid, PageIndex = query.PageIndex, PageSize = query.PageSize };
var stringBuilder = new StringBuilder();
stringBuilder.AppendFormat("Id={0}&PageIndex={1}&PageSize={2}", longinfo.longid, query.PageIndex, query.PageSize);
var info = HttpHelper.GetApi<RequestBaseResponse>("https://hbs.yrtsedu.cn/", "api/University/GetEnrollmentinproductions", stringBuilder.ToString());
if (info.Success == false)
{
return new MessageModel<List<RequestEnrollmentinproductionResult>>() { success = false, msg = "请求失败" };
}
return new MessageModel<List<RequestEnrollmentinproductionResult>>()
{
success = info.Success,
msg = "获取成功",
response = info.Data
};
}
/// <summary>
/// 获取招生简介详情
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public async Task<MessageModel<RequestEnrollmentinproductionDetailResult>> GetRequestEnrollmentinproductionDetailResult(StringIdQuery query)
{
if (string.IsNullOrWhiteSpace(query.Id))
{
return new MessageModel<RequestEnrollmentinproductionDetailResult>() { success = false, msg = "传入为空" };
}
var stringBuilder = new StringBuilder();
stringBuilder.AppendFormat("Id={0}", query.Id);
var info = HttpHelper.GetApi<RequestDetailBaseResponse>("https://hbs.yrtsedu.cn/", "api/University/GetEnrollmentinproductionDetali", stringBuilder.ToString());
if (info.Success == false)
{
return new MessageModel<RequestEnrollmentinproductionDetailResult>() { success = false, msg = "请求失败" };
}
return new MessageModel<RequestEnrollmentinproductionDetailResult>()
{
success = info.Success,
msg = "获取成功",
response = info.Data
};
}
#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
#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
}
}