MachineLogController.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using Cksoft.Data;
  2. using Cksoft.Data.Repository;
  3. using DllEapDal;
  4. using DllEapEntity.Dtos;
  5. using Microsoft.AspNetCore.Authorization;
  6. using Microsoft.AspNetCore.Mvc;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.IO;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace DllEapBll.Controllers
  13. {
  14. /// <summary>
  15. /// 机台Log
  16. /// </summary>
  17. [Authorize]
  18. [ApiController]
  19. [Route("/eap/api/[controller]/[action]")]
  20. public class MachineLogController : ControllerBase
  21. {
  22. /// <summary>
  23. /// 获取机台日志列表
  24. /// </summary>
  25. /// <param name="macCode"></param>
  26. /// <param name="startTime"></param>
  27. /// <param name="endTime"></param>
  28. /// <param name="pageIndex"></param>
  29. /// <param name="pageSize"></param>
  30. /// <returns></returns>
  31. public async Task<LayuiModel<MachineLog>> Get(string macCode,
  32. DateTime? startTime, DateTime? endTime, int pageIndex = 1, int pageSize = 10)
  33. {
  34. if (string.IsNullOrEmpty(macCode))
  35. return LayuiModel<MachineLog>.CreateEmptyList("机台号是必须的");
  36. if (startTime == null || endTime == null)
  37. return LayuiModel<MachineLog>.CreateEmptyList("开始时间和结束时间是必须的");
  38. using (IDatabase db = DbFactory.Base("eapslave"))
  39. {
  40. db.BeginTrans();
  41. var dal = new MachineLogDal(db);
  42. var total = 0;
  43. string errorinfo = string.Empty;
  44. var roles = dal.GetRemotePaged(macCode, startTime, endTime, ref errorinfo, out total,
  45. pageIndex, pageSize);
  46. return await Task.FromResult(roles);
  47. }
  48. }
  49. /// <summary>
  50. /// 导出机台日志
  51. /// </summary>
  52. /// <param name="formQuery"></param>
  53. /// <returns></returns>
  54. public async Task<IActionResult> Export([FromBody] dynamic formQuery)
  55. {
  56. var startTime = Convert.ToDateTime(formQuery.startTime);
  57. var endTime = Convert.ToDateTime(formQuery.endTime);
  58. var macCode = Convert.ToString(formQuery.macCode);
  59. if (string.IsNullOrEmpty(macCode))
  60. throw new ArgumentException("机台号是必须的");
  61. if (startTime == null || endTime == null)
  62. throw new ArgumentException("开始时间和结束时间是必须的");
  63. string errorinfo = string.Empty;
  64. using (IDatabase db = DbFactory.Base("eapslave"))
  65. {
  66. var dal = new MachineLogDal(db);
  67. byte[] bytes = dal.ExportTxt(macCode, startTime, endTime, ref errorinfo);
  68. await Task.CompletedTask;
  69. if (bytes == null || bytes.Length <= 0)
  70. throw new ArgumentException(errorinfo);
  71. return File(bytes, "text/xml");
  72. }
  73. }
  74. }
  75. }