Browse Source

空轮缓存库新增出入库任务统计报表

1693994901 2 months ago
parent
commit
5591492fed

+ 5 - 0
WMS.BZModels/Dto/KLHC/ReportDtos/StatisticsDto.cs

@@ -249,6 +249,11 @@ namespace WMS.BZModels.Dto.KLHC.ReportDtos
 
         //组盘
         public int GroupQty { get; set; }
+        //入库任务数
+        public int InQty { get; set; }
+
+        //出库任务数
+        public int OutQty { get; set; }
     }
 
     public class InOutReportQueryDto

+ 292 - 0
WMS.BZServices/KLHC/StatisticsreportService.cs

@@ -0,0 +1,292 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using WMS.BZModels;
+using WMS.BZModels.Dto;
+using WMS.BZModels.Dto.KLHC.ReportDtos;
+using WMS.BZModels.Models.KLHC;
+using WMS.BZSqlSugar;
+using WMS.Info;
+using WMS.Util;
+
+namespace WMS.BZServices.KLHC
+{
+    public class StatisticsreportService
+    {
+        
+        private readonly Repository<WCS_TaskOld> _taskoldrepository;        
+        
+        public StatisticsreportService(Repository<WCS_TaskOld> taskoldrepository)
+        {         
+            _taskoldrepository = taskoldrepository;                    
+        }
+
+        public PagedInfo<StatisticsDto> GetPageList(Pagination pagination, StatisticsQueryDto statisticsQueryDto)
+        {
+            
+            var list = GetQueryable(statisticsQueryDto).ToPage(pagination);
+            return list;
+        }
+        
+
+        public IList<StatisticsDto> GetList(StatisticsQueryDto statisticsQueryDto)
+        {
+            ISugarQueryable<StatisticsDto> sugarQueryable = GetQueryable(statisticsQueryDto);
+            var list = sugarQueryable.ToList();
+            return list;
+        }
+
+        private ISugarQueryable<StatisticsDto> GetQueryable(StatisticsQueryDto statisticsQueryDto)
+        {
+            var sugarQueryable = _taskoldrepository.Context.Queryable<WCS_TaskOld>().With(SqlWith.NoLock).SplitTable(p => p.Take(10))
+                .LeftJoin<BaseMatinfo>((taskold, mater) => taskold.MaterialCode == mater.Code)
+
+                .WhereIF(statisticsQueryDto != null && !string.IsNullOrWhiteSpace(statisticsQueryDto.Status), (taskold, mater) => taskold.Status.Equals(statisticsQueryDto.Status))
+                .WhereIF(statisticsQueryDto != null && !string.IsNullOrWhiteSpace(statisticsQueryDto.KeyWord), (taskold, mater) => mater.Code.Contains(statisticsQueryDto.KeyWord) || mater.Name.Contains(statisticsQueryDto.KeyWord))
+                .WhereIF(statisticsQueryDto != null && !string.IsNullOrWhiteSpace(statisticsQueryDto.MatCode), (taskold, mater) => mater.Code.Contains(statisticsQueryDto.MatCode))
+                .WhereIF(statisticsQueryDto != null && !string.IsNullOrWhiteSpace(statisticsQueryDto.MatName), (taskold, mater) => mater.Name.Contains(statisticsQueryDto.MatName))
+                .WhereIF(statisticsQueryDto != null && statisticsQueryDto.AddTimeFrom != null && statisticsQueryDto.AddTimeFrom.HasValue, (taskold, mater) => taskold.AddTime >= statisticsQueryDto.AddTimeFrom)
+                .WhereIF(statisticsQueryDto != null && statisticsQueryDto.AddTimeTo != null && statisticsQueryDto.AddTimeTo.HasValue, (taskold, mater) => taskold.AddTime <= statisticsQueryDto.AddTimeTo)
+                .WhereIF(statisticsQueryDto != null && statisticsQueryDto.StartTimeBegin.HasValue, (taskold, mater) => taskold.StartTime >= statisticsQueryDto.StartTimeBegin)
+                .WhereIF(statisticsQueryDto != null && statisticsQueryDto.StartTimeEnd.HasValue, (taskold, mater) => taskold.StartTime <= statisticsQueryDto.StartTimeEnd)
+                .WhereIF(statisticsQueryDto != null && statisticsQueryDto.EndTimeBegin.HasValue, (taskold, mater) => taskold.EndTime >= statisticsQueryDto.EndTimeBegin)
+                .WhereIF(statisticsQueryDto != null && statisticsQueryDto.EndTimeEnd.HasValue, (taskold, mater) => taskold.EndTime <= statisticsQueryDto.EndTimeEnd)
+                .GroupBy((taskold, mater) => new { mater.Code, mater.Name, taskold.Floor, taskold.Type })
+                .Select((taskold, mater) => new StatisticsDto
+                {
+                    MatCode = mater.Code,
+                    MatName = mater.Name,
+                    Floor = taskold.Floor,
+                    Type = taskold.Type,
+                    Count = SqlFunc.AggregateDistinctCount(taskold.ID)
+                }).MergeTable();
+            return sugarQueryable;
+        }
+
+        /// <summary>
+        /// 24小时内任务动态
+        /// </summary>
+        /// <param name="start"></param>
+        /// <param name="end"></param>
+        /// <returns></returns>
+        public PagedInfo<HourTaskDto> GetHourTask(Pagination pagination, HourTaskQueryDto hourTaskQueryDto)
+        {
+            if (!hourTaskQueryDto.EndTimeBegin.HasValue)
+            {
+                hourTaskQueryDto.EndTimeBegin = DateTime.Now.Date;
+            }
+            if (!hourTaskQueryDto.EndTimeEnd.HasValue)
+            {
+                hourTaskQueryDto.EndTimeEnd = DateTime.Now.AddHours(1);
+            }
+            if ((hourTaskQueryDto.EndTimeEnd.Value - hourTaskQueryDto.EndTimeBegin.Value).Days > 60)
+            {
+                throw BZSysExCore.ThrowFailException("查询日期范围不能超过60天!");
+            }
+
+            var predicate = Expressionable.Create<WCS_TaskOld>();
+            predicate = predicate.And(m => m.Status == (int)BZModels.TaskStatus.Finish);
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(hourTaskQueryDto.WarehouseCode), m => hourTaskQueryDto.WarehouseCode.Equals(m.WarehouseCode));
+            predicate = predicate.AndIF(hourTaskQueryDto.EndTimeBegin.HasValue, m => m.EndTime >= hourTaskQueryDto.EndTimeBegin.Value);
+            predicate = predicate.AndIF(hourTaskQueryDto.EndTimeEnd.HasValue, m => m.EndTime <= hourTaskQueryDto.EndTimeEnd.Value);
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(hourTaskQueryDto.TaskType) && (new string[] { "1", "2", "3", "5" }.Any(o => o.Equals(hourTaskQueryDto.TaskType))), m => m.Type.Equals(hourTaskQueryDto.TaskType));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(hourTaskQueryDto.BusType), m => m.BusType.Equals(hourTaskQueryDto.BusType));
+
+            var sugarQueryable = _taskoldrepository.Queryable().Select(it => new TaskInOutDto { });
+
+            if (!string.IsNullOrEmpty(hourTaskQueryDto.TaskType) && (hourTaskQueryDto.TaskType == "100" || hourTaskQueryDto.TaskType == "101"))
+            {
+                sugarQueryable = _taskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(tabs => tabs.Take(3))
+                .Select(it => new
+                {
+                    EditTime = it.EndTime.Value.Date,
+                    Hour = it.EndTime.Value.Hour
+                })
+                .MergeTable()//将查询结果转成一个表 
+                .GroupBy(o => new { o.Hour, o.EditTime })
+                .Select(it => new TaskInOutDto { Count = SqlFunc.AggregateCount(it.Hour), Hour = it.Hour, CreateTime = it.EditTime })
+                .OrderBy(o => o.CreateTime);
+            }
+            else
+            {
+                sugarQueryable = _taskoldrepository.Queryable().Where(predicate.ToExpression()).SplitTable(tabs => tabs.Take(3))
+                .Select(it => new
+                {
+                    Type = it.Type,
+                    EditTime = it.EndTime.Value.Date,
+                    Hour = it.EndTime.Value.Hour
+                })
+                .MergeTable()//将查询结果转成一个表 
+                .GroupBy(o => new { o.Type, o.Hour, o.EditTime })
+                .Select(it => new TaskInOutDto { Count = SqlFunc.AggregateCount(it.Type), Type = it.Type, Hour = it.Hour, CreateTime = it.EditTime })
+                .OrderBy(o => o.CreateTime);
+
+            }
+
+
+            var lists = sugarQueryable.ToList();
+            PagedInfo<HourTaskDto> HourTasks = new PagedInfo<HourTaskDto>()
+            {
+                Result = new List<HourTaskDto>()
+            };
+
+            var plist = typeof(HourTaskDto);
+            var types = lists.Select(o => o.Type).Distinct().OrderBy(o => o).ToList();
+            var dates = lists.Select(o => o.CreateTime).Distinct().OrderBy(o => o).ToList();
+            foreach (var p in dates)
+            {
+                if (!string.IsNullOrEmpty(hourTaskQueryDto.TaskType) && (hourTaskQueryDto.TaskType == "100" || hourTaskQueryDto.TaskType == "101"))
+                {
+                    if (!lists.Any(o => o.CreateTime == p))
+                    {
+                        continue;
+                    }
+                    HourTaskDto s = Activator.CreateInstance<HourTaskDto>();
+                    var TaskDate = plist.GetProperty("TaskDate");
+                    if (TaskDate != null)
+                        TaskDate.SetValue(s, p.ToString("yyyy-MM-dd"), null);
+                    var TaskType = plist.GetProperty("TaskType");
+                    if (TaskType != null)
+                        TaskType.SetValue(s, -1, null);
+
+                    for (int i = 0; i < 24; i++)
+                    {
+                        PropertyInfo info = plist.GetProperty("A" + i.ToString());
+                        if (info != null)
+                        {
+                            var first = lists.FirstOrDefault(o => o.CreateTime == p && o.Hour == i);
+                            if (first != null)
+                            {
+                                info.SetValue(s, first.Count, null);
+                            }
+                        }
+                    }
+                    HourTasks.Result.Add(s);
+                }
+                else
+                {
+                    foreach (var t in types)
+                    {
+                        if (!lists.Any(o => o.CreateTime == p && o.Type == t))
+                        {
+                            continue;
+                        }
+                        HourTaskDto s = Activator.CreateInstance<HourTaskDto>();
+                        var TaskType = plist.GetProperty("TaskType");
+                        if (TaskType != null)
+                            TaskType.SetValue(s, (TaskType)t, null);
+                        var TaskDate = plist.GetProperty("TaskDate");
+                        if (TaskDate != null)
+                            TaskDate.SetValue(s, p.ToString("yyyy-MM-dd"), null);
+
+
+
+                        for (int i = 0; i < 24; i++)
+                        {
+                            PropertyInfo info = plist.GetProperty("A" + i.ToString());
+                            if (info != null)
+                            {
+                                var first = lists.FirstOrDefault(o => o.Type == t && o.CreateTime == p && o.Hour == i);
+                                if (first != null)
+                                {
+                                    info.SetValue(s, first.Count, null);
+                                }
+                            }
+                        }
+                        HourTasks.Result.Add(s);
+                    }
+                }
+
+
+            }
+            if (!pagination.sidx.IsEmpty())
+            {
+                pagination.sidx = pagination.sidx.Replace("DESC", "").Replace("ASC", "");
+                HourTasks.Result.Sort(
+                 delegate (HourTaskDto info1, HourTaskDto info2)
+                 {
+                     Type t = typeof(HourTaskDto);
+                     PropertyInfo pro = t.GetProperty(pagination.sidx);
+                     if (pagination.sidx == "TaskDate" || pagination.sidx == "TypeName")
+                     {
+                         return pagination.sord.ToLower().Contains("asc") ?
+                                                       pro.GetValue(info1, null).ToString().CompareTo(pro.GetValue(info2, null).ToString()) :
+                                                       pro.GetValue(info2, null).ToString().CompareTo(pro.GetValue(info1, null).ToString());
+                     }
+                     else
+                         return pagination.sord.ToLower().Contains("asc") ?
+                              pro.GetValue(info1, null).ToInt().CompareTo(pro.GetValue(info2, null).ToInt()) :
+                              pro.GetValue(info2, null).ToInt().CompareTo(pro.GetValue(info1, null).ToInt());
+
+                 });
+                //typeof(HourTaskDto).GetProperty( pagination.sidx.Replace("DESC", "").Replace("ASC", ""))).ToList();
+            }
+            HourTasks.PageIndex = 1;
+            HourTasks.PageSize = HourTasks.Result.Count;
+            HourTasks.TotalNum = HourTasks.Result.Count;
+            return HourTasks;
+        }
+
+
+        public PagedInfo<InOutReportDto> GetInOutReport(Pagination pagination, InOutReportQueryDto queryDto)
+        {
+            if (!queryDto.EndTimeBegin.HasValue)
+            {
+                queryDto.EndTimeBegin = DateTime.Now.Date;
+            }
+            if (!queryDto.EndTimeEnd.HasValue)
+            {
+                queryDto.EndTimeEnd = DateTime.Now.AddHours(1);
+            }
+
+            var predicate = Expressionable.Create<WCS_TaskOld>();
+            predicate = predicate.And(m => m.Status == (int)BZModels.TaskStatus.Finish);
+            predicate = predicate.And(m => new string[] { "1", "2" }.Contains(m.Type.ToString()));
+            predicate = predicate.AndIF(queryDto.EndTimeBegin.HasValue, m => m.EndTime >= queryDto.EndTimeBegin.Value);
+            predicate = predicate.AndIF(queryDto.EndTimeEnd.HasValue, m => m.EndTime <= queryDto.EndTimeEnd.Value);
+            ISugarQueryable<InOutReportDto> sugarQueryable;
+            if (queryDto.GroupName == "Hour")
+            {
+                sugarQueryable = _taskoldrepository.Queryable().With(SqlWith.NoLock).Where(predicate.ToExpression()).SplitTable(tabs => tabs.Take(3))
+                      .GroupBy(it => new { it.EndTime.Value.Year, it.EndTime.Value.Month, it.EndTime.Value.Day, it.EndTime.Value.Hour })
+                          .Select(it => new InOutReportDto
+                          {
+                              Year = it.EndTime.Value.Year.ToString(),
+                              Month = it.EndTime.Value.Month.ToString(),
+                              Day = it.EndTime.Value.Day.ToString(),
+                              Hour = it.EndTime.Value.Hour.ToString(),
+                              InQty = SqlFunc.AggregateCount(SqlFunc.IF(it.Type == 1).Return(1).End<int>()),
+                              OutQty = SqlFunc.AggregateCount(SqlFunc.IF(it.Type == 2).Return(1).End<int>()),
+                          }).MergeTable();//.OrderBy(o => new { o.Year, o.Month, o.Day, o.Hour })
+            }
+            else
+            {
+                sugarQueryable = _taskoldrepository.Queryable().With(SqlWith.NoLock).Where(predicate.ToExpression()).SplitTable(tabs => tabs.Take(3))
+                     .GroupBy(it => new { it.EndTime.Value.Year, it.EndTime.Value.Month, it.EndTime.Value.Day })
+                         .Select(it => new InOutReportDto
+                         {
+                             Year = it.EndTime.Value.Year.ToString(),
+                             Month = it.EndTime.Value.Month.ToString(),
+                             Day = it.EndTime.Value.Day.ToString(),
+                             InQty = SqlFunc.AggregateCount(SqlFunc.IF(it.Type == 1).Return(1).End<int>()),
+                             OutQty = SqlFunc.AggregateCount(SqlFunc.IF(it.Type == 2).Return(1).End<int>()),
+                         }).MergeTable(); //.OrderBy(o => new { o.Year, o.Month, o.Day })
+                if (pagination.sidx == "Hour")
+                    pagination.sidx = "Day";
+            }
+            var lists = sugarQueryable.ToPage(pagination);
+
+            lists.Result.Add(new InOutReportDto
+            {
+                Year = "合计:",
+                InQty = lists.Result.Sum(o => o.InQty),
+                OutQty = lists.Result.Sum(o => o.OutQty),
+            });
+            return lists;
+        }
+    }    
+}

+ 294 - 0
WMS.BZWeb/Areas/KLHCManager/Controllers/StatisticsreportController.cs

@@ -0,0 +1,294 @@
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using System.Data;
+using System.Web;
+using WMS.BZModels.Dto.KLHC.ReportDtos;
+
+//using WMS.BZModels.Dto.SX.ReportDtos;
+using WMS.BZServices.KLHC;
+using WMS.Info;
+using WMS.Util;
+
+namespace WMS.BZWeb.Areas.KLHCManager.Controllers
+{
+    /// <summary>
+    /// 统计报表
+    /// </summary>
+    [Area("KLHCManager")]
+    public class StatisticsreportController :MvcControllerBase
+    {
+        private readonly StatisticsreportService _statistics;
+
+        public StatisticsreportController(StatisticsreportService statistics)
+        {
+            _statistics = statistics;
+        }
+        public IActionResult Index()
+        {
+            return View();
+        }
+
+        public IActionResult HourTaskIndex()
+        {
+            return View();
+        }
+        public IActionResult InOutReport()
+        {
+            ViewBag.beginhour = DateTime.Now.Date.ToString("yyyy-MM-dd") + " 00:00:00";
+            ViewBag.endhour = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
+            ViewBag.beginday = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd") + " 00:00:00";
+            ViewBag.endday = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
+            return View();
+        }
+        public ActionResult GetPageList(string pagination, string queryJson)
+        {
+            Pagination paginationobj = InitPagination(pagination);
+            var query = new StatisticsQueryDto();
+            if (!string.IsNullOrEmpty(queryJson))
+            {
+                query = JsonConvert.DeserializeObject<StatisticsQueryDto>(queryJson);
+            }
+
+            var lists = _statistics.GetPageList(paginationobj, query ?? new StatisticsQueryDto());
+
+            var jsonData = new
+            {
+                rows = lists.Result,
+                total = lists.TotalPage,
+                page = lists.PageIndex,
+                records = lists.TotalNum
+            };
+            return Success(jsonData);
+        }
+        [HttpPost]
+        public IActionResult ExportExcel(string fileName, string queryJson, string exportField)
+        {
+            var query = new StatisticsQueryDto();
+            try
+            {
+                if (!string.IsNullOrEmpty(queryJson))
+                {
+                    query = JsonConvert.DeserializeObject<StatisticsQueryDto>(queryJson);
+                }
+            }
+            catch (Exception ex)
+            {
+            }
+            //设置导出格式
+            ExcelConfig excelconfig = new ExcelConfig();
+            excelconfig.Title = HttpUtility.UrlDecode(fileName);
+            excelconfig.TitleFont = "微软雅黑";
+            excelconfig.TitlePoint = 15;
+            excelconfig.FileName = HttpUtility.UrlDecode(fileName) + ".xls";
+            excelconfig.IsAllSizeColumn = true;
+            excelconfig.ColumnEntity = new List<ColumnModel>();
+
+            List<jfGridModel> columnList = exportField.ToList<jfGridModel>();
+            if (columnList.Count == 0)
+            {
+                throw new Exception("未找到表头");
+            }
+            //行数据
+            var lists = _statistics.GetList(query ?? new StatisticsQueryDto());
+            var dataJson = JsonConvert.SerializeObject(lists);
+            DataTable rowData = dataJson.ToTable();
+            //写入Excel表头
+            Dictionary<string, string> exportFieldMap = new Dictionary<string, string>();
+            if (!string.IsNullOrEmpty(exportField))
+            {
+                string[] exportFields = exportField.Split(',');
+                foreach (var field in exportFields)
+                {
+                    if (!exportFieldMap.ContainsKey(field))
+                    {
+                        exportFieldMap.Add(field, "1");
+                    }
+                }
+            }
+
+            foreach (var columnModel in columnList)
+            {
+
+                excelconfig.ColumnEntity.Add(new ColumnModel()
+                {
+                    // Column =string.IsNullOrEmpty(columnModel.sortname)? columnModel.name: columnModel.sortname,
+                    Column = columnModel.name,
+                    ExcelColumn = columnModel.label,
+                    Alignment = columnModel.align,
+                    Width = columnModel.name.Length
+                });
+
+            }
+            return File(ExcelHelper.NewExportMemoryStream(rowData, excelconfig), "application/ms-excel", excelconfig.FileName);
+        }
+
+        public ActionResult GetHourTaskPageList(string pagination, string queryJson)
+        {
+            Pagination paginationobj = InitPagination(pagination);
+            var query = new HourTaskQueryDto();
+            if (!string.IsNullOrEmpty(queryJson))
+            {
+                query = JsonConvert.DeserializeObject<HourTaskQueryDto>(queryJson);
+            }
+
+            var lists = _statistics.GetHourTask(paginationobj, query ?? new HourTaskQueryDto());
+
+            var jsonData = new
+            {
+                rows = lists.Result,
+                total = lists.TotalPage,
+                page = lists.PageIndex,
+                records = lists.TotalNum
+            };
+            return Success(jsonData);
+        }
+        [HttpPost]
+        public IActionResult ExportHourTaskExcel(string fileName, string queryJson, string exportField)
+        {
+            var query = new HourTaskQueryDto();
+            try
+            {
+                if (!string.IsNullOrEmpty(queryJson))
+                {
+                    query = JsonConvert.DeserializeObject<HourTaskQueryDto>(queryJson);
+                }
+            }
+            catch (Exception ex)
+            {
+            }
+            //设置导出格式
+            ExcelConfig excelconfig = new ExcelConfig();
+            excelconfig.Title = HttpUtility.UrlDecode(fileName);
+            excelconfig.TitleFont = "微软雅黑";
+            excelconfig.TitlePoint = 15;
+            excelconfig.FileName = HttpUtility.UrlDecode(fileName) + ".xls";
+            excelconfig.IsAllSizeColumn = true;
+            excelconfig.ColumnEntity = new List<ColumnModel>();
+
+            List<jfGridModel> columnList = exportField.ToList<jfGridModel>();
+            if (columnList.Count == 0)
+            {
+                throw new Exception("未找到表头");
+            }
+            //行数据
+            Pagination paginationobj = InitPagination("");
+            paginationobj.rows = 1000000;
+            var lists = _statistics.GetHourTask(paginationobj, query ?? new HourTaskQueryDto());
+            var dataJson = JsonConvert.SerializeObject(lists);
+            DataTable rowData = dataJson.ToTable();
+            //写入Excel表头
+            Dictionary<string, string> exportFieldMap = new Dictionary<string, string>();
+            if (!string.IsNullOrEmpty(exportField))
+            {
+                string[] exportFields = exportField.Split(',');
+                foreach (var field in exportFields)
+                {
+                    if (!exportFieldMap.ContainsKey(field))
+                    {
+                        exportFieldMap.Add(field, "1");
+                    }
+                }
+            }
+
+            foreach (var columnModel in columnList)
+            {
+
+                excelconfig.ColumnEntity.Add(new ColumnModel()
+                {
+                    // Column =string.IsNullOrEmpty(columnModel.sortname)? columnModel.name: columnModel.sortname,
+                    Column = columnModel.name,
+                    ExcelColumn = columnModel.label,
+                    Alignment = columnModel.align,
+                    Width = columnModel.name.Length
+                });
+
+            }
+            return File(ExcelHelper.NewExportMemoryStream(rowData, excelconfig), "application/ms-excel", excelconfig.FileName);
+        }
+
+        public ActionResult GetInOutReportList(string pagination, string queryJson)
+        {
+            Pagination paginationobj = InitPagination(pagination);
+            var query = new InOutReportQueryDto();
+            if (!string.IsNullOrEmpty(queryJson))
+            {
+                query = JsonConvert.DeserializeObject<InOutReportQueryDto>(queryJson);
+            }
+
+            var lists = _statistics.GetInOutReport(paginationobj, query ?? new InOutReportQueryDto());
+
+            var jsonData = new
+            {
+                rows = lists.Result,
+                total = lists.TotalPage,
+                page = lists.PageIndex,
+                records = lists.TotalNum
+            };
+            return Success(jsonData);
+        }
+        [HttpPost]
+        public IActionResult ExportInOutReportExcel(string fileName, string queryJson, string exportField)
+        {
+            var query = new InOutReportQueryDto();
+            try
+            {
+                if (!string.IsNullOrEmpty(queryJson))
+                {
+                    query = JsonConvert.DeserializeObject<InOutReportQueryDto>(queryJson);
+                }
+            }
+            catch (Exception ex)
+            {
+            }
+            //设置导出格式
+            ExcelConfig excelconfig = new ExcelConfig();
+            excelconfig.Title = HttpUtility.UrlDecode(fileName);
+            excelconfig.TitleFont = "微软雅黑";
+            excelconfig.TitlePoint = 15;
+            excelconfig.FileName = HttpUtility.UrlDecode(fileName) + ".xls";
+            excelconfig.IsAllSizeColumn = true;
+            excelconfig.ColumnEntity = new List<ColumnModel>();
+
+            List<jfGridModel> columnList = exportField.ToList<jfGridModel>();
+            if (columnList.Count == 0)
+            {
+                throw new Exception("未找到表头");
+            }
+            //行数据
+            Pagination paginationobj = InitPagination("");
+            paginationobj.rows = 1000000;
+            var lists = _statistics.GetInOutReport(paginationobj, query ?? new InOutReportQueryDto());
+            var dataJson = JsonConvert.SerializeObject(lists.Result);
+            DataTable rowData = dataJson.ToTable();
+            //写入Excel表头
+            Dictionary<string, string> exportFieldMap = new Dictionary<string, string>();
+            if (!string.IsNullOrEmpty(exportField))
+            {
+                string[] exportFields = exportField.Split(',');
+                foreach (var field in exportFields)
+                {
+                    if (!exportFieldMap.ContainsKey(field))
+                    {
+                        exportFieldMap.Add(field, "1");
+                    }
+                }
+            }
+
+            foreach (var columnModel in columnList)
+            {
+
+                excelconfig.ColumnEntity.Add(new ColumnModel()
+                {
+                    // Column =string.IsNullOrEmpty(columnModel.sortname)? columnModel.name: columnModel.sortname,
+                    Column = columnModel.name,
+                    ExcelColumn = columnModel.label,
+                    Alignment = columnModel.align,
+                    Width = columnModel.name.Length
+                });
+
+            }
+            return File(ExcelHelper.NewExportMemoryStream(rowData, excelconfig), "application/ms-excel", excelconfig.FileName);
+        }
+    }
+
+}

+ 1 - 1
WMS.BZWeb/Areas/KLHCManager/Views/Report/StockKeepReportIndex.cshtml

@@ -52,4 +52,4 @@
         </div>
     </div>
 </div>
-@Html.AppendJsFile("/Areas/FJManager/Views/Report/StockKeepReportIndex.js")
+@Html.AppendJsFile("/Areas/KLHCManager/Views/Report/StockKeepReportIndex.js")

+ 2 - 2
WMS.BZWeb/Areas/KLHCManager/Views/Report/StockKeepReportIndex.js

@@ -77,7 +77,7 @@ var bootstrap = function ($, learun) {
                         return top[id].acceptClick(function (data) {
                             learun.download({
                                 method: "POST",
-                                url: '/FJManager/report/ExportStockKeepReportExcel',
+                                url: '/KLHCManager/report/ExportStockKeepReportExcel',
                                 param: {
                                     fileName: "导出库龄报表",
                                     queryJson: query,
@@ -94,7 +94,7 @@ var bootstrap = function ($, learun) {
         // 初始化列表 
         initGird: function () {
             $('#gridtable').jfGrid({
-                url: top.$.rootUrl + '/FJManager/Report/GetStockKeepReportList',
+                url: top.$.rootUrl + '/KLHCManager/Report/GetStockKeepReportList',
                 headData: [
                     { label: "物料编码", name: "MatCode", width: 210, align: "left" },
                     { label: "物料名称", name: "MatName", width: 220, align: "left" },

+ 0 - 63
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/BomSetGrpRateIndex.cshtml

@@ -1,63 +0,0 @@
-@using WMS.BZWeb;
-@{
-    ViewBag.Title = "跺型当前来料比";
-    Layout = "~/Views/Shared/_Index.cshtml";
-}
-<style>
-    .lr-scroll-horizontal {
-        height: 12px;
-        display: block;
-        z-index: 100;
-    }
-
-    .lr-scroll-vertical {
-        width: 12px;
-        display: block;
-        z-index: 100;
-    }
-
-    .SelectBG {
-        background-color: #FF0000;
-    }
-
-    .differentFlag {
-        color: #FF0000;
-    }
-</style>
- 
-<div class="lr-layout">
-    <div class="lr-layout-center">
-        <div class="lr-layout-wrap lr-layout-wrap-notitle">
-            <div class="lr-layout-tool">
-                <div class="lr-layout-tool-left">
-                    <div class="lr-layout-tool-item">
-                        <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" />
-                    </div>
-                    <div class="lr-layout-tool-item">
-                        <a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;<span class="lrlg">查询</span></a>
-                    </div>
-
-                    <div class="lr-layout-tool-item">
-                        <div id="multiple_condition_query">
-                            <div class="lr-query-formcontent">
-                                 
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="lr-layout-tool-right">
-                    <div class=" btn-group btn-group-sm">
-                        <a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i>&nbsp;<span class="lrlg">刷新</span></a>
-                    </div>
-                    <div class=" btn-group btn-group-sm" wms-authorize="yes">
-                        <a id="lr_exportnow" class="btn btn-default"><i class="fa fa-sign-out"></i>&nbsp;导出当前页</a>
-                        <a id="lr_exportall" class="btn btn-default"><i class="fa fa-sign-out"></i>&nbsp;导出全部</a>
-
-                    </div>
-                </div>
-            </div>
-            <div class="lr-layout-body" id="gridtable"></div>
-        </div>
-    </div>
-</div>
-@Html.AppendJsFile("/Areas/FJManager/Views/Statisticsreport/BomSetGrpRateIndex.js")

+ 0 - 220
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/BomSetGrpRateIndex.js

@@ -1,220 +0,0 @@
-var refreshGirdData;
-var OneInTimebegin = '';
-var OneInTimeend = '';
-var ProductTimebegin = '';
-var ProductTimeend = '';
-var logbegin = '';
-var logend = '';
-var StartTimeBegin = '';
-var StartTimeend = '';
-var EndTimeBegin = '';
-var EndTimeend = '';
-
-var bootstrap = function ($, learun) {
-    "use strict";
-    var psuid = "";
-    var page = {
-        init: function () {
-            page.initGird();
-            page.bind();
-        },
-        bind: function () {
-
-            $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
-                // 调用后台查询
-                // queryJson 查询条件
-                var date = $('#lr_search_date_datesearch').html();
-                if (date == '') {
-                    logbegin = '';
-                    logend = '';
-                }
-                var starttime = $('#lr_search_date_StartTime').html();
-                if (starttime == '') {
-                    StartTimeBegin = '';
-                    StartTimeend = '';
-                }
-                var endtime = $('#lr_search_date_EndTime').html();
-                if (endtime == '') {
-                    EndTimeBegin = '';
-                    EndTimeend = '';
-                }
-
-                console.log(queryJson);
-                queryJson["MatCode"] = $("#MatCode").val();
-                queryJson["MatName"] = $("#MatName").val();
-                queryJson["Status"] = $("#Status").lrselectGet();
-                queryJson["AddTimeFrom"] = $("#AddTimeFrom").val();
-                queryJson["AddTimeTo"] = $("#AddTimeTo").val();
-                queryJson["StartTimeBegin"] = $("#StartTimeBegin").val();
-                queryJson["StartTimeEnd"] = $("#StartTimeEnd").val();
-                queryJson["EndTimeBegin"] = $("#EndTimeBegin").val();
-                queryJson["EndTimeEnd"] = $("#EndTimeEnd").val();
-                page.search({ queryJson: JSON.stringify(queryJson) });
-
-            }, 250);
-            // 查询
-            $('#btn_Search').on('click', function () {
-                var keyword = $('#txt_Keyword').val();
-                page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val() }) });
-            });
-            // 刷新 
-            $('#lr_refresh').on('click', function () {
-                location.reload();
-            });
-            $('#Status').lrselect({
-                url: top.$.rootUrl + '/FJManager/Enums/GetTaskStatusList',
-                maxHeight: 180,
-                allowSearch: false
-            });
-            //$('.datetime').each(function () {
-            //    $(this).lrdatetime({
-            //        dfdata: [
-            //            { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //            { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //            { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //            { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //        ],
-            //        // 月
-            //        mShow: false,
-            //        premShow: false,
-            //        // 季度
-            //        jShow: false,
-            //        prejShow: false,
-            //        // 年
-            //        ysShow: false,
-            //        yxShow: false,
-            //        preyShow: false,
-            //        yShow: false,
-            //        // 默认
-            //        dfvalue: 'all',
-            //        selectfn: function (begin, end) {
-            //            let id = $(this).attr('id');
-            //            if (id == 'datesearch') {
-            //                logbegin = begin;
-            //                logend = end;
-            //            }
-            //            else if (id == 'StartTime') {
-            //                StartTimeBegin = begin;
-            //                StartTimeend = end;
-            //            }
-            //            else if (id == 'EndTime') {
-            //                EndTimeBegin = begin;
-            //                EndTimeend = end;
-            //            }
-            //        }
-            //    });
-            //});
-            // 导出数据
-            $('#lr_exportnow').on('click', function () {
-                var subsuid = "";
-                if (psuid == "") {
-                    psuid = $('#gridtable').attr('id');
-                }
-                else if (psuid != "") {
-                    var t = $('#' + psuid).attr('id');
-                    if (t == undefined)
-                        psuid = $('#gridtable').attr('id');
-                }
-                var mainGridId = $('#gridtable').attr('id');
-
-                learun.layerForm({
-                    id: "ExcelExportForm",
-                    title: '导出Excel数据',
-                    url: top.$.rootUrl + '/Utility/ExcelExportForm?mainGridId=' + mainGridId + '&gridId=' + psuid + '&filename=' + encodeURI(encodeURI("导出跺型当前来料比报表")),
-                    width: 500,
-                    height: 380,
-                    callBack: function (id) {
-                        return top[id].acceptClick();
-                    },
-                    btn: ['导出Excel', '关闭']
-                });
-            });
-
-            $('#lr_exportall').on('click', function () {
-                //var where = $("#queryWhere").val();
-
-                var query = $('#multiple_condition_query').lrGetFormData();
-                query["MatCode"] = $("#MatCode").val();
-                query["MatName"] = $("#MatName").val();
-                query["Status"] = $("#Status").lrselectGet();
-                query["AddTimeFrom"] = $("#AddTimeFrom").val();
-                query["AddTimeTo"] = $("#AddTimeTo").val();
-                query["StartTimeBegin"] = $("#StartTimeBegin").val();
-                query["StartTimeEnd"] = $("#StartTimeEnd").val();
-                query["EndTimeBegin"] = $("#EndTimeBegin").val();
-                query["EndTimeEnd"] = $("#EndTimeEnd").val();
-
-                query["keyword"] = $('#txt_Keyword').val();
-
-                var queryJson = JSON.stringify(query);
-
-                learun.layerForm({
-                    id: "ExcelExportForm",
-                    title: '导出Excel数据',
-                    // url: top.$.rootUrl + '/Utility/ExcelExportForm?mainGridId=' + mainGridId + '&gridId=' + psuid + '&filename=' + encodeURI(encodeURI("库存")),
-                    url: top.$.rootUrl + '/Utility/ExcelExportColumn?gridId=' + $('#gridtable').attr('id') + '&subgridId=',
-                    width: 500,
-                    height: 380,
-                    callBack: function (id) {
-                        return top[id].acceptClick(function (data) {
-                            learun.download({
-                                method: "POST",
-                                url: '/FJManager/Statisticsreport/ExportBomSetGrpCurrentMaterialRateExcel',
-                                param: {
-                                    fileName: "导出跺型当前来料比报表",
-                                    queryJson: queryJson,
-                                    exportField: JSON.stringify(data)
-
-                                }
-                            });
-                        });
-                    },
-                    btn: ['导出Excel', '关闭']
-                });
-
-
-
-            });
-        },
-        // 初始化列表 
-        initGird: function () {
-            $('#gridtable').jfGrid({
-                url: top.$.rootUrl + '/FJManager/Statisticsreport/GetBomSetGrpCurrentMaterialRateList',
-                headData: [
-                    { label: "跺型名称", name: "BomSetName", width: 180, align: "left", sortname: '' },
-                    { label: "物料编码", name: "MatCode", width: 160, align: "left"  },
-                    { label: "数量", name: "Qty", width: 80, align: "left", sortname: "COUNT(1)" },
-                    { label: "占比", name: "RateName", width: 80, align: "left", sortname: "" },
-                    { label: "正常占比", name: "NormalRateName", width: 80, align: "left", sortname: "" },
-                    { label: "占比差", name: "DiffRateName", width: 80, align: "left", sortname: "" },
-                   { label: "数量差", name: "DiffQty", width: 80, align: "left", sortname: "" },
-                ],
-                mainId: 'SetGrpBomCode',
-                isPage: true,
-                reloadSelected: true,
-                autowWidth: true,
-                //sidx: 'AddTime',
-                //sord: 'DESC',
-                onRenderComplete: function () {
-                    var datas = $('#gridtable').jfGridGet("rowdatas");
-                    for (var i = 0; i < datas.length; i++) {
-                        if (datas[i].DiffRate < 0) {
-                           // $('.jfgrid-data-cell').find('[rowindex='+i+'] ').addClass("SelectBG");
-                            $('.jfgrid-data-cell[rowindex=' + i + ']').addClass("SelectBG");
-                        }
-                    }
-
-                
-                }
-            });
-            page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val() }) });
-        },
-        search: function (param) {
-            $('#gridtable').jfGridSet('reload', param);
-        }
-    };
-    refreshGirdData = function () {
-        $('#gridtable').jfGridSet('reload');
-    };
-    page.init();
-}

+ 1 - 1
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/InOutReport.cshtml

@@ -76,4 +76,4 @@
     var endday = '@ViewBag.endday ';
 
 </script>
-@Html.AppendJsFile("/Areas/FJManager/Views/Statisticsreport/InOutReport.js")
+@Html.AppendJsFile("/Areas/KLHCManager/Views/Statisticsreport/InOutReport.js")

+ 12 - 20
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/InOutReport.js

@@ -41,11 +41,10 @@ var bootstrap = function ($, learun) {
                     EndTimeBegin = '';
                     EndTimeend = '';
                 }
-                queryJson["WarehouseCode"] = $("#WarehouseCode").lrselectGet();
                 queryJson["EndTimeBegin"] = $("#EndTimeBegin").val();
                 queryJson["EndTimeEnd"] = $("#EndTimeEnd").val();
                 queryJson["GroupName"] = $("#GroupName").val();
-                  queryJson["WarehouseGroupName"] = $("#WarehouseGroupName").val();
+
                 page.search({ queryJson: JSON.stringify(queryJson) });
 
             }, 250);
@@ -61,8 +60,7 @@ var bootstrap = function ($, learun) {
 
             $("#GroupName").append($("<option value='Hour'>小时</option>"));
             $("#GroupName").append($("<option value='Day'>天</option>"));
-               $("#WarehouseGroupName").append($("<option value='Warehouse'>仓库</option>"));
-            $("#WarehouseGroupName").append($("<option value=''>不分组</option>"));
+
 
             $("#GroupName").change(function () {
                 if ($(this).val() == 'Hour') {
@@ -74,11 +72,7 @@ var bootstrap = function ($, learun) {
                     $("#EndTimeEnd").val(endday);
                 }
             });
-            $('#WarehouseCode').lrselect({
-                url: top.$.rootUrl + '/FJManager/BaseWarehouse/GetSelectWarehouseCodeNameList',
-                maxHeight: 180,
-                allowSearch: false
-            });
+
             // 导出数据
             $('#lr_exportnow').on('click', function () {
                 var subsuid = "";
@@ -129,7 +123,7 @@ var bootstrap = function ($, learun) {
                         return top[id].acceptClick(function (data) {
                             learun.download({
                                 method: "POST",
-                                url: '/FJManager/Statisticsreport/ExportInOutReportExcel',
+                                url: '/KLHCManager/Statisticsreport/ExportInOutReportExcel',
                                 param: {
                                     fileName: "导出出入库报表",
                                     queryJson: queryJson,
@@ -143,32 +137,30 @@ var bootstrap = function ($, learun) {
                 });
             });
 
- 
+
         },
         // 初始化列表 
         initGird: function () {
             $('#gridtable').jfGrid({
-                url: top.$.rootUrl + '/FJManager/Statisticsreport/GetInOutReportList',
-                headData: [  
-                    { label: "仓库", name: "WarehouseCode", width: 120, align: "left"  },
+                url: top.$.rootUrl + '/KLHCManager/Statisticsreport/GetInOutReportList',
+                headData: [
                     { label: "年", name: "Year", width: 80, align: "left" },
                     { label: "月", name: "Month", width: 80, align: "left", },
                     { label: "日", name: "Day", width: 80, align: "left", },
                     { label: "小时", name: "Hour", width: 80, align: "left", },
-                    { label: "组盘数", name: "GroupQty", width: 80, align: "left", },                   
-                         
-                   
+                    { label: "入库任务", name: "InQty", width: 80, align: "left", },
+                    { label: "出库任务", name: "OutQty", width: 80, align: "left", },
+
                 ],
                 mainId: 'Year',
                 footerrow: true,
                 isPage: true,
                 reloadSelected: true,
                 autowWidth: true,
-                rows: 200,
-                sidx: 'Hour',
+                sidx: 'Year',
                 sord: 'asc',
                 onRenderComplete: function (data) {
-              
+
                 },
             });
             page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val(), EndTimeBegin: beginhour, EndTimeEnd: endhour }) });

+ 1 - 1
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/Index.cshtml

@@ -82,4 +82,4 @@
         </div>
     </div>
 </div>
-@Html.AppendJsFile("/Areas/FJManager/Views/Statisticsreport/Index.js")
+@Html.AppendJsFile("/Areas/KLHCManager/Views/Statisticsreport/Index.js")

+ 2 - 39
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/Index.js

@@ -66,44 +66,7 @@ var bootstrap = function ($, learun) {
                 maxHeight: 180,
                 allowSearch: false
             });
-            //$('.datetime').each(function () {
-            //    $(this).lrdatetime({
-            //        dfdata: [
-            //            { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //            { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //            { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //            { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
-            //        ],
-            //        // 月
-            //        mShow: false,
-            //        premShow: false,
-            //        // 季度
-            //        jShow: false,
-            //        prejShow: false,
-            //        // 年
-            //        ysShow: false,
-            //        yxShow: false,
-            //        preyShow: false,
-            //        yShow: false,
-            //        // 默认
-            //        dfvalue: 'all',
-            //        selectfn: function (begin, end) {
-            //            let id = $(this).attr('id');
-            //            if (id == 'datesearch') {
-            //                logbegin = begin;
-            //                logend = end;
-            //            }
-            //            else if (id == 'StartTime') {
-            //                StartTimeBegin = begin;
-            //                StartTimeend = end;
-            //            }
-            //            else if (id == 'EndTime') {
-            //                EndTimeBegin = begin;
-            //                EndTimeend = end;
-            //            }
-            //        }
-            //    });
-            //});
+           
             // 导出数据
             $('#lr_exportnow').on('click', function () {
                 var subsuid = "";
@@ -178,7 +141,7 @@ var bootstrap = function ($, learun) {
         // 初始化列表 
         initGird: function () {
             $('#gridtable').jfGrid({
-                url: top.$.rootUrl + '/FJManager/Statisticsreport/GetPageList',
+                url: top.$.rootUrl + '/KLHCManager/Statisticsreport/GetPageList',
                 headData: [
                     { label: "物料编码", name: "MatCode", width: 120, align: "left" },
                     { label: "物料名称", name: "MatName", width: 120, align: "left" },

+ 0 - 77
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/PalletizingReport.cshtml

@@ -1,77 +0,0 @@
-@using WMS.BZWeb;
-@{
-    ViewBag.Title = "码垛数";
-    Layout = "~/Views/Shared/_Index.cshtml";
-}
-<style>
-    .lr-scroll-horizontal {
-        height: 12px;
-        display: block;
-        z-index: 100;
-    }
-
-    .lr-scroll-vertical {
-        width: 12px;
-        display: block;
-        z-index: 100;
-    }
-</style>
-<div class="lr-layout">
-    <div class="lr-layout-center">
-        <div class="lr-layout-wrap lr-layout-wrap-notitle">
-            <div class="lr-layout-tool">
-                <div class="lr-layout-tool-left">
-                    <div class="lr-layout-tool-item">
-                        <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" />
-                    </div>
-                    <div class="lr-layout-tool-item">
-                        <a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;<span class="lrlg">查询</span></a>
-                    </div>
-
-                    <div class="lr-layout-tool-item">
-                        <div id="multiple_condition_query">
-                            <div class="lr-query-formcontent">
-                                <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">仓库</div>
-                                    <div id="WarehouseCode"></div>
-                                </div>
-
-                                <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">时间</div>
-                                    @*    <div id="EndTime" class="datetime"></div> *@
-                                    <input id="EndTimeBegin" placeholder="请输入时间" readonly style="width:180px;border: 1px solid #ccc;    height: 28px;" class="datetime" type="text" onclick="WdatePicker({el:this,dateFmt:'yyyy-MM-dd HH:mm:ss'})">
-                                    <input id="EndTimeEnd" placeholder="请输入时间" readonly style="width:180px;border: 1px solid #ccc;    height: 28px;" class="datetime" type="text" onclick="WdatePicker({el:this,dateFmt:'yyyy-MM-dd HH:mm:ss'})">
-                                </div>                                
-
-                                <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">时间分组</div>
-                                    <select id="GroupName" style="width:100%;" class="lr-select"></select>
-                                </div>
-                            
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="lr-layout-tool-right">
-                    <div class=" btn-group btn-group-sm">
-                        <a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i>&nbsp;<span class="lrlg">刷新</span></a>
-                    </div>
-                    <div class=" btn-group btn-group-sm" wms-authorize="yes">
-                        <a id="lr_exportnow" class="btn btn-default"><i class="fa fa-sign-out"></i>&nbsp;导出当前页</a>
-                 @*        <a id="lr_exportall" class="btn btn-default"><i class="fa fa-sign-out"></i>&nbsp;导出全部</a> *@
-
-                    </div>
-                </div>
-            </div>
-            <div class="lr-layout-body" id="gridtable"></div>
-        </div>
-    </div>
-</div>
-<script>
-   var beginhour= '@ViewBag.beginhour' ;
-   var endhour  = '@ViewBag.endhour '  ;
-   var beginday = '@ViewBag.beginday ' ;
-   var endday = '@ViewBag.endday ';
-
-</script>
-@Html.AppendJsFile("/Areas/FJManager/Views/Statisticsreport/PalletizingReport.js")

+ 0 - 207
WMS.BZWeb/Areas/KLHCManager/Views/Statisticsreport/PalletizingReport.js

@@ -1,207 +0,0 @@
-var refreshGirdData;
-var OneInTimebegin = '';
-var OneInTimeend = '';
-var ProductTimebegin = '';
-var ProductTimeend = '';
-var logbegin = '';
-var logend = '';
-var StartTimeBegin = '';
-var StartTimeend = '';
-var EndTimeBegin = '';
-var EndTimeend = '';
-
-var bootstrap = function ($, learun) {
-    "use strict";
-    var psuid = "";
-    const TaskType = ["组盘", "入库", "出库"];
-    var page = {
-        init: function () {
-           
-            page.initGird();
-            page.bind();
-            $("#EndTimeBegin").val(beginhour);
-            $("#EndTimeEnd").val(endhour);
-        },
-        bind: function () {
-
-            $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
-                // 调用后台查询
-                // queryJson 查询条件
-                var date = $('#lr_search_date_datesearch').html();
-                if (date == '') {
-                    logbegin = '';
-                    logend = '';
-                }
-                var starttime = $('#lr_search_date_StartTime').html();
-                if (starttime == '') {
-                    StartTimeBegin = '';
-                    StartTimeend = '';
-                }
-                var endtime = $('#lr_search_date_EndTime').html();
-                if (endtime == '') {
-                    EndTimeBegin = '';
-                    EndTimeend = '';
-                }
-
-                console.log(queryJson);
-                
-                queryJson["WarehouseCode"] = $("#WarehouseCode").lrselectGet();
-
-                queryJson["EndTimeBegin"] = $("#EndTimeBegin").val();
-                queryJson["EndTimeEnd"] = $("#EndTimeEnd").val();
-                queryJson["GroupName"] = $("#GroupName").val();
-                queryJson["WarehouseGroupName"] = $("#WarehouseGroupName").val();
-                
-                page.search({ queryJson: JSON.stringify(queryJson) });
-
-            }, 250);
-            // 查询
-            $('#btn_Search').on('click', function () {
-                var keyword = $('#txt_Keyword').val();
-                page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val(), EndTimeBegin: beginhour, EndTimeEnd: endhour }) });
-            });
-            // 刷新 
-            $('#lr_refresh').on('click', function () {
-                location.reload();
-            });
-             
-            $("#GroupName").append($("<option value='Hour'>小时</option>"));
-            $("#GroupName").append($("<option value='Day'>天</option>"));
-
-            $("#WarehouseGroupName").append($("<option value='Warehouse'>仓库</option>"));
-            $("#WarehouseGroupName").append($("<option value=''>不分组</option>"));
-
-            $("#GroupName").change(function () {
-                if ($(this).val() == 'Hour') {
-                    $("#EndTimeBegin").val(beginhour);
-                    $("#EndTimeEnd").val(endhour);
-                }
-                else {
-                    $("#EndTimeBegin").val(beginday);
-                    $("#EndTimeEnd").val(endday);
-                }
-            });
-
-            // 导出数据
-            $('#lr_exportnow').on('click', function () {
-                var subsuid = "";
-                if (psuid == "") {
-                    psuid = $('#gridtable').attr('id');
-                }
-                else if (psuid != "") {
-                    var t = $('#' + psuid).attr('id');
-                    if (t == undefined)
-                        psuid = $('#gridtable').attr('id');
-                }
-                var mainGridId = $('#gridtable').attr('id');
-
-                learun.layerForm({
-                    id: "ExcelExportForm",
-                    title: '导出Excel数据',
-                    url: top.$.rootUrl + '/Utility/ExcelExportForm?mainGridId=' + mainGridId + '&gridId=' + psuid + '&filename=' + encodeURI(encodeURI("导出任务小时报表")),
-                    width: 500,
-                    height: 380,
-                    callBack: function (id) {
-                        return top[id].acceptClick();
-                    },
-                    btn: ['导出Excel', '关闭']
-                });
-            });
-
-            $('#lr_exportall').on('click', function () {
-                //var where = $("#queryWhere").val();
-
-                var query = $('#multiple_condition_query').lrGetFormData();
-                query["WarehouseCode"] = $("#WarehouseCode").lrselectGet();
-                query["EndTimeBegin"] = $("#EndTimeBegin").val();
-                query["EndTimeEnd"] = $("#EndTimeEnd").val();
-                query["TaskType"] = $("#TaskType").val();
-                query["BusType"] = $("#BusType").lrselectGet();
-                query["keyword"] = $('#txt_Keyword').val();
-
-                var queryJson = JSON.stringify(query);
-
-                learun.layerForm({
-                    id: "ExcelExportForm",
-                    title: '导出Excel数据',
-                    // url: top.$.rootUrl + '/Utility/ExcelExportForm?mainGridId=' + mainGridId + '&gridId=' + psuid + '&filename=' + encodeURI(encodeURI("库存")),
-                    url: top.$.rootUrl + '/Utility/ExcelExportColumn?gridId=' + $('#gridtable').attr('id') + '&subgridId=',
-                    width: 500,
-                    height: 380,
-                    callBack: function (id) {
-                        return top[id].acceptClick(function (data) {
-                            learun.download({
-                                method: "POST",
-                                url: '/FJManager/Statisticsreport/ExportHourTaskExcel',
-                                param: {
-                                    fileName: "导出任务小时报表",
-                                    queryJson: queryJson,
-                                    exportField: JSON.stringify(data)
-
-                                }
-                            });
-                        });
-                    },
-                    btn: ['导出Excel', '关闭']
-                });
-            });
-    
-
-            $('#WarehouseCode').lrselect({
-                url: top.$.rootUrl + '/FJManager/BaseWarehouse/GetSelectWarehouseCodeNameList',
-                maxHeight: 180,
-                allowSearch: false
-            });
-        },
-        // 初始化列表 
-        initGird: function () {
-            $('#gridtable').jfGrid({
-                url: top.$.rootUrl + '/FJManager/Statisticsreport/GetPalletizingReportList',
-                headData: [
-                    { label: "仓库", name: "WarehouseName", width: 120, align: "left"  },
-                    { label: "年", name: "Year", width: 80, align: "left" },
-                    { label: "月", name: "Month", width: 80, align: "left", },
-                    { label: "日", name: "Day", width: 80, align: "left", },
-                    { label: "小时", name: "Hour", width: 80, align: "left", },
-                    { label: "数量", name: "Qty", width: 80, align: "left", },                  
-           
-                ],
-                mainId: 'Year',
-                footerrow: true,
-                isPage: true,
-                reloadSelected: true,
-                autowWidth: true,
-              /*  sidx: 'Year',*/
-             /*   sord: 'asc',*/
-                onRenderComplete: function (data) {
-                    var dataa = data;
-                },
-            });
-            page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val(), EndTimeBegin: beginhour, EndTimeEnd: endhour }) });
-        },
-        search: function (param) {
-            $('#gridtable').jfGridSet('reload', param);
-        }
-    };
-    refreshGirdData = function () {
-        $('#gridtable').jfGridSet('reload');
-    };
-
-    page.init();
-
-    function today() {
-        var today = new Date();
-        var h = today.getFullYear();
-        var m = today.getMonth() + 1;
-        var d = today.getDate();
-        var hh = today.getHours();
-        var mm = today.getMinutes();
-        var ss = today.getSeconds();
-        m = m < 10 ? "0" + m : m;
-        d = d < 10 ? "0" + d : d;
-        hh = hh < 10 ? "0" + hh : hh;
-        mm = mm < 10 ? "0" + mm : mm;
-        ss = ss < 10 ? "0" + ss : ss;
-        return h + "-" + m + "-" + d + " " + hh + ":" + mm + ":" + ss;
-    }
-}

+ 1 - 1
WMS.BZWeb/Areas/PTManager/Views/Statisticsreport/InOutReport.cshtml

@@ -70,4 +70,4 @@
     var endday = '@ViewBag.endday ';
 
 </script>
-@Html.AppendJsFile("/Areas/PTManager/Views/Statisticsreport/InOutReport.js")
+@Html.AppendJsFile("/Areas/KLHCManager/Views/Statisticsreport/InOutReport.js")