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.

StuVolunteerService.cs 27 KiB

преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 2 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  1. using Dapper;
  2. using Learun.Application.Organization;
  3. using Learun.DataBase.Repository;
  4. using Learun.Util;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data;
  8. using System.Linq;
  9. using System.Text;
  10. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  11. {
  12. /// <summary>
  13. /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
  14. /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  15. /// 创 建:超级管理员
  16. /// 日 期:2021-12-16 10:14
  17. /// 描 述:长阳迎新
  18. /// </summary>
  19. public class StuVolunteerService : RepositoryFactory
  20. {
  21. #region 获取数据
  22. /// <summary>
  23. /// 获取页面显示列表数据
  24. /// </summary>
  25. /// <param name="pagination">查询参数</param>
  26. /// <param name="queryJson">查询参数</param>
  27. /// <returns></returns>
  28. public IEnumerable<StuVolunteerEntity> GetPageList(Pagination pagination, string queryJson)
  29. {
  30. try
  31. {
  32. var strSql = new StringBuilder();
  33. strSql.Append("SELECT ");
  34. strSql.Append(@" t.* ");
  35. strSql.Append(" FROM StuVolunteer t ");
  36. strSql.Append(" WHERE 1=1 ");
  37. var queryParam = queryJson.ToJObject();
  38. // 虚拟参数
  39. var dp = new DynamicParameters(new { });
  40. if (!queryParam["Address"].IsEmpty())
  41. {
  42. dp.Add("Address", "%" + queryParam["Address"].ToString() + "%", DbType.String);
  43. strSql.Append(" AND t.Address Like @Address ");
  44. }
  45. if (!queryParam["BySchool"].IsEmpty())
  46. {
  47. dp.Add("BySchool", "%" + queryParam["BySchool"].ToString() + "%", DbType.String);
  48. strSql.Append(" AND t.BySchool Like @BySchool ");
  49. }
  50. if (!queryParam["StuName"].IsEmpty())
  51. {
  52. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  53. strSql.Append(" AND t.StuName Like @StuName ");
  54. }
  55. if (!queryParam["StuNo"].IsEmpty())
  56. {
  57. dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String);
  58. strSql.Append(" AND t.StuNo Like @StuNo ");
  59. }
  60. if (!queryParam["StuCode"].IsEmpty())
  61. {
  62. dp.Add("StuCode", "%" + queryParam["StuCode"].ToString() + "%", DbType.String);
  63. strSql.Append(" AND t.StuCode Like @StuCode ");
  64. }
  65. if (!queryParam["Sex"].IsEmpty())
  66. {
  67. dp.Add("Sex", queryParam["Sex"].ToString(), DbType.String);
  68. strSql.Append(" AND t.Sex = @Sex ");
  69. }
  70. if (!queryParam["CardNo"].IsEmpty())
  71. {
  72. dp.Add("CardNo", queryParam["CardNo"].ToString(), DbType.String);
  73. strSql.Append(" AND t.CardNo = @CardNo ");
  74. }
  75. if (!queryParam["ClassNo"].IsEmpty())
  76. {
  77. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  78. strSql.Append(" AND t.ClassNo = @ClassNo ");
  79. }
  80. if (!queryParam["ClassStatus"].IsEmpty())
  81. {
  82. dp.Add("ClassStatus", queryParam["ClassStatus"].ToString(), DbType.String);
  83. strSql.Append(" AND t.ClassStatus = @ClassStatus ");
  84. }
  85. if (!queryParam["StuCodeStatus"].IsEmpty())
  86. {
  87. dp.Add("StuCodeStatus", queryParam["StuCodeStatus"].ToString(), DbType.String);
  88. strSql.Append(" AND t.StuCodeStatus = @StuCodeStatus ");
  89. }
  90. if (!queryParam["MajorNo"].IsEmpty())
  91. {
  92. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  93. strSql.Append(" AND t.MajorNo = @MajorNo ");
  94. }
  95. if (!queryParam["MajorOne"].IsEmpty())
  96. {
  97. dp.Add("MajorOne", queryParam["MajorOne"].ToString(), DbType.String);
  98. strSql.Append(" AND t.MajorOne = @MajorOne ");
  99. }
  100. if (!queryParam["MajorTwo"].IsEmpty())
  101. {
  102. dp.Add("MajorTwo", queryParam["MajorTwo"].ToString(), DbType.String);
  103. strSql.Append(" AND t.MajorTwo = @MajorTwo ");
  104. }
  105. if (!queryParam["MajorThree"].IsEmpty())
  106. {
  107. dp.Add("MajorThree", queryParam["MajorThree"].ToString(), DbType.String);
  108. strSql.Append(" AND t.MajorThree = @MajorThree ");
  109. }
  110. if (!queryParam["SqlParameter"].IsEmpty())
  111. {
  112. strSql.Append(queryParam["SqlParameter"].ToString());
  113. }
  114. return this.BaseRepository("CollegeMIS").FindList<StuVolunteerEntity>(strSql.ToString(), dp, pagination);
  115. }
  116. catch (Exception ex)
  117. {
  118. if (ex is ExceptionEx)
  119. {
  120. throw;
  121. }
  122. else
  123. {
  124. throw ExceptionEx.ThrowServiceException(ex);
  125. }
  126. }
  127. }
  128. /// <summary>
  129. /// 获取StuVolunteer表实体数据
  130. /// </summary>
  131. /// <param name="keyValue">主键</param>
  132. /// <returns></returns>
  133. public StuVolunteerEntity GetStuVolunteerEntity(string keyValue)
  134. {
  135. try
  136. {
  137. return this.BaseRepository("CollegeMIS").FindEntity<StuVolunteerEntity>(keyValue);
  138. }
  139. catch (Exception ex)
  140. {
  141. if (ex is ExceptionEx)
  142. {
  143. throw;
  144. }
  145. else
  146. {
  147. throw ExceptionEx.ThrowServiceException(ex);
  148. }
  149. }
  150. }
  151. /// <summary>
  152. /// 获取专业统计
  153. /// </summary>
  154. /// <param name="pagination">查询参数</param>
  155. /// <param name="queryJson">查询参数</param>
  156. /// <returns></returns>
  157. public IEnumerable<StuVolunteerEntity> GetMajorStatistics(string queryJson)
  158. {
  159. try
  160. {
  161. var strSql = new StringBuilder();
  162. strSql.Append(" SELECT ");
  163. strSql.Append(@" t.* ");
  164. strSql.Append(" FROM StuVolunteer t ");
  165. strSql.Append(" WHERE 1=1 ");
  166. var queryParam = queryJson.ToJObject();
  167. // 虚拟参数
  168. var dp = new DynamicParameters(new { });
  169. if (!queryParam["DeptNo"].IsEmpty())
  170. {
  171. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  172. strSql.Append(" AND t.DeptNo = @DeptNo ");
  173. }
  174. if (!queryParam["Grade"].IsEmpty())
  175. {
  176. dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
  177. strSql.Append(" AND t.Grade = @Grade ");
  178. }
  179. var data = this.BaseRepository("CollegeMIS").FindList<StuVolunteerEntity>(strSql.ToString(), dp);
  180. return data;
  181. }
  182. catch (Exception ex)
  183. {
  184. if (ex is ExceptionEx)
  185. {
  186. throw;
  187. }
  188. else
  189. {
  190. throw ExceptionEx.ThrowServiceException(ex);
  191. }
  192. }
  193. }
  194. #endregion
  195. #region 提交数据
  196. /// <summary>
  197. /// 删除实体数据
  198. /// </summary>
  199. /// <param name="keyValue">主键</param>
  200. public void DeleteEntity(string keyValue)
  201. {
  202. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  203. try
  204. {
  205. //单个删除
  206. //this.BaseRepository("CollegeMIS").Delete<CdMajorEntity>(t => t.ID == keyValue);
  207. //多个删除
  208. var keyValueArr = keyValue.Split(',');
  209. foreach (var item in keyValueArr)
  210. {
  211. db.Delete<StuVolunteerEntity>(t => t.ID == item);
  212. }
  213. db.Commit();
  214. }
  215. catch (Exception ex)
  216. {
  217. if (ex is ExceptionEx)
  218. {
  219. throw;
  220. }
  221. else
  222. {
  223. throw ExceptionEx.ThrowServiceException(ex);
  224. }
  225. }
  226. }
  227. /// <summary>
  228. /// 保存实体数据(新增、修改)
  229. /// </summary>
  230. /// <param name="keyValue">主键</param>
  231. /// <param name="entity">实体</param>
  232. public void SaveEntity(string keyValue, StuVolunteerEntity entity)
  233. {
  234. try
  235. {
  236. if (!string.IsNullOrEmpty(keyValue))
  237. {
  238. entity.Modify(keyValue);
  239. this.BaseRepository("CollegeMIS").Update(entity);
  240. }
  241. else
  242. {
  243. entity.Create();
  244. entity.IsOurSchool = false;
  245. entity.IsIntention = false;
  246. this.BaseRepository("CollegeMIS").Insert(entity);
  247. }
  248. }
  249. catch (Exception ex)
  250. {
  251. if (ex is ExceptionEx)
  252. {
  253. throw;
  254. }
  255. else
  256. {
  257. throw ExceptionEx.ThrowServiceException(ex);
  258. }
  259. }
  260. }
  261. /// <summary>
  262. /// 分班
  263. /// </summary>
  264. /// <param name="keyValue"></param>
  265. /// <param name="ClassNo"></param>
  266. public void SaveClassForm(string keyValue, string ClassNo)
  267. {
  268. try
  269. {
  270. var classinfo = this.BaseRepository("CollegeMIS").FindEntity<ClassInfoEntity>(x => x.ClassNo == ClassNo);
  271. if (classinfo != null)
  272. {
  273. var arr = keyValue.Split(',').ToList();
  274. foreach (var id in arr)
  275. {
  276. var stuNo = GetStuNo();
  277. string sql = $"update StuVolunteer set StuNo='{stuNo}' ,ClassNo='{ClassNo}',ClassStatus=0 where ID='{id}' and (StuNo is null or len(StuNo)=0); update StuVolunteer set ClassNo='{ClassNo}',ClassStatus=0 where ID='{id}' and (StuNo is not null or len(StuNo)>0)";
  278. this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
  279. }
  280. }
  281. }
  282. catch (Exception ex)
  283. {
  284. if (ex is ExceptionEx)
  285. {
  286. throw;
  287. }
  288. else
  289. {
  290. throw ExceptionEx.ThrowServiceException(ex);
  291. }
  292. }
  293. }
  294. /// <summary>
  295. /// 审核分班
  296. /// </summary>
  297. /// <param name="keyValue"></param>
  298. /// <param name="ClassStatus">分班是否审核通过</param>
  299. public void CheckForm(string keyValue, int ClassStatus)
  300. {
  301. try
  302. {
  303. if (keyValue.Contains(","))
  304. {
  305. keyValue = string.Join("','", keyValue.Split(','));
  306. }
  307. string sql = $"update StuVolunteer set ClassStatus={ClassStatus} where ID in ('{keyValue}')";
  308. this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
  309. }
  310. catch (Exception ex)
  311. {
  312. if (ex is ExceptionEx)
  313. {
  314. throw;
  315. }
  316. else
  317. {
  318. throw ExceptionEx.ThrowServiceException(ex);
  319. }
  320. }
  321. }
  322. /// <summary>
  323. /// 获取学号
  324. /// </summary>
  325. /// <returns></returns>
  326. private string GetStuNo()
  327. {
  328. //当前学年
  329. var year = Common.GetSemesterAndYear().AcademicYearShort.Substring(0, 2);
  330. var StuNo = year + "3642000004";
  331. var maxSql = $"select Max(StuNo) as StuNo from StuVolunteer where StuNo like '{StuNo}%'";
  332. var maxStuNo = this.BaseRepository("CollegeMIS").FindObject(maxSql);
  333. if (maxStuNo == null || string.IsNullOrEmpty(maxStuNo.ToString()))
  334. {
  335. StuNo = StuNo + "00001";
  336. }
  337. else
  338. {
  339. int lastNum = int.Parse(maxStuNo.ToString().Substring(maxStuNo.ToString().Length - 5, 5));
  340. lastNum++;
  341. StuNo = StuNo + lastNum.ToString("00000");
  342. }
  343. return StuNo;
  344. }
  345. /// <summary>
  346. /// 生成学籍
  347. /// </summary>
  348. public void GenerateStu()
  349. {
  350. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  351. try
  352. {
  353. //只生成分班审核通过
  354. string updSql = $"update [dbo].[StuVolunteer] set StuCode='G'+CardNo, StuCodeStatus=1 where ClassStatus=1";
  355. db.ExecuteBySql(updSql);
  356. string addSql = @"insert into StuInfoBasic (
  357. Stuid,StuNo,StuCode,ClassNo,StuName,GenderNo,DeptNo,MajorNo,IdentityCardNo,ExamScore,ProvinceCode,AdmissionNo,F_SchoolId,Grade
  358. )
  359. select newid(),StuNo,'G'+CardNo,ClassNo,StuName,Sex,DeptNo,MajorNo,CardNo,StuScore,ProvinceCode,ExamNo,F_SchoolId,Grade
  360. from StuVolunteer t where t.ClassStatus=1
  361. and t.StuNo not in (select b.StuNo from StuInfoBasic b where b.StuNo=t.StuNo) ";
  362. db.ExecuteBySql(addSql);
  363. db.Commit();
  364. }
  365. catch (Exception ex)
  366. {
  367. if (ex is ExceptionEx)
  368. {
  369. throw;
  370. }
  371. else
  372. {
  373. throw ExceptionEx.ThrowServiceException(ex);
  374. }
  375. }
  376. }
  377. #endregion
  378. #region 扩展代码
  379. /// <summary>
  380. /// 去重
  381. /// </summary>
  382. /// <param name="H_SchoolNo">初中学号</param>
  383. /// <param name="ApplyNo">报名号</param>
  384. /// <param name="CardNo">身份证号</param>
  385. /// <returns></returns>
  386. public List<StuVolunteerEntity> GetRepetitions(string H_SchoolNo, string ApplyNo, string CardNo)
  387. {
  388. try
  389. {
  390. return this.BaseRepository("CollegeMIS").FindList<StuVolunteerEntity>(x =>
  391. x.H_SchoolNo == H_SchoolNo || x.ApplyNo == ApplyNo || x.CardNo == CardNo).ToList();
  392. }
  393. catch (Exception e)
  394. {
  395. Console.WriteLine(e);
  396. throw;
  397. }
  398. }
  399. /// <summary>
  400. /// 标注数据
  401. /// </summary>
  402. /// <param name="keyValue">主键</param>
  403. public void LabelEntity(string keyValue)
  404. {
  405. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  406. try
  407. {
  408. var keyValueArr = keyValue.Split(',');
  409. foreach (var item in keyValueArr)
  410. {
  411. var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
  412. entity.IsIntention = true;
  413. db.Update(entity);
  414. }
  415. db.Commit();
  416. }
  417. catch (Exception ex)
  418. {
  419. if (ex is ExceptionEx)
  420. {
  421. throw;
  422. }
  423. else
  424. {
  425. throw ExceptionEx.ThrowServiceException(ex);
  426. }
  427. }
  428. }
  429. /// <summary>
  430. /// 取消标注数据
  431. /// </summary>
  432. /// <param name="keyValue">主键</param>
  433. public void CancelLabel(string keyValue)
  434. {
  435. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  436. try
  437. {
  438. var keyValueArr = keyValue.Split(',');
  439. foreach (var item in keyValueArr)
  440. {
  441. var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
  442. entity.IsIntention = false;
  443. db.Update(entity);
  444. }
  445. db.Commit();
  446. }
  447. catch (Exception ex)
  448. {
  449. if (ex is ExceptionEx)
  450. {
  451. throw;
  452. }
  453. else
  454. {
  455. throw ExceptionEx.ThrowServiceException(ex);
  456. }
  457. }
  458. }
  459. /// <summary>
  460. /// 志愿填报
  461. /// </summary>
  462. /// <param name="keyValue"></param>
  463. /// <param name="entity"></param>
  464. public void IsOurSchool(string keyValue, StuVolunteerEntity entity)
  465. {
  466. try
  467. {
  468. if (!string.IsNullOrEmpty(keyValue))
  469. {
  470. entity.Modify(keyValue);
  471. this.BaseRepository("CollegeMIS").Update(entity);
  472. }
  473. else
  474. {
  475. entity.Create();
  476. this.BaseRepository("CollegeMIS").Insert(entity);
  477. }
  478. }
  479. catch (Exception ex)
  480. {
  481. if (ex is ExceptionEx)
  482. {
  483. throw;
  484. }
  485. else
  486. {
  487. throw ExceptionEx.ThrowServiceException(ex);
  488. }
  489. }
  490. }
  491. /// <summary>
  492. /// 录取学生
  493. /// </summary>
  494. /// <param name="keyValue">主键</param>
  495. public void EnrollEntity(string keyValue)
  496. {
  497. var dbMISName = this.BaseRepository("BaseDb").FindList<CompanyEntity>().FirstOrDefault();
  498. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  499. try
  500. {
  501. var keyValueArr = keyValue.Split(',');
  502. foreach (var item in keyValueArr)
  503. {
  504. var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
  505. entity.IsEnroll = true;
  506. entity.F_SchoolId = dbMISName.F_CompanyId;
  507. db.Update(entity);
  508. }
  509. db.Commit();
  510. }
  511. catch (Exception ex)
  512. {
  513. if (ex is ExceptionEx)
  514. {
  515. throw;
  516. }
  517. else
  518. {
  519. throw ExceptionEx.ThrowServiceException(ex);
  520. }
  521. }
  522. }
  523. /// <summary>
  524. /// 取消录取学生
  525. /// </summary>
  526. /// <param name="keyValue">主键</param>
  527. public void CancelEntity(string keyValue)
  528. {
  529. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  530. try
  531. {
  532. var keyValueArr = keyValue.Split(',');
  533. foreach (var item in keyValueArr)
  534. {
  535. var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
  536. entity.IsEnroll = false;
  537. db.Update(entity);
  538. }
  539. db.Commit();
  540. }
  541. catch (Exception ex)
  542. {
  543. if (ex is ExceptionEx)
  544. {
  545. throw;
  546. }
  547. else
  548. {
  549. throw ExceptionEx.ThrowServiceException(ex);
  550. }
  551. }
  552. }
  553. /// <summary>
  554. /// 保存实体数据(新增、修改)
  555. /// </summary>
  556. /// <param name="keyValue">主键</param>
  557. /// <param name="entity">实体</param>
  558. public void DraftForm(string keyValue, StuVolunteerEntity entity)
  559. {
  560. try
  561. {
  562. entity.Modify(keyValue);
  563. entity.UpdateTime = DateTime.Now;
  564. }
  565. catch (Exception ex)
  566. {
  567. if (ex is ExceptionEx)
  568. {
  569. throw;
  570. }
  571. else
  572. {
  573. throw ExceptionEx.ThrowServiceException(ex);
  574. }
  575. }
  576. }
  577. /// <summary>
  578. /// 保存实体数据(新增、修改)
  579. /// </summary>
  580. /// <param name="keyValue">主键</param>
  581. /// <param name="entity">实体</param>
  582. public void SubmitForm(string keyValue, StuVolunteerEntity entity)
  583. {
  584. try
  585. {
  586. entity.Modify(keyValue);
  587. this.BaseRepository("CollegeMIS").Update(entity);
  588. }
  589. catch (Exception ex)
  590. {
  591. if (ex is ExceptionEx)
  592. {
  593. throw;
  594. }
  595. else
  596. {
  597. throw ExceptionEx.ThrowServiceException(ex);
  598. }
  599. }
  600. }
  601. /// <summary>
  602. /// 获取StuVolunteer表实体数据
  603. /// </summary>
  604. /// <param name="CardNo">身份证号</param>
  605. /// <returns></returns>
  606. public StuVolunteerEntity GetEntityByCardNo(string CardNo)
  607. {
  608. try
  609. {
  610. return this.BaseRepository("CollegeMIS").FindEntity<StuVolunteerEntity>(x => x.CardNo == CardNo);
  611. }
  612. catch (Exception ex)
  613. {
  614. if (ex is ExceptionEx)
  615. {
  616. throw;
  617. }
  618. else
  619. {
  620. throw ExceptionEx.ThrowServiceException(ex);
  621. }
  622. }
  623. }
  624. /// <summary>
  625. /// 标注数据
  626. /// </summary>
  627. /// <param name="keyValue">主键</param>
  628. public void JoinEntity(string keyValue)
  629. {
  630. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  631. try
  632. {
  633. var keyValueArr = keyValue.Split(',');
  634. foreach (var item in keyValueArr)
  635. {
  636. var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
  637. entity.IsOurSchool = true;
  638. db.Update(entity);
  639. }
  640. db.Commit();
  641. }
  642. catch (Exception ex)
  643. {
  644. if (ex is ExceptionEx)
  645. {
  646. throw;
  647. }
  648. else
  649. {
  650. throw ExceptionEx.ThrowServiceException(ex);
  651. }
  652. }
  653. }
  654. /// <summary>
  655. /// 取消标注数据
  656. /// </summary>
  657. /// <param name="keyValue">主键</param>
  658. public void CanJoin(string keyValue)
  659. {
  660. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  661. try
  662. {
  663. var keyValueArr = keyValue.Split(',');
  664. foreach (var item in keyValueArr)
  665. {
  666. var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
  667. entity.IsOurSchool = false;
  668. db.Update(entity);
  669. }
  670. db.Commit();
  671. }
  672. catch (Exception ex)
  673. {
  674. if (ex is ExceptionEx)
  675. {
  676. throw;
  677. }
  678. else
  679. {
  680. throw ExceptionEx.ThrowServiceException(ex);
  681. }
  682. }
  683. }
  684. /// <summary>
  685. /// 专业审核
  686. /// </summary>
  687. /// <param name="keyValue"></param>
  688. /// <param name="ClassStatus">状态</param>
  689. public void MajorForm(string keyValue, int ClassStatus)
  690. {
  691. try
  692. {
  693. if (keyValue.Contains(","))
  694. {
  695. keyValue = string.Join("','", keyValue.Split(','));
  696. }
  697. string sql = $"update StuVolunteer set MajorStatus={ClassStatus} where ID in ('{keyValue}')";
  698. this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
  699. }
  700. catch (Exception ex)
  701. {
  702. if (ex is ExceptionEx)
  703. {
  704. throw;
  705. }
  706. else
  707. {
  708. throw ExceptionEx.ThrowServiceException(ex);
  709. }
  710. }
  711. }
  712. /// <summary>
  713. /// 专业注册
  714. /// </summary>
  715. /// <param name="keyValue"></param>
  716. /// <param name="ClassNo"></param>
  717. public void SaveMajorForm(string keyValue, string MajorNo)
  718. {
  719. try
  720. {
  721. string DeptNo = "";
  722. var CdMajorList = this.BaseRepository("CollegeMIS").FindEntity<CdMajorEntity>(x => x.CheckMark == true && x.MajorNo == MajorNo);
  723. if (CdMajorList != null)
  724. {
  725. DeptNo = CdMajorList.DeptNo;
  726. }
  727. var Majorinfo = this.BaseRepository("CollegeMIS").FindEntity<CdMajorEntity>(x => x.MajorNo == MajorNo);
  728. if (Majorinfo != null)
  729. {
  730. var arr = keyValue.Split(',').ToList();
  731. foreach (var id in arr)
  732. {
  733. string sql = $"update StuVolunteer set MajorNo = '{MajorNo}',ClassNo = '',DeptNo = '{DeptNo}', MajorStatus = 0 ,ClassStatus = 0 where ID='{id}' and (StuNo is null or len(StuNo)=0); update StuVolunteer set MajorNo='{MajorNo}', ClassNo = '',DeptNo = '{DeptNo}', MajorStatus =0,ClassStatus=0 where ID='{id}' and (StuNo is not null or len(StuNo)>0)";
  734. this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
  735. }
  736. }
  737. }
  738. catch (Exception ex)
  739. {
  740. if (ex is ExceptionEx)
  741. {
  742. throw;
  743. }
  744. else
  745. {
  746. throw ExceptionEx.ThrowServiceException(ex);
  747. }
  748. }
  749. }
  750. #endregion
  751. }
  752. public class MajorStatistics
  753. {
  754. /// <summary>
  755. /// 专业部
  756. /// </summary>
  757. public string DeptNo { get; set; }
  758. /// <summary>
  759. /// 专业部
  760. /// </summary>
  761. public string DeptName { get; set; }
  762. /// <summary>
  763. /// 专业名称
  764. /// </summary>
  765. public string MajorNo { get; set; }
  766. /// <summary>
  767. /// 专业名称
  768. /// </summary>
  769. public string MajorName { get; set; }
  770. /// <summary>
  771. /// 年级
  772. /// </summary>
  773. public string Grade { get; set; }
  774. /// <summary>
  775. /// 总人数
  776. /// </summary>
  777. public string ZRNum { get; set; }
  778. /// <summary>
  779. /// 录取人数
  780. /// </summary>
  781. public int? EnrollNum { get; set; }
  782. /// <summary>
  783. /// 报名人数
  784. /// </summary>
  785. public int? WillNum { get; set; }
  786. /// <summary>
  787. /// 男生
  788. /// </summary>
  789. public int? ManNum { get; set; }
  790. /// <summary>
  791. /// 女生
  792. /// </summary>
  793. public int? WoManNum { get; set; }
  794. }
  795. }