123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555 |
- using Microsoft.AspNetCore.Mvc;
- using Newtonsoft.Json;
- using System.Data;
- using System.Web;
- using WMS.BZModels.Dto.KLHC.BillInvDtos;
- using WMS.BZModels.Dto.KLHC.ReportDtos;
- using WMS.BZModels.Dto.KLHC.SysConDtos;
- using WMS.BZServices.KLHC;
- using WMS.Info;
- using WMS.Util;
- namespace WMS.BZWeb.Areas.KLHCManager.Controllers
- {
- [Area("KLHCManager")]
- public class ReportController : MvcControllerBase
- {
- private readonly ReportService _report;
- private readonly SysConService _syscon;
- public ReportController(ReportService report, SysConService syscon)
- {
- _report = report;
- _syscon = syscon;
- }
- #region 页面
- public IActionResult Index()
- {
- return View();
- }
- public IActionResult cellreportIndex()
- {
- return View();
- }
- public IActionResult StockKeepReportIndex()
- {
- return View();
- }
- public IActionResult MantuoBarCodeRateIndex()
- {
- return View();
- }
- public IActionResult MatNameNetWeightReport()
- {
- return View();
- }
- #endregion 页面
- public ActionResult GetPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new ReportQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<ReportQueryDto>(queryJson);
- }
- var lists = _report.GetPageList(paginationobj, query ?? new ReportQueryDto());
- var jsonData = new
- {
- rows = lists.Result,
- total = lists.TotalPage,
- page = lists.PageIndex,
- records = lists.TotalNum
- };
- return Success(jsonData);
- }
- public ActionResult GetLocationUsageReportList()
- {
- var lists = _report.GetLocationUsageReportList();
- Pagination paginationobj = InitPagination("");
- var tunnellists = _syscon.GetTunnelList(paginationobj, new TunnelQueryDto());
- if (tunnellists != null && tunnellists.Result.Any())
- {
- //更新巷道状态
- lists.ForEach(s =>
- {
- var conf = tunnellists.Result.Where(m => m.Tunnel == s.Tunnel).ToList();
- if (conf != null)
- {
- if (conf.Where(o => o.Name.Contains("入库")).Any())
- {
- s.InStates = conf.Where(o => o.Name.Contains("入库")).First().StatuName;
- }
- if (conf.Where(o => o.Name.Contains("出库")).Any())
- {
- s.OutStates = conf.Where(o => o.Name.Contains("出库")).First().StatuName;
- }
- }
- });
- }
- //var totallists= new List<dynamic>(){ new { UnitName="总货位",qty= lists.Sum(s=>s.AllLocationTotal)},
- // new { UnitName="有效货位",qty= lists.Sum(s=>s.CanUseLocation)},
- // new { UnitName="空余货位",qty= lists.Sum(s=>s.SpareLocation)},
- // new { UnitName="锁定货位",qty= lists.Sum(s=>s.LockLocation)},
- // new { UnitName="停用货位",qty= lists.Sum(s=>s.StopLocation)},
- // new { UnitName="有料货位",qty= lists.Sum(s=>s.MaterilLocation)}};
- lists.Add(new LocationUsageReportViewDto()
- {
- Tunnel = "",
- WarehouseName = "合计:",
- AllLocationTotal = lists.Sum(s => s.AllLocationTotal),
- CanUseLocation = lists.Sum(s => s.CanUseLocation),
- SpareLocation = lists.Sum(s => s.SpareLocation),
- LockLocation = lists.Sum(s => s.LockLocation),
- StopLocation = lists.Sum(s => s.StopLocation),
- MaterilLocation = lists.Sum(s => s.MaterilLocation),
- });
- return Success(lists);
- }
- public IActionResult GetStockKeepReportList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new BillInvNowQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<BillInvNowQueryDto>(queryJson);
- }
- var lists = _report.GetStockKeepReportList(paginationobj, query ?? new BillInvNowQueryDto());
- var jsonData = new
- {
- rows = lists.Result,
- total = lists.TotalPage,
- page = lists.PageIndex,
- records = lists.TotalNum
- };
- return Success(jsonData);
- }
- /// <summary>
- /// 获取货位使用率
- /// </summary>
- /// <param name="pagination"></param>
- /// <param name="queryJson"></param>
- /// <returns></returns>
- public ActionResult GetCellList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new ReportQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<ReportQueryDto>(queryJson);
- }
- var lists = _report.GetPageList(paginationobj, query ?? new ReportQueryDto());
- var jsonData = new
- {
- rows = lists.Result,
- total = lists.TotalPage,
- page = lists.PageIndex,
- records = lists.TotalNum
- };
- return Success(jsonData);
- }
- public ActionResult GetMantuoBarCodeRate(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new MantuoBarCodeRateQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<MantuoBarCodeRateQueryDto>(queryJson);
- }
- var lists = _report.GetMantuoBarCodeRate(paginationobj, query ?? new MantuoBarCodeRateQueryDto());
- var jsonData = new
- {
- rows = lists.Result,
- total = lists.TotalPage,
- page = lists.PageIndex,
- records = lists.TotalNum
- };
- return Success(jsonData);
- }
- public ActionResult GetMatNameNetWeightCategory(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new BillInvNowQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<BillInvNowQueryDto>(queryJson);
- }
- var lists = _report.GetMatNameNetWeightCategory(paginationobj, query ?? new BillInvNowQueryDto());
- 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 ReportQueryDto();
- try
- {
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<ReportQueryDto>(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 = _report.GetList(query ?? new ReportQueryDto());
- 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);
- }
- [HttpPost]
- public IActionResult ExportLocationUsageReportExcel(string fileName, string queryJson, string exportField)
- {
- //设置导出格式
- 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 = _report.GetLocationUsageReportList();
- 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);
- }
- [HttpPost]
- public IActionResult ExportStockKeepReportExcel(string fileName, string queryJson, string exportField)
- {
- var query = new BillInvNowQueryDto();
- try
- {
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<BillInvNowQueryDto>(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 = _report.GetStockKeepReports(query ?? new BillInvNowQueryDto());
- 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);
- }
- [HttpPost]
- public IActionResult ExportCellListReportExcel(string fileName, string queryJson, string exportField)
- {
- var query = new ReportQueryDto();
- try
- {
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<ReportQueryDto>(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 = _report.GetList(query ?? new ReportQueryDto());
- 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);
- }
- [HttpPost]
- public IActionResult ExportMatNameNetWeightCategoryExcel(string fileName, string queryJson, string exportField)
- {
- var query = new BillInvNowQueryDto();
- try
- {
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<BillInvNowQueryDto>(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 = _report.GetMatNameNetWeightCategorys(query ?? new BillInvNowQueryDto());
- 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);
- }
- [HttpPost]
- public IActionResult ExportMantuoBarCodeRateExcel(string fileName, string queryJson, string exportField)
- {
- var query = new MantuoBarCodeRateQueryDto();
- try
- {
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<MantuoBarCodeRateQueryDto>(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 = _report.GetMantuoBarCodeRates(query ?? new MantuoBarCodeRateQueryDto());
- 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);
- }
- }
- }
|