AdminDesktopHomeController.cs 6.0 KB

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