您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

2948 行
108 KiB

  1. using Dapper;
  2. using Learun.Application.Organization;
  3. using Learun.Application.TwoDevelopment.LogisticsManagement;
  4. using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement;
  5. using Learun.DataBase.Repository;
  6. using Learun.Util;
  7. using Newtonsoft.Json;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Linq;
  12. using System.Text;
  13. using Learun.Application.Base.SystemModule;
  14. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  15. {
  16. /// <summary>
  17. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  18. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  19. /// 创 建:超级管理员
  20. /// 日 期:2019-07-17 11:20
  21. /// 描 述:新生录取管理
  22. /// </summary>
  23. public class StuEnrollService : RepositoryFactory
  24. {
  25. #region 获取数据
  26. /// <summary>
  27. /// 获取页面显示列表数据
  28. /// <summary>
  29. /// <param name="queryJson">查询参数</param>
  30. /// <returns></returns>
  31. public IEnumerable<StuEnrollEntity> GetPageList(Pagination pagination, string queryJson)
  32. {
  33. try
  34. {
  35. var strSql = new StringBuilder();
  36. strSql.Append("SELECT ");
  37. strSql.Append(@"
  38. t.StuId,
  39. t.RegistrationNo,
  40. t.StuName,
  41. t.Gender,
  42. t.Nationals,
  43. t.Birthday,
  44. t.IDCard,
  45. t.Political,
  46. t.FreshType,
  47. t.ResidenceType,
  48. t.StuType,
  49. t.ResidenceAddress,
  50. t.NonNative,
  51. t.FromSchool,
  52. t.HomeAddress,
  53. t.FirstGuardian,
  54. t.FirstRelationship,
  55. t.FirstUnits,
  56. t.FirstMobile,
  57. t.SecondGuardian,
  58. t.SecondRelationship,
  59. t.SecondUnits,
  60. t.SecondMobile,
  61. t.Acceptance,
  62. t.Recipient,
  63. t.ZipCode,
  64. t.MedicalHistory,
  65. t.AdditionalCare,
  66. t.MajorNo,
  67. t.MajorName,
  68. t.Admissions,
  69. t.IsAccommodation,
  70. t.ExamRegistration,
  71. t.ClassNo,
  72. t.DormitoryNo,
  73. t.DormitoryName,
  74. t.IsPay,
  75. t.IsCheckIn,
  76. t.IsCheckIn2,
  77. t.EnrollType,
  78. t.IsSubsidize1,
  79. t.IsSubsidize12,
  80. t.IsMilitary,
  81. t.IsMilitary2,
  82. t.IsQuantity,
  83. t.IsTakeCloths,
  84. t.IsMug,
  85. t.IsGetBeddingArticle,
  86. t.IsReport,
  87. t.EductionalSystme,
  88. t.CheckInUrl,
  89. t.SubsidizeUrl,
  90. t.MilitaryUrl,
  91. t.AddTime,
  92. t.StuNo,
  93. t.StuStatusNo,
  94. t.PayAmount,
  95. t.ActualPayAmount,
  96. t.DeptNo,
  97. t.Grade,
  98. t.THROUGHPROJECT,
  99. t.Status,
  100. t.IsSupport,t.SupportGrade,t.SupportType,t.SupportType1,t.SupportCondition,t.SupportRemarks,
  101. t.SupportTime,t.SupportUserName,
  102. t.IsSupportChange,t.SupportBank,t.SupportBankCard,t.SupportAmount,t.SupportStatus,t.SupportChangeRemark,t.SupportProcessId,t.IsManualSubsidize,
  103. t.SupportChangeTime,t.SupportChangeUserName
  104. ");
  105. strSql.Append(" FROM StuEnroll t ");
  106. strSql.Append(" WHERE 1=1 ");
  107. var queryParam = queryJson.ToJObject();
  108. // 虚拟参数
  109. var dp = new DynamicParameters(new { });
  110. if (!queryParam["IDCard"].IsEmpty())
  111. {
  112. dp.Add("IDCard", "%" + queryParam["IDCard"].ToString() + "%", DbType.String);
  113. strSql.Append(" AND t.IDCard Like @IDCard ");
  114. }
  115. if (!queryParam["Year"].IsEmpty())
  116. {
  117. dp.Add("Year", "%" + queryParam["Year"].ToString() + "%", DbType.String);
  118. strSql.Append(" AND t.ClassNo Like @Year ");
  119. }
  120. //sql条件
  121. if (!queryParam["SqlParameter"].IsEmpty())
  122. {
  123. strSql.Append(queryParam["SqlParameter"].ToString());
  124. }
  125. if (!queryParam["RegistrationNo"].IsEmpty())
  126. {
  127. dp.Add("RegistrationNo", "%" + queryParam["RegistrationNo"].ToString() + "%", DbType.String);
  128. strSql.Append(" AND t.RegistrationNo Like @RegistrationNo ");
  129. }
  130. if (!queryParam["Admissions"].IsEmpty())
  131. {
  132. dp.Add("Admissions", queryParam["Admissions"].ToString(), DbType.String);
  133. strSql.Append(" AND t.Admissions = @Admissions ");
  134. }
  135. if (!queryParam["DeptNo"].IsEmpty())
  136. {
  137. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  138. strSql.Append(" AND t.DeptNo = @DeptNo ");
  139. }
  140. if (!queryParam["MajorNo"].IsEmpty())
  141. {
  142. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  143. strSql.Append(" AND t.MajorNo = @MajorNo ");
  144. }
  145. if (!queryParam["Grade"].IsEmpty())
  146. {
  147. dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
  148. strSql.Append(" AND t.Grade = @Grade ");
  149. }
  150. if (!queryParam["ClassNo"].IsEmpty())
  151. {
  152. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  153. strSql.Append(" AND t.ClassNo = @ClassNo ");
  154. }
  155. if (!queryParam["IsAllocation"].IsEmpty())
  156. {
  157. var IsAllocation = Convert.ToBoolean(queryParam["IsAllocation"].ToString());
  158. if (IsAllocation)
  159. {
  160. strSql.Append(" AND (t.ClassNo IS NOT NULL AND t.ClassNo<>'')");
  161. }
  162. else
  163. {
  164. strSql.Append(" AND (t.ClassNo IS NULL OR t.ClassNo='')");
  165. }
  166. }
  167. if (!queryParam["IsAllocationDormitory"].IsEmpty())
  168. {
  169. var IsAllocation = Convert.ToBoolean(queryParam["IsAllocationDormitory"].ToString());
  170. if (IsAllocation)
  171. {
  172. strSql.Append(" AND (t.DormitoryNo IS NOT NULL AND t.DormitoryNo<>'')");
  173. }
  174. else
  175. {
  176. strSql.Append(" AND (t.DormitoryNo IS NULL OR t.DormitoryNo='')");
  177. }
  178. }
  179. if (!queryParam["StuName"].IsEmpty())
  180. {
  181. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  182. strSql.Append(" AND t.StuName Like @StuName ");
  183. }
  184. if (!queryParam["Status"].IsEmpty())
  185. {
  186. dp.Add("Status", queryParam["Status"].ToString(), DbType.String);
  187. strSql.Append(" AND t.Status = @Status ");
  188. }
  189. if (!queryParam["Gender"].IsEmpty())
  190. {
  191. dp.Add("Gender", Convert.ToBoolean(queryParam["Gender"].ToString()), DbType.Boolean);
  192. strSql.Append(" AND t.Gender = @Gender ");
  193. }
  194. if (!queryParam["PayList"].IsEmpty())
  195. {
  196. strSql.Append(" AND t.Status>=3 AND t.Status<6 ");
  197. }
  198. if (!queryParam["IsCheckIn"].IsEmpty())
  199. {
  200. if (queryParam["IsCheckIn"].ToString() == "null")
  201. {
  202. strSql.Append(" AND t.IsCheckIn is null ");
  203. }
  204. else
  205. {
  206. dp.Add("IsCheckIn", queryParam["IsCheckIn"].ToString(), DbType.String);
  207. strSql.Append(" AND t.IsCheckIn = @IsCheckIn ");
  208. }
  209. }
  210. if (!queryParam["IsSubsidize1"].IsEmpty())
  211. {
  212. if (queryParam["IsSubsidize1"].ToString() == "null")
  213. {
  214. strSql.Append(" AND t.IsSubsidize1 is null ");
  215. }
  216. else
  217. {
  218. dp.Add("IsSubsidize1", queryParam["IsSubsidize1"].ToString(), DbType.String);
  219. strSql.Append(" AND t.IsSubsidize1 = @IsSubsidize1 ");
  220. }
  221. }
  222. if (!queryParam["IsMilitary"].IsEmpty())
  223. {
  224. if (queryParam["IsMilitary"].ToString() == "null")
  225. {
  226. strSql.Append(" AND t.IsMilitary is null ");
  227. }
  228. else
  229. {
  230. dp.Add("IsMilitary", queryParam["IsMilitary"].ToString(), DbType.String);
  231. strSql.Append(" AND t.IsMilitary = @IsMilitary ");
  232. }
  233. }
  234. if (!queryParam["IsPay"].IsEmpty())
  235. {
  236. if (queryParam["IsPay"].ToString() == "null")
  237. {
  238. strSql.Append(" AND t.IsPay is null ");
  239. }
  240. else
  241. {
  242. dp.Add("IsPay", queryParam["IsPay"].ToString(), DbType.String);
  243. strSql.Append(" AND t.IsPay = @IsPay ");
  244. }
  245. }
  246. if (!queryParam["IsMug"].IsEmpty())
  247. {
  248. if (queryParam["IsMug"].ToString() == "null")
  249. {
  250. strSql.Append(" AND t.IsMug is null ");
  251. }
  252. else
  253. {
  254. dp.Add("IsMug", queryParam["IsMug"].ToString(), DbType.String);
  255. strSql.Append(" AND t.IsMug = @IsMug ");
  256. }
  257. }
  258. if (!queryParam["IsTakeCloths"].IsEmpty())
  259. {
  260. if (queryParam["IsTakeCloths"].ToString() == "null")
  261. {
  262. strSql.Append(" AND t.IsTakeCloths is null ");
  263. }
  264. else
  265. {
  266. dp.Add("IsTakeCloths", queryParam["IsTakeCloths"].ToString(), DbType.String);
  267. strSql.Append(" AND t.IsTakeCloths = @IsTakeCloths ");
  268. }
  269. }
  270. if (!queryParam["IsQuantity"].IsEmpty())
  271. {
  272. if (queryParam["IsQuantity"].ToString() == "null")
  273. {
  274. strSql.Append(" AND t.IsQuantity is null ");
  275. }
  276. else
  277. {
  278. dp.Add("IsQuantity", queryParam["IsQuantity"].ToString(), DbType.String);
  279. strSql.Append(" AND t.IsQuantity = @IsQuantity ");
  280. }
  281. }
  282. if (!queryParam["IsGetBeddingArticle"].IsEmpty())
  283. {
  284. if (queryParam["IsGetBeddingArticle"].ToString() == "null")
  285. {
  286. strSql.Append(" AND t.IsGetBeddingArticle is null ");
  287. }
  288. else
  289. {
  290. dp.Add("IsGetBeddingArticle", queryParam["IsGetBeddingArticle"].ToString(), DbType.String);
  291. strSql.Append(" AND t.IsGetBeddingArticle = @IsGetBeddingArticle ");
  292. }
  293. }
  294. //获取班主任所带的班级
  295. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "班主任")?.F_RoleId;
  296. var userInfo = LoginUserInfo.Get();
  297. var sqlClasses = "";
  298. if (!string.IsNullOrEmpty(roleid))
  299. {
  300. if (userInfo.roleIds.Contains(roleid))
  301. {
  302. var classes = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(a => a.ClassDiredctorNo == userInfo.account).Select(a => a.ClassNo).ToList();
  303. if (classes != null)
  304. {
  305. foreach (var item in classes)
  306. {
  307. sqlClasses += $"'{item}',";
  308. }
  309. sqlClasses = sqlClasses.TrimEnd(',');
  310. }
  311. }
  312. if (!string.IsNullOrEmpty(sqlClasses))
  313. {
  314. strSql.Append($" AND t.ClassNo IN({sqlClasses})");
  315. }
  316. }
  317. return this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(strSql.ToString(), dp, pagination);
  318. }
  319. catch (Exception ex)
  320. {
  321. if (ex is ExceptionEx)
  322. {
  323. throw;
  324. }
  325. else
  326. {
  327. throw ExceptionEx.ThrowServiceException(ex);
  328. }
  329. }
  330. }
  331. /// <summary>
  332. ///
  333. /// </summary>
  334. /// <param name="queryJson">查询条件</param>
  335. /// <param name="type">1:军训;2:学费</param>
  336. /// <returns></returns>
  337. internal object GetMilitaryStatistics(string queryJson, int type)
  338. {
  339. //try
  340. //{
  341. // var data = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>()
  342. // //.Where(a => string.IsNullOrEmpty(DeptNo) || a.DeptNo == DeptNo)
  343. // //.Where(a => string.IsNullOrEmpty(MajorNo) || a.MajorNo == MajorNo)
  344. // //.Where(a => string.IsNullOrEmpty(ClassNo) || a.ClassNo == ClassNo)
  345. // ;
  346. // var aa = data.Count(a => a.IsMilitary == true);
  347. // var bb = data.Count(a => a.IsMilitary == false);
  348. // return new { aa, bb };
  349. //}
  350. try
  351. {
  352. var strSql = new StringBuilder();
  353. strSql.Append("SELECT ");
  354. strSql.Append(@"
  355. t.StuId,
  356. t.StuName,IsMilitary,IsSubsidize1
  357. ");
  358. strSql.Append(" FROM StuEnroll t ");
  359. strSql.Append(" WHERE 1=1 ");
  360. var queryParam = queryJson.ToJObject();
  361. // 虚拟参数
  362. var dp = new DynamicParameters(new { });
  363. if (!queryParam["IDCard"].IsEmpty())
  364. {
  365. dp.Add("IDCard", "%" + queryParam["IDCard"].ToString() + "%", DbType.String);
  366. strSql.Append(" AND t.IDCard Like @IDCard ");
  367. }
  368. if (!queryParam["Year"].IsEmpty())
  369. {
  370. dp.Add("Year", "%" + queryParam["Year"].ToString() + "%", DbType.String);
  371. strSql.Append(" AND t.ClassNo Like @Year ");
  372. }
  373. //sql条件
  374. if (!queryParam["SqlParameter"].IsEmpty())
  375. {
  376. strSql.Append(queryParam["SqlParameter"].ToString());
  377. }
  378. if (!queryParam["RegistrationNo"].IsEmpty())
  379. {
  380. dp.Add("RegistrationNo", "%" + queryParam["RegistrationNo"].ToString() + "%", DbType.String);
  381. strSql.Append(" AND t.RegistrationNo Like @RegistrationNo ");
  382. }
  383. if (!queryParam["Admissions"].IsEmpty())
  384. {
  385. dp.Add("Admissions", queryParam["Admissions"].ToString(), DbType.String);
  386. strSql.Append(" AND t.Admissions = @Admissions ");
  387. }
  388. if (!queryParam["DeptNo"].IsEmpty())
  389. {
  390. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  391. strSql.Append(" AND t.DeptNo = @DeptNo ");
  392. }
  393. if (!queryParam["MajorNo"].IsEmpty())
  394. {
  395. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  396. strSql.Append(" AND t.MajorNo = @MajorNo ");
  397. }
  398. if (!queryParam["Grade"].IsEmpty())
  399. {
  400. dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
  401. strSql.Append(" AND t.Grade = @Grade ");
  402. }
  403. if (!queryParam["ClassNo"].IsEmpty())
  404. {
  405. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  406. strSql.Append(" AND t.ClassNo = @ClassNo ");
  407. }
  408. if (!queryParam["IsAllocation"].IsEmpty())
  409. {
  410. var IsAllocation = Convert.ToBoolean(queryParam["IsAllocation"].ToString());
  411. if (IsAllocation)
  412. {
  413. strSql.Append(" AND (t.ClassNo IS NOT NULL AND t.ClassNo<>'')");
  414. }
  415. else
  416. {
  417. strSql.Append(" AND (t.ClassNo IS NULL OR t.ClassNo='')");
  418. }
  419. }
  420. if (!queryParam["IsAllocationDormitory"].IsEmpty())
  421. {
  422. var IsAllocation = Convert.ToBoolean(queryParam["IsAllocationDormitory"].ToString());
  423. if (IsAllocation)
  424. {
  425. strSql.Append(" AND (t.DormitoryNo IS NOT NULL AND t.DormitoryNo<>'')");
  426. }
  427. else
  428. {
  429. strSql.Append(" AND (t.DormitoryNo IS NULL OR t.DormitoryNo='')");
  430. }
  431. }
  432. if (!queryParam["StuName"].IsEmpty())
  433. {
  434. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  435. strSql.Append(" AND t.StuName Like @StuName ");
  436. }
  437. if (!queryParam["Status"].IsEmpty())
  438. {
  439. dp.Add("Status", queryParam["Status"].ToString(), DbType.String);
  440. strSql.Append(" AND t.Status = @Status ");
  441. }
  442. if (!queryParam["Gender"].IsEmpty())
  443. {
  444. dp.Add("Gender", Convert.ToBoolean(queryParam["Gender"].ToString()), DbType.Boolean);
  445. strSql.Append(" AND t.Gender = @Gender ");
  446. }
  447. if (!queryParam["PayList"].IsEmpty())
  448. {
  449. strSql.Append(" AND t.Status>=3 AND t.Status<6 ");
  450. }
  451. if (!queryParam["IsCheckIn"].IsEmpty())
  452. {
  453. if (queryParam["IsCheckIn"].ToString() == "null")
  454. {
  455. strSql.Append(" AND t.IsCheckIn is null ");
  456. }
  457. else
  458. {
  459. dp.Add("IsCheckIn", queryParam["IsCheckIn"].ToString(), DbType.String);
  460. strSql.Append(" AND t.IsCheckIn = @IsCheckIn ");
  461. }
  462. }
  463. if (!queryParam["IsSubsidize1"].IsEmpty())
  464. {
  465. if (queryParam["IsSubsidize1"].ToString() == "null")
  466. {
  467. strSql.Append(" AND t.IsSubsidize1 is null ");
  468. }
  469. else
  470. {
  471. dp.Add("IsSubsidize1", queryParam["IsSubsidize1"].ToString(), DbType.String);
  472. strSql.Append(" AND t.IsSubsidize1 = @IsSubsidize1 ");
  473. }
  474. }
  475. if (!queryParam["IsMilitary"].IsEmpty())
  476. {
  477. if (queryParam["IsMilitary"].ToString() == "null")
  478. {
  479. strSql.Append(" AND t.IsMilitary is null ");
  480. }
  481. else
  482. {
  483. dp.Add("IsMilitary", queryParam["IsMilitary"].ToString(), DbType.String);
  484. strSql.Append(" AND t.IsMilitary = @IsMilitary ");
  485. }
  486. }
  487. if (!queryParam["IsPay"].IsEmpty())
  488. {
  489. if (queryParam["IsPay"].ToString() == "null")
  490. {
  491. strSql.Append(" AND t.IsPay is null ");
  492. }
  493. else
  494. {
  495. dp.Add("IsPay", queryParam["IsPay"].ToString(), DbType.String);
  496. strSql.Append(" AND t.IsPay = @IsPay ");
  497. }
  498. }
  499. if (!queryParam["IsMug"].IsEmpty())
  500. {
  501. if (queryParam["IsMug"].ToString() == "null")
  502. {
  503. strSql.Append(" AND t.IsMug is null ");
  504. }
  505. else
  506. {
  507. dp.Add("IsMug", queryParam["IsMug"].ToString(), DbType.String);
  508. strSql.Append(" AND t.IsMug = @IsMug ");
  509. }
  510. }
  511. if (!queryParam["IsTakeCloths"].IsEmpty())
  512. {
  513. if (queryParam["IsTakeCloths"].ToString() == "null")
  514. {
  515. strSql.Append(" AND t.IsTakeCloths is null ");
  516. }
  517. else
  518. {
  519. dp.Add("IsTakeCloths", queryParam["IsTakeCloths"].ToString(), DbType.String);
  520. strSql.Append(" AND t.IsTakeCloths = @IsTakeCloths ");
  521. }
  522. }
  523. if (!queryParam["IsQuantity"].IsEmpty())
  524. {
  525. if (queryParam["IsQuantity"].ToString() == "null")
  526. {
  527. strSql.Append(" AND t.IsQuantity is null ");
  528. }
  529. else
  530. {
  531. dp.Add("IsQuantity", queryParam["IsQuantity"].ToString(), DbType.String);
  532. strSql.Append(" AND t.IsQuantity = @IsQuantity ");
  533. }
  534. }
  535. if (!queryParam["IsGetBeddingArticle"].IsEmpty())
  536. {
  537. if (queryParam["IsGetBeddingArticle"].ToString() == "null")
  538. {
  539. strSql.Append(" AND t.IsGetBeddingArticle is null ");
  540. }
  541. else
  542. {
  543. dp.Add("IsGetBeddingArticle", queryParam["IsGetBeddingArticle"].ToString(), DbType.String);
  544. strSql.Append(" AND t.IsGetBeddingArticle = @IsGetBeddingArticle ");
  545. }
  546. }
  547. //获取班主任所带的班级
  548. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "班主任")?.F_RoleId;
  549. var userInfo = LoginUserInfo.Get();
  550. var sqlClasses = "";
  551. if (!string.IsNullOrEmpty(roleid))
  552. {
  553. if (userInfo.roleIds.Contains(roleid))
  554. {
  555. var classes = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(a => a.ClassDiredctorNo == userInfo.account).Select(a => a.ClassNo).ToList();
  556. if (classes != null)
  557. {
  558. foreach (var item in classes)
  559. {
  560. sqlClasses += $"'{item}',";
  561. }
  562. sqlClasses = sqlClasses.TrimEnd(',');
  563. }
  564. }
  565. if (!string.IsNullOrEmpty(sqlClasses))
  566. {
  567. strSql.Append($" AND t.ClassNo IN({sqlClasses})");
  568. }
  569. }
  570. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(strSql.ToString(), dp);
  571. int aa = 0, bb = 0;
  572. if (type == 1)
  573. {
  574. aa = list.Count(x => x.IsMilitary == true);
  575. bb = list.Count(x => x.IsMilitary == false);
  576. }
  577. else if (type == 2)
  578. {
  579. aa = list.Count(x => x.IsSubsidize1 == true);
  580. bb = list.Count(x => x.IsSubsidize1 == false);
  581. }
  582. return new { aa, bb };
  583. }
  584. catch (Exception ex)
  585. {
  586. if (ex is ExceptionEx)
  587. {
  588. throw;
  589. }
  590. else
  591. {
  592. throw ExceptionEx.ThrowServiceException(ex);
  593. }
  594. }
  595. }
  596. /// <summary>
  597. /// 获取页面显示列表数据
  598. /// <summary>
  599. /// <param name="queryJson">查询参数</param>
  600. /// <returns></returns>
  601. public IEnumerable<StuEnrollEntity> GetList(string queryJson)
  602. {
  603. try
  604. {
  605. var strSql = new StringBuilder();
  606. strSql.Append("SELECT t.* ");
  607. strSql.Append(" FROM StuEnroll t ");
  608. strSql.Append(" WHERE 1=1 ");
  609. var queryParam = queryJson.ToJObject();
  610. // 虚拟参数
  611. var dp = new DynamicParameters(new { });
  612. if (!queryParam["IDCard"].IsEmpty())
  613. {
  614. dp.Add("IDCard", "%" + queryParam["IDCard"].ToString() + "%", DbType.String);
  615. strSql.Append(" AND t.IDCard Like @IDCard ");
  616. }
  617. if (!queryParam["Year"].IsEmpty())
  618. {
  619. dp.Add("Year", "%" + queryParam["Year"].ToString() + "%", DbType.String);
  620. strSql.Append(" AND t.ClassNo Like @Year ");
  621. }
  622. //sql条件
  623. if (!queryParam["SqlParameter"].IsEmpty())
  624. {
  625. strSql.Append(queryParam["SqlParameter"].ToString());
  626. }
  627. if (!queryParam["RegistrationNo"].IsEmpty())
  628. {
  629. dp.Add("RegistrationNo", "%" + queryParam["RegistrationNo"].ToString() + "%", DbType.String);
  630. strSql.Append(" AND t.RegistrationNo Like @RegistrationNo ");
  631. }
  632. if (!queryParam["Admissions"].IsEmpty())
  633. {
  634. dp.Add("Admissions", queryParam["Admissions"].ToString(), DbType.String);
  635. strSql.Append(" AND t.Admissions = @Admissions ");
  636. }
  637. if (!queryParam["DeptNo"].IsEmpty())
  638. {
  639. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  640. strSql.Append(" AND t.DeptNo = @DeptNo ");
  641. }
  642. if (!queryParam["MajorNo"].IsEmpty())
  643. {
  644. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  645. strSql.Append(" AND t.MajorNo = @MajorNo ");
  646. }
  647. if (!queryParam["Grade"].IsEmpty())
  648. {
  649. dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
  650. strSql.Append(" AND t.Grade = @Grade ");
  651. }
  652. if (!queryParam["ClassNo"].IsEmpty())
  653. {
  654. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  655. strSql.Append(" AND t.ClassNo = @ClassNo ");
  656. }
  657. if (!queryParam["IsAllocation"].IsEmpty())
  658. {
  659. var IsAllocation = Convert.ToBoolean(queryParam["IsAllocation"].ToString());
  660. if (IsAllocation)
  661. {
  662. strSql.Append(" AND (t.ClassNo IS NOT NULL AND t.ClassNo<>'')");
  663. }
  664. else
  665. {
  666. strSql.Append(" AND (t.ClassNo IS NULL OR t.ClassNo='')");
  667. }
  668. }
  669. if (!queryParam["IsAllocationDormitory"].IsEmpty())
  670. {
  671. var IsAllocation = Convert.ToBoolean(queryParam["IsAllocationDormitory"].ToString());
  672. if (IsAllocation)
  673. {
  674. strSql.Append(" AND (t.DormitoryNo IS NOT NULL AND t.DormitoryNo<>'')");
  675. }
  676. else
  677. {
  678. strSql.Append(" AND (t.DormitoryNo IS NULL OR t.DormitoryNo='')");
  679. }
  680. }
  681. if (!queryParam["StuName"].IsEmpty())
  682. {
  683. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  684. strSql.Append(" AND t.StuName Like @StuName ");
  685. }
  686. if (!queryParam["Status"].IsEmpty())
  687. {
  688. dp.Add("Status", queryParam["Status"].ToString(), DbType.String);
  689. strSql.Append(" AND t.Status = @Status ");
  690. }
  691. if (!queryParam["Gender"].IsEmpty())
  692. {
  693. dp.Add("Gender", Convert.ToBoolean(queryParam["Gender"].ToString()), DbType.Boolean);
  694. strSql.Append(" AND t.Gender = @Gender ");
  695. }
  696. if (!queryParam["PayList"].IsEmpty())
  697. {
  698. strSql.Append(" AND t.Status>=3 AND t.Status<6 ");
  699. }
  700. if (!queryParam["IsCheckIn"].IsEmpty())
  701. {
  702. if (queryParam["IsCheckIn"].ToString() == "null")
  703. {
  704. strSql.Append(" AND t.IsCheckIn is null ");
  705. }
  706. else
  707. {
  708. dp.Add("IsCheckIn", queryParam["IsCheckIn"].ToString(), DbType.String);
  709. strSql.Append(" AND t.IsCheckIn = @IsCheckIn ");
  710. }
  711. }
  712. if (!queryParam["IsSubsidize1"].IsEmpty())
  713. {
  714. if (queryParam["IsSubsidize1"].ToString() == "null")
  715. {
  716. strSql.Append(" AND t.IsSubsidize1 is null ");
  717. }
  718. else
  719. {
  720. dp.Add("IsSubsidize1", queryParam["IsSubsidize1"].ToString(), DbType.String);
  721. strSql.Append(" AND t.IsSubsidize1 = @IsSubsidize1 ");
  722. }
  723. }
  724. if (!queryParam["IsMilitary"].IsEmpty())
  725. {
  726. if (queryParam["IsMilitary"].ToString() == "null")
  727. {
  728. strSql.Append(" AND t.IsMilitary is null ");
  729. }
  730. else
  731. {
  732. dp.Add("IsMilitary", queryParam["IsMilitary"].ToString(), DbType.String);
  733. strSql.Append(" AND t.IsMilitary = @IsMilitary ");
  734. }
  735. }
  736. if (!queryParam["IsPay"].IsEmpty())
  737. {
  738. if (queryParam["IsPay"].ToString() == "null")
  739. {
  740. strSql.Append(" AND t.IsPay is null ");
  741. }
  742. else
  743. {
  744. dp.Add("IsPay", queryParam["IsPay"].ToString(), DbType.String);
  745. strSql.Append(" AND t.IsPay = @IsPay ");
  746. }
  747. }
  748. if (!queryParam["IsMug"].IsEmpty())
  749. {
  750. if (queryParam["IsMug"].ToString() == "null")
  751. {
  752. strSql.Append(" AND t.IsMug is null ");
  753. }
  754. else
  755. {
  756. dp.Add("IsMug", queryParam["IsMug"].ToString(), DbType.String);
  757. strSql.Append(" AND t.IsMug = @IsMug ");
  758. }
  759. }
  760. if (!queryParam["IsTakeCloths"].IsEmpty())
  761. {
  762. if (queryParam["IsTakeCloths"].ToString() == "null")
  763. {
  764. strSql.Append(" AND t.IsTakeCloths is null ");
  765. }
  766. else
  767. {
  768. dp.Add("IsTakeCloths", queryParam["IsTakeCloths"].ToString(), DbType.String);
  769. strSql.Append(" AND t.IsTakeCloths = @IsTakeCloths ");
  770. }
  771. }
  772. if (!queryParam["IsQuantity"].IsEmpty())
  773. {
  774. if (queryParam["IsQuantity"].ToString() == "null")
  775. {
  776. strSql.Append(" AND t.IsQuantity is null ");
  777. }
  778. else
  779. {
  780. dp.Add("IsQuantity", queryParam["IsQuantity"].ToString(), DbType.String);
  781. strSql.Append(" AND t.IsQuantity = @IsQuantity ");
  782. }
  783. }
  784. if (!queryParam["IsGetBeddingArticle"].IsEmpty())
  785. {
  786. if (queryParam["IsGetBeddingArticle"].ToString() == "null")
  787. {
  788. strSql.Append(" AND t.IsGetBeddingArticle is null ");
  789. }
  790. else
  791. {
  792. dp.Add("IsGetBeddingArticle", queryParam["IsGetBeddingArticle"].ToString(), DbType.String);
  793. strSql.Append(" AND t.IsGetBeddingArticle = @IsGetBeddingArticle ");
  794. }
  795. }
  796. //获取班主任所带的班级
  797. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "班主任")?.F_RoleId;
  798. var userInfo = LoginUserInfo.Get();
  799. var sqlClasses = "";
  800. if (!string.IsNullOrEmpty(roleid))
  801. {
  802. if (userInfo.roleIds.Contains(roleid))
  803. {
  804. var classes = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(a => a.ClassDiredctorNo == userInfo.account).Select(a => a.ClassNo).ToList();
  805. if (classes != null)
  806. {
  807. foreach (var item in classes)
  808. {
  809. sqlClasses += $"'{item}',";
  810. }
  811. sqlClasses = sqlClasses.TrimEnd(',');
  812. }
  813. }
  814. if (!string.IsNullOrEmpty(sqlClasses))
  815. {
  816. strSql.Append($" AND t.ClassNo IN({sqlClasses})");
  817. }
  818. }
  819. return this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(strSql.ToString(), dp);
  820. }
  821. catch (Exception ex)
  822. {
  823. if (ex is ExceptionEx)
  824. {
  825. throw;
  826. }
  827. else
  828. {
  829. throw ExceptionEx.ThrowServiceException(ex);
  830. }
  831. }
  832. }
  833. public DataTable Execute(string sql)
  834. {
  835. return this.BaseRepository("CollegeMIS").FindTable(sql);
  836. }
  837. public IEnumerable<StuEnrollEntity> AllStudent()
  838. {
  839. try
  840. {
  841. return this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>();
  842. }
  843. catch (Exception ex)
  844. {
  845. if (ex is ExceptionEx)
  846. {
  847. throw;
  848. }
  849. else
  850. {
  851. throw ExceptionEx.ThrowServiceException(ex);
  852. }
  853. }
  854. }
  855. public IEnumerable<Acc_DormitoryBuildEntity> GetDormitorys(Pagination pagination, string queryJson)
  856. {
  857. try
  858. {
  859. var strSql = new StringBuilder();
  860. strSql.Append("SELECT ");
  861. strSql.Append(@"
  862. t.ID,
  863. t.Name,
  864. t.Address,
  865. t.Campus,
  866. t.Dept,
  867. t.BuildType,
  868. t.Major,
  869. t.Class,
  870. t.Sex,
  871. t.Functionary,
  872. t.Phone,
  873. t.Price,
  874. t.Leader,
  875. t.StudentID,
  876. t.PlanStudentID,
  877. t.ParentID,
  878. t.Remark,
  879. t.Starred,
  880. t.PlanClassNo,
  881. t.HasToilet
  882. ");
  883. strSql.Append(" FROM Acc_DormitoryBuild t ");
  884. strSql.Append(" WHERE 1=1 ");
  885. var queryParam = queryJson.ToJObject();
  886. // 虚拟参数
  887. var dp = new DynamicParameters(new { });
  888. if (!queryParam["ParentID"].IsEmpty())
  889. {
  890. dp.Add("ParentID", queryParam["ParentID"].ToString(), DbType.String);
  891. strSql.Append(" AND t.ParentID =@ParentID ");
  892. }
  893. if (!queryParam["Sex"].IsEmpty())
  894. {
  895. dp.Add("Sex", queryParam["Sex"].ToString(), DbType.String);
  896. strSql.Append(" AND t.Sex = @Sex ");
  897. }
  898. if (!queryParam["IsAllocationDormitory"].IsEmpty())
  899. {
  900. if (queryParam["IsAllocationDormitory"].ToString() == "false")
  901. {
  902. strSql.Append(" AND t.PlanClassNo is not null or t.PlanClassNo<>'' ");
  903. }
  904. else
  905. {
  906. strSql.Append(" AND t.PlanClassNo is null or t.PlanClassNo=''");
  907. }
  908. }
  909. if (!queryParam["PlanClassNo"].IsEmpty())
  910. {
  911. dp.Add("PlanClassNo", queryParam["PlanClassNo"].ToString(), DbType.String);
  912. strSql.Append(" AND t.PlanClassNo =@PlanClassNo ");
  913. }
  914. var data = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp, pagination).OrderBy(a => a.Name).ToList();
  915. foreach (var item in data)
  916. {
  917. item.ChildCount = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.ParentID == item.ID).Count();
  918. }
  919. return data;
  920. }
  921. catch (Exception ex)
  922. {
  923. if (ex is ExceptionEx)
  924. {
  925. throw;
  926. }
  927. else
  928. {
  929. throw ExceptionEx.ThrowServiceException(ex);
  930. }
  931. }
  932. }
  933. internal List<Tuple<int, int, string, string>> GetTree()
  934. {
  935. try
  936. {
  937. var data = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(a => !string.IsNullOrEmpty(a.ClassNo)).ToList();
  938. var classInfos = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>().ToList();
  939. var classes = data.GroupBy(a => a.ClassNo).Select(a => a.Key).ToList();
  940. List<Tuple<int, int, string, string>> list = new List<Tuple<int, int, string, string>>();
  941. foreach (var classNo in classes)
  942. {
  943. var boy = data.Count(a => a.ClassNo == classNo && a.Gender == true);
  944. var girl = data.Count(a => a.ClassNo == classNo && a.Gender == false);
  945. var className = classInfos.FirstOrDefault(a => a.ClassNo == classNo)?.ClassName;
  946. Tuple<int, int, string, string> tuple = new Tuple<int, int, string, string>(boy, girl, classNo, className);
  947. list.Add(tuple);
  948. }
  949. return list;
  950. }
  951. catch (Exception ex)
  952. {
  953. if (ex is ExceptionEx)
  954. {
  955. throw;
  956. }
  957. else
  958. {
  959. throw ExceptionEx.ThrowServiceException(ex);
  960. }
  961. }
  962. }
  963. internal List<Acc_DormitoryBuildEntity> GetBedTree(string classNo, string gender)
  964. {
  965. try
  966. {
  967. var sex = "";
  968. if (gender == "true")
  969. {
  970. sex = "1";
  971. }
  972. else
  973. {
  974. sex = "0";
  975. }
  976. List<Acc_DormitoryBuildEntity> list = new List<Acc_DormitoryBuildEntity>();
  977. var data = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.PlanClassNo == classNo && a.Sex == sex).ToList();
  978. var bb = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  979. foreach (var item in data)
  980. {
  981. list.Add(item);
  982. var beds = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.ParentID == item.ID).ToList();
  983. foreach (var bed in beds)
  984. {
  985. var stuName = bb.FirstOrDefault(a => a.DormitoryNo == bed.ID)?.StuName;
  986. if (!string.IsNullOrEmpty(stuName))
  987. {
  988. bed.Name = $"{bed.Name}({stuName})";
  989. }
  990. list.Add(bed);
  991. }
  992. }
  993. return list;
  994. }
  995. catch (Exception ex)
  996. {
  997. if (ex is ExceptionEx)
  998. {
  999. throw;
  1000. }
  1001. else
  1002. {
  1003. throw ExceptionEx.ThrowServiceException(ex);
  1004. }
  1005. }
  1006. }
  1007. internal List<string> GetStuIdCards()
  1008. {
  1009. try
  1010. {
  1011. return this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().Select(a => a.IDCard).ToList();
  1012. }
  1013. catch (Exception ex)
  1014. {
  1015. if (ex is ExceptionEx)
  1016. {
  1017. throw;
  1018. }
  1019. else
  1020. {
  1021. throw ExceptionEx.ThrowServiceException(ex);
  1022. }
  1023. }
  1024. }
  1025. internal object GetStuInfo(string stuId)
  1026. {
  1027. try
  1028. {
  1029. var stuEnroll = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(a => a.StuId == stuId);
  1030. var majorInfo = this.BaseRepository("CollegeMIS").FindEntity<CdMajorEntity>(a => a.MajorNo == stuEnroll.MajorNo);
  1031. var deptNo = majorInfo?.DeptNo;
  1032. var majorName = majorInfo?.MajorName;
  1033. var deptName = this.BaseRepository("CollegeMIS").FindEntity<CdDeptEntity>(a => a.DeptNo == deptNo)?.DeptName;
  1034. var classInfo = this.BaseRepository("CollegeMIS").FindEntity<ClassInfoEntity>(a => a.ClassNo == stuEnroll.ClassNo);
  1035. var teacherInfo = new EmpInfoEntity();
  1036. var yearAndSemester = Common.GetSemesterAndYear();
  1037. var result = new List<StuPayInfo>();
  1038. if (classInfo != null)
  1039. {
  1040. teacherInfo = this.BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(a => a.EmpNo == classInfo.ClassDiredctorNo);
  1041. result = this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(a => a.Grade == classInfo.Grade && a.MajorNo == stuEnroll.MajorNo && a.AcademicYearNo == yearAndSemester.AcademicYearShort && a.Semester == yearAndSemester.Semester)
  1042. .Select(a => new StuPayInfo
  1043. {
  1044. standerid = a.ChargeItemID,
  1045. shouldPay = a.Standard,
  1046. standard = a.Standard,
  1047. standerdName = this.BaseRepository("CollegeMIS").FindEntity<FinaChargeItemEntity>(b => b.ChargeItemID == a.ChargeItemID).ChargeItemName.Trim()
  1048. }).ToList();
  1049. }
  1050. foreach (var item in result)
  1051. {
  1052. //住宿费
  1053. if (item.standerid == 12 && stuEnroll.IsCheckIn == false)
  1054. {
  1055. item.shouldPay = 0;
  1056. }
  1057. //学费
  1058. if (item.standerid == 14 && stuEnroll.IsSubsidize1 == true)
  1059. {
  1060. item.shouldPay = 0;
  1061. }
  1062. switch (item.standerid)
  1063. {
  1064. case 12:
  1065. if (stuEnroll.IsCheckIn == false) item.shouldPay = 0;
  1066. break;
  1067. case 14:
  1068. if (stuEnroll.IsSubsidize1 == true) item.shouldPay = 0;
  1069. break;
  1070. case 15:
  1071. if (stuEnroll.IsMilitary == false) item.shouldPay = 0;
  1072. break;
  1073. case 32:
  1074. if (stuEnroll.IsCheckIn == false) item.shouldPay = 0;
  1075. break;
  1076. case 33:
  1077. if (stuEnroll.EnrollType == "0") item.shouldPay = 0;
  1078. break;
  1079. default:
  1080. break;
  1081. }
  1082. }
  1083. decimal money = 0;
  1084. decimal allMoney = 0;
  1085. //记录缴费金额
  1086. foreach (var item in result)
  1087. {
  1088. money += Convert.ToDecimal(item.shouldPay);
  1089. allMoney += Convert.ToDecimal(item.standard);
  1090. }
  1091. stuEnroll.PayAmount = money;
  1092. this.BaseRepository("CollegeMIS").Update(stuEnroll);
  1093. return new
  1094. {
  1095. deptName,
  1096. majorName,
  1097. className = classInfo?.ClassName,
  1098. teacherName = teacherInfo?.EmpName,
  1099. teacherMobile = teacherInfo?.mobile,
  1100. chagerItemList = result,
  1101. money,
  1102. allMoney
  1103. };
  1104. }
  1105. catch (Exception ex)
  1106. {
  1107. if (ex is ExceptionEx)
  1108. {
  1109. throw;
  1110. }
  1111. else
  1112. {
  1113. throw ExceptionEx.ThrowServiceException(ex);
  1114. }
  1115. }
  1116. }
  1117. public class StuPayInfo
  1118. {
  1119. public int standerid { get; set; }
  1120. public decimal? shouldPay { get; set; }
  1121. public decimal? standard { get; set; }
  1122. public string standerdName { get; set; }
  1123. }
  1124. internal object GetCheckInStatistics(string DeptNo, string MajorNo, string ClassNo)
  1125. {
  1126. try
  1127. {
  1128. var data = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>()
  1129. .Where(a => string.IsNullOrEmpty(DeptNo) || a.DeptNo == DeptNo)
  1130. .Where(a => string.IsNullOrEmpty(MajorNo) || a.MajorNo == MajorNo)
  1131. .Where(a => string.IsNullOrEmpty(ClassNo) || a.ClassNo == ClassNo)
  1132. ;
  1133. var aa = data.Count(a => a.IsCheckIn == true);
  1134. var bb = data.Count(a => a.IsCheckIn == false);
  1135. return new { aa, bb };
  1136. }
  1137. catch (Exception ex)
  1138. {
  1139. if (ex is ExceptionEx)
  1140. {
  1141. throw;
  1142. }
  1143. else
  1144. {
  1145. throw ExceptionEx.ThrowServiceException(ex);
  1146. }
  1147. }
  1148. }
  1149. internal object GetHelpStatistics(string DeptNo, string MajorNo, string ClassNo)
  1150. {
  1151. try
  1152. {
  1153. var data = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>()
  1154. .Where(a => string.IsNullOrEmpty(DeptNo) || a.DeptNo == DeptNo)
  1155. .Where(a => string.IsNullOrEmpty(MajorNo) || a.MajorNo == MajorNo)
  1156. .Where(a => string.IsNullOrEmpty(ClassNo) || a.ClassNo == ClassNo)
  1157. ;
  1158. var aa = data.Count(a => a.IsSubsidize1 == true);
  1159. var bb = data.Count(a => a.IsSubsidize1 == false);
  1160. return new { aa, bb };
  1161. }
  1162. catch (Exception ex)
  1163. {
  1164. if (ex is ExceptionEx)
  1165. {
  1166. throw;
  1167. }
  1168. else
  1169. {
  1170. throw ExceptionEx.ThrowServiceException(ex);
  1171. }
  1172. }
  1173. }
  1174. /// <summary>
  1175. /// 获取页面显示列表数据
  1176. /// <summary>
  1177. /// <param name="queryJson">查询参数</param>
  1178. /// <returns></returns>
  1179. public IEnumerable<StuEnrollEntity> GetReportPageList(Pagination pagination, string queryJson)
  1180. {
  1181. try
  1182. {
  1183. var strSql = new StringBuilder();
  1184. strSql.Append("SELECT ");
  1185. strSql.Append(@"
  1186. t.StuId,
  1187. t.RegistrationNo,
  1188. t.StuName,
  1189. t.Gender,
  1190. t.Nationals,
  1191. t.Birthday,
  1192. t.IDCard,
  1193. t.Political,
  1194. t.FreshType,
  1195. t.ResidenceType,
  1196. t.StuType,
  1197. t.ResidenceAddress,
  1198. t.NonNative,
  1199. t.FromSchool,
  1200. t.HomeAddress,
  1201. t.FirstGuardian,
  1202. t.FirstRelationship,
  1203. t.FirstUnits,
  1204. t.FirstMobile,
  1205. t.SecondGuardian,
  1206. t.SecondRelationship,
  1207. t.SecondUnits,
  1208. t.SecondMobile,
  1209. t.Acceptance,
  1210. t.Recipient,
  1211. t.ZipCode,
  1212. t.MedicalHistory,
  1213. t.AdditionalCare,
  1214. t.MajorNo,
  1215. t.MajorName,
  1216. t.Admissions,
  1217. t.IsAccommodation,
  1218. t.ExamRegistration,
  1219. t.ClassNo,
  1220. t.DormitoryNo,
  1221. t.DormitoryName,
  1222. t.EnrollType,
  1223. t.IsCheckIn,
  1224. t.IsSubsidize1,
  1225. t.IsMilitary,
  1226. t.Grade,
  1227. t.IsQuantity,
  1228. t.IsTakeCloths,
  1229. t.IsMug,
  1230. t.IsGetBeddingArticle,
  1231. t.IsReport,
  1232. t.EductionalSystme,
  1233. t.AddTime,
  1234. t.StuNo,
  1235. t.StuStatusNo,
  1236. t.SecurityAgreement,
  1237. t.Status
  1238. ");
  1239. strSql.Append(" FROM StuEnroll t ");
  1240. strSql.Append(" WHERE 1=1 ");
  1241. var queryParam = queryJson.ToJObject();
  1242. // 虚拟参数
  1243. var dp = new DynamicParameters(new { });
  1244. if (!queryParam["IsReport"].IsEmpty())
  1245. {
  1246. if (queryParam["IsReport"].ToString() == "null")
  1247. {
  1248. strSql.Append(" AND t.IsReport is null ");
  1249. }
  1250. else
  1251. {
  1252. dp.Add("IsReport", queryParam["IsReport"].ToString(), DbType.String);
  1253. strSql.Append(" AND t.IsReport = @IsReport ");
  1254. }
  1255. }
  1256. if (!queryParam["IDCard"].IsEmpty())
  1257. {
  1258. dp.Add("IDCard", "%" + queryParam["IDCard"].ToString() + "%", DbType.String);
  1259. strSql.Append(" AND t.IDCard Like @IDCard ");
  1260. }
  1261. if (!queryParam["DeptNo"].IsEmpty())
  1262. {
  1263. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  1264. strSql.Append(" AND t.DeptNo = @DeptNo ");
  1265. }
  1266. if (!queryParam["Admissions"].IsEmpty())
  1267. {
  1268. dp.Add("Admissions", queryParam["Admissions"].ToString(), DbType.String);
  1269. strSql.Append(" AND t.Admissions = @Admissions ");
  1270. }
  1271. if (!queryParam["Grade"].IsEmpty())
  1272. {
  1273. dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
  1274. strSql.Append(" AND t.Grade = @Grade ");
  1275. }
  1276. if (!queryParam["MajorNo"].IsEmpty())
  1277. {
  1278. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  1279. strSql.Append(" AND t.MajorNo = @MajorNo ");
  1280. }
  1281. if (!queryParam["ClassNo"].IsEmpty())
  1282. {
  1283. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  1284. strSql.Append(" AND t.ClassNo = @ClassNo ");
  1285. }
  1286. if (!queryParam["RegistrationNo"].IsEmpty())
  1287. {
  1288. dp.Add("RegistrationNo", "%" + queryParam["RegistrationNo"].ToString() + "%", DbType.String);
  1289. strSql.Append(" AND t.RegistrationNo Like @RegistrationNo ");
  1290. }
  1291. if (!queryParam["StuName"].IsEmpty())
  1292. {
  1293. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  1294. strSql.Append(" AND t.StuName Like @StuName ");
  1295. }
  1296. //获取班主任所带的班级
  1297. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "班主任").F_RoleId;
  1298. var userInfo = LoginUserInfo.Get();
  1299. var sqlClasses = "";
  1300. if (userInfo.roleIds.Contains(roleid))
  1301. {
  1302. var classes = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(a => a.ClassDiredctorNo == userInfo.account).Select(a => a.ClassNo).ToList();
  1303. if (classes != null)
  1304. {
  1305. foreach (var item in classes)
  1306. {
  1307. sqlClasses += $"'{item}',";
  1308. }
  1309. sqlClasses = sqlClasses.TrimEnd(',');
  1310. }
  1311. }
  1312. if (!string.IsNullOrEmpty(sqlClasses))
  1313. {
  1314. strSql.Append($" AND t.ClassNo IN({sqlClasses})");
  1315. }
  1316. return this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(strSql.ToString(), dp, pagination);
  1317. }
  1318. catch (Exception ex)
  1319. {
  1320. if (ex is ExceptionEx)
  1321. {
  1322. throw;
  1323. }
  1324. else
  1325. {
  1326. throw ExceptionEx.ThrowServiceException(ex);
  1327. }
  1328. }
  1329. }
  1330. internal (bool, string) Stay(string stuId, bool status, bool payAfter)
  1331. {
  1332. try
  1333. {
  1334. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "学生科科长")?.F_RoleId;
  1335. var loginUser = LoginUserInfo.Get();
  1336. var resultbool = false;
  1337. var result = "";
  1338. if (!string.IsNullOrEmpty(stuId))
  1339. {
  1340. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1341. if (data.Any())
  1342. {
  1343. foreach (var item in data)
  1344. {
  1345. if (payAfter)
  1346. {
  1347. //if (loginUser.roleIds.Contains(roleid))
  1348. //{
  1349. item.IsCheckIn2 = status;
  1350. this.BaseRepository("CollegeMIS").Update(item);
  1351. //}
  1352. }
  1353. else
  1354. {
  1355. item.IsCheckIn = status;
  1356. item.IsCheckIn2 = status;
  1357. item.Status = 2;
  1358. if (!status)
  1359. {
  1360. item.IsGetBeddingArticle = false;
  1361. }
  1362. this.BaseRepository("CollegeMIS").Update(item);
  1363. }
  1364. StuEnrollAmountRecordEntity amountRecordEntity = new StuEnrollAmountRecordEntity();
  1365. amountRecordEntity.Create();
  1366. if (status)
  1367. {
  1368. amountRecordEntity.Content = "确认入住";
  1369. }
  1370. else
  1371. {
  1372. amountRecordEntity.Content = "取消入住";
  1373. }
  1374. amountRecordEntity.StuID = item.StuId;
  1375. this.BaseRepository("CollegeMIS").Insert(amountRecordEntity);
  1376. }
  1377. resultbool = true;
  1378. result = "操作成功";
  1379. }
  1380. }
  1381. else
  1382. {
  1383. result = "错误";
  1384. }
  1385. return (resultbool, result);
  1386. }
  1387. catch (Exception ex)
  1388. {
  1389. if (ex is ExceptionEx)
  1390. {
  1391. throw;
  1392. }
  1393. else
  1394. {
  1395. throw ExceptionEx.ThrowServiceException(ex);
  1396. }
  1397. }
  1398. }
  1399. internal void AllStay()
  1400. {
  1401. try
  1402. {
  1403. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(a => a.IsPay != true && a.IsReport == true).ToList();
  1404. foreach (var item in list)
  1405. {
  1406. item.IsCheckIn = true;
  1407. item.IsCheckIn2 = true;
  1408. item.Status = 2;
  1409. this.BaseRepository("CollegeMIS").Update(item);
  1410. StuEnrollAmountRecordEntity amountRecordEntity = new StuEnrollAmountRecordEntity();
  1411. amountRecordEntity.Create();
  1412. amountRecordEntity.Content = "确认入住";
  1413. amountRecordEntity.StuID = item.StuId;
  1414. this.BaseRepository("CollegeMIS").Insert(amountRecordEntity);
  1415. }
  1416. }
  1417. catch (Exception ex)
  1418. {
  1419. if (ex is ExceptionEx)
  1420. {
  1421. throw;
  1422. }
  1423. else
  1424. {
  1425. throw ExceptionEx.ThrowServiceException(ex);
  1426. }
  1427. }
  1428. }
  1429. internal (bool, string) Help(string stuId, bool status, bool payAfter)
  1430. {
  1431. try
  1432. {
  1433. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "学生科科长")?.F_RoleId;
  1434. var loginUser = LoginUserInfo.Get();
  1435. var resultbool = false;
  1436. var result = "";
  1437. if (!string.IsNullOrEmpty(stuId))
  1438. {
  1439. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1440. if (data.Any())
  1441. {
  1442. foreach (var item in data)
  1443. {
  1444. if (status)
  1445. {
  1446. item.IsManualSubsidize = true;
  1447. }
  1448. if (payAfter)
  1449. {
  1450. //if (loginUser.roleIds.Contains(roleid))
  1451. //{
  1452. item.IsSubsidize12 = status;
  1453. this.BaseRepository("CollegeMis").Update(item);
  1454. //}
  1455. }
  1456. else
  1457. {
  1458. item.IsSubsidize1 = status;
  1459. item.IsSubsidize12 = status;
  1460. item.Status = 3;
  1461. this.BaseRepository("CollegeMis").Update(item);
  1462. }
  1463. StuEnrollAmountRecordEntity amountRecordEntity = new StuEnrollAmountRecordEntity();
  1464. amountRecordEntity.Create();
  1465. if (status)
  1466. {
  1467. amountRecordEntity.Content = "确认免学费";
  1468. }
  1469. else
  1470. {
  1471. amountRecordEntity.Content = "取消免学费";
  1472. }
  1473. amountRecordEntity.StuID = item.StuId;
  1474. this.BaseRepository("CollegeMIS").Insert(amountRecordEntity);
  1475. }
  1476. resultbool = true;
  1477. result = "操作成功";
  1478. }
  1479. }
  1480. else
  1481. {
  1482. result = "错误";
  1483. }
  1484. return (resultbool, result);
  1485. }
  1486. catch (Exception ex)
  1487. {
  1488. if (ex is ExceptionEx)
  1489. {
  1490. throw;
  1491. }
  1492. else
  1493. {
  1494. throw ExceptionEx.ThrowServiceException(ex);
  1495. }
  1496. }
  1497. }
  1498. internal void AllHelp()
  1499. {
  1500. try
  1501. {
  1502. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(a => a.IsPay != true && a.IsReport == true).ToList();
  1503. foreach (var item in list)
  1504. {
  1505. item.IsSubsidize1 = true;
  1506. item.Status = 3;
  1507. this.BaseRepository("CollegeMIS").Update(item);
  1508. StuEnrollAmountRecordEntity amountRecordEntity = new StuEnrollAmountRecordEntity();
  1509. amountRecordEntity.Create();
  1510. amountRecordEntity.Content = "确认资助";
  1511. amountRecordEntity.StuID = item.StuId;
  1512. this.BaseRepository("CollegeMIS").Insert(amountRecordEntity);
  1513. }
  1514. }
  1515. catch (Exception ex)
  1516. {
  1517. if (ex is ExceptionEx)
  1518. {
  1519. throw;
  1520. }
  1521. else
  1522. {
  1523. throw ExceptionEx.ThrowServiceException(ex);
  1524. }
  1525. }
  1526. }
  1527. internal (bool, string) Military(string stuId, bool status, bool payAfter)
  1528. {
  1529. try
  1530. {
  1531. var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "学生科科长")?.F_RoleId;
  1532. var loginUser = LoginUserInfo.Get();
  1533. var resultbool = false;
  1534. var result = "";
  1535. if (!string.IsNullOrEmpty(stuId))
  1536. {
  1537. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1538. if (data.Any())
  1539. {
  1540. foreach (var item in data)
  1541. {
  1542. if (payAfter)
  1543. {
  1544. //if (loginUser.roleIds.Contains(roleid))
  1545. //{
  1546. item.IsMilitary2 = status;
  1547. this.BaseRepository("CollegeMis").Update(item);
  1548. //}
  1549. }
  1550. else
  1551. {
  1552. item.IsMilitary = status;
  1553. item.IsMilitary2 = status;
  1554. item.Status = 4;
  1555. if (!status)
  1556. {
  1557. item.IsTakeCloths = false;
  1558. }
  1559. this.BaseRepository("CollegeMis").Update(item);
  1560. }
  1561. StuEnrollAmountRecordEntity amountRecordEntity = new StuEnrollAmountRecordEntity();
  1562. amountRecordEntity.Create();
  1563. if (status)
  1564. {
  1565. amountRecordEntity.Content = "确认军训";
  1566. }
  1567. else
  1568. {
  1569. amountRecordEntity.Content = "取消军训";
  1570. }
  1571. amountRecordEntity.StuID = item.StuId;
  1572. this.BaseRepository("CollegeMIS").Insert(amountRecordEntity);
  1573. }
  1574. resultbool = true;
  1575. result = "操作成功";
  1576. }
  1577. }
  1578. else
  1579. {
  1580. result = "错误";
  1581. }
  1582. return (resultbool, result);
  1583. }
  1584. catch (Exception ex)
  1585. {
  1586. if (ex is ExceptionEx)
  1587. {
  1588. throw;
  1589. }
  1590. else
  1591. {
  1592. throw ExceptionEx.ThrowServiceException(ex);
  1593. }
  1594. }
  1595. }
  1596. internal void AllReport()
  1597. {
  1598. try
  1599. {
  1600. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  1601. foreach (var item in list)
  1602. {
  1603. item.IsReport = true;
  1604. //item.SecurityAgreement = true;
  1605. item.Status = 1;
  1606. this.BaseRepository("CollegeMIS").Update(item);
  1607. }
  1608. }
  1609. catch (Exception ex)
  1610. {
  1611. if (ex is ExceptionEx)
  1612. {
  1613. throw;
  1614. }
  1615. else
  1616. {
  1617. throw ExceptionEx.ThrowServiceException(ex);
  1618. }
  1619. }
  1620. }
  1621. internal void AllPhoto()
  1622. {
  1623. try
  1624. {
  1625. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  1626. foreach (var item in list)
  1627. {
  1628. item.IsMug = true;
  1629. item.Status = 6;
  1630. this.BaseRepository("CollegeMIS").Update(item);
  1631. }
  1632. }
  1633. catch (Exception ex)
  1634. {
  1635. if (ex is ExceptionEx)
  1636. {
  1637. throw;
  1638. }
  1639. else
  1640. {
  1641. throw ExceptionEx.ThrowServiceException(ex);
  1642. }
  1643. }
  1644. }
  1645. internal void AllGetCloth()
  1646. {
  1647. try
  1648. {
  1649. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  1650. foreach (var item in list)
  1651. {
  1652. item.IsTakeCloths = true;
  1653. item.Status = 7;
  1654. this.BaseRepository("CollegeMIS").Update(item);
  1655. }
  1656. }
  1657. catch (Exception ex)
  1658. {
  1659. if (ex is ExceptionEx)
  1660. {
  1661. throw;
  1662. }
  1663. else
  1664. {
  1665. throw ExceptionEx.ThrowServiceException(ex);
  1666. }
  1667. }
  1668. }
  1669. internal void AllGetSize()
  1670. {
  1671. try
  1672. {
  1673. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  1674. foreach (var item in list)
  1675. {
  1676. item.IsQuantity = true;
  1677. item.Status = 8;
  1678. this.BaseRepository("CollegeMIS").Update(item);
  1679. }
  1680. }
  1681. catch (Exception ex)
  1682. {
  1683. if (ex is ExceptionEx)
  1684. {
  1685. throw;
  1686. }
  1687. else
  1688. {
  1689. throw ExceptionEx.ThrowServiceException(ex);
  1690. }
  1691. }
  1692. }
  1693. internal void AllGetArticle()
  1694. {
  1695. try
  1696. {
  1697. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  1698. foreach (var item in list)
  1699. {
  1700. item.IsGetBeddingArticle = true;
  1701. item.Status = 9;
  1702. this.BaseRepository("CollegeMIS").Update(item);
  1703. }
  1704. }
  1705. catch (Exception ex)
  1706. {
  1707. if (ex is ExceptionEx)
  1708. {
  1709. throw;
  1710. }
  1711. else
  1712. {
  1713. throw ExceptionEx.ThrowServiceException(ex);
  1714. }
  1715. }
  1716. }
  1717. internal void AllMilitary()
  1718. {
  1719. try
  1720. {
  1721. var list = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(a => a.IsPay != true && a.IsReport == true).ToList();
  1722. foreach (var item in list)
  1723. {
  1724. item.IsMilitary = true;
  1725. item.Status = 4;
  1726. this.BaseRepository("CollegeMIS").Update(item);
  1727. StuEnrollAmountRecordEntity amountRecordEntity = new StuEnrollAmountRecordEntity();
  1728. amountRecordEntity.Create();
  1729. amountRecordEntity.Content = "确认军训";
  1730. amountRecordEntity.StuID = item.StuId;
  1731. this.BaseRepository("CollegeMIS").Insert(amountRecordEntity);
  1732. }
  1733. }
  1734. catch (Exception ex)
  1735. {
  1736. if (ex is ExceptionEx)
  1737. {
  1738. throw;
  1739. }
  1740. else
  1741. {
  1742. throw ExceptionEx.ThrowServiceException(ex);
  1743. }
  1744. }
  1745. }
  1746. internal (bool, string) IsPay(string stuId, bool status)
  1747. {
  1748. try
  1749. {
  1750. var resultbool = false;
  1751. var result = "";
  1752. if (!string.IsNullOrEmpty(stuId))
  1753. {
  1754. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1755. if (data.Any())
  1756. {
  1757. foreach (var item in data)
  1758. {
  1759. item.IsPay = status;
  1760. item.Status = 5;
  1761. this.BaseRepository("CollegeMis").Update(item);
  1762. }
  1763. resultbool = true;
  1764. result = "操作成功";
  1765. }
  1766. }
  1767. else
  1768. {
  1769. result = "错误";
  1770. }
  1771. return (resultbool, result);
  1772. }
  1773. catch (Exception ex)
  1774. {
  1775. if (ex is ExceptionEx)
  1776. {
  1777. throw;
  1778. }
  1779. else
  1780. {
  1781. throw ExceptionEx.ThrowServiceException(ex);
  1782. }
  1783. }
  1784. }
  1785. /// <summary>
  1786. /// 缴费金额统计
  1787. /// </summary>
  1788. /// <returns></returns>
  1789. internal object GetPaymentInfo()
  1790. {
  1791. try
  1792. {
  1793. var model = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  1794. var listAllamount = model.Where(a => a.PayAmount != null && a.IsCheckIn != null && a.IsSubsidize1 != null).Select(a => a.PayAmount);
  1795. decimal allamount = 0;
  1796. foreach (var item in listAllamount)
  1797. {
  1798. if (item != null)
  1799. {
  1800. allamount += Convert.ToDecimal(item);
  1801. }
  1802. }
  1803. var listIsamount = model.Where(a => a.IsPay == true).Select(a => a.PayAmount);
  1804. decimal isamount = 0;
  1805. foreach (var item in listIsamount)
  1806. {
  1807. if (item != null)
  1808. {
  1809. isamount += Convert.ToDecimal(item);
  1810. }
  1811. }
  1812. return new
  1813. {
  1814. a = allamount,
  1815. b = isamount
  1816. };
  1817. }
  1818. catch (Exception ex)
  1819. {
  1820. if (ex is ExceptionEx)
  1821. {
  1822. throw;
  1823. }
  1824. else
  1825. {
  1826. throw ExceptionEx.ThrowServiceException(ex);
  1827. }
  1828. }
  1829. }
  1830. internal object GetStuDefaultInfo(string StuId)
  1831. {
  1832. try
  1833. {
  1834. var model = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(a => a.StuId == StuId);
  1835. var imgUrl = "";
  1836. if (model?.Photo != null)
  1837. {
  1838. imgUrl = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_Id == model.Photo)?.F_FilePath;
  1839. if (!string.IsNullOrEmpty(imgUrl))
  1840. {
  1841. imgUrl = "/" + imgUrl.Substring(imgUrl.IndexOf("Resource"));
  1842. }
  1843. }
  1844. return new
  1845. {
  1846. stuName = model.StuName + (model.IsCheckIn == false ? "(走)" : ""),
  1847. className = this.BaseRepository("CollegeMIS")
  1848. .FindEntity<ClassInfoEntity>(a => a.ClassNo == model.ClassNo)?.ClassName,
  1849. imgUrl
  1850. };
  1851. }
  1852. catch (Exception ex)
  1853. {
  1854. if (ex is ExceptionEx)
  1855. {
  1856. throw;
  1857. }
  1858. else
  1859. {
  1860. throw ExceptionEx.ThrowServiceException(ex);
  1861. }
  1862. }
  1863. }
  1864. internal (bool, string) IsPhoto(string stuId, bool status, string fileGuid)
  1865. {
  1866. try
  1867. {
  1868. string result = "";
  1869. bool resultBool = false;
  1870. var model = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(a => a.StuId == stuId);
  1871. if (model != null)
  1872. {
  1873. model.Photo = fileGuid;
  1874. model.IsMug = status;
  1875. model.Status = 6;//确认拍照
  1876. resultBool = true;
  1877. result = "操作成功!";
  1878. this.BaseRepository("CollegeMIS").Update(model);
  1879. }
  1880. else
  1881. {
  1882. result = "错误";
  1883. }
  1884. return (resultBool, result);
  1885. }
  1886. catch (Exception ex)
  1887. {
  1888. if (ex is ExceptionEx)
  1889. {
  1890. throw;
  1891. }
  1892. else
  1893. {
  1894. throw ExceptionEx.ThrowServiceException(ex);
  1895. }
  1896. }
  1897. }
  1898. internal (bool, string) GetCloth(string stuId, bool status)
  1899. {
  1900. try
  1901. {
  1902. bool resultBool = false;
  1903. var result = "";
  1904. if (!string.IsNullOrEmpty(stuId))
  1905. {
  1906. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1907. if (data.Any())
  1908. {
  1909. foreach (var item in data)
  1910. {
  1911. item.IsTakeCloths = status;
  1912. item.Status = 7;
  1913. this.BaseRepository("CollegeMis").Update(item);
  1914. }
  1915. resultBool = true;
  1916. result = "操作成功";
  1917. }
  1918. }
  1919. else
  1920. {
  1921. result = "错误";
  1922. }
  1923. return (resultBool, result);
  1924. }
  1925. catch (Exception ex)
  1926. {
  1927. if (ex is ExceptionEx)
  1928. {
  1929. throw;
  1930. }
  1931. else
  1932. {
  1933. throw ExceptionEx.ThrowServiceException(ex);
  1934. }
  1935. }
  1936. }
  1937. internal (bool, string) GetClothSize(string stuId, bool status)
  1938. {
  1939. try
  1940. {
  1941. bool resultBool = false;
  1942. var result = "";
  1943. if (!string.IsNullOrEmpty(stuId))
  1944. {
  1945. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1946. if (data.Any())
  1947. {
  1948. foreach (var item in data)
  1949. {
  1950. item.IsQuantity = status;
  1951. item.Status = 8;
  1952. this.BaseRepository("CollegeMis").Update(item);
  1953. }
  1954. resultBool = true;
  1955. result = "操作成功";
  1956. }
  1957. }
  1958. else
  1959. {
  1960. result = "错误";
  1961. }
  1962. return (resultBool, result);
  1963. }
  1964. catch (Exception ex)
  1965. {
  1966. if (ex is ExceptionEx)
  1967. {
  1968. throw;
  1969. }
  1970. else
  1971. {
  1972. throw ExceptionEx.ThrowServiceException(ex);
  1973. }
  1974. }
  1975. }
  1976. internal (bool, string) GetArticles(string stuId, bool status)
  1977. {
  1978. try
  1979. {
  1980. bool resultBool = false;
  1981. var result = "";
  1982. if (!string.IsNullOrEmpty(stuId))
  1983. {
  1984. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  1985. if (data.Any())
  1986. {
  1987. foreach (var item in data)
  1988. {
  1989. item.IsGetBeddingArticle = status;
  1990. item.Status = 9;
  1991. this.BaseRepository("CollegeMis").Update(item);
  1992. }
  1993. resultBool = true;
  1994. result = "操作成功";
  1995. }
  1996. }
  1997. else
  1998. {
  1999. result = "错误";
  2000. }
  2001. return (resultBool, result);
  2002. }
  2003. catch (Exception ex)
  2004. {
  2005. if (ex is ExceptionEx)
  2006. {
  2007. throw;
  2008. }
  2009. else
  2010. {
  2011. throw ExceptionEx.ThrowServiceException(ex);
  2012. }
  2013. }
  2014. }
  2015. /// <summary>
  2016. /// 生成缴费金额
  2017. /// </summary>
  2018. internal void GetMoney()
  2019. {
  2020. try
  2021. {
  2022. var stuList = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  2023. foreach (var stuEnroll in stuList)
  2024. {
  2025. var classInfo = this.BaseRepository("CollegeMIS").FindEntity<ClassInfoEntity>(a => a.ClassNo == stuEnroll.ClassNo);
  2026. var yearAndSemester = Common.GetSemesterAndYear();
  2027. var result = new List<StuPayInfo>();
  2028. if (classInfo != null)
  2029. {
  2030. result = this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(a => a.Grade == classInfo.Grade && a.MajorNo == stuEnroll.MajorNo && a.AcademicYearNo == yearAndSemester.AcademicYearShort && a.Semester == yearAndSemester.Semester)
  2031. .Select(a => new StuPayInfo
  2032. {
  2033. standerid = a.ChargeItemID,
  2034. shouldPay = a.Standard,
  2035. standard = a.Standard,
  2036. standerdName = this.BaseRepository("CollegeMIS").FindEntity<FinaChargeItemEntity>(b => b.ChargeItemID == a.ChargeItemID).ChargeItemName.Trim()
  2037. }).ToList();
  2038. }
  2039. foreach (var item in result)
  2040. {
  2041. //住宿费
  2042. if (item.standerid == 12 && stuEnroll.IsCheckIn == false)
  2043. {
  2044. item.shouldPay = 0;
  2045. }
  2046. //学费
  2047. if (item.standerid == 14 && stuEnroll.IsSubsidize1 == true)
  2048. {
  2049. item.shouldPay = 0;
  2050. }
  2051. switch (item.standerid)
  2052. {
  2053. case 12:
  2054. if (stuEnroll.IsCheckIn == false) item.shouldPay = 0;
  2055. break;
  2056. case 14:
  2057. if (stuEnroll.IsSubsidize1 == true) item.shouldPay = 0;
  2058. break;
  2059. case 15:
  2060. if (stuEnroll.IsMilitary == false) item.shouldPay = 0;
  2061. break;
  2062. case 32:
  2063. if (stuEnroll.IsCheckIn == false) item.shouldPay = 0;
  2064. break;
  2065. case 33:
  2066. if (stuEnroll.EnrollType == "0") item.shouldPay = 0;
  2067. break;
  2068. default:
  2069. break;
  2070. }
  2071. }
  2072. decimal money = 0;
  2073. //记录缴费金额
  2074. foreach (var item in result)
  2075. {
  2076. money += Convert.ToDecimal(item.shouldPay);
  2077. }
  2078. stuEnroll.PayAmount = money;
  2079. this.BaseRepository("CollegeMIS").Update(stuEnroll);
  2080. }
  2081. }
  2082. catch (Exception ex)
  2083. {
  2084. if (ex is ExceptionEx)
  2085. {
  2086. throw;
  2087. }
  2088. else
  2089. {
  2090. throw ExceptionEx.ThrowServiceException(ex);
  2091. }
  2092. }
  2093. }
  2094. internal void AllocationDormitory(string dormitoryNo, string stuId, string dormitoryName)
  2095. {
  2096. try
  2097. {
  2098. var oldstuEnroll = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(a => a.DormitoryNo == dormitoryNo);
  2099. if (oldstuEnroll != null)
  2100. {
  2101. oldstuEnroll.DormitoryNo = "";
  2102. oldstuEnroll.DormitoryName = "";
  2103. this.BaseRepository("CollegeMIS").Update(oldstuEnroll);
  2104. }
  2105. var olddormitory = this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryBuildEntity>(a => a.PlanStudentID == stuId);
  2106. if (olddormitory != null)
  2107. {
  2108. olddormitory.PlanStudentID = "";
  2109. this.BaseRepository("CollegeMIS").Update(olddormitory);
  2110. }
  2111. var dormitory = this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryBuildEntity>(a => a.ID == dormitoryNo);
  2112. dormitory.PlanStudentID = stuId;
  2113. this.BaseRepository("CollegeMIS").Update(dormitory);
  2114. var stuEroll = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(a => a.StuId == stuId);
  2115. stuEroll.DormitoryNo = dormitoryNo;
  2116. stuEroll.DormitoryName = dormitoryName;
  2117. this.BaseRepository("CollegeMIS").Update(stuEroll);
  2118. }
  2119. catch (Exception ex)
  2120. {
  2121. if (ex is ExceptionEx)
  2122. {
  2123. throw;
  2124. }
  2125. else
  2126. {
  2127. throw ExceptionEx.ThrowServiceException(ex);
  2128. }
  2129. }
  2130. }
  2131. internal void AllocationClass(string classNo, string dataJson)
  2132. {
  2133. try
  2134. {
  2135. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(dataJson);
  2136. if (data.Any())
  2137. {
  2138. foreach (var item in data)
  2139. {
  2140. item.ClassNo = classNo;
  2141. this.BaseRepository("CollegeMis").Update(item);
  2142. }
  2143. }
  2144. }
  2145. catch (Exception ex)
  2146. {
  2147. if (ex is ExceptionEx)
  2148. {
  2149. throw;
  2150. }
  2151. else
  2152. {
  2153. throw ExceptionEx.ThrowServiceException(ex);
  2154. }
  2155. }
  2156. }
  2157. /// <summary>
  2158. /// 关联照片
  2159. /// </summary>
  2160. internal void RelationPhoto()
  2161. {
  2162. try
  2163. {
  2164. var stuList = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  2165. foreach (var stuEnrollEntity in stuList)
  2166. {
  2167. if (string.IsNullOrEmpty(stuEnrollEntity.Photo))
  2168. {
  2169. stuEnrollEntity.Photo = Guid.NewGuid().ToString();
  2170. AnnexesFileEntity entity = new AnnexesFileEntity
  2171. {
  2172. F_Id = stuEnrollEntity.Photo,
  2173. F_FolderId = stuEnrollEntity.Photo,
  2174. F_FileName = stuEnrollEntity.Photo + ".jpg",
  2175. F_FilePath = $"D:/智慧校园系统/Publish1/Resource/StudentPhotos/{stuEnrollEntity.IDCard}.jpg",
  2176. F_FileExtensions = ".jpg",
  2177. F_FileType = "jpg",
  2178. };
  2179. entity.Create();
  2180. this.BaseRepository("CollegeMIS").Update(stuEnrollEntity);
  2181. this.BaseRepository().Insert(entity);
  2182. }
  2183. else
  2184. {
  2185. var annexes = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_FolderId == stuEnrollEntity.Photo);
  2186. if (annexes != null)
  2187. {
  2188. if (!string.IsNullOrEmpty(stuEnrollEntity.IDCard))
  2189. {
  2190. annexes.F_FilePath = $"D:/智慧校园系统/Publish1/Resource/StudentPhotos/{stuEnrollEntity.IDCard}.jpg";
  2191. this.BaseRepository().Update(annexes);
  2192. }
  2193. }
  2194. else
  2195. {
  2196. AnnexesFileEntity entity = new AnnexesFileEntity
  2197. {
  2198. F_Id = stuEnrollEntity.Photo,
  2199. F_FolderId = stuEnrollEntity.Photo,
  2200. F_FileName = stuEnrollEntity.Photo + ".jpg",
  2201. F_FilePath = $"D:/智慧校园系统/Publish1/Resource/StudentPhotos/{stuEnrollEntity.IDCard}.jpg",
  2202. F_FileExtensions = ".jpg",
  2203. F_FileType = "jpg",
  2204. };
  2205. entity.Create();
  2206. this.BaseRepository().Insert(entity);
  2207. }
  2208. }
  2209. }
  2210. }
  2211. catch (Exception ex)
  2212. {
  2213. if (ex is ExceptionEx)
  2214. {
  2215. throw;
  2216. }
  2217. else
  2218. {
  2219. throw ExceptionEx.ThrowServiceException(ex);
  2220. }
  2221. }
  2222. }
  2223. internal void NewAllocationDormitory(string classNo, string dataJson)
  2224. {
  2225. try
  2226. {
  2227. var data = JsonConvert.DeserializeObject<List<Acc_DormitoryBuildEntity>>(dataJson);
  2228. if (data.Any())
  2229. {
  2230. foreach (var item in data)
  2231. {
  2232. item.PlanClassNo = classNo;
  2233. this.BaseRepository("CollegeMIS").Update(item);
  2234. }
  2235. }
  2236. }
  2237. catch (Exception ex)
  2238. {
  2239. if (ex is ExceptionEx)
  2240. {
  2241. throw;
  2242. }
  2243. else
  2244. {
  2245. throw ExceptionEx.ThrowServiceException(ex);
  2246. }
  2247. }
  2248. }
  2249. internal void Synchronization()
  2250. {
  2251. try
  2252. {
  2253. var ListNewStudent =
  2254. this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(a => a.IsReport == true);
  2255. foreach (var newStudent in ListNewStudent)
  2256. {
  2257. var stuEntity = new StuInfoBasicEntity
  2258. {
  2259. StuNo = newStudent.StuNo,
  2260. Birthday = newStudent.Birthday,
  2261. ClassNo = newStudent.ClassNo,
  2262. DeptNo = newStudent.DeptNo,
  2263. MajorNo = newStudent.MajorNo,
  2264. MajorDetailName = newStudent.MajorName,
  2265. IdentityCardNo = newStudent.IDCard,
  2266. Grade = newStudent.ClassNo.Substring(2, 2),
  2267. StuName = newStudent.StuName,
  2268. Photo = newStudent.Photo,
  2269. FatherUnit = newStudent.ResidenceAddress,
  2270. MailAddress = newStudent.HomeAddress,
  2271. PartyFaceNo = newStudent.Political,
  2272. NationalityNo = newStudent.Nationals,
  2273. GenderNo = newStudent.Gender
  2274. };
  2275. stuEntity.Create();
  2276. this.BaseRepository("CollegeMIS").Insert(stuEntity);
  2277. }
  2278. }
  2279. catch (Exception ex)
  2280. {
  2281. if (ex is ExceptionEx)
  2282. {
  2283. throw;
  2284. }
  2285. else
  2286. {
  2287. throw ExceptionEx.ThrowServiceException(ex);
  2288. }
  2289. }
  2290. }
  2291. /// <summary>
  2292. /// 获取StuEnroll表实体数据
  2293. /// <param name="keyValue">主键</param>
  2294. /// <summary>
  2295. /// <returns></returns>
  2296. public StuEnrollEntity GetStuEnrollEntity(string keyValue)
  2297. {
  2298. try
  2299. {
  2300. var entity = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(keyValue);
  2301. if (!string.IsNullOrEmpty(entity.Photo))
  2302. {
  2303. var path = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_Id == entity.Photo)?.F_FilePath;
  2304. if (!string.IsNullOrEmpty(path))
  2305. {
  2306. path = "/" + path.Substring(path.IndexOf("Resource"));
  2307. entity.PhotoUrl = path;
  2308. }
  2309. }
  2310. return entity;
  2311. }
  2312. catch (Exception ex)
  2313. {
  2314. if (ex is ExceptionEx)
  2315. {
  2316. throw;
  2317. }
  2318. else
  2319. {
  2320. throw ExceptionEx.ThrowServiceException(ex);
  2321. }
  2322. }
  2323. }
  2324. /// <summary>
  2325. /// 获取StuEnroll表实体数据
  2326. /// <param name="keyValue">主键</param>
  2327. /// <summary>
  2328. /// <returns></returns>
  2329. public StuEnrollEntity GetEntityByProcessId(string processId)
  2330. {
  2331. try
  2332. {
  2333. var entity = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(x => x.SupportProcessId == processId);
  2334. //if (!string.IsNullOrEmpty(entity.Photo))
  2335. //{
  2336. // var path = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_Id == entity.Photo)?.F_FilePath;
  2337. // if (!string.IsNullOrEmpty(path))
  2338. // {
  2339. // path = "/" + path.Substring(path.IndexOf("Resource"));
  2340. // entity.PhotoUrl = path;
  2341. // }
  2342. //}
  2343. return entity;
  2344. }
  2345. catch (Exception ex)
  2346. {
  2347. if (ex is ExceptionEx)
  2348. {
  2349. throw;
  2350. }
  2351. else
  2352. {
  2353. throw ExceptionEx.ThrowServiceException(ex);
  2354. }
  2355. }
  2356. }
  2357. #endregion 获取数据
  2358. #region 提交数据
  2359. /// <summary>
  2360. /// 删除实体数据
  2361. /// <param name="keyValue">主键</param>
  2362. /// <summary>
  2363. /// <returns></returns>
  2364. public void DeleteEntity(string keyValue)
  2365. {
  2366. try
  2367. {
  2368. var listId = keyValue.Split(',').ToList();
  2369. foreach (var stuId in listId)
  2370. {
  2371. this.BaseRepository("CollegeMIS").Delete<StuEnrollEntity>(t => t.StuId == stuId);
  2372. }
  2373. }
  2374. catch (Exception ex)
  2375. {
  2376. if (ex is ExceptionEx)
  2377. {
  2378. throw;
  2379. }
  2380. else
  2381. {
  2382. throw ExceptionEx.ThrowServiceException(ex);
  2383. }
  2384. }
  2385. }
  2386. /// <summary>
  2387. /// 保存实体数据(新增、修改)
  2388. /// <param name="keyValue">主键</param>
  2389. /// <summary>
  2390. /// <returns></returns>
  2391. public void SaveEntity(string keyValue, StuEnrollEntity entity)
  2392. {
  2393. try
  2394. {
  2395. if (!string.IsNullOrEmpty(keyValue))
  2396. {
  2397. entity.Modify(keyValue);
  2398. this.BaseRepository("CollegeMIS").Update(entity);
  2399. }
  2400. else
  2401. {
  2402. entity.Create();
  2403. entity.IsMilitary = true;
  2404. this.BaseRepository("CollegeMIS").Insert(entity);
  2405. }
  2406. }
  2407. catch (Exception ex)
  2408. {
  2409. if (ex is ExceptionEx)
  2410. {
  2411. throw;
  2412. }
  2413. else
  2414. {
  2415. throw ExceptionEx.ThrowServiceException(ex);
  2416. }
  2417. }
  2418. }
  2419. public void EditEnrollType(string stuIds, string enrollType)
  2420. {
  2421. try
  2422. {
  2423. List<string> list = stuIds.Split(',').ToList();
  2424. if (list.Count > 0)
  2425. {
  2426. foreach (var item in list)
  2427. {
  2428. if (!string.IsNullOrEmpty(item))
  2429. {
  2430. var model = this.BaseRepository("CollegeMIS").FindEntity<StuEnrollEntity>(a => a.StuId == item);
  2431. if (model != null)
  2432. {
  2433. model.EnrollType = enrollType;
  2434. this.BaseRepository("CollegeMIS").Update(model);
  2435. }
  2436. }
  2437. }
  2438. }
  2439. }
  2440. catch (Exception ex)
  2441. {
  2442. if (ex is ExceptionEx)
  2443. {
  2444. throw;
  2445. }
  2446. else
  2447. {
  2448. throw ExceptionEx.ThrowServiceException(ex);
  2449. }
  2450. }
  2451. }
  2452. /// <summary>
  2453. /// 生成账号
  2454. /// </summary>
  2455. public void GenerateAccout()
  2456. {
  2457. Base.AuthorizeModule.UserRelationIBLL userRelationIBLL = new Base.AuthorizeModule.UserRelationBLL();
  2458. UserIBLL userIBLL = new UserBLL();
  2459. ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
  2460. try
  2461. {
  2462. var alluserlist = userIBLL.GetAllList().Where(m => m.F_Description == "学生");
  2463. //新生报到管理
  2464. var stuEnrolllist = BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(m => m.Grade == "20" && m.IsReport == true);
  2465. var roleId = Config.GetValue("GenerateStudentsRoleId");
  2466. var defaultpwd = Config.GetValue("defaultpwd");
  2467. //读取默认密码配置中已启用的密码
  2468. var Sys_DefaultPwdConfigEntity = this.BaseRepository().FindEntity<Sys_DefaultPwdConfigEntity>(x => x.IsEnabled == true);
  2469. if (Sys_DefaultPwdConfigEntity != null)
  2470. {
  2471. defaultpwd = Sys_DefaultPwdConfigEntity.Pwd;
  2472. }
  2473. var studentList = new List<UserEntity>();
  2474. foreach (var tEntity in stuEnrolllist)
  2475. {
  2476. if (alluserlist.Count(m => m.F_Account == tEntity.IDCard) > 0 || string.IsNullOrEmpty(tEntity.IDCard) || string.IsNullOrEmpty(tEntity.ClassNo))
  2477. {
  2478. continue;
  2479. }
  2480. //查询班级Id
  2481. var schoolId = classInfoIBLL.GetSchoolIdByClassNo(tEntity.ClassNo);
  2482. if (string.IsNullOrEmpty(schoolId))
  2483. continue;
  2484. var annexesFileEntity = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_FolderId == tEntity.Photo);
  2485. var url = "";
  2486. if (annexesFileEntity != null)
  2487. {
  2488. url = annexesFileEntity.F_FilePath;
  2489. url = "/" + url.Substring(url.IndexOf("Resource"));
  2490. }
  2491. UserEntity userbase = new UserEntity();
  2492. userbase.F_Account = tEntity.IDCard;
  2493. userbase.F_RealName = tEntity.StuName;
  2494. userbase.F_EnCode = tEntity.IDCard;
  2495. userbase.F_Password = Md5Helper.Encrypt(defaultpwd, 32).ToLower();
  2496. userbase.F_HeadIcon = string.IsNullOrEmpty(url) ? Config.GetValue("defaultheadimg") : url;
  2497. userbase.F_Gender = tEntity.Gender.HasValue ? Convert.ToInt32(tEntity.Gender.Value) : 1;
  2498. userbase.F_DeleteMark = 0;
  2499. userbase.F_EnabledMark = 1;
  2500. userbase.F_Mobile = tEntity.FirstMobile;
  2501. userbase.F_Description = "学生";
  2502. userbase.F_CompanyId = schoolId;
  2503. userbase.F_DepartmentId = tEntity.DeptNo;
  2504. userbase.F_IdentityCardNo = tEntity.IDCard;
  2505. userIBLL.SaveEntity(null, userbase);
  2506. studentList.Add(userbase);
  2507. }
  2508. if (studentList.Any())
  2509. {
  2510. string s = studentList.Select(m => m.F_UserId).Aggregate((current, userEntity) => current + "," + userEntity);
  2511. userRelationIBLL.SaveEntityList2(roleId, 1, s);
  2512. }
  2513. }
  2514. catch (Exception ex)
  2515. {
  2516. if (ex is ExceptionEx)
  2517. {
  2518. throw;
  2519. }
  2520. else
  2521. {
  2522. throw ExceptionEx.ThrowServiceException(ex);
  2523. }
  2524. }
  2525. }
  2526. public void SyncDept()
  2527. {
  2528. try
  2529. {
  2530. var data = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  2531. var majorList = this.BaseRepository("CollegeMIS").FindList<CdMajorEntity>().ToList();
  2532. foreach (var item in data)
  2533. {
  2534. var deptNo = majorList.FirstOrDefault(a => a.MajorNo == item.MajorNo)?.DeptNo;
  2535. item.DeptNo = deptNo;
  2536. this.BaseRepository("CollegeMIS").Update(item);
  2537. }
  2538. }
  2539. catch (Exception ex)
  2540. {
  2541. if (ex is ExceptionEx)
  2542. {
  2543. throw;
  2544. }
  2545. else
  2546. {
  2547. throw ExceptionEx.ThrowServiceException(ex);
  2548. }
  2549. }
  2550. }
  2551. public void SyncMajor()
  2552. {
  2553. try
  2554. {
  2555. var data = this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>().ToList();
  2556. var classList = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>().ToList();
  2557. foreach (var item in data)
  2558. {
  2559. var majorNo = classList.FirstOrDefault(a => a.ClassNo == item.ClassNo)?.MajorNo;
  2560. item.MajorNo = majorNo;
  2561. this.BaseRepository("CollegeMIS").Update(item);
  2562. }
  2563. }
  2564. catch (Exception ex)
  2565. {
  2566. if (ex is ExceptionEx)
  2567. {
  2568. throw;
  2569. }
  2570. else
  2571. {
  2572. throw ExceptionEx.ThrowServiceException(ex);
  2573. }
  2574. }
  2575. }
  2576. /// <summary>
  2577. /// 签订安全自律协议
  2578. /// </summary>
  2579. /// <param name="stuId"></param>
  2580. /// <param name="status"></param>
  2581. /// <returns></returns>
  2582. public (bool, string) Sign(string stuId, bool status)
  2583. {
  2584. try
  2585. {
  2586. var resultbool = false;
  2587. var result = "";
  2588. if (!string.IsNullOrEmpty(stuId))
  2589. {
  2590. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  2591. if (data.Any())
  2592. {
  2593. foreach (var item in data)
  2594. {
  2595. item.SecurityAgreement = status;
  2596. this.BaseRepository("CollegeMis").Update(item);
  2597. }
  2598. resultbool = true;
  2599. result = "操作成功";
  2600. }
  2601. }
  2602. else
  2603. {
  2604. result = "错误";
  2605. }
  2606. return (resultbool, result);
  2607. }
  2608. catch (Exception ex)
  2609. {
  2610. if (ex is ExceptionEx)
  2611. {
  2612. throw;
  2613. }
  2614. else
  2615. {
  2616. throw ExceptionEx.ThrowServiceException(ex);
  2617. }
  2618. }
  2619. }
  2620. /// <summary>
  2621. /// 报到
  2622. /// </summary>
  2623. /// <param name="stuId"></param>
  2624. /// <param name="status"></param>
  2625. /// <returns></returns>
  2626. public (bool, string) Report(string stuId, bool status)
  2627. {
  2628. try
  2629. {
  2630. var resultbool = false;
  2631. var result = "";
  2632. if (!string.IsNullOrEmpty(stuId))
  2633. {
  2634. var data = JsonConvert.DeserializeObject<List<StuEnrollEntity>>(stuId);
  2635. if (data.Any())
  2636. {
  2637. foreach (var item in data)
  2638. {
  2639. item.IsReport = status;
  2640. item.Status = 1;
  2641. //item.SecurityAgreement = status;
  2642. this.BaseRepository("CollegeMis").Update(item);
  2643. }
  2644. resultbool = true;
  2645. result = "操作成功";
  2646. }
  2647. }
  2648. else
  2649. {
  2650. result = "错误";
  2651. }
  2652. return (resultbool, result);
  2653. }
  2654. catch (Exception ex)
  2655. {
  2656. if (ex is ExceptionEx)
  2657. {
  2658. throw;
  2659. }
  2660. else
  2661. {
  2662. throw ExceptionEx.ThrowServiceException(ex);
  2663. }
  2664. }
  2665. }
  2666. /// <summary>
  2667. /// 新生学费管理-确认资助
  2668. /// </summary>
  2669. /// <param name="stuIds"></param>
  2670. public void Support(string stuIds)
  2671. {
  2672. try
  2673. {
  2674. if (!string.IsNullOrEmpty(stuIds))
  2675. {
  2676. var userinfo = LoginUserInfo.Get();
  2677. string sql = $"update StuEnroll set IsSupport=1,SupportTime=getdate(),SupportUserId='{userinfo.userId}',SupportUserName='{userinfo.realName}' where StuId in ('{stuIds}')";
  2678. this.BaseRepository("CollegeMis").ExecuteBySql(sql);
  2679. }
  2680. }
  2681. catch (Exception ex)
  2682. {
  2683. if (ex is ExceptionEx)
  2684. {
  2685. throw;
  2686. }
  2687. else
  2688. {
  2689. throw ExceptionEx.ThrowServiceException(ex);
  2690. }
  2691. }
  2692. }
  2693. /// <summary>
  2694. /// 新生资助管理--完善学费信息
  2695. /// </summary>
  2696. /// <param name="keyValue"></param>
  2697. /// <param name="entity"></param>
  2698. public void SupplySupport(string keyValue, StuEnrollEntity entity)
  2699. {
  2700. try
  2701. {
  2702. if (!string.IsNullOrEmpty(keyValue))
  2703. {
  2704. string sql = $@"update StuEnroll set SupportGrade='{entity.SupportGrade}',
  2705. SupportType='{entity.SupportType}',
  2706. SupportType1='{entity.SupportType1}',
  2707. SupportCondition='{entity.SupportCondition}',
  2708. SupportRemarks='{entity.SupportRemarks}'
  2709. where StuId='{keyValue}'";
  2710. this.BaseRepository("CollegeMis").ExecuteBySql(sql);
  2711. }
  2712. }
  2713. catch (Exception ex)
  2714. {
  2715. if (ex is ExceptionEx)
  2716. {
  2717. throw;
  2718. }
  2719. else
  2720. {
  2721. throw ExceptionEx.ThrowServiceException(ex);
  2722. }
  2723. }
  2724. }
  2725. /// <summary>
  2726. /// 新生资助管理--学费变更
  2727. /// </summary>
  2728. /// <param name="keyValue"></param>
  2729. /// <param name="entity"></param>
  2730. public void SupportChange(string keyValue, StuEnrollEntity entity)
  2731. {
  2732. try
  2733. {
  2734. if (!string.IsNullOrEmpty(keyValue))
  2735. {
  2736. var userinfo = LoginUserInfo.Get();
  2737. string sql = $@"update StuEnroll set
  2738. StuName='{entity.StuName}',
  2739. ClassNo='{entity.ClassNo}',
  2740. SupportBank='{entity.SupportBank}',
  2741. SupportBankCard='{entity.SupportBankCard}',
  2742. SupportAmount='{entity.SupportAmount}',
  2743. SecondMobile='{entity.SecondMobile}',
  2744. SupportProcessId='{entity.SupportProcessId}',
  2745. SupportChangeRemark='{entity.SupportChangeRemark}',
  2746. SupportStatus=0,IsSupportChange=1,
  2747. SupportChangeTime=getdate(),SupportChangeUserId='{userinfo.userId}',SupportChangeUserName='{userinfo.realName}'
  2748. where StuId='{keyValue}'";
  2749. this.BaseRepository("CollegeMis").ExecuteBySql(sql);
  2750. }
  2751. }
  2752. catch (Exception ex)
  2753. {
  2754. if (ex is ExceptionEx)
  2755. {
  2756. throw;
  2757. }
  2758. else
  2759. {
  2760. throw ExceptionEx.ThrowServiceException(ex);
  2761. }
  2762. }
  2763. }
  2764. /// <summary>
  2765. /// 修改审批状态
  2766. /// </summary>
  2767. /// <param name="keyValue"></param>
  2768. /// <param name="status"></param>
  2769. public void ChangeStatusById(string keyValue, int status, string processId)
  2770. {
  2771. try
  2772. {
  2773. BaseRepository("CollegeMis").ExecuteBySql("update StuEnroll set SupportStatus=" + status + ",SupportProcessId='" + processId + "' where StuId='" + keyValue + "'", null);
  2774. }
  2775. catch (Exception ex)
  2776. {
  2777. throw ExceptionEx.ThrowServiceException(ex);
  2778. }
  2779. }
  2780. #endregion 提交数据
  2781. }
  2782. }