You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

489 lines
28 KiB

  1. using Dapper;
  2. using Learun.DataBase.Repository;
  3. using Learun.Util;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Text;
  9. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  10. {
  11. /// <summary>
  12. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  13. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  14. /// 创 建:超级管理员
  15. /// 日 期:2019-09-26 10:47
  16. /// 描 述:教学调度
  17. /// </summary>
  18. public class ArrangeLessonTermAttemperService : RepositoryFactory
  19. {
  20. #region 获取数据
  21. /// <summary>
  22. /// 获取页面显示列表数据
  23. /// <summary>
  24. /// <param name="queryJson">查询参数</param>
  25. /// <returns></returns>
  26. public IEnumerable<ArrangeLessonTermAttemperEntity> GetPageList(Pagination pagination, string queryJson)
  27. {
  28. try
  29. {
  30. var strSql = new StringBuilder();
  31. strSql.Append("SELECT t.* ");
  32. //strSql.Append(" b.NewLessonDate,b.NewLessonTime,c.AcademicYearNo as D_AcademicYearNo,c.Semester as D_Semester,c.DeptNo as D_DeptNo,c.majorno as D_majorno,c.lessonno as D_lessonno,c.lessonname as D_lessonname,replace(c.teachclassno ,c.lessonname,'') as D_teachclassno,c.empno as D_empno,c.EmpName as D_EmpName, c.classroomno as D_classroomno,c.lessondate as D_lessondate,c.lessontime as D_lessontime ");
  33. strSql.Append(" FROM ArrangeLessonTermAttemper t ");
  34. //strSql.Append(" left join ArrangeLessonTermAttrmperChild b on b.AttemperId=t.id ");
  35. //strSql.Append(" left join ArrangeLessonTerm c on c.altid=b.lessonid ");
  36. strSql.Append(" WHERE 1=1 ");
  37. var queryParam = queryJson.ToJObject();
  38. // 虚拟参数
  39. var dp = new DynamicParameters(new { });
  40. if (!queryParam["AttemperType"].IsEmpty())
  41. {
  42. dp.Add("AttemperType", queryParam["AttemperType"].ToString(), DbType.String);
  43. strSql.Append(" AND t.AttemperType = @AttemperType ");
  44. }
  45. if (!queryParam["AttemperTimeType"].IsEmpty())
  46. {
  47. dp.Add("AttemperTimeType", queryParam["AttemperTimeType"].ToString(), DbType.String);
  48. strSql.Append(" AND t.AttemperTimeType = @AttemperTimeType ");
  49. }
  50. if (!queryParam["F_SchoolId"].IsEmpty())
  51. {
  52. dp.Add("F_SchoolId", queryParam["F_SchoolId"].ToString(), DbType.String);
  53. strSql.Append(" AND t.F_SchoolId = @F_SchoolId ");
  54. }
  55. if (!queryParam["AcademicYearNo"].IsEmpty())
  56. {
  57. dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String);
  58. strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo ");
  59. }
  60. if (!queryParam["Semester"].IsEmpty())
  61. {
  62. dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String);
  63. strSql.Append(" AND t.Semester = @Semester ");
  64. }
  65. if (!queryParam["DeptNo"].IsEmpty())
  66. {
  67. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  68. strSql.Append(" AND t.DeptNo = @DeptNo ");
  69. }
  70. if (!queryParam["MajorNo"].IsEmpty())
  71. {
  72. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  73. strSql.Append(" AND t.MajorNo = @MajorNo ");
  74. }
  75. if (!queryParam["LessonNo"].IsEmpty())
  76. {
  77. dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String);
  78. strSql.Append(" AND t.LessonNo = @LessonNo ");
  79. }
  80. if (!queryParam["TeachClassNo"].IsEmpty())
  81. {
  82. dp.Add("TeachClassNo", queryParam["TeachClassNo"].ToString(), DbType.String);
  83. strSql.Append(" AND t.TeachClassNo = @TeachClassNo ");
  84. }
  85. if (!queryParam["EmpNo"].IsEmpty())
  86. {
  87. dp.Add("EmpNo", queryParam["EmpNo"].ToString(), DbType.String);
  88. strSql.Append(" AND (t.EmpNo = @EmpNo or t.NewEmpNo=@EmpNo) ");
  89. }
  90. if (!queryParam["CreateUserId"].IsEmpty())
  91. {
  92. dp.Add("CreateUserId", queryParam["CreateUserId"].ToString(), DbType.String);
  93. strSql.Append(" AND t.CreateUserId = @CreateUserId ");
  94. }
  95. var result = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermAttemperEntity>(strSql.ToString(), dp, pagination);
  96. return result;
  97. }
  98. catch (Exception ex)
  99. {
  100. if (ex is ExceptionEx)
  101. {
  102. throw;
  103. }
  104. else
  105. {
  106. throw ExceptionEx.ThrowServiceException(ex);
  107. }
  108. }
  109. }
  110. /// <summary>
  111. /// 获取ArrangeLessonTermAttemper表实体数据
  112. /// <param name="keyValue">主键</param>
  113. /// <summary>
  114. /// <returns></returns>
  115. public ArrangeLessonTermAttemperEntity GetArrangeLessonTermAttemperEntity(string keyValue)
  116. {
  117. try
  118. {
  119. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  120. var result = db.FindEntity<ArrangeLessonTermAttemperEntity>(c => c.Id == keyValue);
  121. if (result != null)
  122. {
  123. result.query = db.FindList<ArrangeLessonTermAttrmperChildEntity>($@"select a.*,b.lessonname,b.EmpName,b.empno,c.classname,d.classroomname from ArrangeLessonTermAttrmperChild a
  124. left join arrangelessonterm b on a.LessonId=b.ALTId
  125. left join classinfo c on c.classno=replace(b.teachclassno,b.lessonname,'')
  126. left join classroominfo d on d.classroomno=b.ClassroomNo
  127. where 1=1 and a.AttemperId='{result.Id}' ").ToList();
  128. }
  129. return result;
  130. }
  131. catch (Exception ex)
  132. {
  133. if (ex is ExceptionEx)
  134. {
  135. throw;
  136. }
  137. else
  138. {
  139. throw ExceptionEx.ThrowServiceException(ex);
  140. }
  141. }
  142. }
  143. /// <summary>
  144. /// 获取主表实体数据
  145. /// <param name="processId">流程实例ID</param>
  146. /// <summary>
  147. /// <returns></returns>
  148. public ArrangeLessonTermAttemperEntity GetEntityByProcessId(string processId)
  149. {
  150. try
  151. {
  152. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  153. var result = db.FindEntity<ArrangeLessonTermAttemperEntity>(t => t.ProcessId == processId);
  154. if (result != null)
  155. {
  156. result.query = db.FindList<ArrangeLessonTermAttrmperChildEntity>($@"select a.*,b.lessonname,b.EmpName,b.empno,c.classname,d.classroomname from ArrangeLessonTermAttrmperChild a
  157. left join arrangelessonterm b on a.LessonId=b.ALTId
  158. left join classinfo c on c.classno=replace(b.teachclassno,b.lessonname,'')
  159. left join classroominfo d on d.classroomno=b.ClassroomNo
  160. where 1=1 and a.AttemperId='{result.Id}' ").ToList();
  161. }
  162. return result;
  163. }
  164. catch (Exception ex)
  165. {
  166. if (ex is ExceptionEx)
  167. {
  168. throw;
  169. }
  170. else
  171. {
  172. throw ExceptionEx.ThrowServiceException(ex);
  173. }
  174. }
  175. }
  176. #endregion
  177. #region 提交数据
  178. /// <summary>
  179. /// 删除实体数据
  180. /// <param name="keyValue">主键</param>
  181. /// <summary>
  182. /// <returns></returns>
  183. public void DeleteEntity(string keyValue)
  184. {
  185. try
  186. {
  187. this.BaseRepository("CollegeMIS").Delete<ArrangeLessonTermAttemperEntity>(t => t.Id == keyValue);
  188. this.BaseRepository("CollegeMIS").Delete<ArrangeLessonTermAttrmperChildEntity>(t => t.AttemperId == keyValue);
  189. }
  190. catch (Exception ex)
  191. {
  192. if (ex is ExceptionEx)
  193. {
  194. throw;
  195. }
  196. else
  197. {
  198. throw ExceptionEx.ThrowServiceException(ex);
  199. }
  200. }
  201. }
  202. /// <summary>
  203. /// 保存实体数据(新增、修改)
  204. /// <param name="keyValue">主键</param>
  205. /// <summary>
  206. /// <returns></returns>
  207. public void SaveEntity(string keyValue, ArrangeLessonTermAttemperEntity entity)
  208. {
  209. try
  210. {
  211. if (!string.IsNullOrEmpty(keyValue))
  212. {
  213. entity.Modify(keyValue);
  214. this.BaseRepository("CollegeMIS").Update(entity);
  215. if (entity.AttemperType == "04")
  216. {
  217. this.BaseRepository("CollegeMIS").Delete<ArrangeLessonTermAttrmperChildEntity>(c => c.AttemperId == keyValue);
  218. foreach (ArrangeLessonTermAttrmperChildEntity item in entity.query)
  219. {
  220. item.AttemperId = entity.Id;
  221. item.Create();
  222. this.BaseRepository("CollegeMIS").Insert(item);
  223. }
  224. }
  225. }
  226. else
  227. {
  228. entity.Create();
  229. this.BaseRepository("CollegeMIS").Insert(entity);
  230. if (entity.AttemperType == "04")
  231. {
  232. foreach (ArrangeLessonTermAttrmperChildEntity item in entity.query)
  233. {
  234. item.AttemperId = entity.Id;
  235. item.Create();
  236. this.BaseRepository("CollegeMIS").Insert(item);
  237. }
  238. }
  239. }
  240. }
  241. catch (Exception ex)
  242. {
  243. if (ex is ExceptionEx)
  244. {
  245. throw;
  246. }
  247. else
  248. {
  249. throw ExceptionEx.ThrowServiceException(ex);
  250. }
  251. }
  252. }
  253. #endregion
  254. #region 扩展数据
  255. /// <summary>
  256. /// 提交课程异动记录
  257. /// </summary>
  258. /// <param name="keyValue">课程异动表主键</param>
  259. /// <param name="status">审核状态</param>
  260. /// <param name="processId">流程Id</param>
  261. public void ModifyStatus(string keyValue, int status, string processId)
  262. {
  263. try
  264. {
  265. var now = DateTime.Now;
  266. var entity = this.BaseRepository("CollegeMIS").FindEntity<ArrangeLessonTermAttemperEntity>(x => x.Id == keyValue);
  267. if (entity != null)
  268. {
  269. entity.Status = status;
  270. entity.ProcessId = processId;
  271. entity.SubmitTime = now;
  272. entity.CheckStatus = 1;
  273. this.BaseRepository("CollegeMIS").Update(entity);
  274. }
  275. }
  276. catch (Exception ex)
  277. {
  278. if (ex is ExceptionEx)
  279. {
  280. throw;
  281. }
  282. else
  283. {
  284. throw ExceptionEx.ThrowServiceException(ex);
  285. }
  286. }
  287. }
  288. /// <summary>
  289. /// 修改课程异动表的审核状态
  290. /// </summary>
  291. /// <param name="status">审核状态</param>
  292. /// <param name="processId">流程Id</param>
  293. public void ModifyStatusByProcessId(int status, string processId)
  294. {
  295. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  296. var now = DateTime.Now;
  297. var loginUserInfo = LoginUserInfo.Get();
  298. try
  299. {
  300. var entity = db.FindEntity<ArrangeLessonTermAttemperEntity>(x => x.ProcessId == processId);
  301. if (entity != null)
  302. {
  303. //审核通过
  304. if (status == 2)
  305. {
  306. if (entity.AttemperType == "01") //换课
  307. {
  308. //ArrangeLessonTerm
  309. //var ArrangeLessonTermList = db.FindList<ArrangeLessonTermEntity>(x => x.F_SchoolId == entity.F_SchoolId && x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.DeptNo && x.MajorNo == entity.MajorNo && x.LessonNo == entity.LessonNo && x.TeachClassNo.Contains(entity.TeachClassNo) && x.EmpNo == entity.EmpNo && x.ClassroomNo == entity.ClassroomNo && x.LessonDate >= entity.AttemperStartTime && x.LessonDate <= entity.AttemperEndTime);
  310. var ArrangeLessonTermList = db.FindList<ArrangeLessonTermEntity>(x => x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.DeptNo && x.MajorNo == entity.MajorNo && x.LessonNo == entity.LessonNo && x.TeachClassNo.Contains(entity.TeachClassNo) && x.EmpNo == entity.EmpNo && x.ClassroomNo == entity.ClassroomNo && x.LessonDate >= entity.AttemperStartTime && x.LessonDate <= entity.AttemperEndTime);
  311. if (ArrangeLessonTermList.Any())
  312. {
  313. foreach (var item in ArrangeLessonTermList)
  314. {
  315. if (!string.IsNullOrEmpty(entity.NewEmpNo))
  316. {
  317. item.EmpNo = entity.NewEmpNo;
  318. item.EmpName = db.FindEntity<EmpInfoEntity>(x => x.EmpNo == entity.NewEmpNo)?.EmpName;
  319. }
  320. if (!string.IsNullOrEmpty(entity.NewClassroomNo))
  321. {
  322. item.ClassroomNo = entity.NewClassroomNo;
  323. }
  324. db.Update(item);
  325. }
  326. }
  327. if (entity.AttemperTimeType == "01") //永久
  328. {
  329. if (!string.IsNullOrEmpty(entity.NewEmpNo))
  330. {
  331. //TeachClass
  332. //db.ExecuteBySql($"update TeachClass set EmpNo='{entity.NewEmpNo}' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' ");
  333. db.ExecuteBySql($"update TeachClass set EmpNo='{entity.NewEmpNo}' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' ");
  334. //StuSelectLessonList
  335. //db.ExecuteBySql($"update StuSelectLessonList set EmpNo='{entity.NewEmpNo}' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' ");
  336. db.ExecuteBySql($"update StuSelectLessonList set EmpNo='{entity.NewEmpNo}' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' ");
  337. //StuScore
  338. //db.ExecuteBySql($"update StuScore set EmpNo='{entity.NewEmpNo}' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' and LessonSortNo='1' ");
  339. db.ExecuteBySql($"update StuScore set EmpNo='{entity.NewEmpNo}' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' and LessonSortNo='1' ");
  340. //EmpReportCard
  341. //todo:分校区版初始化成绩时,初始化学生成绩未赋值F_SchoolId,初始化教师成绩单未赋值F_SchoolId
  342. //db.ExecuteBySql($"update EmpReportCard set EmpNo='{entity.NewEmpNo}',EmpName='{db.FindEntity<EmpInfoEntity>(x => x.EmpNo == entity.NewEmpNo)?.EmpName}' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and LessonNo='{entity.LessonNo}' and ClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' and LessonSortNo='1' ");
  343. db.ExecuteBySql($"update EmpReportCard set EmpNo='{entity.NewEmpNo}',EmpName='{db.FindEntity<EmpInfoEntity>(x => x.EmpNo == entity.NewEmpNo)?.EmpName}' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and LessonNo='{entity.LessonNo}' and ClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' and LessonSortNo='1' ");
  344. }
  345. }
  346. }
  347. else if (entity.AttemperType == "02") //停课
  348. {
  349. //ArrangeLessonTerm
  350. //db.ExecuteBySql($"update ArrangeLessonTerm set CheckMark='0' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo like '%{entity.TeachClassNo}%' and EmpNo='{entity.EmpNo}' and ClassroomNo='{entity.ClassroomNo}' ");
  351. db.ExecuteBySql($"update ArrangeLessonTerm set CheckMark='0' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo like '%{entity.TeachClassNo}%' and EmpNo='{entity.EmpNo}' and ClassroomNo='{entity.ClassroomNo}' ");
  352. //StuSelectLessonList
  353. //db.ExecuteBySql($"update StuSelectLessonList set CheckMark='0' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' ");
  354. db.ExecuteBySql($"update StuSelectLessonList set CheckMark='0' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' ");
  355. }
  356. else if (entity.AttemperType == "03") //对调
  357. {
  358. //ArrangeLessonTerm
  359. //var ArrangeLessonTermList = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(x => x.F_SchoolId == entity.F_SchoolId && x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.DeptNo && x.MajorNo == entity.MajorNo && x.LessonNo == entity.LessonNo && x.TeachClassNo.Contains(entity.TeachClassNo) && x.EmpNo == entity.EmpNo && x.ClassroomNo == entity.ClassroomNo);
  360. var ArrangeLessonTermList = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(x => x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.DeptNo && x.MajorNo == entity.MajorNo && x.LessonNo == entity.LessonNo && x.TeachClassNo.Contains(entity.TeachClassNo) && x.EmpNo == entity.EmpNo && x.ClassroomNo == entity.ClassroomNo);
  361. //var NewArrangeLessonTermList = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(x => x.F_SchoolId == entity.F_SchoolId && x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.NewDeptNo && x.MajorNo == entity.NewMajorNo && x.LessonNo == entity.NewLessonNo && x.TeachClassNo.Contains(entity.NewTeachClassNo) && x.EmpNo == entity.NewEmpNo && x.ClassroomNo == entity.NewClassroomNo);
  362. var NewArrangeLessonTermList = this.BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>(x => x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.NewDeptNo && x.MajorNo == entity.NewMajorNo && x.LessonNo == entity.NewLessonNo && x.TeachClassNo.Contains(entity.NewTeachClassNo) && x.EmpNo == entity.NewEmpNo && x.ClassroomNo == entity.NewClassroomNo);
  363. if (ArrangeLessonTermList.Any() && NewArrangeLessonTermList.Any())
  364. {
  365. var oldEntity = ArrangeLessonTermList.FirstOrDefault();
  366. var newEntity = NewArrangeLessonTermList.FirstOrDefault();
  367. var oldEntityTemp = new ArrangeLessonTermEntity()
  368. {
  369. DeptNo = oldEntity.DeptNo,
  370. MajorNo = oldEntity.MajorNo,
  371. LessonNo = oldEntity.LessonNo,
  372. LessonName = oldEntity.LessonName,
  373. TeachClassNo = oldEntity.TeachClassNo,
  374. TeachClassSn = oldEntity.TeachClassSn,
  375. EmpNo = oldEntity.EmpNo,
  376. EmpName = oldEntity.EmpName,
  377. LessonSortNo = oldEntity.LessonSortNo,
  378. StuSortNo = oldEntity.StuSortNo,
  379. JoinLessonNum = oldEntity.JoinLessonNum,
  380. RelatedClassNo = oldEntity.RelatedClassNo,
  381. ClassroomNo = oldEntity.ClassroomNo,
  382. Remark = oldEntity.Remark,
  383. CheckMark = oldEntity.CheckMark,
  384. RecordMark = oldEntity.RecordMark,
  385. };
  386. foreach (var item in ArrangeLessonTermList)
  387. {
  388. item.DeptNo = newEntity.DeptNo;
  389. item.MajorNo = newEntity.MajorNo;
  390. item.LessonNo = newEntity.LessonNo;
  391. item.LessonName = newEntity.LessonName;
  392. item.TeachClassNo = newEntity.TeachClassNo;
  393. item.TeachClassSn = newEntity.TeachClassSn;
  394. item.EmpNo = newEntity.EmpNo;
  395. item.EmpName = newEntity.EmpName;
  396. item.LessonSortNo = newEntity.LessonSortNo;
  397. item.StuSortNo = newEntity.StuSortNo;
  398. item.JoinLessonNum = newEntity.JoinLessonNum;
  399. item.RelatedClassNo = newEntity.RelatedClassNo;
  400. item.ClassroomNo = newEntity.ClassroomNo;
  401. item.Remark = newEntity.Remark;
  402. item.CheckMark = newEntity.CheckMark;
  403. item.RecordMark = newEntity.RecordMark;
  404. db.Update(item);
  405. }
  406. foreach (var newitem in NewArrangeLessonTermList)
  407. {
  408. newitem.DeptNo = oldEntityTemp.DeptNo;
  409. newitem.MajorNo = oldEntityTemp.MajorNo;
  410. newitem.LessonNo = oldEntityTemp.LessonNo;
  411. newitem.LessonName = oldEntityTemp.LessonName;
  412. newitem.TeachClassNo = oldEntityTemp.TeachClassNo;
  413. newitem.TeachClassSn = oldEntityTemp.TeachClassSn;
  414. newitem.EmpNo = oldEntityTemp.EmpNo;
  415. newitem.EmpName = oldEntityTemp.EmpName;
  416. newitem.LessonSortNo = oldEntityTemp.LessonSortNo;
  417. newitem.StuSortNo = oldEntityTemp.StuSortNo;
  418. newitem.JoinLessonNum = oldEntityTemp.JoinLessonNum;
  419. newitem.RelatedClassNo = oldEntityTemp.RelatedClassNo;
  420. newitem.ClassroomNo = oldEntityTemp.ClassroomNo;
  421. newitem.Remark = oldEntityTemp.Remark;
  422. newitem.CheckMark = oldEntityTemp.CheckMark;
  423. newitem.RecordMark = oldEntityTemp.RecordMark;
  424. db.Update(newitem);
  425. }
  426. }
  427. }
  428. else if (entity.AttemperType == "04")//调课
  429. {
  430. entity.query = db.FindList<ArrangeLessonTermAttrmperChildEntity>($@"select a.*,b.lessonname,b.EmpName,b.empno,c.classname,d.classroomname from ArrangeLessonTermAttrmperChild a
  431. left join arrangelessonterm b on a.LessonId=b.ALTId
  432. left join classinfo c on c.classno=replace(b.teachclassno,b.lessonname,'')
  433. left join classroominfo d on d.classroomno=b.ClassroomNo
  434. where 1=1 and a.AttemperId='{entity.Id}' ").ToList();
  435. foreach (var item in entity.query)
  436. {
  437. string updatesql = "update ArrangeLessonTerm set LessonDate='" + item.NewLessonDate + "',LessonTime='" + item.NewLessonTime + "' where ALTId='" + item.LessonId + "'";
  438. db.ExecuteBySql(updatesql);
  439. }
  440. }
  441. }
  442. //更新课程异动表的审核状态
  443. entity.Status = 1;
  444. entity.CheckStatus = status;
  445. entity.CheckUserId = loginUserInfo.userId;
  446. entity.CheckUserName = loginUserInfo.realName;
  447. entity.CheckTime = now;
  448. db.Update(entity);
  449. }
  450. db.Commit();
  451. }
  452. catch (Exception ex)
  453. {
  454. db.Rollback();
  455. if (ex is ExceptionEx)
  456. {
  457. throw;
  458. }
  459. else
  460. {
  461. throw ExceptionEx.ThrowServiceException(ex);
  462. }
  463. }
  464. }
  465. #endregion
  466. }
  467. }