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

StuInfoBasicController.cs 26 KiB

4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826
  1. using System;
  2. using Learun.Util;
  3. using System.Data;
  4. using Learun.Application.TwoDevelopment.EducationalAdministration;
  5. using System.Web.Mvc;
  6. using System.Collections.Generic;
  7. using System.IO;
  8. using System.Linq;
  9. using Learun.Application.Base.SystemModule;
  10. using static Learun.Application.TwoDevelopment.EducationalAdministration.StuInfoBasicEntity;
  11. using ZipOneCode.ZipProvider;
  12. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  13. {
  14. /// <summary>
  15. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  16. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  17. /// 创 建:超级管理员
  18. /// 日 期:2019-02-21 16:53
  19. /// 描 述:学生学籍
  20. /// </summary>
  21. public class StuInfoBasicController : MvcControllerBase
  22. {
  23. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  24. private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL();
  25. private AnnexesFileIBLL annexesFileIbll = new AnnexesFileBLL();
  26. private StuEncourgementIBLL stuEncourgementIBLL = new StuEncourgementBLL();
  27. private StuPunishmentIBLL stuPunishmentIBLL = new StuPunishmentBLL();
  28. private StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  29. #region 视图功能
  30. /// <summary>
  31. /// 主页面
  32. /// <summary>
  33. /// <returns></returns>
  34. [HttpGet]
  35. public ActionResult Index()
  36. {
  37. return View();
  38. }
  39. /// <summary>
  40. /// 主页面【大厂】
  41. /// <summary>
  42. /// <returns></returns>
  43. [HttpGet]
  44. public ActionResult IndexOfDC()
  45. {
  46. return View();
  47. }
  48. /// <summary>
  49. /// 表单页
  50. /// <summary>
  51. /// <returns></returns>
  52. [HttpGet]
  53. public ActionResult Form()
  54. {
  55. return View();
  56. }
  57. /// <summary>
  58. /// 表单页【大厂】
  59. /// <summary>
  60. /// <returns></returns>
  61. [HttpGet]
  62. public ActionResult FormOfDC()
  63. {
  64. return View();
  65. }
  66. [HttpGet]
  67. public ActionResult FormView()
  68. {
  69. return View();
  70. }
  71. [HttpGet]
  72. public ActionResult MyClass()
  73. {
  74. return View();
  75. }
  76. [HttpGet]
  77. public ActionResult CreateGraduateNo()
  78. {
  79. return View();
  80. }
  81. /// <summary>
  82. /// 毕业归档
  83. /// </summary>
  84. /// <returns></returns>
  85. [HttpGet]
  86. public ActionResult Graduate()
  87. {
  88. return View();
  89. }
  90. [HttpGet]
  91. public ActionResult CreateGraduateNoForm()
  92. {
  93. return View();
  94. }
  95. /// <summary>
  96. /// 异动转入
  97. /// </summary>
  98. /// <returns></returns>
  99. public ActionResult FormTran()
  100. {
  101. return View();
  102. }
  103. /// <summary>
  104. /// 学生列表【班级信息管理】
  105. /// <summary>
  106. /// <returns></returns>
  107. [HttpGet]
  108. public ActionResult IndexInClass()
  109. {
  110. return View();
  111. }
  112. /// <summary>
  113. /// 打印方向表
  114. /// </summary>
  115. /// <returns></returns>
  116. public ActionResult DirectionPrint()
  117. {
  118. return View();
  119. }
  120. /// <summary>
  121. /// 打印
  122. /// <summary>
  123. /// <returns></returns>
  124. [HttpGet]
  125. public ActionResult Print(string keyValue)
  126. {
  127. var stuInfoBasicEntity = stuInfoBasicIBLL.GetStuInfoBasicEntity(keyValue);
  128. if (stuInfoBasicEntity == null)
  129. {
  130. return View(new StuInfoBasicEntity());
  131. }
  132. //头像
  133. stuInfoBasicEntity.Photo = annexesFileIbll.GetEntityByFolderId(stuInfoBasicEntity.Photo)?.F_FilePath;
  134. if (!string.IsNullOrEmpty(stuInfoBasicEntity.Photo))
  135. {
  136. stuInfoBasicEntity.Photo = stuInfoBasicEntity.Photo.Substring(stuInfoBasicEntity.Photo.IndexOf("Resource") - 1);
  137. }
  138. //奖罚情况
  139. stuInfoBasicEntity.StuEncourgementList = stuEncourgementIBLL.GetEncourgementListByStuNo(stuInfoBasicEntity.StuNo).OrderBy(x => x.AcademicYearNo).ThenBy(x => x.Semester).ToList();
  140. stuInfoBasicEntity.StuPunishmentList = stuPunishmentIBLL.GetPunishmentListByStuNo(stuInfoBasicEntity.StuNo).OrderBy(x => x.AcademicYearNo).ThenBy(x => x.Semester).ToList();
  141. //学习成绩
  142. stuInfoBasicEntity.StuScoreClassOneList = stuScoreIBLL.GetAllScoreListByStuNo(stuInfoBasicEntity.StuNo)
  143. .Where(x => x.AcademicYearNo != null && x.Semester != null && x.Score != null)
  144. .GroupBy(x => new { x.AcademicYearNo, x.Semester })
  145. .Select(x => new StuScoreClassOne()
  146. {
  147. AcademicYearNo = x.Key.AcademicYearNo,
  148. Semester = x.Key.Semester,
  149. StuScoreList = x.Select(y => new StuScoreEntity()
  150. {
  151. LessonNo = y.LessonNo,
  152. LessonName = y.LessonName,
  153. Score = y.Score
  154. }).OrderBy(xx => xx.LessonNo).ToList()
  155. }).OrderBy(xx => xx.AcademicYearNo).ThenBy(xx => xx.Semester).ToList();
  156. return View(stuInfoBasicEntity);
  157. }
  158. /// <summary>
  159. /// 打印
  160. /// <summary>
  161. /// <returns></returns>
  162. [HttpGet]
  163. public ActionResult Printxjk(string keyValue)
  164. {
  165. var stuInfoBasicEntity = stuInfoBasicIBLL.GetStuInfoBasicEntity(keyValue);
  166. ViewBag.PrintDate = DateTime.Now.ToDate();
  167. if (stuInfoBasicEntity == null)
  168. {
  169. return View(new StuInfoBasicEntity());
  170. }
  171. //头像
  172. stuInfoBasicEntity.Photo = annexesFileIbll.GetEntityByFolderId(stuInfoBasicEntity.Photo)?.F_FilePath;
  173. if (!string.IsNullOrEmpty(stuInfoBasicEntity.Photo))
  174. {
  175. stuInfoBasicEntity.Photo = stuInfoBasicEntity.Photo.Substring(stuInfoBasicEntity.Photo.IndexOf("Resource") - 1);
  176. }
  177. //学习成绩
  178. stuInfoBasicEntity.StuScoreClassOneList = stuScoreIBLL.GetAllScoreListByStuNo(stuInfoBasicEntity.StuNo)
  179. .Where(x => x.AcademicYearNo != null && x.Semester != null && x.Score != null)
  180. .GroupBy(x => new { x.AcademicYearNo, x.Semester })
  181. .Select(x => new StuScoreClassOne()
  182. {
  183. AcademicYearNo = x.Key.AcademicYearNo,
  184. Semester = x.Key.Semester,
  185. StuScoreList = x.Select(y => new StuScoreEntity()
  186. {
  187. LessonNo = y.LessonNo,
  188. LessonName = y.LessonName,
  189. Score = y.Score
  190. }).OrderBy(xx => xx.LessonNo).ToList()
  191. }).OrderBy(xx => xx.AcademicYearNo).ThenBy(xx => xx.Semester).ToList();
  192. return View(stuInfoBasicEntity);
  193. }
  194. /// <summary>
  195. /// 离校手续-图书资料归还
  196. /// </summary>
  197. /// <returns></returns>
  198. [HttpGet]
  199. public ActionResult GraduateReturnBooks()
  200. {
  201. return View();
  202. }
  203. /// <summary>
  204. /// 离校手续-就业协议备案
  205. /// </summary>
  206. /// <returns></returns>
  207. [HttpGet]
  208. public ActionResult GraduateEmployAgree()
  209. {
  210. return View();
  211. }
  212. /// <summary>
  213. /// 离校手续-学杂费结算
  214. /// </summary>
  215. /// <returns></returns>
  216. [HttpGet]
  217. public ActionResult GraduateFeeSettle()
  218. {
  219. return View();
  220. }
  221. /// <summary>
  222. /// 离校手续-办理退住手续
  223. /// </summary>
  224. /// <returns></returns>
  225. [HttpGet]
  226. public ActionResult GraduateCheckOut()
  227. {
  228. return View();
  229. }
  230. /// <summary>
  231. /// 离校手续-校园卡注销
  232. /// </summary>
  233. /// <returns></returns>
  234. [HttpGet]
  235. public ActionResult GraduateCardDeregistrate()
  236. {
  237. return View();
  238. }
  239. /// <summary>
  240. /// 离校手续-毕业证领取
  241. /// </summary>
  242. /// <returns></returns>
  243. [HttpGet]
  244. public ActionResult GraduateDiplomaReceive()
  245. {
  246. return View();
  247. }
  248. /// <summary>
  249. /// 离校手续-档案与组织关系转出
  250. /// </summary>
  251. /// <returns></returns>
  252. [HttpGet]
  253. public ActionResult GraduateFileTransfer()
  254. {
  255. return View();
  256. }
  257. /// <summary>
  258. /// 毕业证领取表单
  259. /// </summary>
  260. /// <returns></returns>
  261. public ActionResult GraduateDiplomaReceiveForm()
  262. {
  263. return View();
  264. }
  265. /// <summary>
  266. /// 导入页面
  267. /// <summary>
  268. /// <returns></returns>
  269. [HttpGet]
  270. public ActionResult ImportForm()
  271. {
  272. return View();
  273. }
  274. /// <summary>
  275. /// 压缩包同步照片页面
  276. /// <summary>
  277. /// <returns></returns>
  278. [HttpGet]
  279. public ActionResult SynPhotoForm()
  280. {
  281. return View();
  282. }
  283. #endregion
  284. #region 获取数据
  285. /// <summary>
  286. /// 生成帐号
  287. /// </summary>
  288. /// <returns></returns>
  289. [HttpPost]
  290. [AjaxOnly]
  291. public ActionResult Generate()
  292. {
  293. stuInfoBasicIBLL.GenerateAccout();
  294. return Success("生成成功!");
  295. }
  296. [HttpPost]
  297. [AjaxOnly]
  298. public ActionResult UpdateAccount()
  299. {
  300. stuInfoBasicIBLL.UpdateAccount();
  301. return Success("更新成功!");
  302. }
  303. /// <summary>
  304. /// 获取页面显示列表数据
  305. /// <summary>
  306. /// <param name="queryJson">查询参数</param>
  307. /// <returns></returns>
  308. [HttpGet]
  309. [AjaxOnly]
  310. public ActionResult GetPageList(string pagination, string queryJson)
  311. {
  312. Pagination paginationobj = pagination.ToObject<Pagination>();
  313. var data = stuInfoBasicIBLL.GetPageList(paginationobj, queryJson);
  314. var jsonData = new
  315. {
  316. rows = data,
  317. total = paginationobj.total,
  318. page = paginationobj.page,
  319. records = paginationobj.records
  320. };
  321. return Success(jsonData);
  322. }
  323. /// <summary>
  324. /// 获取表单数据
  325. /// <summary>
  326. /// <returns></returns>
  327. [HttpGet]
  328. [AjaxOnly]
  329. public ActionResult GetFormData(string keyValue)
  330. {
  331. var StuInfoBasicData = stuInfoBasicIBLL.GetStuInfoBasicEntity(keyValue);
  332. var jsonData = new
  333. {
  334. StuInfoBasic = StuInfoBasicData,
  335. };
  336. return Success(jsonData);
  337. }
  338. /// <summary>
  339. /// 获取毕业学生的专业
  340. /// </summary>
  341. /// <returns></returns>
  342. [HttpGet]
  343. [AjaxOnly]
  344. public ActionResult GetMajorInfoWithGraduation()
  345. {
  346. var data = stuInfoBasicIBLL.GetMajorInfoWithGraduation();
  347. return Success(data);
  348. }
  349. /// <summary>
  350. /// 获取页面显示列表数据
  351. /// <summary>
  352. /// <returns></returns>
  353. [HttpGet]
  354. [AjaxOnly]
  355. public ActionResult GetAllList()
  356. {
  357. var data = stuInfoBasicIBLL.GetAllList();
  358. return Success(data);
  359. }
  360. /// <summary>
  361. /// 根据帐号获取学生的信息
  362. /// </summary>
  363. /// <param name="Account"></param>
  364. /// <returns></returns>
  365. [HttpGet]
  366. [AjaxOnly]
  367. public ActionResult GetStuInfo(string Account)
  368. {
  369. var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(Account);
  370. if (stuInfo != null)
  371. {
  372. return JsonResult(stuInfo);
  373. }
  374. else
  375. {
  376. return Fail("学生不存在");
  377. }
  378. }
  379. /// <summary>
  380. /// 根据帐号获取学生的信息
  381. /// </summary>
  382. /// <param name="ClassNo">班级码</param>
  383. /// <returns></returns>
  384. [HttpGet]
  385. [AjaxOnly]
  386. public ActionResult GetStuInfoByClassNo(string ClassNo)
  387. {
  388. var stuInfo = stuInfoBasicIBLL.GetStuInfoByClassNo(ClassNo);
  389. return Success(stuInfo);
  390. }
  391. /// <summary>
  392. /// 根据帐号获取学生的信息
  393. /// </summary>
  394. /// <param name="Account"></param>
  395. /// <returns></returns>
  396. [HttpGet]
  397. [AjaxOnly]
  398. public ActionResult GetStuInfoBasicEntityByStuName(string name)
  399. {
  400. var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuName(name);
  401. return Success(stuInfo);
  402. }
  403. /// <summary>
  404. /// 获取左侧树形数据
  405. /// <summary>
  406. /// <returns></returns>
  407. [HttpGet]
  408. [AjaxOnly]
  409. public ActionResult GetTree()
  410. {
  411. var data = stuInfoBasicIBLL.GetTree();
  412. return Success(data);
  413. }
  414. [HttpGet]
  415. public ActionResult Direction()
  416. {
  417. return View();
  418. }
  419. #endregion
  420. #region 提交数据
  421. /// <summary>
  422. /// 领取毕业证
  423. /// </summary>
  424. /// <param name="keyValue">学生id</param>
  425. /// <returns></returns>
  426. [HttpPost]
  427. [AjaxOnly]
  428. public ActionResult GetCard(string keyValue, string status, string strEntity)
  429. {
  430. if (status == "1")//领取
  431. {
  432. StuInfoBasicEntity entity = strEntity.ToObject<StuInfoBasicEntity>();
  433. stuInfoBasicIBLL.GetCard(keyValue, status, entity);
  434. }
  435. else//取消领取
  436. {
  437. stuInfoBasicIBLL.GetCard(keyValue, status, new StuInfoBasicEntity());
  438. }
  439. return Success("操作成功");
  440. }
  441. /// <summary>
  442. /// 图书资料归还
  443. /// </summary>
  444. /// <param name="keyValue">学生id</param>
  445. /// <returns></returns>
  446. [HttpPost]
  447. [AjaxOnly]
  448. public ActionResult IsReturnBooks(string keyValue, string status)
  449. {
  450. stuInfoBasicIBLL.IsReturnBooks(keyValue, status);
  451. return Success("操作成功");
  452. }
  453. /// <summary>
  454. /// 就业协议备案
  455. /// </summary>
  456. /// <param name="keyValue">学生id</param>
  457. /// <returns></returns>
  458. [HttpPost]
  459. [AjaxOnly]
  460. public ActionResult IsEmployAgree(string keyValue, string status)
  461. {
  462. stuInfoBasicIBLL.IsEmployAgree(keyValue, status);
  463. return Success("操作成功");
  464. }
  465. /// <summary>
  466. /// 学杂费结算
  467. /// </summary>
  468. /// <param name="keyValue">学生id</param>
  469. /// <returns></returns>
  470. [HttpPost]
  471. [AjaxOnly]
  472. public ActionResult IsFeeSettle(string keyValue, string status)
  473. {
  474. stuInfoBasicIBLL.IsFeeSettle(keyValue, status);
  475. return Success("操作成功");
  476. }
  477. /// <summary>
  478. /// 办理退住手续
  479. /// </summary>
  480. /// <param name="keyValue">学生id</param>
  481. /// <returns></returns>
  482. [HttpPost]
  483. [AjaxOnly]
  484. public ActionResult IsCheckOut(string keyValue, string status)
  485. {
  486. stuInfoBasicIBLL.IsCheckOut(keyValue, status);
  487. return Success("操作成功");
  488. }
  489. /// <summary>
  490. /// 校园卡注销
  491. /// </summary>
  492. /// <param name="keyValue">学生id</param>
  493. /// <returns></returns>
  494. [HttpPost]
  495. [AjaxOnly]
  496. public ActionResult IsCardDeregistrate(string keyValue, string status)
  497. {
  498. stuInfoBasicIBLL.IsCardDeregistrate(keyValue, status);
  499. return Success("操作成功");
  500. }
  501. /// <summary>
  502. /// 档案与组织关系转出
  503. /// </summary>
  504. /// <param name="keyValue">学生id</param>
  505. /// <returns></returns>
  506. [HttpPost]
  507. [AjaxOnly]
  508. public ActionResult IsFileTransfer(string keyValue, string status, string fort)
  509. {
  510. stuInfoBasicIBLL.IsFileTransfer(keyValue, status, fort);
  511. return Success("操作成功");
  512. }
  513. /// <summary>
  514. /// 学生毕业归档
  515. /// </summary>
  516. /// <param name="keyValue">学生id</param>
  517. /// <returns></returns>
  518. [HttpPost]
  519. [AjaxOnly]
  520. public ActionResult StuStore()
  521. {
  522. stuInfoBasicIBLL.StuStore();
  523. return Success("操作成功");
  524. }
  525. /// <summary>
  526. /// 删除实体数据
  527. /// <param name="keyValue">主键</param>
  528. /// <summary>
  529. /// <returns></returns>
  530. [HttpPost]
  531. [AjaxOnly]
  532. public ActionResult DeleteForm(string keyValue)
  533. {
  534. stuInfoBasicIBLL.DeleteEntity(keyValue);
  535. return Success("删除成功!");
  536. }
  537. /// <summary>
  538. /// 保存实体数据(新增、修改)
  539. /// <param name="keyValue">主键</param>
  540. /// <summary>
  541. /// <returns></returns>
  542. [HttpPost]
  543. [ValidateAntiForgeryToken]
  544. [AjaxOnly]
  545. public ActionResult SaveForm(string keyValue, string strEntity)
  546. {
  547. StuInfoBasicEntity entity = strEntity.ToObject<StuInfoBasicEntity>();
  548. entity.SyncFlag = false;
  549. var model = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo);
  550. if (string.IsNullOrEmpty(keyValue))
  551. {
  552. if (model != null)
  553. {
  554. return Fail("学生编号已存在!");
  555. }
  556. }
  557. else
  558. {
  559. if (model != null && model.StuId != keyValue)
  560. {
  561. return Fail("学生编号已存在!");
  562. }
  563. entity.SyncFlag = true;
  564. //判断排课同步数据是否存在:若存在,清除同步数据;
  565. var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue);
  566. if (arrangeLessonSyncList.Any())
  567. {
  568. arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue);
  569. }
  570. else
  571. {
  572. entity.SyncFlag = false;
  573. }
  574. }
  575. stuInfoBasicIBLL.SaveEntity(keyValue, entity);
  576. return Success("保存成功!");
  577. }
  578. [HttpPost]
  579. [AjaxOnly]
  580. public ActionResult CreateGraduateNoByMajor(string CityCode, string SchoolCode, string MajorList)
  581. {
  582. stuInfoBasicIBLL.CreateGraduateNoByMajor(CityCode, SchoolCode, MajorList);
  583. return Success("生成成功");
  584. }
  585. /// <summary>
  586. /// 按学号生成毕业证号
  587. /// </summary>
  588. /// <returns></returns>
  589. [HttpPost]
  590. [AjaxOnly]
  591. public ActionResult DoCreateGraduateNo()
  592. {
  593. stuInfoBasicIBLL.DoCreateGraduateNo();
  594. return Success("生成成功");
  595. }
  596. /// <summary>
  597. /// 审核
  598. /// <param name="keyValue">主键</param>
  599. /// <summary>
  600. /// <returns></returns>
  601. [HttpPost]
  602. [AjaxOnly]
  603. public ActionResult Check(string keyValue)
  604. {
  605. var keyValueArr = keyValue.Split(',');
  606. stuInfoBasicIBLL.UpdateState(keyValue, "1");
  607. foreach (var item in keyValueArr)
  608. {
  609. var StuInfoBasicData = stuInfoBasicIBLL.GetStuInfoBasicEntity(item);
  610. if (StuInfoBasicData != null)
  611. {
  612. StuInfoBasicData.CheckMark = "1";
  613. stuInfoBasicIBLL.SaveEntity(item, StuInfoBasicData);
  614. }
  615. }
  616. return Success("审核成功!");
  617. }
  618. /// <summary>
  619. /// 取消审核
  620. /// <param name="keyValue">主键</param>
  621. /// <summary>
  622. /// <returns></returns>
  623. [HttpPost]
  624. [AjaxOnly]
  625. public ActionResult UnCheck(string keyValue)
  626. {
  627. var keyValueArr = keyValue.Split(',');
  628. stuInfoBasicIBLL.UpdateState(keyValue, "0");
  629. foreach (var item in keyValueArr)
  630. {
  631. var StuInfoBasicData = stuInfoBasicIBLL.GetStuInfoBasicEntity(item);
  632. if (StuInfoBasicData != null)
  633. {
  634. StuInfoBasicData.CheckMark = "0";
  635. stuInfoBasicIBLL.SaveEntity(item, StuInfoBasicData);
  636. }
  637. }
  638. return Success("取消审核成功!");
  639. }
  640. /// <summary>
  641. /// 全部审核
  642. /// <param name="keyValue">主键</param>
  643. /// <summary>
  644. /// <returns></returns>
  645. [HttpPost]
  646. [AjaxOnly]
  647. public ActionResult CheckAll()
  648. {
  649. stuInfoBasicIBLL.CheckAll();
  650. return Success("全部审核成功!");
  651. }
  652. /// <summary>
  653. /// 准许学生毕业操作
  654. /// <param name="keyValue">学号</param>
  655. /// <summary>
  656. /// <returns></returns>
  657. [HttpGet]
  658. [AjaxOnly]
  659. public ActionResult AllowGraduate(string stuNo, string status)
  660. {
  661. stuInfoBasicIBLL.AllowGraduate(stuNo, status);
  662. return Success("操作成功!");
  663. }
  664. [HttpPost]
  665. [AjaxOnly]
  666. public ActionResult IsPhoto(string stuId, string base64url)
  667. {
  668. var loginuser = LoginUserInfo.Get();
  669. //头像处理
  670. var folderId = Guid.NewGuid().ToString();
  671. string filePath = Config.GetValue("AnnexesFile");
  672. string uploadDate = DateTime.Now.ToString("yyyyMMdd");
  673. string FileEextension = ".png";
  674. string fileGuid = Guid.NewGuid().ToString();
  675. string virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", filePath, loginuser.account, uploadDate, fileGuid, FileEextension);
  676. //创建文件夹
  677. string path = Path.GetDirectoryName(virtualPath);
  678. Directory.CreateDirectory(path);
  679. AnnexesFileEntity fileAnnexesEntity = new AnnexesFileEntity();
  680. if (!System.IO.File.Exists(virtualPath))
  681. {
  682. byte[] bytes = Convert.FromBase64String(base64url.Replace("data:image/png;base64,", ""));
  683. FileInfo file = new FileInfo(virtualPath);
  684. FileStream fs = file.Create();
  685. fs.Write(bytes, 0, bytes.Length);
  686. fs.Close();
  687. //文件信息写入数据库
  688. fileAnnexesEntity.F_Id = fileGuid;
  689. fileAnnexesEntity.F_FileName = "userphoto.png";
  690. fileAnnexesEntity.F_FilePath = virtualPath;
  691. fileAnnexesEntity.F_FileSize = bytes.Length.ToString();
  692. fileAnnexesEntity.F_FileExtensions = FileEextension;
  693. fileAnnexesEntity.F_FileType = FileEextension.Replace(".", "");
  694. fileAnnexesEntity.F_CreateUserId = loginuser.userId;
  695. fileAnnexesEntity.F_CreateUserName = loginuser.realName;
  696. annexesFileIbll.SaveEntity(folderId, fileAnnexesEntity);
  697. var stuEntity = stuInfoBasicIBLL.GetStuInfoBasicEntity(stuId);
  698. stuEntity.Photo = folderId;
  699. stuInfoBasicIBLL.SaveEntity(stuEntity.StuId, stuEntity);
  700. return Success("上传成功");
  701. }
  702. else
  703. {
  704. return Fail("上传失败");
  705. }
  706. }
  707. /// <summary>
  708. /// 同步照片
  709. /// <summary>
  710. /// <returns></returns>
  711. [HttpPost]
  712. [AjaxOnly]
  713. public ActionResult SynPhoto(string folderId)
  714. {
  715. //一、服务器中照片直接同步
  716. //stuInfoBasicIBLL.SynPhoto();
  717. //return Success("同步成功!");
  718. //二、上传压缩文件后同步照片
  719. //找到附件地址-多个,解压到目标文件夹,解压成功后同步照片,否则提示;
  720. var annexFileList = annexesFileIbll.GetList(folderId);
  721. if (annexFileList.Any())
  722. {
  723. var targetPath = Config.GetValue("AnnexesFile") + "/UserPhoto";
  724. foreach (var item in annexFileList)
  725. {
  726. var result = ZipHelper.UnZip(item.F_FilePath, targetPath);
  727. if (!result)
  728. {
  729. return Fail($"{item.F_FileName}文件解压失败,同步中止!");
  730. }
  731. }
  732. stuInfoBasicIBLL.SynPhoto();
  733. }
  734. return Success("同步成功!");
  735. }
  736. /// <summary>
  737. /// 宿舍信息导入模板
  738. /// </summary>
  739. /// <returns></returns>
  740. public ActionResult DownTemplate()
  741. {
  742. FileStreamResult result = null;
  743. try
  744. {
  745. var path = Server.MapPath("~/Content/excel/");
  746. var pathoffull = path + "StuInfoBasicImport.xls";
  747. FileStream fsread = fsread = new FileStream(pathoffull, FileMode.OpenOrCreate, FileAccess.ReadWrite);
  748. result = File(fsread, "application/ms-excel", "学籍信息批量修改.xls");
  749. return result;
  750. }
  751. catch (Exception ex)
  752. {
  753. return null;
  754. }
  755. }
  756. #endregion
  757. }
  758. }