NewGaoKaoApi/New_College.Services/T_EnrollmentPlaneServices.cs

157 lines
7.0 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;
namespace New_College.Services
{
public class T_EnrollmentPlaneServices : BaseServices<T_EnrollmentPlane>, IT_EnrollmentPlaneServices
{
private readonly IBaseRepository<T_EnrollmentPlane> _dal;
private readonly IT_EnrollmentPlanedescServices t_EnrollmentPlanedescServices;
private readonly IT_EnrollmentBatchRepository t_EnrollmentBatchRepository;
private readonly ID_UniversityRepository d_UniversityRepository;
private readonly ID_MajorRepository d_MajorRepository;
public T_EnrollmentPlaneServices(IBaseRepository<T_EnrollmentPlane> dal
, IT_EnrollmentPlanedescServices IT_EnrollmentPlanedescServices
, IT_EnrollmentBatchRepository IT_EnrollmentBatchRepository
, ID_UniversityRepository ID_UniversityRepository
, ID_MajorRepository ID_MajorRepository)
{
this._dal = dal;
t_EnrollmentPlanedescServices = IT_EnrollmentPlanedescServices;
t_EnrollmentBatchRepository = IT_EnrollmentBatchRepository;
d_UniversityRepository = ID_UniversityRepository;
d_MajorRepository = ID_MajorRepository;
base.BaseDal = dal;
}
#region 2019上海招生分数更新
///// <summary>
///// 2019上海招生分数更新
///// </summary>
///// <returns></returns>
//public async Task<bool> Import()
//{
// var dataSet = ExcelUtil.ReadExcelToDataSet("D:\\Ashuju\\数据\\好帮手\\招生计划\\导入步骤\\更新3\\2019上海招生分数更新.xlsx");
// if (dataSet.Tables.Count > 0)
// {
// var universitylist = await d_UniversityRepository.Query(x => x.IsDelete == false);
// var majorlist = await d_MajorRepository.Query(x => x.IsDelete == false);
// var batchlist = await t_EnrollmentBatchRepository.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 schoolname = dr["学校名称"].ToString();
// string area = dr["省份"].ToString();
// string major = dr["专业"].ToString();
// string batch = dr["批次"].ToString();
// string avgscore = dr["平均分"].ToString();
// string scoreline = dr["最低分"].ToString();
// string mustsubject = dr["必修课数"].ToString();
// string subjectclaim = dr["选科描述"].ToString();
// string plannum = dr["实际录取人数"].ToString();
// string type = 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).Select(x => x.Id).FirstOrDefault();
// list.Add(new T_EnrollmentPlanedesc()
// {
// UniversityId = universityid,
// BatchtypeId = batchid,
// Plancount = Convert.ToInt32(plannum),
// PlanId = 1,
// Scoreline = float.Parse(scoreline),
// majoraverage = float.Parse(avgscore),
// MajorName = major,
// Remark = remake,
// MajorId= majorid,
// Subjectclaim= subjectclaim,
// });
// }
// var cc = adduniversity;
// var count = await t_EnrollmentPlanedescServices.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;
}
}
}
}