OfTrackController.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. using AutoMapper;
  2. using Cksoft.Data;
  3. using Cksoft.Data.Repository;
  4. using Cksoft.Unity;
  5. using DllEapCommon.NPOI;
  6. using DllEapDal.OFILM;
  7. using DllEapDal.OFILM.MES;
  8. using DllEapEntity;
  9. using DllEapEntity.Dtos;
  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.Text;
  16. using System.Threading.Tasks;
  17. using System.Linq;
  18. namespace DllEapBll.OFILM
  19. {
  20. [Route("eap/api/[controller]/[action]")]
  21. [ApiController]
  22. [Authorize]
  23. public class OfTrackController : ControllerBase
  24. {
  25. private IMapper _mapper;
  26. public OfTrackController(IMapper mapper)
  27. {
  28. _mapper = mapper;
  29. }
  30. [HttpGet]
  31. public LayuiModel<OfTrackMst> GetTrackMsts(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", string sortOrder = "descend")
  32. {
  33. if (sortOrder == "descend")
  34. {
  35. sortOrder = "desc";
  36. }
  37. else
  38. {
  39. sortOrder = "asc";
  40. }
  41. using (IDatabase db = DbFactory.Base("eapslave"))
  42. {
  43. db.BeginTrans();
  44. var dal = new OfTrackMstDal(db);
  45. string errorinfo = string.Empty;
  46. var total = 0;
  47. var roles = dal.GetTrackMst(new PagedQuery
  48. {
  49. Filter = filter,
  50. PageIndex = pageIndex,
  51. PageSize = pageSize,
  52. SortField = sortField,
  53. SortOrder = sortOrder
  54. }, out total);
  55. return new LayuiModel<OfTrackMst>
  56. {
  57. code = 1,
  58. count = total,
  59. data = roles,
  60. msg = ""
  61. };
  62. }
  63. }
  64. /// <summary>
  65. /// 载板过站导出
  66. /// </summary>
  67. /// <param name="filterInfo"></param>
  68. /// <returns></returns>
  69. [HttpPost]
  70. public async Task<IActionResult> ExportTrackMsts(IDictionary<string, string> filterInfo)
  71. {
  72. string filter = string.Empty; int pageIndex = 1, pageSize = 100000; string sortField = "ID"; string sortOrder = "descend";
  73. if (filterInfo.ContainsKey("filter"))
  74. {
  75. filter = filterInfo["filter"];
  76. }
  77. if (filterInfo.ContainsKey("sortField"))
  78. {
  79. sortField = filterInfo["sortField"];
  80. }
  81. if (filterInfo.ContainsKey("sortOrder"))
  82. {
  83. sortOrder = filterInfo["sortOrder"];
  84. }
  85. if (filterInfo.ContainsKey("pageSize") && !string.IsNullOrEmpty(filterInfo["pageSize"]))
  86. {
  87. pageSize = Convert.ToInt32(filterInfo["pageSize"]) > 0 ? Convert.ToInt32(filterInfo["pageSize"]) : pageSize;
  88. }
  89. if (filterInfo.ContainsKey("pageIndex") && !string.IsNullOrEmpty(filterInfo["pageIndex"]))
  90. {
  91. pageIndex = Convert.ToInt32(filterInfo["pageIndex"]) > 0 ? Convert.ToInt32(filterInfo["pageIndex"]) : pageIndex;
  92. }
  93. var roles = GetTrackMsts(filter, pageIndex, pageSize, sortField, sortOrder).data;
  94. var list = _mapper.Map<IEnumerable<ExportOfTrackMst>>(roles).ToList();
  95. var book = DataExportHelper.EntityToExcel(list);
  96. MemoryStream ms = new MemoryStream();
  97. ms.Position = 0;
  98. book.Write(ms);
  99. ms.Dispose();
  100. ms.Close();
  101. await Task.CompletedTask;
  102. return File(ms.ToArray(), "application/octet-stream");
  103. }
  104. [HttpGet]
  105. public LayuiModel<OfTrackDetail> GetTrackDetails(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", string sortOrder = "descend")
  106. {
  107. if (sortOrder == "descend")
  108. {
  109. sortOrder = "desc";
  110. }
  111. else
  112. {
  113. sortOrder = "asc";
  114. }
  115. using (IDatabase db = DbFactory.Base("eapslave"))
  116. {
  117. db.BeginTrans();
  118. var dal = new OfTrackMstDal(db);
  119. string errorinfo = string.Empty;
  120. var total = 0;
  121. var roles = dal.GetTrackDetail(new PagedQuery
  122. {
  123. Filter = filter,
  124. PageIndex = pageIndex,
  125. PageSize = pageSize,
  126. SortField = sortField,
  127. SortOrder = sortOrder
  128. }, out total);
  129. return new LayuiModel<OfTrackDetail>
  130. {
  131. code = 1,
  132. count = total,
  133. data = roles,
  134. msg = ""
  135. };
  136. }
  137. }
  138. [HttpPost]
  139. public EapResponse TrackIn([FromBody] OfTrackDetail trackDetail)
  140. {
  141. var userCode = Request.Headers["usercode"];
  142. string errorinfo = string.Empty;
  143. using (IDatabase db = DbFactory.Base("eap"))
  144. {
  145. var dal = new OfTrackMstDal(db);
  146. db.BeginTrans();
  147. if (dal.TrackIn(trackDetail, userCode, ref errorinfo) < 0)
  148. {
  149. db.Rollback();
  150. return new EapResponse { Code = -1, Msg = errorinfo };
  151. }
  152. db.Commit();
  153. return new EapResponse { Code = 1 };
  154. }
  155. }
  156. [HttpPost]
  157. public EapResponse TrackOut([FromBody] OfTrackDetail trackDetail)
  158. {
  159. var userCode = Request.Headers["usercode"];
  160. string errorinfo = string.Empty;
  161. using (IDatabase db = DbFactory.Base("eap"))
  162. {
  163. var dal = new OfTrackMstDal(db);
  164. db.BeginTrans();
  165. if (dal.TrackOut(trackDetail, userCode, ref errorinfo) < 0)
  166. {
  167. db.Rollback();
  168. return new EapResponse { Code = -1, Msg = errorinfo };
  169. }
  170. db.Commit();
  171. return new EapResponse { Code = 1 };
  172. }
  173. }
  174. /// <summary>
  175. /// 获取当前Strip的状态
  176. /// </summary>
  177. /// <param name="stripId"></param>
  178. /// <returns></returns>
  179. [HttpGet]
  180. public EapResponse GetStripInfo(string stripId, int processId)
  181. {
  182. using (IDatabase db = DbFactory.Base("eap"))
  183. {
  184. var dal = new OfTrackMstDal(db);
  185. var data = dal.Get(stripId, processId);
  186. return new EapResponse { Code = 1, Data = data };
  187. }
  188. }
  189. //public EapResponse TrackInOut(string stripId, string macCode)
  190. //{
  191. // string errorinfo = string.Empty;
  192. // string usercode = Request.Headers["usercode"];
  193. // using (IDatabase db = DbFactory.Base("eap"))
  194. // {
  195. // db.BeginTrans();
  196. // var dal = new OfTrackMstDal(db);
  197. // if (dal.TrackInOut(macCode, stripId, usercode, ref errorinfo) < 0)
  198. // {
  199. // db.Rollback();
  200. // return new EapResponse { Code = -1 };
  201. // }
  202. // db.Commit();
  203. // return new EapResponse { Code = 1 };
  204. // }
  205. //}
  206. }
  207. }