using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using QMAPP.Common.Web.Controllers; using QMFrameWork.WebUI.Attribute; using QMAPP.FJC.Web.Models.FeedInManage; using QMFrameWork.Data; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.FeedInManage; using QMAPP.Entity; using QMFrameWork.WebUI.DataSource; using QMFrameWork.Common.Serialization; using System.Data; using QMFrameWork.Log; using QMFrameWork.Common.ExcelOperation; namespace QMAPP.FJC.Web.Controllers { /// /// 20171023gzf /// public class WIPProductCountController : QController { #region 获取信息 /// /// 加载列表 /// /// 结果 [HandleException] public ActionResult List(bool? callback) { WIPProductCountModel seachModel = new WIPProductCountModel(); seachModel.ImmediateSearch = false; if (callback == true) TryGetSelectBuffer(out seachModel); seachModel.url = "/WIPProductCount/GetList"; return View("List", seachModel); } #endregion #region 获取列表 /// /// 获取列表 /// /// 是否回调 /// 列表 [HandleException] public ActionResult GetList(bool? callBack) { WIPProductCountModel seachModel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); Epidermis condition = null; DataResult pageResult = new DataResult(); try { //获取查询对象 seachModel = GetModel(); #region 获取缓存值 if (callBack != null) { TryGetSelectBuffer(out seachModel); } else { //保存搜索条件 SetSelectBuffer(seachModel); } #endregion //获取前台分页设置信息 page = this.GetDataPage(seachModel); condition = CopyToModel(seachModel); #region wcf服务统一接口 pageResult = wcfAgent.InvokeServiceFunction>("WIPProductCountBLL_GetList", condition, page); if (pageResult.IsSuccess == false) { SetMessage(pageResult.Msg); return List(true); } DateGridResult result = new DateGridResult(); result.Total = pageResult.Result.RecordCount; result.Rows = JsonConvertHelper.GetDeserialize>(pageResult.Result.Result.ToString()); #endregion return Content(result.GetJsonSource()); } catch (Exception ex) { throw ex; } } #endregion #region 导出excel /// /// 导出excel /// /// 结果 [HandleException] public ActionResult ExportExcel() { WIPProductCountModel seachModel = null; Epidermis condition = null; DataTable exportDt = new DataTable(); ServiceAgent wcfAgent = this.GetServiceAgent(); try { //获取查询对象 seachModel = GetModel(); condition = CopyToModel(seachModel); //获取数据 var dataResult = wcfAgent.InvokeServiceFunction>("WIPProductCountBLL_GetExportData", condition); //通过返回dataResult判断 if (dataResult.Ex != null) { throw dataResult.Ex; } else if (dataResult.IsSuccess) { exportDt = dataResult.Result; } else { SetMessage(dataResult.Msg); return List(true); } //导出 IEExcelHelper ieExcelHelper = new IEExcelHelper(); var sheetInfo = ieExcelHelper.GetMainInfo("WIPProductCountExp"); var fileName = System.Guid.NewGuid().ToString() + ".xlsx"; ieExcelHelper.ExportExcel(sheetInfo, exportDt, QMAPP.Web.Common.ExcelOperationHelper.GetTempPath() + fileName, true); return Content(fileName); } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo { ErrorInfo = ex, Info = "导出excel", Tag = "在制品统计" }); SetMessage("导出excel失败"); return List(true); } } /// /// 导出文件 /// /// public ActionResult ExportFile() { String filePath = QMAPP.Web.Common.ExcelOperationHelper.GetTempPath(); String fileName = Request["FileName"]; QMAPP.Web.Common.ExcelOperationHelper.FileDownload(Response, filePath + fileName, "在制品统计.xlsx"); return Content(""); } #endregion } }