using Microsoft.AspNetCore.Mvc; using NPOI.SS.Formula.Functions; using WMS.BZModels.Dto; using WMS.BZServices.KLHC; using WMS.Info; namespace WMS.BZWeb.Areas.KLHCManager.Controllers { [Area("KLHCManager")] public class AdminDesktopHomeController : MvcControllerBase { private readonly AdminDesktopHomeService _adminDesktopHomeService; public AdminDesktopHomeController(AdminDesktopHomeService adminDesktopHomeService) { _adminDesktopHomeService = adminDesktopHomeService; } /// /// 今日出入库统计 /// /// public ActionResult GetTodayTaskInOutPie(string bctime, string warehouse) { if (string.IsNullOrWhiteSpace(bctime)) { bctime = "1"; } var start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0); var end = start.AddDays(1); switch (bctime) { case "1": end = start.AddHours(12); break; case "2": start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0); end = start.AddHours(12); break; } var dto = _adminDesktopHomeService.GetTodayTaskInOutPie(start, end, warehouse); return Success(dto); } /// /// 近七天任务动态 /// /// public ActionResult Get7daysTaskBar(string warehouse) { var dto = _adminDesktopHomeService.Get7daysTaskBar(DateTime.Now.AddDays(-6), DateTime.Now.AddDays(1), warehouse); return Success(dto); } public ActionResult GettodaysHourTask(string warehouse) { var dto = _adminDesktopHomeService.GettodaysHourTask(DateTime.Now, DateTime.Now, warehouse); return Success(dto); } public ActionResult GetHourTask(string warehouse) { var dto = _adminDesktopHomeService.GetHourTask(DateTime.Now.AddDays(-1), DateTime.Now, warehouse); return Success(dto); } public ActionResult GetTaskGoodsTypes(string bctime, string warehouse) { if (string.IsNullOrWhiteSpace(bctime)) { bctime = "1"; } var start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0); var end = start.AddDays(1); switch (bctime) { case "1": end = start.AddHours(12); break; case "2": start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0); end = start.AddHours(12); break; } var dto = _adminDesktopHomeService.GetTaskGoodsTypes(start, end, warehouse); return Success(dto); } public ActionResult GetMatWeightCategory(string warehouse) { var dto = _adminDesktopHomeService.GetMatWeightCategory(warehouse); return Success(dto); } public ActionResult GetDailyStatistics(string bctime,string begintime,string endtime) { var start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0); var end = start.AddDays(1); if (string.IsNullOrEmpty(begintime) || string.IsNullOrEmpty(endtime)) { if (string.IsNullOrWhiteSpace(bctime)) { bctime = "1"; } switch (bctime) { case "1": end = start.AddHours(12); break; case "2": start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0); end = start.AddHours(12); break; } } else { if (!DateTime.TryParse(begintime, out start)) { start = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 08:00:00") ; } else { start =DateTime.Parse( begintime); } if (!DateTime.TryParse(endtime, out end)) { end= DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 08:00:00") ; } else { end = DateTime.Parse(endtime); } } var lists = _adminDesktopHomeService.GetDailyStatistics(InitPagination(""), start, end); lists.Result.Add( new DailyStatisticsDto { WarehouseName = "合计", TrussNorthQty = lists.Result.Sum(o=>o.TrussNorthQty), TrussSouthQty = lists.Result.Sum(o => o.TrussSouthQty), CircularSouthQty = lists.Result.Sum(o => o.CircularSouthQty), CircularNorthQty = lists.Result.Sum(o => o.CircularNorthQty), DailySummary = lists.Result.Sum(o => o.DailySummary), FullNormalQty = lists.Result.Sum(o => o.FullNormalQty), EmptyAbnormalQty = lists.Result.Sum(o => o.EmptyAbnormalQty), EmptyAutomaticQty = lists.Result.Sum(o => o.EmptyAutomaticQty), EmptyWarehouseQty = lists.Result.Sum(o => o.EmptyWarehouseQty), }); var jsonData = new { rows = lists.Result, total = lists.TotalPage, page = lists.PageIndex, records = lists.TotalNum }; return Success(jsonData); } } }