AdminDesktopHomeController.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. using Microsoft.AspNetCore.Mvc;
  2. using NPOI.SS.Formula.Functions;
  3. using WMS.BZModels.Dto;
  4. using WMS.BZModels.Models.FJQuestDB;
  5. using WMS.BZServices.FJ;
  6. using WMS.BZServices.FJ.FJQuestDB;
  7. using WMS.Info;
  8. namespace WMS.BZWeb.Areas.FJManager.Controllers
  9. {
  10. [Area("FJManager")]
  11. public class AdminDesktopHomeController : MvcControllerBase
  12. {
  13. private readonly AdminDesktopHomeService _adminDesktopHomeService;
  14. private readonly FJDevAlarmInfoService _fJDevAlarmInfoService;
  15. public AdminDesktopHomeController(AdminDesktopHomeService adminDesktopHomeService, FJDevAlarmInfoService fJDevAlarmInfoService)
  16. {
  17. _adminDesktopHomeService = adminDesktopHomeService;
  18. _fJDevAlarmInfoService = fJDevAlarmInfoService;
  19. }
  20. /// <summary>
  21. /// 今日出入库统计
  22. /// </summary>
  23. /// <returns></returns>
  24. public ActionResult GetTodayTaskInOutPie(string bctime, string warehouse)
  25. {
  26. if (string.IsNullOrWhiteSpace(bctime))
  27. {
  28. bctime = "1";
  29. }
  30. var start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0);
  31. var end = start.AddDays(1);
  32. switch (bctime)
  33. {
  34. case "1":
  35. end = start.AddHours(12);
  36. break;
  37. case "2":
  38. start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0);
  39. end = start.AddHours(12);
  40. break;
  41. }
  42. var dto = _adminDesktopHomeService.GetTodayTaskInOutPie(start, end, warehouse);
  43. return Success(dto);
  44. }
  45. /// <summary>
  46. /// 近七天任务动态
  47. /// </summary>
  48. /// <returns></returns>
  49. public ActionResult Get7daysTaskBar(string warehouse)
  50. {
  51. var dto = _adminDesktopHomeService.Get7daysTaskBar(DateTime.Now.AddDays(-6), DateTime.Now.AddDays(1), warehouse);
  52. return Success(dto);
  53. }
  54. public ActionResult GettodaysHourTask(string warehouse)
  55. {
  56. var dto = _adminDesktopHomeService.GettodaysHourTask(DateTime.Now, DateTime.Now, warehouse);
  57. return Success(dto);
  58. }
  59. public ActionResult GetHourTask(string warehouse)
  60. {
  61. var dto = _adminDesktopHomeService.GetHourTask(DateTime.Now.AddDays(-1), DateTime.Now, warehouse);
  62. return Success(dto);
  63. }
  64. public ActionResult GetTaskGoodsTypes(string bctime, string warehouse)
  65. {
  66. if (string.IsNullOrWhiteSpace(bctime))
  67. {
  68. bctime = "1";
  69. }
  70. var start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0);
  71. var end = start.AddDays(1);
  72. switch (bctime)
  73. {
  74. case "1":
  75. end = start.AddHours(12);
  76. break;
  77. case "2":
  78. start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0);
  79. end = start.AddHours(12);
  80. break;
  81. }
  82. var dto = _adminDesktopHomeService.GetTaskGoodsTypes(start, end, warehouse);
  83. return Success(dto);
  84. }
  85. public ActionResult GetMatWeightCategory(string warehouse)
  86. {
  87. var dto = _adminDesktopHomeService.GetMatWeightCategory(warehouse);
  88. return Success(dto);
  89. }
  90. public ActionResult GetDailyStatistics(string bctime,string begintime,string endtime)
  91. {
  92. var start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0);
  93. var end = start.AddDays(1);
  94. if (string.IsNullOrEmpty(begintime) || string.IsNullOrEmpty(endtime))
  95. {
  96. if (string.IsNullOrWhiteSpace(bctime))
  97. {
  98. bctime = "1";
  99. }
  100. switch (bctime)
  101. {
  102. case "1":
  103. end = start.AddHours(12);
  104. break;
  105. case "2":
  106. start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0);
  107. end = start.AddHours(12);
  108. break;
  109. }
  110. }
  111. else
  112. {
  113. if (!DateTime.TryParse(begintime, out start))
  114. {
  115. start = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 08:00:00") ;
  116. }
  117. else
  118. {
  119. start =DateTime.Parse( begintime);
  120. }
  121. if (!DateTime.TryParse(endtime, out end))
  122. {
  123. end= DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 08:00:00") ;
  124. }
  125. else
  126. {
  127. end = DateTime.Parse(endtime);
  128. }
  129. }
  130. var lists = _adminDesktopHomeService.GetDailyStatistics(InitPagination(""), start, end);
  131. lists.Result.Add( new DailyStatisticsDto
  132. {
  133. WarehouseName = "合计",
  134. TrussNorthQty = lists.Result.Sum(o=>o.TrussNorthQty),
  135. TrussSouthQty = lists.Result.Sum(o => o.TrussSouthQty),
  136. CircularSouthQty = lists.Result.Sum(o => o.CircularSouthQty),
  137. CircularNorthQty = lists.Result.Sum(o => o.CircularNorthQty),
  138. DailySummary = lists.Result.Sum(o => o.DailySummary),
  139. FullNormalQty = lists.Result.Sum(o => o.FullNormalQty),
  140. EmptyAbnormalQty = lists.Result.Sum(o => o.EmptyAbnormalQty),
  141. EmptyAutomaticQty = lists.Result.Sum(o => o.EmptyAutomaticQty),
  142. EmptyWarehouseQty = lists.Result.Sum(o => o.EmptyWarehouseQty),
  143. });
  144. var jsonData = new
  145. {
  146. rows = lists.Result,
  147. total = lists.TotalPage,
  148. page = lists.PageIndex,
  149. records = lists.TotalNum
  150. };
  151. return Success(jsonData);
  152. }
  153. }
  154. }