DaSampleController.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. using AutoMapper;
  2. using Cksoft.Data;
  3. using Cksoft.Data.Repository;
  4. using DllEapCommon.NPOI;
  5. using DllEapDal;
  6. using DllEapDal.OFILM;
  7. using DllEapEntity;
  8. using DllEapEntity.Dtos;
  9. using DllEapEntity.OFILM;
  10. using Microsoft.AspNetCore.Authorization;
  11. using Microsoft.AspNetCore.Mvc;
  12. using System;
  13. using System.Collections.Generic;
  14. using System.IO;
  15. using System.Linq;
  16. using System.Text;
  17. using System.Threading.Tasks;
  18. namespace DllEapBll.Controllers
  19. {
  20. /// <summary>
  21. /// DA 机台首件参数及稼动参数记录
  22. /// </summary>
  23. [Route("eap/api/[controller]/[action]")]
  24. [ApiController]
  25. [Authorize]
  26. public class DaSampleController : ControllerBase
  27. {
  28. private IMapper _mapper;
  29. IDatabase db;
  30. public DaSampleController(IMapper mapper)
  31. {
  32. _mapper = mapper;
  33. }
  34. /// <summary>
  35. /// DA 首件参数记录列表
  36. /// </summary>
  37. /// <param name="maccode"></param>
  38. /// <param name="macnum"></param>
  39. /// <param name="type"></param>
  40. /// <param name="start"></param>
  41. /// <param name="end"></param>
  42. /// <param name="pageIndex"></param>
  43. /// <param name="pageSize"></param>
  44. /// <returns></returns>
  45. [HttpGet]
  46. public LayuiModel<Sample> Get(string maccode, string macnum, string type, string result, DateTime? start, DateTime? end, int pageIndex = 1, int pageSize = 20)
  47. {
  48. using (db = DbFactory.Base("eapslave"))
  49. {
  50. DaSampleDal dal = new DaSampleDal(db);
  51. var total = 0;
  52. var datas = dal.Get(maccode, macnum, type, result, start, end, pageIndex, pageSize, out total);
  53. return new LayuiModel<Sample>
  54. {
  55. code = 1,
  56. count = total,
  57. data = datas
  58. };
  59. }
  60. }
  61. /// <summary>
  62. /// DA sample点检导出
  63. /// </summary>
  64. /// <param name="filterInfo"></param>
  65. /// <returns></returns>
  66. [HttpPost]
  67. public async Task<IActionResult> ExportDaSampl(IDictionary<string, string> filterInfo)
  68. {
  69. try
  70. {
  71. string maccode = string.Empty;
  72. string macnum = string.Empty;
  73. string type = string.Empty;
  74. string result = string.Empty;
  75. int pageIndex = 1, pageSize = 100000;
  76. DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
  77. DateTime end = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  78. if (filterInfo.ContainsKey("maccode"))
  79. {
  80. maccode = filterInfo["maccode"];
  81. }
  82. if (filterInfo.ContainsKey("macnum"))
  83. {
  84. macnum = filterInfo["macnum"];
  85. }
  86. if (filterInfo.ContainsKey("type"))
  87. {
  88. type = filterInfo["type"];
  89. }
  90. if (filterInfo.ContainsKey("result"))
  91. {
  92. result = filterInfo["result"];
  93. }
  94. if (filterInfo.ContainsKey("start"))
  95. {
  96. start = Convert.ToDateTime(filterInfo["start"]);
  97. }
  98. if (filterInfo.ContainsKey("end"))
  99. {
  100. end = Convert.ToDateTime(filterInfo["end"]);
  101. }
  102. IEnumerable< Sample> dto = Get(maccode, macnum, type, result, start, end, pageIndex, pageSize).data;
  103. var list = _mapper.Map<IEnumerable<ExportDaSampl>>(dto).ToList();
  104. var book = DataExportHelper.EntityToExcel(list);
  105. MemoryStream ms = new MemoryStream();
  106. ms.Position = 0;
  107. book.Write(ms);
  108. ms.Dispose();
  109. ms.Close();
  110. await Task.CompletedTask;
  111. return File(ms.ToArray(), "application/octet-stream");
  112. }
  113. catch (Exception ex)
  114. {
  115. throw;
  116. }
  117. }
  118. /// <summary>
  119. /// DA 稼动参数记录列表
  120. /// </summary>
  121. /// <param name="maccode"></param>
  122. /// <param name="macnum"></param>
  123. /// <param name="type"></param>
  124. /// <param name="start"></param>
  125. /// <param name="end"></param>
  126. /// <param name="pageIndex"></param>
  127. /// <param name="pageSize"></param>
  128. /// <returns></returns>
  129. [HttpGet]
  130. public LayuiModel<Sample> GetParameter(string maccode, string macnum, string type, DateTime? start, DateTime? end, int pageIndex = 1, int pageSize = 20)
  131. {
  132. using (db = DbFactory.Base("eapslave"))
  133. {
  134. DaSampleDal dal = new DaSampleDal(db);
  135. int total = 0;
  136. var datas = dal.GetParameter(maccode, macnum, type, start, end, pageIndex, pageSize, out total);
  137. return new LayuiModel<Sample>()
  138. {
  139. code = 1,
  140. count = total,
  141. data = datas
  142. };
  143. }
  144. }
  145. /// <summary>
  146. /// DA 稼动参数记录导出
  147. /// </summary>
  148. /// <param name="filterInfo"></param>
  149. /// <returns></returns>
  150. [HttpPost]
  151. public async Task<IActionResult> ExportParameters(IDictionary<string, string> filterInfo)
  152. {
  153. string maccode = string.Empty;
  154. string macnum = string.Empty;
  155. string type = string.Empty;
  156. int pageIndex = 1, pageSize = 100000;
  157. DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
  158. DateTime end = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  159. if (filterInfo.ContainsKey("maccode"))
  160. {
  161. maccode = filterInfo["maccode"];
  162. }
  163. if (filterInfo.ContainsKey("macnum"))
  164. {
  165. macnum = filterInfo["macnum"];
  166. }
  167. if (filterInfo.ContainsKey("type"))
  168. {
  169. type = filterInfo["type"];
  170. }
  171. if (filterInfo.ContainsKey("start"))
  172. {
  173. start = Convert.ToDateTime(filterInfo["start"]);
  174. }
  175. if (filterInfo.ContainsKey("end"))
  176. {
  177. end = Convert.ToDateTime(filterInfo["end"]);
  178. }
  179. var dto = GetParameter(maccode, macnum, type, start, end, pageIndex, pageSize).data;
  180. var list = _mapper.Map<IEnumerable<ExportParameters>>(dto).ToList();
  181. var book = DataExportHelper.EntityToExcel(list);
  182. MemoryStream ms = new MemoryStream();
  183. ms.Position = 0;
  184. book.Write(ms);
  185. ms.Dispose();
  186. ms.Close();
  187. await Task.CompletedTask;
  188. return File(ms.ToArray(), "application/octet-stream");
  189. }
  190. }
  191. }