SystemUpdateLogController.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. using AutoMapper;
  2. using Cksoft.Data;
  3. using Cksoft.Data.Repository;
  4. using Cksoft.Unity;
  5. using DllEapEntity;
  6. using DllEapEntity.Dtos;
  7. using Microsoft.AspNetCore.Authorization;
  8. using Microsoft.AspNetCore.Mvc;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using System.IO;
  14. using System.Linq;
  15. using DllEapCommon.NPOI;
  16. using DllEapDal.SystemLog;
  17. namespace DllEapBll.Controllers
  18. {
  19. [Route("eap/api/systemupdatelog/[action]")]
  20. [ApiController]
  21. [Authorize]
  22. public class SystemUpdateLogController : ControllerBase
  23. {
  24. private IMapper _mapper;
  25. public SystemUpdateLogController(IMapper mapper)
  26. {
  27. _mapper = mapper;
  28. }
  29. /// <summary>
  30. /// 查看系统更新记录
  31. /// </summary>
  32. /// <param name="start"></param>
  33. /// <param name="end"></param>
  34. /// <param name="version"></param>
  35. /// <param name="content"></param>
  36. /// <param name="updatetype"></param>
  37. /// <param name="department"></param>
  38. /// <param name="employee"></param>
  39. /// <param name="developer"></param>
  40. /// <param name="result"></param>
  41. /// <param name="te"></param>
  42. /// <param name="remark"></param>
  43. /// <param name="id"></param>
  44. /// <param name="environmentint"></param>
  45. /// <param name="pageIndex"></param>
  46. /// <param name="pageSize"></param>
  47. /// <returns></returns>
  48. [HttpGet]
  49. public LayuiModel<SystemUpdataLogDto> Get(DateTime? start, DateTime? end, string version, string content, string updatetype, string department, string employee, string developer, string result, string te, string remark, int id, int environment = -1, int pageIndex = 1, int pageSize = 20)
  50. {
  51. using (IDatabase db = DbFactory.Base("eapslave"))
  52. {
  53. var dal = new SystemUpdateLogDal(db);
  54. return dal.Get(start, end, id, environment, version, content, updatetype, department, employee, developer, result, te, remark, pageIndex, pageSize);
  55. }
  56. }
  57. /// <summary>
  58. /// 增加或修改系统更新记录
  59. /// </summary>
  60. /// <param name="systemUpdateLog"></param>
  61. /// <returns></returns>
  62. [HttpPost]
  63. public EapResponse Add(SystemUpdataLogDto systemUpdateLog)
  64. {
  65. string usercode = Request.Headers["usercode"];
  66. using (IDatabase db = DbFactory.Base("eap"))
  67. {
  68. var dal = new SystemUpdateLogDal(db);
  69. return dal.AddUpdate(systemUpdateLog, usercode);
  70. }
  71. }
  72. /// <summary>
  73. /// 删除系统更新记录
  74. /// </summary>
  75. /// <param name="filterInfo"></param>
  76. /// <returns></returns>
  77. [HttpPost]
  78. public EapResponse Delete(IDictionary<string, string> filterInfo)
  79. {
  80. string id = string.Empty;
  81. /*string userCode=*/
  82. string usercode = Request.Headers["usercode"];
  83. if (filterInfo.ContainsKey("Id"))
  84. {
  85. id = filterInfo["Id"];
  86. using (IDatabase db = DbFactory.Base("eap"))
  87. {
  88. var dal = new SystemUpdateLogDal(db);
  89. return dal.Delete(id, usercode);
  90. }
  91. }
  92. else
  93. {
  94. return new EapResponse()
  95. {
  96. Code = -1,
  97. Msg = "未收到ID,请检查后重试"
  98. };
  99. }
  100. }
  101. /// <summary>
  102. /// 系统更新记录导出
  103. /// </summary>
  104. /// <param name="filterInfo"></param>
  105. /// <returns></returns>
  106. [HttpPost]
  107. public async Task<IActionResult> Export(IDictionary<string, string> filterInfo)
  108. {
  109. using (IDatabase db = DbFactory.Base("eapslave"))
  110. {
  111. string version = string.Empty, content = string.Empty, updatetype = string.Empty, department = string.Empty, employee = string.Empty, developer = string.Empty; int environmentint = -1;
  112. string result = string.Empty, te = string.Empty, remark = string.Empty;
  113. var dal = new SystemUpdateLogDal(db);
  114. DateTime end = DateTime.Now, start = end.AddDays(-30);
  115. if (filterInfo.ContainsKey("end"))
  116. end = Convert.ToDateTime(filterInfo["end"]);
  117. if (filterInfo.ContainsKey("start"))
  118. start = Convert.ToDateTime(filterInfo["start"]);
  119. if (filterInfo.ContainsKey("environmentint"))
  120. environmentint = Convert.ToInt32(filterInfo["environmentint"]);
  121. if (filterInfo.ContainsKey("version"))
  122. version = filterInfo["version"];
  123. if (filterInfo.ContainsKey("content"))
  124. content = filterInfo["content"];
  125. if (filterInfo.ContainsKey("updatetype"))
  126. updatetype = filterInfo["updatetype"];
  127. if (filterInfo.ContainsKey("department"))
  128. department = filterInfo["department"];
  129. if (filterInfo.ContainsKey("employee"))
  130. employee = filterInfo["employee"];
  131. if (filterInfo.ContainsKey("developer"))
  132. developer = filterInfo["developer"];
  133. if (filterInfo.ContainsKey("result"))
  134. result = filterInfo["result"];
  135. if (filterInfo.ContainsKey("te"))
  136. te = filterInfo["te"];
  137. if (filterInfo.ContainsKey("remark"))
  138. remark = filterInfo["remark"];
  139. int pageIndex = 1, pageSize = 10000;
  140. string errorinfo = string.Empty;
  141. var dto = dal.Get(start, end, 0, environmentint, version, content, updatetype, department, employee, developer, result, te, remark, pageIndex, pageSize).data.ToList();
  142. var book = DataExportHelper.SULToExcel(dto);
  143. MemoryStream ms = new MemoryStream();
  144. ms.Position = 0;
  145. book.Write(ms);
  146. ms.Dispose();
  147. ms.Close();
  148. await Task.CompletedTask;
  149. return File(ms.ToArray(), "application/octet-stream");
  150. }
  151. }
  152. }
  153. }