NewGaoKaoApi/New_College.Services/T_EnrollmentPlaneServices.cs

233 lines
10 KiB
C#

using New_College.IServices;
using New_College.Model.Models;
using New_College.Services.BASE;
using New_College.IRepository.Base;
using System.Threading.Tasks;
using New_College.IRepository;
using New_College.Common.Excel;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Data.Entity.ModelConfiguration.Conventions;
using System;
using New_College.Model.ViewModels.Result;
using New_College.Model.ViewModels.Query;
using New_College.Model;
namespace New_College.Services
{
public class T_EnrollmentPlaneServices : BaseServices<T_EnrollmentPlane>, IT_EnrollmentPlaneServices
{
private readonly IBaseRepository<T_EnrollmentPlane> _dal;
private readonly IT_EnrollmentPlaneRepository planeRepository;
private readonly ID_UniversityRepository d_University;
private readonly ID_MajorRepository d_Major;
private readonly IT_EnrollmentBatchRepository t_EnrollmentBatch;
private readonly IT_EnrollmentPlanedescRepository t_EnrollmentPlanedesc;
public T_EnrollmentPlaneServices(IBaseRepository<T_EnrollmentPlane> dal, IT_EnrollmentPlaneRepository t_EnrollmentPlaneRepository, ID_UniversityRepository d_UniversityRepository, ID_MajorRepository d_MajorRepository, IT_EnrollmentBatchRepository t_EnrollmentBatchRepository, IT_EnrollmentPlanedescRepository t_EnrollmentPlanedescRepository)
{
this._dal = dal;
base.BaseDal = dal;
this.planeRepository = t_EnrollmentPlaneRepository;
this.d_University = d_UniversityRepository;
this.d_Major = d_MajorRepository;
this.t_EnrollmentBatch = t_EnrollmentBatchRepository;
this.t_EnrollmentPlanedesc = t_EnrollmentPlanedescRepository;
}
/// <summary>
/// 招生计划
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<PageModel<EnrollmentPlansResult>> GetEnrollmentPlans(EnrollmentPlanRequest request)
{
return await this.planeRepository.GetEnrollmentPlans(request);
}
//2020 最低录取分数导入
public async Task<bool> Import()
{
var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\一草一木\\山东2020年招生录取数据.xlsx");
if (dataSet.Tables.Count > 0)
{
var universitylist = await this.d_University.Query(x => x.IsDelete == false);
var majorlist = await this.d_Major.Query(x => x.IsDelete == false);
var batchlist = await this.t_EnrollmentBatch.Query(x => x.IsDelete == false && x.AreaId == 1376 && x.Year == 2021);
var planinfo =
await this.t_EnrollmentPlanedesc.Query(e => e.PlanId == 10);
List<T_EnrollmentPlanedesc> list = new List<T_EnrollmentPlanedesc>() { };
List<string> adduniversity = new List<string>() { };
foreach (DataRow dr in dataSet.Tables[0].Rows)
{
string schoolname = dr["院校名称"].ToString();
string area = dr["省份"].ToString();
string major = dr["专业"].ToString();
string batch = dr["批次"].ToString();
string lowerscore = dr["最低分"].ToString();
string lowerlevel = dr["最低位次"].ToString();
var universityid = universitylist.Where(x => x.Name == schoolname).Select(x => x.Id).FirstOrDefault();
if (universityid <= 0)
{
//记录学校 并添加
adduniversity.Add(schoolname);
continue;
}
var batchid = batchlist.Where(x => x.Batch_name == batch).Select(x => x.Id).FirstOrDefault();
var remake = "";
if (major.Contains("("))
{
int indexs = major.IndexOf("(");
remake = major.Substring(indexs);
major = major.Substring(0, indexs);
}
var majorid = majorlist.Where(x => x.Name == major.Trim()).Select(x => x.Id).FirstOrDefault();
var planinfomodel = planinfo.Where(e => e.UniversityId == universityid && e.MajorId == majorid && e.BatchtypeId == batchid);
if (planinfomodel.Any())
{
var models = planinfomodel.FirstOrDefault();
models.scorepostion = Convert.ToInt32(lowerlevel);
models.Scoreline = Convert.ToInt32(lowerscore);
bool kk = await this.t_EnrollmentPlanedesc.Update(models);
}
}
// var cc = adduniversity;
// var count = await this.t_EnrollmentPlanedesc.Add(list);
}
return true;
}
#region 2021招生分数更新
///// <summary>
///// 2021上海招生分数更新
///// </summary>
///// <returns></returns>
//public async Task<bool> Import()
//{
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\一草一木\\2021年山东本科招生计划.xls");
// if (dataSet.Tables.Count > 0)
// {
// var universitylist = await this.d_University.Query(x => x.IsDelete == false);
// var majorlist = await this.d_Major.Query(x => x.IsDelete == false);
// var batchlist = await this.t_EnrollmentBatch.Query(x => x.IsDelete == false && x.AreaId == 1376 && x.Year == 2021);
// List<T_EnrollmentPlanedesc> list = new List<T_EnrollmentPlanedesc>() { };
// List<string> adduniversity = new List<string>() { };
// foreach (DataRow dr in dataSet.Tables[0].Rows)
// {
// string schoolname = dr["院校名称"].ToString();
// string area = dr["省份"].ToString();
// string major = dr["专业"].ToString();
// string batch = dr["批次"].ToString();
// //string avgscore = dr["平均分"].ToString();
// //string scoreline = dr["最低分"].ToString();
// string subjectclaim = dr["科类"].ToString();
// string plannum = dr["计划人数"].ToString();
// var universityid = universitylist.Where(x => x.Name == schoolname).Select(x => x.Id).FirstOrDefault();
// if (universityid <= 0)
// {
// //记录学校 并添加
// adduniversity.Add(schoolname);
// continue;
// }
// var batchid = batchlist.Where(x => x.Batch_name == batch).Select(x => x.Id).FirstOrDefault();
// var remake = "";
// if (major.Contains("("))
// {
// int indexs = major.IndexOf("(");
// remake = major.Substring(indexs);
// major = major.Substring(0, indexs).Trim();
// }
// var majorid = majorlist.Where(x => major.Contains(x.Name)).Select(x => x.Id).FirstOrDefault();
// list.Add(new T_EnrollmentPlanedesc()
// {
// UniversityId = universityid,
// BatchtypeId = batchid,
// Plancount = Convert.ToInt32(plannum),
// PlanId = 10,
// //Scoreline = float.Parse(scoreline),
// //majoraverage = float.Parse(avgscore),
// MajorName = major,
// Remark = remake,
// MajorId = majorid,
// Subjectclaim = subjectclaim,
// });
// }
// var cc = adduniversity;
// var count = await t_EnrollmentPlanedesc.Add(list);
// }
// return true;
//}
#endregion
/// <summary>
/// 2019上海招生分数更新
/// </summary>
/// <returns></returns>
//public async Task<bool> Import()
//{
// try
// {
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\数据\\好帮手\\招生计划\\导入步骤\\江苏省2019缺失分数线补充.xlsx");
// if (dataSet.Tables.Count > 0)
// {
// var info = await t_EnrollmentPlanedescServices.Query(x => x.PlanId == 9 && x.IsDelete == false && x.Scoreline <= 0);
// var universitylist = await d_UniversityRepository.Query(x => x.IsDelete == false);
// List<T_EnrollmentPlanedesc> list = new List<T_EnrollmentPlanedesc>() { };
// List<string> adduniversity = new List<string>() { };
// foreach (DataRow dr in dataSet.Tables[0].Rows)
// {
// string Name = dr["Name"].ToString();
// string MajorName = dr["MajorName"].ToString();
// string Scoreline = dr["Scoreline"].ToString();
// if (Scoreline != "0")
// {
// var universityid = universitylist.Where(x => x.Name == Name).Select(x => x.Id).FirstOrDefault();
// if (universityid > 0)
// {
// var nowinfo = info.Where(x => x.UniversityId == universityid && x.MajorName == MajorName).FirstOrDefault();
// if (nowinfo != null)
// {
// nowinfo.Scoreline = Convert.ToSingle(Scoreline);
// list.Add(nowinfo);
// }
// }
// }
// }
// var count = await t_EnrollmentPlanedescServices.Update(list);
// var cc = 0;
// }
// return true;
//}
//catch (Exception ex)
//{
// throw;
//}
//}
}
}