CampusController.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using EMIS.Web.Controls;
  7. using Bowin.Common.JSON;
  8. using EMIS.Entities;
  9. using Bowin.Common.Linq.Entity;
  10. using EMIS.CommonLogic.AdministrativeOrgan;
  11. using EMIS.ViewModel;
  12. using EMIS.CommonLogic.SystemServices;
  13. using Bowin.Web.Controls.Mvc;
  14. using Bowin.Common.Utility;
  15. using System.Data;
  16. using Bowin.Common.Data;
  17. using Bowin.Common.Exceptions;
  18. using EMIS.Utility;
  19. namespace EMIS.Web.Controllers.AdministrativeOrgan
  20. {
  21. [Authorization]
  22. public class CampusController : Controller
  23. {
  24. public ICampusServices CampusServices { get; set; }
  25. /// <summary>
  26. /// 校区信息页面
  27. /// </summary>
  28. /// <returns></returns>
  29. public ActionResult List()
  30. {
  31. return View();
  32. }
  33. /// <summary>
  34. /// 校区信息列表查询
  35. /// </summary>
  36. /// <param name="pararms"></param>
  37. /// <returns></returns>
  38. [HttpPost]
  39. public ActionResult List(QueryParamsModel pararms)
  40. {
  41. ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
  42. return base.Json(CampusServices.GetCampusViewGrid(configuretView, (int)pararms.page, (int)pararms.rows));
  43. }
  44. /// <summary>
  45. /// 校区信息下拉查询
  46. /// </summary>
  47. /// <param name="bindType"></param>
  48. /// <returns></returns>
  49. [HttpPost]
  50. public ActionResult CampusDropdownListBanid(DropdownListBindType? bindType)
  51. {
  52. List<DropdownListItem> list = CampusServices.GetCampusList()
  53. .Select(x => new DropdownListItem
  54. {
  55. Text = x.Name,
  56. Value = x.CampusID.ToString()
  57. }).ToList();
  58. DropdownList.FormatDropdownItemList(bindType.Value, list);
  59. return base.Json(list);
  60. }
  61. /// <summary>
  62. /// 复制新增
  63. /// </summary>
  64. /// <param name="campusID"></param>
  65. /// <returns></returns>
  66. public ActionResult CopyAdd(Guid campusID)
  67. {
  68. CampusView campusView = new CampusView();
  69. campusView = CampusServices.GetCampusView(campusID);
  70. return View("Edit", campusView);
  71. }
  72. /// <summary>
  73. /// 复制新增
  74. /// </summary>
  75. /// <param name="campusView"></param>
  76. /// <returns></returns>
  77. [HttpPost]
  78. public ActionResult CopyAdd(CampusView campusView)
  79. {
  80. campusView.CampusID = Guid.Empty;
  81. return this.Edit(campusView);
  82. }
  83. /// <summary>
  84. /// 编辑(新增、修改,业务主键:校区代码或校区名称)
  85. /// </summary>
  86. /// <param name="campusID"></param>
  87. /// <returns></returns>
  88. [HttpGet]
  89. public ActionResult Edit(Guid? campusID)
  90. {
  91. ViewBag.Type = Request.Params["Type"];//临时性加参数控制、屏蔽列表进入无保存按钮权限
  92. CampusView campusView = new CampusView();
  93. if (campusID.HasValue && campusID != Guid.Empty)
  94. {
  95. campusView = CampusServices.GetCampusView(campusID);
  96. }
  97. return View(campusView);
  98. }
  99. /// <summary>
  100. /// 编辑(新增、修改,业务主键:校区代码或校区名称)
  101. /// </summary>
  102. /// <param name="campusView"></param>
  103. /// <returns></returns>
  104. [HttpPost]
  105. public ActionResult Edit(CampusView campusView)
  106. {
  107. try
  108. {
  109. CampusServices.CampusEdit(campusView);
  110. return Json(new ReturnMessage()
  111. {
  112. IsSuccess = true,
  113. Message = "保存成功。"
  114. });
  115. }
  116. catch (Exception ex)
  117. {
  118. return Json(new ReturnMessage()
  119. {
  120. IsSuccess = false,
  121. Message = "保存失败,原因:" + ex.Message
  122. });
  123. }
  124. }
  125. /// <summary>
  126. /// 删除
  127. /// </summary>
  128. /// <param name="campusIDs"></param>
  129. /// <returns></returns>
  130. [HttpPost]
  131. public JsonResult Delete(string campusIDs)
  132. {
  133. try
  134. {
  135. List<Guid?> list = campusIDs.Split(',').Where(x => !string.IsNullOrEmpty(x))
  136. .Select(x => (Guid?)new Guid(x)).ToList();
  137. CampusServices.CampusDelete(list);
  138. return base.Json("删除成功。");
  139. }
  140. catch (Exception ex)
  141. {
  142. string mge = ex.Message;
  143. System.Data.SqlClient.SqlException num = ExceptionHelper.GetSqlException(ex);
  144. if (num != null)
  145. {
  146. if (num.Number == 547)
  147. {
  148. mge = "请先删除与其有关联的数据,如:" + RSL.Get("College") + "等";
  149. }
  150. }
  151. return base.Json("删除失败,原因:" + mge);
  152. }
  153. }
  154. /// <summary>
  155. /// Excel导出
  156. /// </summary>
  157. /// <returns></returns>
  158. [HttpPost]
  159. public ActionResult Excel()
  160. {
  161. NpoiExcelHelper neh = new NpoiExcelHelper();
  162. ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
  163. var dt = CampusServices.GetCampusViewList(configuretView)
  164. .Select(x => new
  165. {
  166. x.No,
  167. x.Name,
  168. x.SimpleName,
  169. x.EnglishName,
  170. x.UniversityCode,
  171. x.UniversityName,
  172. x.GeneralsuperName,
  173. x.RecruitstudentsName,
  174. x.PlacesuperName,
  175. x.TeachingsuperName,
  176. x.StudentchargeName,
  177. x.ZIPCode,
  178. x.Officephone,
  179. x.FAX,
  180. x.Email,
  181. x.Evolution,
  182. x.Remark
  183. }).ToTable();
  184. string[] liststring = {
  185. RSL.Get("CampusCode"), RSL.Get("CampusName"), RSL.Get("CampusSimpleName"),
  186. "英文名称", "学校代码", "学校名称", "总负责人", "招生负责人", "学籍负责人",
  187. "教学负责人", "学生负责人", "邮政编码", "办公电话",
  188. "传真", "电子邮箱", "历史沿革", "备注"
  189. };
  190. neh.Export(dt, liststring, RSL.Get("CampusName") + "信息" + DateTime.Now.ToString("yyyyMMdd"));
  191. return Json(new ReturnMessage()
  192. {
  193. IsSuccess = true,
  194. Message = "导出成功。"
  195. });
  196. }
  197. }
  198. }