|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784 |
- using Dapper;
- using Learun.DataBase.Repository;
- using Learun.Util;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Diagnostics;
- using System.Linq;
- using System.Net.Http;
- using System.Runtime.InteropServices;
- using System.Text;
- using System.Threading.Tasks;
- using Learun.Application.Base.SystemModule;
- using Learun.Application.Organization;
- using Newtonsoft.Json;
- using static Learun.Application.TwoDevelopment.EducationalAdministration.ArrangeExamTermService;
-
- namespace Learun.Application.TwoDevelopment.EducationalAdministration
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-02-27 11:05
- /// 描 述:排课
- /// </summary>
- public class ArrangeLessonTermService : RepositoryFactory
- {
-
- private static readonly HttpClient Client;
- static ArrangeLessonTermService()
- {
- Client = new HttpClient();
- }
- #region 构造函数和属性
-
- private string fieldSql;
- public ArrangeLessonTermService()
- {
- fieldSql = @"
- t.ALTId,
- t.LessonDate,
- t.AcademicYearNo,
- t.Semester,
- t.DeptNo,
- t.MajorNo,
- t.LessonNo,
- t.LessonName,
- t.TeachClassNo,
- t.TeachClassSn,
- t.EmpNo,
- t.EmpName,
- t.LessonSortNo,
- t.StuSortNo,
- t.JoinLessonNum,
- t.RelatedClassNo,
- t.ClassroomNo,
- t.LessonTime,
- t.Remark,
- t.CheckMark,
- t.RecordMark
- ";
- }
- #endregion
-
- #region 获取数据
-
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<ArrangeLessonTermEntity> GetList(string queryJson)
- {
- try
- {
- //参考写法
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
-
- var strSql = new StringBuilder();
- strSql.Append("SELECT ");
- strSql.Append(fieldSql);
- strSql.Append(" FROM ArrangeLessonTerm t where 1=1 ");
-
- if (!queryParam["AcademicYearNo"].IsEmpty())
- {
- dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String);
- strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo ");
- }
- if (!queryParam["Semester"].IsEmpty())
- {
- dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String);
- strSql.Append(" AND t.Semester = @Semester ");
- }
- if (!queryParam["DeptNo"].IsEmpty())
- {
- dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
- strSql.Append(" AND t.DeptNo = @DeptNo ");
- }
- if (!queryParam["MajorNo"].IsEmpty())
- {
- dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
- strSql.Append(" AND t.MajorNo = @MajorNo ");
- }
- if (!queryParam["LessonNo"].IsEmpty())
- {
- dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String);
- strSql.Append(" AND t.LessonNo = @LessonNo ");
- }
- if (!queryParam["TeachClassNo"].IsEmpty())
- {
- dp.Add("TeachClassNo", "%" + queryParam["TeachClassNo"].ToString(), DbType.String);
- strSql.Append(" AND t.TeachClassNo like @TeachClassNo ");
- }
- if (!queryParam["EmpNo"].IsEmpty())
- {
- dp.Add("EmpNo", queryParam["EmpNo"].ToString(), DbType.String);
- strSql.Append(" AND t.EmpNo = @EmpNo ");
- }
- if (!queryParam["ClassroomNo"].IsEmpty())
- {
- dp.Add("ClassroomNo", queryParam["ClassroomNo"].ToString(), DbType.String);
- strSql.Append(" AND t.ClassroomNo = @ClassroomNo ");
- }
-
- return this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(strSql.ToString(), dp);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- internal IEnumerable<ArrangeLessonTermEntity> GetListByEmpNo(List<string> empNos)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(a => empNos.Contains(a.EmpNo)).ToList();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取列表分页数据
- /// <param name="pagination">分页参数</param>
- /// <summary>
- /// <returns></returns>
- public IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("SELECT ");
- strSql.Append(fieldSql);
- strSql.Append(" FROM ArrangeLessonTerm t ");
- return this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(strSql.ToString(), pagination);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public ArrangeLessonTermEntity GetEntity(string keyValue)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonTermEntity>(keyValue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- #endregion
-
- #region 提交数据
-
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void DeleteEntity(string keyValue)
- {
- try
- {
- this.BaseRepository("CollegeMIS").Delete<ArrangeLessonTermEntity>(t => t.ALTId == keyValue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void SaveEntity(string keyValue, ArrangeLessonTermEntity entity)
- {
- try
- {
- if (!string.IsNullOrEmpty(keyValue))
- {
- entity.Modify(keyValue);
- this.BaseRepository("CollegeMIS").Update(entity);
- }
- else
- {
- entity.Create();
- this.BaseRepository("CollegeMIS").Insert(entity);
- }
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- internal bool GetAny()
- {
- try
- {
- var semesterAndYear = Common.GetSemesterAndYear();
- return this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(a => a.AcademicYearNo == semesterAndYear.AcademicYearShort && a.Semester == semesterAndYear.Semester).Any();
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- #endregion
-
-
-
- /// <summary>
- /// 获取相关课程考勤的学生信息
- /// </summary>
- /// <param name="year"></param>
- /// <param name="semester"></param>
- /// <param name="empno"></param>
- /// <param name="lessonNo"></param>
- /// <param name="teachClassNo"></param>
- /// <returns></returns>
- public IEnumerable<StuSelectLessonListEntity> AttendanceStudents(Pagination pagination, string queryJson)
- {
- try
- {
- var queryParam = queryJson.ToJObject();
- var strSql = new StringBuilder();
- strSql.Append("SELECT ");
- strSql.Append(@"
- a.[StuNo]
- ,a.[DeptNo]
- ,a.[MajorNo]
- ,a.[ClassNo]
- ,a.[StuName]
- ,a.[GenderNo]
- ,a.[AcademicYearNo]
- ,a.[Semester]
- ,a.[LessonNo]
- ,a.[LessonName]
- ,a.[TeachClassNo]
- ,a.[LessonSortNo]
- ,a.[Grade]
- ,a.[ConflictLessonNo]
- ,a.[EmpNo]
- ,a.[TeachPlanNo],b.ID as StuAttendanceNo,b.AttendOrNo,b.Sort,b.AttenCondition,b.AttenScore,b.LessonDate
- ");
- strSql.Append(" FROM StuSelectLessonList a left join StuAttendance b on a.AcademicYearNo=b.AcademicYearNo and a.StuNo=b.StuNo and a.Semester=b.Semester and a.EmpNo=b.EmpNo and a.LessonNo=b.LessonNo and a.TeachClassNo=b.TeachClassNo ");
- strSql.Append($" and b.LessonTime='{queryParam["lessonTime"]}'");
- strSql.Append($" and b.LessonDate='{queryParam["lessonDate"]}'");
- strSql.Append(" WHERE 1=1 ");
- strSql.Append($"and a.AcademicYearNo='{ queryParam["year"]}' and a.Semester='{queryParam["semester"]}' and a.EmpNo='{queryParam["empno"]}' and a.LessonNo='{queryParam["lessonNo"]}' and a.TeachClassNo='{queryParam["teachClassNo"]}' ");
- return this.BaseRepository("CollegeMIS").FindList<StuSelectLessonListEntity>(strSql.ToString(), pagination);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- private string strAcademicYear;
- private string strSemester;
- /// <summary>
- /// 同步排课系统数据
- /// </summary>
- /// <returns></returns>
- public async Task<bool> AsyncArrangeLessonData()
- {
- bool result = false;
- try
- {
- var apiData = await Client.GetStringAsync(Config.GetValue("ArrangeLessonAPI"));
- if (!string.IsNullOrEmpty(apiData))
- {
- var data = JsonConvert.DeserializeObject<Root>(apiData);
- var dataList = data.entity.list;
- if (dataList.Any())
- {
- var oldArrangeLessonTermList = (await BaseRepository("CollegeMIS").FindListAsync<ArrangeLessonTermEntity>()).ToList();
- var insertDataList = new List<ArrangeLessonTermEntity>();
- var lessonData = (await BaseRepository("CollegeMIS").FindListAsync<LessonInfoEntity>()).ToList();
- var classData = (await BaseRepository("CollegeMIS").FindListAsync<ClassInfoEntity>()).ToList();
- foreach (var item in dataList)
- {
- var classinfo = classData.FirstOrDefault(m => m.ClassNo == item.paike.clazzId);
- var insertData = new ArrangeLessonTermEntity
- {
- ALTId = Guid.NewGuid().ToString(),
- LessonDate = DateTime.Parse(item.times),
- AcademicYearNo = item.schoolYear,
- Semester = item.paike.semester,
- DeptNo = classinfo?.DeptNo,
- MajorNo = classinfo?.MajorNo,
- LessonNo = item.paike.curriculunId,
- LessonName = item.paike.curriculunName,
- TeachClassNo = item.paike.curriculunName + item.paike.clazzId,
- EmpNo = item.paike.teacherId,
- EmpName = item.paike.teacherName,
- LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == item.paike.curriculunId)?.LessonSortNo,
- ClassroomNo = item.paike.classRoomId,
- LessonTime = item.paike.week + item.paike.section,
- CheckMark = "1",
- F_SchoolId = item.schoolId
- };
- strAcademicYear = insertData.AcademicYearNo;
- strSemester = insertData.Semester;
- if (oldArrangeLessonTermList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo && m.Semester == insertData.Semester
- && m.LessonNo == insertData.LessonNo && m.LessonDate == insertData.LessonDate
- && m.DeptNo == insertData.DeptNo && m.MajorNo == insertData.MajorNo
- && m.TeachClassNo == insertData.TeachClassNo && m.EmpNo == insertData.EmpNo
- && m.ClassroomNo == insertData.ClassroomNo && m.LessonTime == insertData.LessonTime
- && m.F_SchoolId == insertData.F_SchoolId) == 0
- && insertDataList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo && m.Semester == insertData.Semester
- && m.LessonNo == insertData.LessonNo && m.LessonDate == insertData.LessonDate
- && m.DeptNo == insertData.DeptNo && m.MajorNo == insertData.MajorNo
- && m.TeachClassNo == insertData.TeachClassNo && m.EmpNo == insertData.EmpNo
- && m.ClassroomNo == insertData.ClassroomNo && m.LessonTime == insertData.LessonTime
- && m.F_SchoolId == insertData.F_SchoolId) == 0)
- {
- insertDataList.Add(insertData);
- }
- }
- var insertResult = await BaseRepository("CollegeMIS").InsertAsync(insertDataList);
- //TeachClass数据处理
-
- var arrangeLessonTermData = (await BaseRepository("CollegeMIS").FindListAsync<ArrangeLessonTermEntity>(@"select AcademicYearNo,Semester,DeptNo,majorno,lessonno,replace(teachclassno,lessonname,'') as teachclassno,empno from [dbo].[ArrangeLessonTerm]
- where (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemester + @"'
- group by AcademicYearNo,Semester,DeptNo,majorno,lessonno,replace(teachclassno,lessonname,'') ,empno ")).ToList();
- var TeachClassData = (await BaseRepository("CollegeMIS").FindListAsync<TeachClassEntity>(@"SELECT *
- FROM TeachClass
- WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemester + "' ")).ToList();
- var insertTeachClassDataList = new List<TeachClassEntity>();
- if (arrangeLessonTermData.Any())
- {
- foreach (var altitem in arrangeLessonTermData)
- {
- var insertTeachClassData = new TeachClassEntity()
- {
- AcademicYearNo = altitem.AcademicYearNo,
- Semester = altitem.Semester,
- DeptNo = altitem.DeptNo,
- MajorNo = altitem.MajorNo,
- LessonNo = altitem.LessonNo,
- Grade = classData.FirstOrDefault(m => m.ClassNo == altitem.TeachClassNo)?.Grade,
- LessonSortNo = altitem.LessonSortNo,
- TeachClassNo = altitem.TeachClassNo,
- EmpNo = altitem.EmpNo,
- F_SchoolId = altitem.F_SchoolId
- };
- //非空判断
- if (TeachClassData.Count(m => m.AcademicYearNo == insertTeachClassData.AcademicYearNo &&
- m.Semester == insertTeachClassData.Semester && m.DeptNo == insertTeachClassData.DeptNo &&
- m.MajorNo == insertTeachClassData.MajorNo && m.LessonNo == insertTeachClassData.LessonNo &&
- m.Grade == insertTeachClassData.Grade && m.LessonSortNo == insertTeachClassData.LessonSortNo &&
- m.TeachClassNo == insertTeachClassData.TeachClassNo && m.EmpNo == insertTeachClassData.EmpNo &&
- m.F_SchoolId == insertTeachClassData.F_SchoolId) == 0
- && insertTeachClassDataList.Count(m => m.AcademicYearNo == insertTeachClassData.AcademicYearNo &&
- m.Semester == insertTeachClassData.Semester && m.DeptNo == insertTeachClassData.DeptNo &&
- m.MajorNo == insertTeachClassData.MajorNo && m.LessonNo == insertTeachClassData.LessonNo &&
- m.Grade == insertTeachClassData.Grade && m.LessonSortNo == insertTeachClassData.LessonSortNo &&
- m.TeachClassNo == insertTeachClassData.TeachClassNo && m.EmpNo == insertTeachClassData.EmpNo &&
- m.F_SchoolId == insertTeachClassData.F_SchoolId) == 0)
- {
- insertTeachClassDataList.Add(insertTeachClassData);
- }
-
- }
- await BaseRepository("CollegeMIS").InsertAsync(insertTeachClassDataList);
- }
- //继续openlessonplan同步
- await AsyncOpenLessonPlanData();
- if (insertResult > 0)
- {
- result = true;
- }
- }
- }
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- return result;
- }
-
- /// <summary>
- /// 同步专业开课计划数据,学生选课数据
- /// </summary>
- /// <returns></returns>
- public async Task<bool> AsyncOpenLessonPlanData()
- {
- bool result = false;
- try
- {
- var apiData = await Client.GetStringAsync(Config.GetValue("OpenLessonPlanAPI"));
- if (!string.IsNullOrEmpty(apiData))
- {
- var openLessonPlanData = await BaseRepository("CollegeMIS").FindListAsync<OpenLessonPlanEntity>();
- var data = JsonConvert.DeserializeObject<Root>(apiData);
- var dataList = data.entity.list;
- if (dataList.Any())
- {
- var insertDataList = new List<OpenLessonPlanEntity>();
- var majorData = (await BaseRepository("CollegeMIS").FindListAsync<CdMajorEntity>()).ToList();
- var lessonData = (await BaseRepository("CollegeMIS").FindListAsync<LessonInfoEntity>()).ToList();
- foreach (var item in dataList)
- {
- var insertData = new OpenLessonPlanEntity()
- {
- MakeDate = DateTime.Now,
- AcademicYearNo = item.schoolYear,
- Semester = item.semester.shangxia,
- DeptNo = majorData.Find(m => m.MajorNo == item.majorNumber).DeptNo,
- MajorNo = item.majorNumber,
- LessonNo = item.curriculumNumber,
- LessonName = item.curriculumName,
- PartCode = "",
- Grade = item.grade,
- LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == item.curriculumNumber)?.LessonSortNo,
- LessonSortDetailNo = lessonData.FirstOrDefault(m => m.LessonNo == item.curriculumNumber)?.LessonSortDetailNo,
- StartWeek = 1,
- EndWeek = !string.IsNullOrEmpty(item.semester.zhouci) ? Convert.ToInt32(item.semester.zhouci) : 1,
- CheckStyleNo = "1",
- ScoreRecordStyleNo = "1",
- TeachDeptNo = majorData.Find(m => m.MajorNo == item.majorNumber).DeptNo,
- StudyScore = lessonData.FirstOrDefault(m => m.LessonNo == item.curriculumNumber)?.StudyScore,
- AmendDate = DateTime.Now,
- ClassroomType = 1,
- ClassroomPracticeType = 99,
- CheckMarkDept = "1",
- CheckMark = "1",
- TestMark = 0,
- F_SchoolId = item.schoolId
- };
- if (openLessonPlanData.Count(m => m.AcademicYearNo == insertData.AcademicYearNo &&
- m.Semester == insertData.Semester &&
- m.DeptNo == insertData.DeptNo &&
- m.MajorNo == insertData.MajorNo &&
- m.LessonNo == insertData.LessonNo &&
- m.Grade == insertData.Grade &&
- m.LessonSortNo == insertData.LessonSortNo &&
- m.LessonName == insertData.LessonName &&
- m.F_SchoolId == insertData.F_SchoolId) == 0 && insertDataList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo &&
- m.Semester == insertData.Semester &&
- m.DeptNo == insertData.DeptNo &&
- m.MajorNo == insertData.MajorNo &&
- m.LessonNo == insertData.LessonNo &&
- m.Grade == insertData.Grade &&
- m.LessonSortNo == insertData.LessonSortNo &&
- m.LessonName == insertData.LessonName &&
- m.F_SchoolId == insertData.F_SchoolId) == 0)
- {
- insertDataList.Add(insertData);
- }
- }
- var insertResult = await BaseRepository("CollegeMIS").InsertAsync(insertDataList);
- //学生选课数据
-
- var TeachClassData = (await BaseRepository("CollegeMIS").FindListAsync<TeachClassEntity>(@"SELECT *
- FROM TeachClass
- WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemester + "' ")).ToList();
- var stuinfobasicData = (await BaseRepository("CollegeMIS").FindListAsync<StuInfoBasicEntity>()).ToList();
- var stuSelectLessonListEntityData = (await BaseRepository("CollegeMIS").FindListAsync<StuSelectLessonListEntity>()).ToList();
- var insertStuSelectLessonListDataList = new List<StuSelectLessonListEntity>();
- if (TeachClassData.Any())
- {
- foreach (var itemteachclass in TeachClassData)
- {
- var classstulist = stuinfobasicData.Where(m => m.ClassNo == itemteachclass.TeachClassNo)
- .ToList();
- foreach (var stu in classstulist)
- {
- var insertDatastuselect = new StuSelectLessonListEntity();
- insertDatastuselect.NoticeBookNo = stu.NoticeNo;
- insertDatastuselect.StuNo = stu.StuNo;
- insertDatastuselect.DeptNo = stu.DeptNo;
- insertDatastuselect.ClassNo = stu.ClassNo;
- insertDatastuselect.MajorNo = stu.MajorNo;
- insertDatastuselect.StuName = stu.StuName;
- insertDatastuselect.GenderNo = stu.GenderNo != null && stu.GenderNo.Value ? "1" : "0";
- insertDatastuselect.AcademicYearNo = itemteachclass.AcademicYearNo;
- insertDatastuselect.Semester = itemteachclass.Semester;
- insertDatastuselect.OpenLessonDeptNo = itemteachclass.DeptNo;
- insertDatastuselect.OpenLessonMajorNo = itemteachclass.MajorNo;
- insertDatastuselect.LessonNo = itemteachclass.LessonNo;
- insertDatastuselect.LessonName = lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo)?.LessonName;
- insertDatastuselect.PartCode = "";
- insertDatastuselect.OrdinaryScoreScale = 1;
- insertDatastuselect.TermInScoreScale = 1;
- insertDatastuselect.TermEndScoreScale = 1;
- insertDatastuselect.OtherScoreScale = 1;
- insertDatastuselect.TeachClassNo = stu.ClassNo;
- insertDatastuselect.LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo)?.LessonSortNo;
- insertDatastuselect.StuSortNo = "02";
- insertDatastuselect.Grade = stu.Grade;
- insertDatastuselect.StudyScore = lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo).StudyScore == null ? 0 : lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo).StudyScore;
- insertDatastuselect.TotalStudyHour = lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo).TotalStudyHour == null ? 0 : lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo).TotalStudyHour;
- insertDatastuselect.IsInEffect = "1";
- insertDatastuselect.EmpNo = itemteachclass.EmpNo;
- insertDatastuselect.IsPitchOn = "1";
- insertDatastuselect.CheckMark = "0";
- insertDatastuselect.InsertTime = DateTime.Now;
- insertDatastuselect.F_SchoolId = itemteachclass.F_SchoolId;
- if (stuSelectLessonListEntityData.Count(m => m.StuNo == insertDatastuselect.StuNo &&
- m.AcademicYearNo == insertDatastuselect.AcademicYearNo &&
- m.Semester == insertDatastuselect.Semester &&
- m.DeptNo == insertDatastuselect.DeptNo &&
- m.MajorNo == insertDatastuselect.MajorNo &&
- m.LessonNo == insertDatastuselect.LessonNo &&
- m.Grade == insertDatastuselect.Grade &&
- m.OpenLessonDeptNo == insertDatastuselect.OpenLessonDeptNo &&
- m.OpenLessonMajorNo == insertDatastuselect.OpenLessonMajorNo &&
- m.EmpNo == insertDatastuselect.EmpNo && m.ClassNo == insertDatastuselect.ClassNo &&
- m.F_SchoolId == insertDatastuselect.F_SchoolId) == 0 &&
- insertStuSelectLessonListDataList.Count(m => m.StuNo == insertDatastuselect.StuNo &&
- m.AcademicYearNo == insertDatastuselect.AcademicYearNo &&
- m.Semester == insertDatastuselect.Semester &&
- m.DeptNo == insertDatastuselect.DeptNo &&
- m.MajorNo == insertDatastuselect.MajorNo &&
- m.LessonNo == insertDatastuselect.LessonNo &&
- m.Grade == insertDatastuselect.Grade &&
- m.OpenLessonDeptNo == insertDatastuselect.OpenLessonDeptNo &&
- m.OpenLessonMajorNo == insertDatastuselect.OpenLessonMajorNo &&
- m.EmpNo == insertDatastuselect.EmpNo && m.ClassNo == insertDatastuselect.ClassNo &&
- m.F_SchoolId == insertDatastuselect.F_SchoolId) == 0)
- {
- insertStuSelectLessonListDataList.Add(insertDatastuselect);
- }
- }
- }
- await BaseRepository("CollegeMIS").InsertAsync(insertStuSelectLessonListDataList);
- }
- if (insertResult > 0)
- {
- result = true;
- }
-
- }
- }
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- return result;
- }
-
- /// <summary>
- /// 清空当前学期排课数据
- /// </summary>
- /// <returns></returns>
- public async Task<bool> AsyncModifyArrangeLessonData()
- {
- bool result = false;
- try
- {
- var apiData = await Client.GetStringAsync(Config.GetValue("ModifyArrangeLessonAPI"));
- if (!string.IsNullOrEmpty(apiData))
- {
- var data = JsonConvert.DeserializeObject<Root>(apiData);
- if (data.success)
- {
- var semesterAndYear = Common.GetSemesterAndYear();
- var strAcademicYear = semesterAndYear.AcademicYearShort;
- var strSemester = semesterAndYear.Semester;
- var executeResult = await BaseRepository("CollegeMIS").ExecuteAsyncBySql(
- $"delete from ArrangeLessonTerm where AcademicYearNo='{strAcademicYear}' and Semester='{strSemester}' ");
- await BaseRepository("CollegeMIS").ExecuteAsyncBySql(
- $"delete from TeachClass where AcademicYearNo='{strAcademicYear}' and Semester='{strSemester}' ");
- await BaseRepository("CollegeMIS").ExecuteAsyncBySql(
- $"delete from OpenLessonPlan where AcademicYearNo='{strAcademicYear}' and Semester='{strSemester}' ");
- await BaseRepository("CollegeMIS").ExecuteAsyncBySql(
- $"delete from StuSelectLessonList where AcademicYearNo='{strAcademicYear}' and Semester='{strSemester}' ");
- if (executeResult > 0)
- {
- result = true;
- }
- }
- }
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- return result;
- }
-
- /// <summary>
- /// 按条件同步排课数据
- /// </summary>
- /// <returns></returns>
- public async Task<bool> AsyncArrangeLessonDataByCondition(ArrangeLessonTermEntity entity)
- {
- bool result = false;
- try
- {
- var lessonData = (await BaseRepository("CollegeMIS").FindListAsync<LessonInfoEntity>()).ToList();
- var classData = (await BaseRepository("CollegeMIS").FindListAsync<ClassInfoEntity>()).ToList();
- var classroomData = (await BaseRepository("CollegeMIS").FindListAsync<ClassroomInfoEntity>()).ToList();
- if (entity.SyncType == "1")
- {
- var LessonList = BaseRepository("paikeDbString").FindList<paikeList>(
- @"SELECT a.week AS 'week', a.section AS 'section',a.timetext AS 'timetext',c.name AS 'classname',c.number AS 'classnumber',
- r.name AS 'roomname',r.number AS 'ClassroomNo',t.name AS 'teachername',t.number AS 'teacherNumber', cu.name AS 'curriculunName',
- cu.number AS 'curriculunNumber', s.year AS 'year', s.number AS 'semester'
- FROM tb_paike a
- LEFT JOIN tb_clazz c ON c.id= a.`clazzid`
- LEFT JOIN tb_classroom r ON r.id =a.`classroomid`
- LEFT JOIN tb_teacher t ON t.id =a.`teacherid`
- LEFT JOIN tb_curriculum cu ON cu.id=a.`curriculunid`
- LEFT JOIN tb_semester s ON s.id=a.`semester`
- WHERE 1=1 AND c.number IS NOT NULL AND s.year = '" + entity.AcademicYearNo + "' AND s.number ='" + entity.Semester + "'");
-
- if (LessonList.Count() > 0)
- {
- var oldArrangeLessonTermList = (await BaseRepository("CollegeMIS").FindListAsync<ArrangeLessonTermEntity>()).ToList();
- var insertDataList = new List<ArrangeLessonTermEntity>();
- foreach (var item in LessonList)
- {
- var classinfo = classData.FirstOrDefault(m => m.ClassNo == item.classnumber);
- var timesArr = item.timetext.Substring(0, item.timetext.Length - 1).Split(',');
- foreach (var timesItem in timesArr)
- {
- var insertData = new ArrangeLessonTermEntity
- {
- ALTId = Guid.NewGuid().ToString(),
- LessonDate = DateTime.Parse(timesItem),
- AcademicYearNo = item.year,
- Semester = item.semester,
- DeptNo = classinfo?.DeptNo,
- MajorNo = classinfo?.MajorNo,
- LessonNo = item.curriculunNumber,
- LessonName = item.curriculunName,
- TeachClassNo = item.curriculunName + classinfo?.ClassNo,
- EmpNo = item.teacherNumber,
- EmpName = item.teachername,
- LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == item.curriculunNumber)?.LessonSortNo,
- ClassroomNo = classroomData.FirstOrDefault(m => m.ClassroomNo == item.ClassroomNo)?.ClassroomNo,
- LessonTime = item.week + item.section,
- CheckMark = "1",
- F_SchoolId = entity.F_SchoolId
- };
- if (oldArrangeLessonTermList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo && m.Semester == insertData.Semester
- && m.LessonNo == insertData.LessonNo && m.LessonDate.Value.Date == insertData.LessonDate.Value.Date
- && m.DeptNo == insertData.DeptNo && m.MajorNo == insertData.MajorNo
- && m.TeachClassNo == insertData.TeachClassNo && m.EmpNo == insertData.EmpNo
- && m.ClassroomNo == insertData.ClassroomNo && m.LessonTime == insertData.LessonTime
- && m.F_SchoolId == insertData.F_SchoolId) == 0
- && insertDataList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo && m.Semester == insertData.Semester
- && m.LessonNo == insertData.LessonNo && m.LessonDate.Value.Date == insertData.LessonDate.Value.Date
- && m.DeptNo == insertData.DeptNo && m.MajorNo == insertData.MajorNo
- && m.TeachClassNo == insertData.TeachClassNo && m.EmpNo == insertData.EmpNo
- && m.ClassroomNo == insertData.ClassroomNo && m.LessonTime == insertData.LessonTime
- && m.F_SchoolId == insertData.F_SchoolId) == 0)
- {
- insertDataList.Add(insertData);
- BaseRepository("CollegeMIS").Insert(insertData);
- }
- }
- }
-
- }
- }
- else
- {
- //TeachClass数据处理 20211214改为直接读取mysql库
- var teachclasslist = BaseRepository("paikeDbString").FindList<TeachClassEntity>(@"SELECT clazz.name AS 'clazzname',
- clazz.number AS 'TeachClassNo',
- curriculum.name AS 'curriculumname',
- curriculum.number AS 'LessonNo',
- semester.year AS 'AcademicYearNo',
- semester.number AS 'Semester',
- a.jointclass AS 'jointclass',
- a.type AS 'LessonSortNo',
- a.classhour AS 'classhour',
- room.name AS 'roomname',
- room.number AS 'roomnumber',
- teacher.name AS 'teachername',
- teacher.number AS 'EmpNo'
- FROM tb_class_plan a
- LEFT JOIN tb_clazz clazz ON clazz.id = a.clazzid
- LEFT JOIN tb_semester semester ON semester.id = clazz.semester
- LEFT JOIN tb_curriculum curriculum ON curriculum.id = a.curriculum
- LEFT JOIN tb_classroom room ON room.id = a.classroom
- LEFT JOIN tb_teacher teacher ON teacher.id = a.teacher
- WHERE a.type='1' and semester.year = '" + entity.AcademicYearNo + "' AND semester.number = '" + entity.Semester + "'");
- var TeachClassData = (await BaseRepository("CollegeMIS").FindListAsync<TeachClassEntity>(@"SELECT *
- FROM TeachClass
- WHERE (AcademicYearNo = '" + entity.AcademicYearNo + "') and semester='" + entity.Semester + "' and F_SchoolId='" + entity.F_SchoolId + "' ")).ToList();
- //待插入数据
- var insertTeachClassDataList = new List<TeachClassEntity>();
- foreach (var teachClassEntity in teachclasslist)
- {
- var classitemEntity = classData.FirstOrDefault(m => m.ClassNo == teachClassEntity.TeachClassNo);
- var insertTeachClassData = new TeachClassEntity()
- {
- AcademicYearNo = teachClassEntity.AcademicYearNo,
- Semester = teachClassEntity.Semester,
- DeptNo = classitemEntity?.DeptNo,
- MajorNo = classitemEntity?.MajorNo,
- LessonNo = teachClassEntity.LessonNo,
- Grade = classitemEntity?.Grade,
- LessonSortNo = teachClassEntity.LessonSortNo,
- TeachClassNo = teachClassEntity.TeachClassNo,
- EmpNo = teachClassEntity.EmpNo,
- F_SchoolId = entity.F_SchoolId
- };
- //非空判断
- if (TeachClassData.Count(m => m.AcademicYearNo == insertTeachClassData.AcademicYearNo &&
- m.Semester == insertTeachClassData.Semester && m.DeptNo == insertTeachClassData.DeptNo &&
- m.MajorNo == insertTeachClassData.MajorNo && m.LessonNo == insertTeachClassData.LessonNo &&
- m.Grade == insertTeachClassData.Grade && m.LessonSortNo == insertTeachClassData.LessonSortNo &&
- m.TeachClassNo == insertTeachClassData.TeachClassNo && m.EmpNo == insertTeachClassData.EmpNo &&
- m.F_SchoolId == insertTeachClassData.F_SchoolId) == 0
- && insertTeachClassDataList.Count(m => m.AcademicYearNo == insertTeachClassData.AcademicYearNo &&
- m.Semester == insertTeachClassData.Semester && m.DeptNo == insertTeachClassData.DeptNo &&
- m.MajorNo == insertTeachClassData.MajorNo && m.LessonNo == insertTeachClassData.LessonNo &&
- m.Grade == insertTeachClassData.Grade && m.LessonSortNo == insertTeachClassData.LessonSortNo &&
- m.TeachClassNo == insertTeachClassData.TeachClassNo && m.EmpNo == insertTeachClassData.EmpNo &&
- m.F_SchoolId == insertTeachClassData.F_SchoolId) == 0)
- {
- insertTeachClassDataList.Add(insertTeachClassData);
- }
- }
- await BaseRepository("CollegeMIS").InsertAsync(insertTeachClassDataList);
- //继续openlessonplan同步
- await AsyncOpenLessonPlanDataByCondition(entity);
- }
- result = true;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- return result;
- }
-
- /// <summary>
- /// 按条件同步专业开课计划数据,学生选课数据
- /// </summary>
- /// <returns></returns>
- public async Task<bool> AsyncOpenLessonPlanDataByCondition(ArrangeLessonTermEntity entity)
- {
- try
- {
- var TeachList = BaseRepository("paikeDbString").FindList<TeachClassEntity>(
- @"select m.name AS 'MajorName', m.number AS 'MajorNo', tt.EmpNo AS 'EmpNo',
- tt.EmpName AS 'EmpName', sc.name AS 'F_SchoolName', sc.sid AS 'F_SchoolId',
- p.grade AS 'Grade', p.classhour AS 'classhour', curr.name AS 'LessonName', curr.number AS 'LessonNo',
- s.year AS 'AcademicYearNo', s.number AS 'Semester' ,cour.`assessmentmethod` AS 'ExamType' FROM tb_major_plan p
- LEFT JOIN (
- SELECT
- t.teacher,
- GROUP_CONCAT(DISTINCT c.`name`) AS 'EmpName',
- GROUP_CONCAT(DISTINCT c.number) AS 'EmpNo'
- FROM
- tb_major_plan t
- LEFT JOIN tb_teacher c ON FIND_IN_SET(c.id, t.teacher) > 0
- GROUP BY
- t.teacher
- ) tt ON tt.teacher = p.teacher
- LEFT JOIN tb_semester s ON s.id=p.`semester`
- LEFT JOIN tb_school sc ON sc.`id`= p.`school`
- LEFT JOIN tb_major m ON m.id=p.major
- LEFT JOIN tb_course cour ON cour.id= p.`course`
- LEFT JOIN tb_curriculum curr ON curr.id=cour.`course`
- WHERE s.year = '" + entity.AcademicYearNo + "' AND s.number = '" + entity.Semester
- + "' AND sc.sid = '" + entity.F_SchoolId + "' AND curr.`ification` ='1' ORDER BY p.`major` ");
-
- var majorData = (await BaseRepository("CollegeMIS").FindListAsync<CdMajorEntity>()).ToList();
- var lessonData = (await BaseRepository("CollegeMIS").FindListAsync<LessonInfoEntity>()).ToList();
-
- if (TeachList.Count() > 0)
- {
- var openLessonPlanData = await BaseRepository("CollegeMIS").FindListAsync<OpenLessonPlanEntity>();
- var now = DateTime.Now;
- var insertDataList = new List<OpenLessonPlanEntity>();
-
- foreach (var item in TeachList)
- {
- foreach (var itemTeach in item.EmpNo.Split(','))
- {
- var insertData = new OpenLessonPlanEntity()
- {
- TeachNo = itemTeach,
- MakeDate = now,
- AcademicYearNo = item.AcademicYearNo,
- Semester = item.Semester,
- DeptNo = majorData.FirstOrDefault(m => m.MajorNo == item.MajorNo)?.DeptNo,
- MajorNo = item.MajorNo,
- LessonNo = item.LessonNo,
- LessonName = item.LessonName,
- PartCode = "",
- Grade = item.Grade,
- LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == item.LessonNo)
- ?.LessonSortNo,
- LessonSortDetailNo = lessonData
- .FirstOrDefault(m => m.LessonNo == item.LessonSortDetailNo)?.LessonSortDetailNo,
- StartWeek = item.StartWeek,
- EndWeek = item.EndWeek,
- CheckStyleNo = "1",
- ScoreRecordStyleNo = "1",
- TeachDeptNo = majorData.FirstOrDefault(m => m.MajorNo == item.MajorNo)?.DeptNo,
- StudyScore = 0,
- AmendDate = now,
- ClassroomType = 1,
- ClassroomPracticeType = 99,
- CheckMarkDept = "1",
- CheckMark = "1",
- TestMark = 0,
- F_SchoolId = item.F_SchoolId,
- State = 1,
- ExamType = item.ExamType
- };
- if (openLessonPlanData.Count(m => m.AcademicYearNo == insertData.AcademicYearNo &&
- m.Semester == insertData.Semester &&
- m.MajorNo == insertData.MajorNo &&
- m.LessonNo == insertData.LessonNo &&
- m.Grade == insertData.Grade &&
- m.LessonSortNo == insertData.LessonSortNo &&
- m.LessonName == insertData.LessonName &&
- m.F_SchoolId == insertData.F_SchoolId) == 0 &&
- insertDataList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo &&
- m.Semester == insertData.Semester &&
- m.MajorNo == insertData.MajorNo &&
- m.LessonNo == insertData.LessonNo &&
- m.Grade == insertData.Grade &&
- m.LessonSortNo == insertData.LessonSortNo &&
- m.LessonName == insertData.LessonName &&
- m.F_SchoolId == insertData.F_SchoolId) == 0)
- {
- insertDataList.Add(insertData);
- }
- }
- }
- await BaseRepository("CollegeMIS").InsertAsync(insertDataList);
- }
- //学生选课数据
- var TeachClassData = (await BaseRepository("CollegeMIS").FindListAsync<TeachClassEntity>(@"SELECT *
- FROM TeachClass
- WHERE (AcademicYearNo = '" + entity.AcademicYearNo + "') and semester='" + entity.Semester + "' and F_SchoolId='" + entity.F_SchoolId + "' ")).ToList();
- var stuinfobasicData = (await BaseRepository("CollegeMIS").FindListAsync<StuInfoBasicEntity>()).ToList();
- var stuSelectLessonListEntityData = (await BaseRepository("CollegeMIS").FindListAsync<StuSelectLessonListEntity>()).ToList();
- var insertStuSelectLessonListDataList = new List<StuSelectLessonListEntity>();
- if (TeachClassData.Any())
- {
- foreach (var itemteachclass in TeachClassData)
- {
- var classstulist = stuinfobasicData.Where(m => m.ClassNo == itemteachclass.TeachClassNo)
- .ToList();
- foreach (var stu in classstulist)
- {
- var insertDatastuselect = new StuSelectLessonListEntity();
- insertDatastuselect.NoticeBookNo = stu.NoticeNo;
- insertDatastuselect.StuNo = stu.StuNo;
- insertDatastuselect.DeptNo = stu.DeptNo;
- insertDatastuselect.ClassNo = stu.ClassNo;
- insertDatastuselect.MajorNo = stu.MajorNo;
- insertDatastuselect.StuName = stu.StuName;
- insertDatastuselect.GenderNo = stu.GenderNo != null && stu.GenderNo.Value ? "1" : "0";
- insertDatastuselect.AcademicYearNo = itemteachclass.AcademicYearNo;
- insertDatastuselect.Semester = itemteachclass.Semester;
- insertDatastuselect.OpenLessonDeptNo = itemteachclass.DeptNo;
- insertDatastuselect.OpenLessonMajorNo = itemteachclass.MajorNo;
- insertDatastuselect.LessonNo = itemteachclass.LessonNo;
- insertDatastuselect.LessonName = lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo)?.LessonName;
- insertDatastuselect.PartCode = "";
- insertDatastuselect.OrdinaryScoreScale = 1;
- insertDatastuselect.TermInScoreScale = 1;
- insertDatastuselect.TermEndScoreScale = 1;
- insertDatastuselect.OtherScoreScale = 1;
- insertDatastuselect.TeachClassNo = stu.ClassNo;
- insertDatastuselect.LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == itemteachclass.LessonNo)?.LessonSortNo;
- insertDatastuselect.StuSortNo = "02";
- insertDatastuselect.Grade = stu.Grade;
- insertDatastuselect.StudyScore = 0;
- insertDatastuselect.TotalStudyHour = 0;
- insertDatastuselect.IsInEffect = "1";
- insertDatastuselect.EmpNo = itemteachclass.EmpNo;
- insertDatastuselect.IsPitchOn = "1";
- insertDatastuselect.CheckMark = "1";
- insertDatastuselect.InsertTime = DateTime.Now;
- insertDatastuselect.F_SchoolId = itemteachclass.F_SchoolId;
- if (stuSelectLessonListEntityData.Count(m => m.StuNo == insertDatastuselect.StuNo &&
- m.AcademicYearNo == insertDatastuselect.AcademicYearNo &&
- m.Semester == insertDatastuselect.Semester &&
- m.DeptNo == insertDatastuselect.DeptNo &&
- m.MajorNo == insertDatastuselect.MajorNo &&
- m.LessonNo == insertDatastuselect.LessonNo &&
- m.Grade == insertDatastuselect.Grade &&
- m.OpenLessonDeptNo == insertDatastuselect.OpenLessonDeptNo &&
- m.OpenLessonMajorNo == insertDatastuselect.OpenLessonMajorNo &&
- m.EmpNo == insertDatastuselect.EmpNo && m.ClassNo == insertDatastuselect.ClassNo &&
- m.F_SchoolId == insertDatastuselect.F_SchoolId) == 0 &&
- insertStuSelectLessonListDataList.Count(m => m.StuNo == insertDatastuselect.StuNo &&
- m.AcademicYearNo == insertDatastuselect.AcademicYearNo &&
- m.Semester == insertDatastuselect.Semester &&
- m.DeptNo == insertDatastuselect.DeptNo &&
- m.MajorNo == insertDatastuselect.MajorNo &&
- m.LessonNo == insertDatastuselect.LessonNo &&
- m.Grade == insertDatastuselect.Grade &&
- m.OpenLessonDeptNo == insertDatastuselect.OpenLessonDeptNo &&
- m.OpenLessonMajorNo == insertDatastuselect.OpenLessonMajorNo &&
- m.EmpNo == insertDatastuselect.EmpNo && m.ClassNo == insertDatastuselect.ClassNo &&
- m.F_SchoolId == insertDatastuselect.F_SchoolId) == 0)
- {
- insertStuSelectLessonListDataList.Add(insertDatastuselect);
- }
- }
- }
- await BaseRepository("CollegeMIS").InsertAsync(insertStuSelectLessonListDataList);
- }
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- return true;
- }
-
- /// <summary>
- /// 按条件清空排课数据
- /// </summary>
- /// <returns></returns>
- public async Task<bool> AsyncModifyArrangeLessonDataByCondition(ArrangeLessonTermEntity entity)
- {
- bool result = false;
- var db = BaseRepository("CollegeMIS");
- try
- {
- if (entity.SyncType == "1")
- {
- HttpContent httpContent = new StringContent("{\"school\":\"" + entity.F_SchoolId + "\",\"year\":\"" + entity.AcademicYearNo + "\",\"number\":\"" + entity.Semester + "\"}");
- httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
- string apiData = await Client.PostAsync(Config.GetValue("ModifyArrangeLessonAPI"), httpContent).Result.Content.ReadAsStringAsync();
-
- if (!string.IsNullOrEmpty(apiData))
- {
- var data = JsonConvert.DeserializeObject<Root>(apiData);
- if (data.success)
- {
- db.BeginTrans();
- db.ExecuteBySql(
- $"delete from ArrangeLessonTerm where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' ");
- db.Commit();
- result = true;
- }
- }
- }
- else
- {
- db.BeginTrans();
- db.ExecuteBySql(
- $"delete from TeachClass where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' ");
- db.ExecuteBySql(
- $"delete from OpenLessonPlan where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' ");
- db.ExecuteBySql(
- $"delete from StuSelectLessonList where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' ");
- db.Commit();
- result = true;
- }
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- return result;
- }
-
-
- /// <summary>
- /// 课程表
- /// </summary>
- /// <param name="userAccount">账号</param>
- /// <param name="userType">用户类型 学生 教师</param>
- /// <param name="startDate">查询开始时间</param>
- /// <param name="endDate">查询截止时间</param>
- /// <returns></returns>
- public IEnumerable<TimeTable> GetTimeTable(string userAccount, string userType, string startDate, string endDate)
- {
- var semesterAndYear = Common.GetSemesterAndYear(startDate);
- var strAcademicYear = semesterAndYear.AcademicYearShort;
- var strSemester = semesterAndYear.Semester;
- string sql;
- if (userType == "学生")
- {
- sql = @"SELECT
- b.LessonNo,b.AcademicYearNo as AcademicYear,b.LessonName,b.LessonTime,b.LessonDate,b.Empname EmpName,b.EmpNo,c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,e.EnName from StuSelectLessonList a
- left join ArrangeLessonTerm b on b.TeachClassNo=RTRIM(a.LessonName) + RTRIM(a.PartCode) + RTRIM(a.TeachClassNo)
- left join ClassroomInfo c on c.ClassroomNo=b.classroomNo
- left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo
- left join LessonInfo e on a.LessonNo=e.LessonNo
- where a.StuNo=@userAccount and a.AcademicYearNo=@strAcademicYear and a.Semester=@strSemester
- and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester
- and b.LessonDate>=@startDate and b.LessonDate<=@endDate and b.CheckMark=1";
- }
- else
- {
- sql = @"select b.AcademicYearNo as AcademicYear,b.LessonNo,e.EnName,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace(b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName from ArrangeLessonTerm b
- left join ClassroomInfo c on c.ClassroomNo=b.classroomNo
- left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo
- left join LessonInfo e on b.LessonNo=e.LessonNo
- where b.EmpNo=@userAccount and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester
- and b.LessonDate>=@startDate and b.LessonDate<=@endDate and b.CheckMark=1";
- }
-
- try
- {
- var result = BaseRepository("CollegeMIS").FindList<TimeTable>(sql, new { userAccount, startDate, endDate, strAcademicYear, strSemester });
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- public IEnumerable<CdMajorEntity> GetMajors(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<CdMajorEntity>(m => m.CheckMark == true);
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "3");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update CdMajor set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<CdMajorEntity>("select * from CdMajor where CheckMark=1 and ID not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.ID))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "3";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<CdMajorEntity> GetMajorsNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<CdMajorEntity>(m => m.CheckMark == true);
-
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<CdMajorEntity>("select * from CdMajor where CheckMark=1 and ID not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<ClassroomInfoEntity> GetClassrooms(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<ClassroomInfoEntity>(m => m.CheckMark == true);
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "6");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update ClassroomInfo set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<ClassroomInfoEntity>("select * from ClassroomInfo where CheckMark=1 and ClassroomId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.ClassroomId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "6";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<ClassroomInfoEntity> GetClassroomsNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<ClassroomInfoEntity>(m => m.CheckMark == true);
-
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<ClassroomInfoEntity>("select * from ClassroomInfo where CheckMark=1 and ClassroomId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<CdClassTypeEntity> GetClassType()
- {
- try
- {
- var data = BaseRepository("CollegeMIS").FindList<CdClassTypeEntity>();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<LessonInfoEntity> GetLessons(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<LessonInfoEntity>(m => m.CheckMark == true);
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "5");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update LessonInfo set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<LessonInfoEntity>("select * from LessonInfo where CheckMark=1 and LessonId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.LessonId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "5";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<LessonInfoEntity> GetLessonsNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<LessonInfoEntity>(m => m.CheckMark == true);
-
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<LessonInfoEntity>("select * from LessonInfo where CheckMark=1 and LessonId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<CdLessonSortDetailEntity> GetLessonSortDetails()
- {
- try
- {
- var data = BaseRepository("CollegeMIS").FindList<CdLessonSortDetailEntity>();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<CdLessonSortEntity> GetLessonSorts()
- {
- try
- {
- var data = BaseRepository("CollegeMIS").FindList<CdLessonSortEntity>();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<EmpInfoEntity> GetTeachers(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<EmpInfoEntity>("select a.*,b.F_Password,b.F_Secretkey from dbo.EmpInfo a left join adms7ultimate2.dbo.LR_Base_User b on a.EmpNo=b.F_EnCode where a.CheckMark=1");
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "7");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update EmpInfo set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- var dbbase = BaseRepository();
- db.BeginTrans();
- var data = db.FindList<EmpInfoEntity>("select a.*,b.F_Password,b.F_Secretkey from dbo.EmpInfo a left join " + dbbase.getDbConnection().Database + ".dbo.LR_Base_User b on a.EmpNo=b.F_EnCode where a.CheckMark=1 and a.ishaslesson=1 and b.F_DeleteMark=0 and a.EmpId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.EmpId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "7";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<EmpInfoEntity> GetTeachersNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<EmpInfoEntity>("select a.*,b.F_Password,b.F_Secretkey from dbo.EmpInfo a left join adms7ultimate2.dbo.LR_Base_User b on a.EmpNo=b.F_EnCode where a.CheckMark=1");
-
- var db = BaseRepository("CollegeMIS");
- var dbbase = BaseRepository();
- db.BeginTrans();
- var data = db.FindList<EmpInfoEntity>("select a.*,b.F_Password,b.F_Secretkey from dbo.EmpInfo a left join " + dbbase.getDbConnection().Database + ".dbo.LR_Base_User b on a.EmpNo=b.F_EnCode where a.CheckMark=1 and a.ishaslesson=1 and b.F_DeleteMark=0 and a.EmpId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<ClassInfoEntity> GetClasses(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(m => m.CheckMark == true);
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "4");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update ClassInfo set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<ClassInfoEntity>("select * from ClassInfo where CheckMark=1 and ClassId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.ClassId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "4";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<ClassInfoEntity> GetClassesNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(m => m.CheckMark == true);
-
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<ClassInfoEntity>("select * from ClassInfo where CheckMark=1 and ClassId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<StuInfoBasicEntity> GetStus(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<StuInfoBasicEntity>(@"select a.StuId,a.StuNo,a.DeptNo,a.MajorNo,a.Grade,a.ClassNo,a.StuName,a.GenderNo,a.Birthday,b.F_Password,b.F_Secretkey from dbo.StuInfoBasic a left join adms7ultimate2.dbo.LR_Base_User b on a.StuNo=b.F_EnCode where a.CheckMark='1'");
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "8");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update StuInfoBasic set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- var dbbase = BaseRepository();
- db.BeginTrans();
- var data = db.FindList<StuInfoBasicEntity>("select a.*,b.F_Password,b.F_Secretkey from dbo.StuInfoBasic a left join " + dbbase.getDbConnection().Database + ".dbo.LR_Base_User b on a.StuNo=b.F_EnCode where a.CheckMark=1 and a.StuId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.StuId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "8";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<StuInfoBasicEntity> GetStusNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<StuInfoBasicEntity>(@"select a.StuId,a.StuNo,a.DeptNo,a.MajorNo,a.Grade,a.ClassNo,a.StuName,a.GenderNo,a.Birthday,b.F_Password,b.F_Secretkey from dbo.StuInfoBasic a left join adms7ultimate2.dbo.LR_Base_User b on a.StuNo=b.F_EnCode where a.CheckMark='1'");
-
- //数据
- var db = BaseRepository("CollegeMIS");
- var dbbase = BaseRepository();
- db.BeginTrans();
- var data = db.FindList<StuInfoBasicEntity>("select a.*,b.F_Password,b.F_Secretkey from dbo.StuInfoBasic a left join " + dbbase.getDbConnection().Database + ".dbo.LR_Base_User b on a.StuNo=b.F_EnCode where a.CheckMark=1 and a.StuId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<StuInfoBasicEntity> GetStudents()
- {
- try
- {
- var data = BaseRepository("CollegeMIS").FindList<StuInfoBasicEntity>(@"select a.StuId,a.StuNo,a.DeptNo,a.MajorNo,a.Grade,a.ClassNo,
- a.StuName,GenderNo,a.Birthday,b.F_Password,b.F_Secretkey from
- dbo.StuInfoBasic a left join adms7ultimate2.dbo.LR_Base_User b on a.StuNo=b.F_EnCode where a.CheckMark='1'");
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<TeachClassEntity> GetClassLessons()
- {
- try
- {
- var data = BaseRepository("CollegeMIS").FindList<TeachClassEntity>(@"select AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,LessonSortNo from TeachClass
- group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,LessonSortNo");
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
-
- /// <summary>
- /// 课程表【教务】
- /// </summary>
- /// <param name="startDate">查询开始时间</param>
- /// <param name="endDate">查询截止时间</param>
- /// <param name="classNo">班级编号</param>
- /// <param name="empNo">教师编号</param>
- /// <param name="classroomNo">教室编号</param>
- /// <returns></returns>
- public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId, string classroomNo)
- {
- var semesterAndYear = Common.GetSemesterAndYear(startDate);
- var strAcademicYear = semesterAndYear.AcademicYearShort;
- var strSemester = semesterAndYear.Semester;
- string sql = @"select b.F_SchoolId,b.DeptNo,b.MajorNo,b.AcademicYearNo as AcademicYear,b.LessonNo,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace (b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName
- from ArrangeLessonTerm b
- left join ClassroomInfo c on c.ClassroomNo=b.classroomNo
- left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo
- where b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester
- and b.LessonDate>=@startDate and b.LessonDate<=@endDate
- and b.CheckMark=1";
- try
- {
- var result = BaseRepository("CollegeMIS").FindList<TimeTable>(sql, new { startDate, endDate, strAcademicYear, strSemester });
- if (!string.IsNullOrEmpty(classNo))
- {
- result = result.Where(x => x.TeachClassNo == classNo);
- }
- if (!string.IsNullOrEmpty(empNo))
- {
- result = result.Where(x => x.EmpNo == empNo);
- }
- if (!string.IsNullOrEmpty(schoolId))
- {
- result = result.Where(x => x.F_SchoolId == schoolId);
- }
- if (!string.IsNullOrEmpty(classroomNo))
- {
- result = result.Where(x => x.ClassRoomNo == classroomNo);
- }
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 课程表【教务】--班级下拉框信息
- /// </summary>
- /// <returns></returns>
- public IEnumerable<SelectModel> GetClassData(string schoolId)
- {
- try
- {
- //前五年-后五年
- var preYear = DateTime.Now.AddYears(-5).Year;
- var nextYear = DateTime.Now.AddYears(5).Year;
- var yearList = new List<string>();
- for (int i = preYear; i <= nextYear; i++)
- {
- yearList.Add(string.Format("'{0}-{1}'", i.ToString().Substring(2), (i + 1).ToString().Substring(2)));
- }
- var yearListStr = string.Join(",", yearList.ToArray());
-
- var strSql = new StringBuilder();
- strSql.Append("select distinct REPLACE(a.TeachClassNo,a.LessonName,'') as value,c.ClassName as text from ");
- strSql.Append("ArrangeLessonTerm a inner join ClassInfo c on REPLACE(a.TeachClassNo,a.LessonName,'')=c.ClassNo ");
- strSql.Append("where a.AcademicYearNo in (" + yearListStr + ") ");
- if (!string.IsNullOrEmpty(schoolId))
- {
- strSql.Append(" and a.F_SchoolId = '" + schoolId + "' ");
- }
-
- var result = this.BaseRepository("CollegeMIS").FindList<SelectModel>(strSql.ToString()).OrderBy(x => x.value);
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 课程表【教务】--教师下拉框信息
- /// </summary>
- /// <param name="startDate"></param>
- /// <returns></returns>
- public IEnumerable<SelectModel> GetTeacherData(string schoolId)
- {
- try
- {
- //前五年-后五年
- var preYear = DateTime.Now.AddYears(-5).Year;
- var nextYear = DateTime.Now.AddYears(5).Year;
- var yearList = new List<string>();
- for (int i = preYear; i <= nextYear; i++)
- {
- yearList.Add(string.Format("{0}-{1}", i.ToString().Substring(2), (i + 1).ToString().Substring(2)));
- }
- var aa = new List<SelectModel>();
- //必修课
- var teacherData = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(x => yearList.Contains(x.AcademicYearNo));
- if (!string.IsNullOrEmpty(schoolId))
- {
- teacherData = teacherData.Where(x => x.F_SchoolId == schoolId);
- }
- var teacherDataModel = teacherData.Select(x => new { x.EmpNo, x.EmpName }).Distinct().ToList()
- .Select(x => new SelectModel()
- {
- text = x.EmpName,
- value = x.EmpNo
- });
- aa.AddRange(teacherDataModel);
- //选修课
- var teacherData2 = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermOfElectiveEntity>(x => yearList.Contains(x.AcademicYearNo));
- if (!string.IsNullOrEmpty(schoolId))
- {
- teacherData2 = teacherData2.Where(x => x.F_SchoolId == schoolId);
- }
- var teacherDataModel2 = teacherData2.Select(x => new { x.EmpNo, x.EmpName }).Distinct().ToList()
- .Select(x => new SelectModel()
- {
- text = x.EmpName,
- value = x.EmpNo
- });
- aa.AddRange(teacherDataModel2);
-
- var aaaa = aa.Select(x => new { x.text, x.value }).Distinct().ToList();
- var aaaaa = aaaa.Select(x => new SelectModel()
- {
- text = x.text,
- value = x.value
- }).OrderBy(x => x.value);
-
- return aaaaa;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 课程表【教务】--教室下拉框信息
- /// </summary>
- /// <returns></returns>
- public IEnumerable<SelectModel> GetClassroomData(string schoolId)
- {
- try
- {
- //前五年-后五年
- var preYear = DateTime.Now.AddYears(-5).Year;
- var nextYear = DateTime.Now.AddYears(5).Year;
- var yearList = new List<string>();
- for (int i = preYear; i <= nextYear; i++)
- {
- yearList.Add(string.Format("'{0}-{1}'", i.ToString().Substring(2), (i + 1).ToString().Substring(2)));
- }
- var yearListStr = string.Join(",", yearList.ToArray());
-
- var strSql = new StringBuilder();
- strSql.Append("select distinct a.ClassroomNo as value,c.ClassroomName as text from ");
- strSql.Append("ArrangeLessonTerm a inner join ClassroomInfo c on a.ClassroomNo=c.ClassroomNo ");
- strSql.Append("where a.AcademicYearNo in (" + yearListStr + ") ");
- if (!string.IsNullOrEmpty(schoolId))
- {
- strSql.Append(" and a.F_SchoolId = '" + schoolId + "' ");
- }
-
- var result = this.BaseRepository("CollegeMIS").FindList<SelectModel>(strSql.ToString()).OrderBy(x => x.value);
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- public IEnumerable<CdDeptEntity> GetDepts(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<CdDeptEntity>();
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "2");
- if (aa == null)
- {
- this.BaseRepository("CollegeMIS").ExecuteBySql("update CdDept set SyncFlag='false' ");
- }
-
- //数据
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<CdDeptEntity>("select * from CdDept where DeptId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.DeptId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "2";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- db.Insert(alsEntity);
- }
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<CdDeptEntity> GetDeptsNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository("CollegeMIS").FindList<CdDeptEntity>();
-
- var db = BaseRepository("CollegeMIS");
- db.BeginTrans();
- var data = db.FindList<CdDeptEntity>("select * from CdDept where DeptId not in (select STableId from ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- db.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<CompanyEntity> GetSchools(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository().FindList<CompanyEntity>();
-
- //根据学年学期判断排课同步数据表中是否有数据:若有,说明该学年学期同步过;若没有,修改基础表,false;
- var aa = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonSyncEntity>(x => x.AcademicYearNo == academicYearNo && x.Semester == semester && x.STypeId == "1");
- if (aa == null)
- {
- this.BaseRepository().ExecuteBySql("update LR_Base_Company set SyncFlag='false' ");
- }
-
- //数据
- var dbCollegeMIS = BaseRepository("CollegeMIS");
- dbCollegeMIS.BeginTrans();
- var data = BaseRepository().FindList<CompanyEntity>("select * from LR_Base_Company where F_CompanyId not in (select STableId from " + dbCollegeMIS.getDbConnection().Database + ".dbo.ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
- DateTime syncdate = DateTime.Now;
- foreach (var item in data.Select(m => m.F_CompanyId))
- {
- ArrangeLessonSyncEntity alsEntity = new ArrangeLessonSyncEntity();
- alsEntity.Create();
- alsEntity.AcademicYearNo = academicYearNo;
- alsEntity.Semester = semester;
- alsEntity.STypeId = "1";
- alsEntity.SDate = syncdate;
- alsEntity.STableId = item;
- dbCollegeMIS.Insert(alsEntity);
- }
- dbCollegeMIS.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<CompanyEntity> GetSchoolsNotRecord(string academicYearNo, string semester)
- {
- try
- {
- //var data = BaseRepository().FindList<CompanyEntity>();
-
- var dbCollegeMIS = BaseRepository("CollegeMIS");
- dbCollegeMIS.BeginTrans();
- var data = BaseRepository().FindList<CompanyEntity>("select * from LR_Base_Company where F_CompanyId not in (select STableId from " + dbCollegeMIS.getDbConnection().Database + ".dbo.ArrangeLessonSync where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' )");
-
- dbCollegeMIS.Commit();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- public IEnumerable<CdLessonTypeEntity> GetLessonTypes()
- {
- try
- {
- var data = BaseRepository("CollegeMIS").FindList<CdLessonTypeEntity>();
- return data;
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
- public IEnumerable<ArrangeLessonTermEntity> GetPageListForTeacherWorkload(Pagination paginationobj, string queryJson)
- {
- try
- {
- var queryParam = queryJson.ToJObject();
- var strSql = new StringBuilder();
- strSql.Append("select count(ALTId)as lessoncount,EmpName,EmpNo,1 as coefficient from ArrangeLessonTerm ");
- strSql.Append(" WHERE 1=1 ");
- strSql.Append($"and AcademicYearNo='{ queryParam["AcademicYearNo"]}' and Semester='{queryParam["Semester"]}' group by EmpName,EmpNo order by EmpNo ");
- return this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(strSql.ToString());
-
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 教学工作量
- /// </summary>
- /// <param name="paginationobj"></param>
- /// <param name="queryJson"></param>
- /// <returns></returns>
- public IEnumerable<ArrangeLessonTermEntity> GetPageListForTeacherWorkloadByEmpNo(Pagination paginationobj, string queryJson, string empNo)
- {
- try
- {
- var queryParam = queryJson.ToJObject();
- var strSql = new StringBuilder();
- strSql.Append("select count(t.ALTId) as lessoncount,t.LessonNo,t.LessonName,1 as coefficient from ArrangeLessonTerm t ");
- strSql.Append($" WHERE 1=1 and t.EmpNo='{empNo}' ");
- strSql.Append(" group by t.LessonNo,t.LessonName ");
- return this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(strSql.ToString());
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 教学调度【教务】--课程下拉框信息
- /// </summary>
- /// <returns></returns>
- public IEnumerable<SelectModel> GetLessonDataInTerm(string queryJson)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindList<SelectModel>("select distinct t.LessonNo as value,t.LessonName as text from ArrangeLessonTerm t where 1=1 ");
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取本学期开课计划
- /// </summary>
- /// <param name="academicYearNo"></param>
- /// <param name="semester"></param>
- /// <returns></returns>
- public IEnumerable<TimeTable> GetAllClassLesson(string academicYearNo, string semester)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindList<TimeTable>(@"select b.F_SchoolId,b.DeptNo,b.MajorNo,b.AcademicYearNo as AcademicYear,b.Semester,b.LessonNo,
- b.LessonName, b.LessonTime, b.EmpNo, b.Empname EmpName, replace(b.TeachClassNo, b.LessonName, '') TeachClassNo, c.ClassroomName, b.ClassroomNo as ClassRoomNo, d.ClassName
- from ArrangeLessonTerm b
- left
- join ClassroomInfo c on c.ClassroomNo = b.classroomNo
-
- left
- join ClassInfo d on replace(b.TeachClassNo, b.LessonName, '') = d.ClassNo
- where b.AcademicYearNo = '" + academicYearNo + "' and b.Semester = '" + semester + @"'
- and b.CheckMark = 1
- group by b.F_SchoolId, b.DeptNo, b.MajorNo, b.AcademicYearNo, b.Semester, b.LessonNo, b.LessonName, b.LessonTime, b.EmpNo, b.Empname, b.TeachClassNo, c.ClassroomName, b.ClassroomNo, d.ClassName
- ");
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 按条件重置基础数据同步状态
- /// </summary>
- /// <param name="entity"></param>
- /// <returns></returns>
- public bool InitAsyncDataByCondition(ArrangeLessonTermEntity entity)
- {
- bool result = true;
- var db = BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- foreach (var tablename in entity.SyncBasicTable.Split(','))
- {
- if (tablename == "CdDept")
- {
- //清空同步记录表
- db.ExecuteBySql("delete from ArrangeLessonSync where AcademicYearNo='" +
- entity.AcademicYearNo + "' and Semester='" + entity.Semester +
- "' and STypeId='2'");
- }
- if (tablename == "CdMajor")
- {
- //清空同步记录表
- db.ExecuteBySql("delete from ArrangeLessonSync where AcademicYearNo='" +
- entity.AcademicYearNo + "' and Semester='" + entity.Semester +
- "' and STypeId='3'");
- }
- if (tablename == "ClassInfo")
- {
- //清空同步记录表
- db.ExecuteBySql("delete from ArrangeLessonSync where AcademicYearNo='" +
- entity.AcademicYearNo + "' and Semester='" + entity.Semester +
- "' and STypeId='4'");
- }
- if (tablename == "ClassroomInfo")
- {
- //清空同步记录表
- db.ExecuteBySql("delete from ArrangeLessonSync where AcademicYearNo='" +
- entity.AcademicYearNo + "' and Semester='" + entity.Semester +
- "' and STypeId='6'");
- }
- if (tablename == "LessonInfo")
- {
- //清空同步记录表
- db.ExecuteBySql("delete from ArrangeLessonSync where AcademicYearNo='" +
- entity.AcademicYearNo + "' and Semester='" + entity.Semester +
- "' and STypeId='5'");
- }
- if (tablename == "EmpInfo")
- {
- //清空同步记录表
- db.ExecuteBySql("delete from ArrangeLessonSync where AcademicYearNo='" +
- entity.AcademicYearNo + "' and Semester='" + entity.Semester +
- "' and STypeId='7'");
- }
- //重置基础数据表
- db.ExecuteBySql("update " + tablename + " set SyncFlag=0");
- }
- db.Commit();
- }
- catch (Exception e)
- {
- result = false;
- }
- return result;
- }
- }
-
-
- #region MyRegion
-
- public class TimeTable
- {
- public DateTime LessonDate { get; set; }
- public string EnName { get; set; }
- public string AcademicYear { get; set; }
- public string LessonNo { get; set; }
- public string LessonName { get; set; }
- public string LessonTime { get; set; }
- public string EmpNo { get; set; }
- public string EmpName { get; set; }
- public string TeachClassNo { get; set; }
- public string ClassroomName { get; set; }
- public string Semester { get; set; }
- public string ClassRoomNo { get; set; }
- public string LessonSortNo { get; set; }
- public string ClassName { get; set; }
-
- public string OLPEId { get; set; }
- /// <summary>
- /// 排考结构Id
- /// </summary>
- public string StructureId { get; set; }
- public string LeaveType { get; set; }
- public string IsCheck { get; set; }
- /// <summary>
- /// 校区Id
- /// </summary>
- public string F_SchoolId { get; set; }
- public string DeptNo { get; set; }
- public string MajorNo { get; set; }
-
- }
-
- public class Common
- {
- /// <summary>
- /// 根据当前时间获取学年和学期
- /// </summary>
- /// <returns></returns>
- public static (string AcademicYearShort, string AcademicYearLong, string Semester) GetSemesterAndYear(string startDate = "")
- {
- string AcademicYearShort = "";//短格式学年度
- string AcademicYearLong = "";//长格式学年度
- string Semester = "";//学期
- DateTime dateParam = DateTime.Now;
- if (!string.IsNullOrEmpty(startDate))
- {
- dateParam = DateTime.Parse(startDate);
- }
- if (dateParam.Month >= 8)
- {
- AcademicYearShort = dateParam.Year.ToString().Substring(2, 2) + "-";
- AcademicYearShort += (dateParam.Year + 1).ToString().Substring(2, 2);
- AcademicYearLong = dateParam.Year.ToString() + "-";
- AcademicYearLong += (dateParam.Year + 1).ToString();
- Semester = "1";
- }
- else
- {
- if (dateParam.Month >= 2)//根据当前时间获取学年和学期,注意跨年份
- {
- AcademicYearShort = (dateParam.Year - 1).ToString().Substring(2, 2) + "-";
- AcademicYearShort += dateParam.Year.ToString().Substring(2, 2);
- AcademicYearLong = (dateParam.Year - 1).ToString() + "-";
- AcademicYearLong += dateParam.Year.ToString();
- Semester = "2";
- }
- else
- {
- AcademicYearShort = (dateParam.Year - 1).ToString().Substring(2, 2) + "-";
- AcademicYearShort += dateParam.Year.ToString().Substring(2, 2);
- AcademicYearLong = (dateParam.Year - 1).ToString() + "-";
- AcademicYearLong += dateParam.Year.ToString();
- Semester = "1";
- }
- }
- return (AcademicYearShort, AcademicYearLong, Semester);
- }
- /// <summary>
- /// 计算周一的时间
- /// </summary>
- /// <param name="someDate"></param>
- /// <returns></returns>
- public static DateTime CalculateFirstDateOfWeek(DateTime someDate)
- {
- int i = someDate.DayOfWeek - DayOfWeek.Monday;
- if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
- TimeSpan ts = new TimeSpan(i, 0, 0, 0);
- return someDate.Subtract(ts);
- }
- /// <summary>
- /// 计算周日的时间
- /// </summary>
- /// <param name="someDate"></param>
- /// <returns></returns>
- public static DateTime CalculateLastDateOfWeek(DateTime someDate)
- {
- int i = someDate.DayOfWeek - DayOfWeek.Sunday;
- if (i != 0) i = 7 - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。
- TimeSpan ts = new TimeSpan(i, 0, 0, 0);
- return someDate.Add(ts);
- }
- }
-
- #region 当期学期排课数据同步
- public class Paike
- {
- public string id { get; set; }
- /// <summary>
- /// 20180101
- /// </summary>
- public string clazzId { get; set; }
- /// <summary>
- /// 18学前教育01班
- /// </summary>
- public string clazzName { get; set; }
- /// <summary>
- /// XCMY0016
- /// </summary>
- public string teacherId { get; set; }
- /// <summary>
- /// 薛雅馨
- /// </summary>
- public string teacherName { get; set; }
- /// <summary>
- /// 0103
- /// </summary>
- public string curriculunId { get; set; }
- /// <summary>
- /// 大学体育(学前系)(合)
- /// </summary>
- public string curriculunName { get; set; }
-
- public string curriculuntype { get; set; }
- /// <summary>
- /// 1
- /// </summary>
- public string section { get; set; }
- /// <summary>
- /// 1
- /// </summary>
- public string week { get; set; }
- /// <summary>
- /// 08:00-09:00
- /// </summary>
- public string curriculunTime { get; set; }
- /// <summary>
- /// 1
- /// </summary>
- public string kebiaoType { get; set; }
- /// <summary>
- /// 1102
- /// </summary>
- public string classRoomId { get; set; }
- /// <summary>
- /// 1102教室
- /// </summary>
- public string classRoomName { get; set; }
- /// <summary>
- /// 1
- /// </summary>
- public string rankSchedule { get; set; }
- /// <summary>
- /// 0
- /// </summary>
- public string periodTime { get; set; }
- /// <summary>
- /// [{"date":"2019-03-04 08:00-09:00","endTime":"2019-03-04 09:00:00","startTime":"2019-03-04 08:00:00"},{"date":"2019-03-18 08:00-09:00","endTime":"2019-03-18 09:00:00","startTime":"2019-03-18 08:00:00"},{"date":"2019-04-01 08:00-09:00","endTime":"2019-04-01 09:00:00","startTime":"2019-04-01 08:00:00"},{"date":"2019-04-15 08:00-09:00","endTime":"2019-04-15 09:00:00","startTime":"2019-04-15 08:00:00"},{"date":"2019-04-29 08:00-09:00","endTime":"2019-04-29 09:00:00","startTime":"2019-04-29 08:00:00"},{"date":"2019-05-13 08:00-09:00","endTime":"2019-05-13 09:00:00","startTime":"2019-05-13 08:00:00"},{"date":"2019-05-27 08:00-09:00","endTime":"2019-05-27 09:00:00","startTime":"2019-05-27 08:00:00"},{"date":"2019-06-10 08:00-09:00","endTime":"2019-06-10 09:00:00","startTime":"2019-06-10 08:00:00"},{"date":"2019-06-24 08:00-09:00","endTime":"2019-06-24 09:00:00","startTime":"2019-06-24 08:00:00"},{"date":"2019-07-08 08:00-09:00","endTime":"2019-07-08 09:00:00","startTime":"2019-07-08 08:00:00"}]
- /// </summary>
- public string timeText { get; set; }
- /// <summary>
- /// 2
- /// </summary>
- public string semester { get; set; }
- /// <summary>
- /// Flag
- /// </summary>
- public bool flag { get; set; }
- public string year { get; set; }
- public string number { get; set; }
- public string curriculunNumber { get; set; }
- public string teacherNumber { get; set; }
- public string classRoomNumber { get; set; }
- }
-
- public class StuScore
- {
- public string id { get; set; }
- public string examname { get; set; }
- public string stuno { get; set; }
- public string stuname { get; set; }
- public string classno { get; set; }
- public string classname { get; set; }
- public string teachclassno { get; set; }
- public string termendscore { get; set; }
- public string examtime { get; set; }
- public string lessonno { get; set; }
- public string lessonname { get; set; }
- public string scoolYear { get; set; }
- public string term { get; set; }
- }
-
- public class Major
- {
- /// <summary>
- /// 01
- /// </summary>
- public string id { get; set; }
- /// <summary>
- /// 学前教育
- /// </summary>
- public string majorName { get; set; }
- /// <summary>
- /// 01
- /// </summary>
- public string majorNumber { get; set; }
- /// <summary>
- ///
- /// </summary>
- public string bz { get; set; }
- }
-
- public class semester
- {
- public DateTime? starttime { get; set; }
- public DateTime? endtime { get; set; }
- public string zhouci { get; set; }
- public string shangxia { get; set; }
- }
-
- public class List
- {
- public StuScore stuscore { get; set; }
-
- /// <summary>
- /// Paike
- /// </summary>
- public Paike paike { get; set; }
- /// <summary>
- /// 2019-03-04 08:00-09:00
- /// </summary>
- public string times { get; set; }
- /// <summary>
- /// Major
- /// </summary>
- public Major major { get; set; }
- /// <summary>
- /// 18-19
- /// </summary>
- public string schoolYear { get; set; }
- /// <summary>
- /// 学期类
- /// </summary>
- public semester semester { get; set; }
- /// <summary>
- /// 第几级
- /// </summary>
- public string grade { get; set; }
- /// <summary>
- /// 专业编号
- /// </summary>
- public string majorNumber { get; set; }
- /// <summary>
- /// 课程名称
- /// </summary>
- public string curriculumName { get; set; }
- /// <summary>
- /// 课程编号
- /// </summary>
- public string curriculumNumber { get; set; }
- /// <summary>
- /// 选修必修
- /// </summary>
- public string isElective { get; set; }
- /// <summary>
- /// 周学时
- /// </summary>
- public string classhour { get; set; }
- /// <summary>
- /// 教师编号
- /// </summary>
- public string teacherId { get; set; }
- /// <summary>
- /// 教师姓名
- /// </summary>
- public string teacherName { get; set; }
- /// <summary>
- /// 学校主键
- /// </summary>
- public string schoolId { get; set; }
-
- }
-
- public class Entity
- {
- /// <summary>
- /// true
- /// </summary>
- public string opflag { get; set; }
- /// <summary>
- /// 1000
- /// </summary>
- public string opCode { get; set; }
- /// <summary>
- /// OK!
- /// </summary>
- public string message { get; set; }
- /// <summary>
- /// List
- /// </summary>
- public List<List> list { get; set; }
-
- public List<StuScore> stuScoreList { get; set; }
- }
-
- public class Root
- {
- /// <summary>
- /// 操作成功
- /// </summary>
- public string message { get; set; }
- /// <summary>
- /// Success
- /// </summary>
- public bool success { get; set; }
- /// <summary>
- /// Entity
- /// </summary>
- public Entity entity { get; set; }
- }
-
-
- #endregion
-
- #region 按条件同步排课数据
-
- public class RootByCondition
- {
- /// <summary>
- /// 操作成功
- /// </summary>
- public string message { get; set; }
- /// <summary>
- /// Success
- /// </summary>
- public bool success { get; set; }
- /// <summary>
- /// Entity
- /// </summary>
- public EntityByCondition entity { get; set; }
- }
- public class EntityByCondition
- {
- /// <summary>
- /// true
- /// </summary>
- public string opflag { get; set; }
- /// <summary>
- /// 1000
- /// </summary>
- public string opCode { get; set; }
- /// <summary>
- /// OK!
- /// </summary>
- public string message { get; set; }
- /// <summary>
- /// List
- /// </summary>
- public List<ListByCondition> list { get; set; }
- }
- public class ListByCondition
- {
- public string year { get; set; }
- public string number { get; set; }
- public string curriculunNumber { get; set; }
- public string curriculunName { get; set; }
-
- /// <summary>
- /// Paike
- /// </summary>
- public PaikeByCondition paike { get; set; }
- /// <summary>
- /// "2019-03-12,2019-03-26,2019-04-09,2019-04-23,2019-05-07,2019-05-21,2019-06-04,2019-06-18,2019-07-02,2019-07-16,2019-07-30,"
- /// </summary>
- public string timeText { get; set; }
- /// <summary>
- /// Major
- /// </summary>
- public MajorByCondition major { get; set; }
-
- public string teacherNumber { get; set; }
- public string teacherName { get; set; }
- public string curriculunSid { get; set; }
- public string classRoomSid { get; set; }
- public string schoolSid { get; set; }
- public object week { get; set; }
- public string section { get; set; }
- public string clazzSid { get; set; }
- }
- public class PaikeByCondition
- {
- public string id { get; set; }
- /// <summary>
- /// 班级Id
- /// </summary>
- public string clazzId { get; set; }
- /// <summary>
- /// 班级名称
- /// </summary>
- public string clazzName { get; set; }
- /// <summary>
- /// 班级编号
- /// </summary>
- public string clazzSid { get; set; }
- /// <summary>
- /// 年级
- /// </summary>
- public string grade { get; set; }
- /// <summary>
- /// 教师Id
- /// </summary>
- public string teacherId { get; set; }
- /// <summary>
- /// 教师名称
- /// </summary>
- public string teacherName { get; set; }
- /// <summary>
- /// 教师编号
- /// </summary>
- public string teacherSid { get; set; }
- /// <summary>
- /// 课程Id
- /// </summary>
- public string curriculunId { get; set; }
- /// <summary>
- /// 课程名称
- /// </summary>
- public string curriculunName { get; set; }
- /// <summary>
- /// 课程编号
- /// </summary>
- public string curriculunSid { get; set; }
- /// <summary>
- /// 第几节次
- /// </summary>
- public string section { get; set; }
- /// <summary>
- /// 星期几
- /// </summary>
- public string week { get; set; }
- /// <summary>
- /// 课表类型
- /// </summary>
- public string kebiaoType { get; set; }
- /// 教室Id
- /// </summary>
- public string classRoomId { get; set; }
- /// <summary>
- /// 教室名称
- /// </summary>
- public string classRoomName { get; set; }
- /// <summary>
- /// 教室编号
- /// </summary>
- public string classRoomSid { get; set; }
- /// <summary>
- /// 排课安排
- /// </summary>
- public string rankSchedule { get; set; }
- /// <summary>
- /// "2019-03-12,2019-03-26,2019-04-09,2019-04-23,2019-05-07,2019-05-21,2019-06-04,2019-06-18,2019-07-02,2019-07-16,2019-07-30,"
- /// </summary>
- public string timeText { get; set; }
- /// <summary>
- /// 学年
- /// </summary>
- public string semester { get; set; }
- /// <summary>
- /// Flag
- /// </summary>
- public bool flag { get; set; }
- }
- public class MajorByCondition
- {
- /// <summary>
- /// 专业Id
- /// </summary>
- public string id { get; set; }
- /// <summary>
- /// 专业名称
- /// </summary>
- public string name { get; set; }
- /// <summary>
- /// 专业编号
- /// </summary>
- public string number { get; set; }
- /// <summary>
- /// 系
- /// </summary>
- public DepartmentByCondition department { get; set; }
- /// <summary>
- /// 学年学期
- /// </summary>
- public SemesterByCondition semester { get; set; }
- /// <summary>
- /// 学校
- /// </summary>
- public SchoolByCondition school { get; set; }
- public string sid { get; set; }
- public string qsid { get; set; }
- }
- public class DepartmentByCondition
- {
- /// <summary>
- /// 系Id
- /// </summary>
- public string id { get; set; }
- /// <summary>
- /// 系名称
- /// </summary>
- public string name { get; set; }
- /// <summary>
- /// 系编号【开课计划接口】
- /// </summary>
- public string number { get; set; }
- }
- public class SemesterByCondition
- {
- public string id { get; set; }
- /// <summary>
- /// 学年
- /// </summary>
- public string year { get; set; }
- /// <summary>
- /// 学期
- /// </summary>
- public string number { get; set; }
-
- /// <summary>
- /// 开始时间【开课计划接口】
- /// </summary>
- public DateTime starTime { get; set; }
- /// <summary>
- /// 结束时间【开课计划接口】
- /// </summary>
- public DateTime endTime { get; set; }
- /// <summary>
- /// 开始周次【开课计划接口】
- /// </summary>
- public int yesNo { get; set; }
- /// <summary>
- /// 结束周次【开课计划接口】
- /// </summary>
- public int week { get; set; }
- }
- public class SchoolByCondition
- {
- /// <summary>
- /// 学校Id
- /// </summary>
- public string sid { get; set; }
- /// <summary>
- /// 学校名称
- /// </summary>
- public string name { get; set; }
- }
-
- public class RootOfPlanByCondition
- {
- /// <summary>
- /// 操作成功
- /// </summary>
- public string message { get; set; }
- /// <summary>
- /// Success
- /// </summary>
- public bool success { get; set; }
- /// <summary>
- /// Entity
- /// </summary>
- public EntityOfPlanByCondition entity { get; set; }
- }
- public class EntityOfPlanByCondition
- {
- /// <summary>
- /// true
- /// </summary>
- public string opflag { get; set; }
- /// <summary>
- /// 1000
- /// </summary>
- public string opCode { get; set; }
- /// <summary>
- /// OK!
- /// </summary>
- public string message { get; set; }
- /// <summary>
- /// List
- /// </summary>
- public List<ListOfPlanByCondition> list { get; set; }
- }
- public class ListOfPlanByCondition
- {
- public SchoolByCondition school { get; set; }
- public SemesterByCondition semester { get; set; }
- public DepartmentByCondition department { get; set; }
- public MajorByCondition major { get; set; }
- /// <summary>
- /// 开课计划
- /// </summary>
- public CourseOfPlanByCondition course { get; set; }
- public int? classhour { get; set; }
- public int? credit { get; set; }
- public string grade { get; set; }
-
- }
- public class CourseOfPlanByCondition
- {
- /// <summary>
- /// 开课计划Id
- /// </summary>
- public string id { get; set; }
- /// <summary>
- /// 课程编号
- /// </summary>
- public string number { get; set; }
- /// <summary>
- /// 课程信息
- /// </summary>
- public CourseInfoOfPlanByCondition course { get; set; }
- /// <summary>
- /// 课程名称
- /// </summary>
- public string coursename { get; set; }
- }
- public class CourseInfoOfPlanByCondition
- {
- /// <summary>
- /// 课程Id
- /// </summary>
- public string id { get; set; }
- /// <summary>
- /// 课程名称
- /// </summary>
- public string name { get; set; }
-
- public string number { get; set; }
-
- }
-
-
- #endregion
-
- public class paikeList
- {
- public string week { get; set; }
- public string section { get; set; }
- public string timetext { get; set; }
- public string classname { get; set; }
- public string classnumber { get; set; }
- public string roomname { get; set; }
- public string ClassroomNo { get; set; }
- public string teachername { get; set; }
- public string teacherNumber { get; set; }
- public string curriculunName { get; set; }
- public string curriculunNumber { get; set; }
- public string year { get; set; }
- public string semester { get; set; }
- public string schoolno { get; set; }
- }
- #endregion
- }
-
-
|