using System; using System.Collections.Generic; using System.Data; using System.Web.Mvc; using QMAPP.Common.Web.Controllers; using QMAPP.Entity; using QMAPP.Entity.Sys; using QMAPP.ServicesAgent; using QMAPP.Web.Models; using QMFrameWork.Common.ExcelOperation; using QMFrameWork.Common.Serialization; using QMFrameWork.Data; using QMFrameWork.Log; using QMFrameWork.WebUI.Attribute; using QMFrameWork.WebUI.DataSource; namespace QMAPP.Web.Controllers { /// /// 作 用:热点查询 /// 作 者:周晓东 /// 编写日期:20180423 /// public class FuntionDescriptionController : QController { #region 获取列表 /// /// 加载列表 /// /// 结果 [HandleException] public ActionResult List(bool? callBack) { FuntionDescriptionModel seachModel = new FuntionDescriptionModel(); seachModel.STARTCREATEDATE = DateTime.Now.Date.AddDays(-10).ToString("yyyy-MM-dd HH:mm:ss"); seachModel.ENDCREATEDATE = DateTime.Now.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss"); seachModel.ImmediateSearch = false; if (callBack == true) TryGetSelectBuffer(out seachModel); seachModel.rownumbers = false; seachModel.url = "/FuntionDescription/GetList"; return View("List", seachModel); } /// /// 获取列表 /// /// 是否回调 /// 列表 [HandleException] public ActionResult GetList(bool? callBack) { FuntionDescriptionModel seachModel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); FuntionDescription condition = null; try { //获取查询对象 seachModel = GetModel(); #region 获取缓存值 if (callBack != null) { TryGetSelectBuffer(out seachModel); } else { //保存搜索条件 SetSelectBuffer(seachModel); } #endregion //获取前台分页设置信息 page = this.GetDataPage(seachModel); condition = CopyToModel(seachModel); #region wcf服务统一接口 var dataResult = wcfAgent.InvokeServiceFunction>("FuntionDescriptionBLL_GetCountList", condition, page); //通过返回dataResult判断 if (dataResult.Ex != null) { throw dataResult.Ex; } else if (dataResult.IsSuccess) { page = dataResult.Result; } DateGridResult result = new DateGridResult(); result.Total = page.RecordCount; result.Rows = JsonConvertHelper.GetDeserialize>(page.Result.ToString()); #endregion return Content(result.GetJsonSource()); } catch (Exception ex) { throw ex; } } #endregion #region 导出excel /// /// 导出excel /// /// 结果 [HandleException] public ActionResult ExportExcel() { FuntionDescriptionModel seachModel = null; FuntionDescription condition = null; DataTable exportDt = new DataTable(); string selectKey = Request["selectKey"]; ServiceAgent wcfAgent = this.GetServiceAgent(); try { //获取查询对象 seachModel = GetModel(); condition = CopyToModel(seachModel); //获取数据 var dataResult = wcfAgent.InvokeServiceFunction>("FuntionDescriptionBLL_GetExportData", condition); //通过返回dataResult判断 if (dataResult.Ex != null) { throw dataResult.Ex; } else if (dataResult.IsSuccess) { exportDt = dataResult.Result; } else { SetMessage(dataResult.Msg); return List(true); } //根据所选信息进行导出 if (!String.IsNullOrEmpty(selectKey)) { DataView dv = new DataView(exportDt); string strWhere = ""; string[] list = selectKey.Split(":".ToCharArray()); foreach (string ID in list) { strWhere += " PID='" + ID + "' or"; } if (strWhere != "") { strWhere = strWhere.Remove((strWhere.Length - 2), 2); } dv.RowFilter = strWhere; exportDt = dv.ToTable(); } //导出 IEExcelHelper ieExcelHelper = new IEExcelHelper(); var sheetInfo = ieExcelHelper.GetMainInfo("FuntionDescriptionExp"); 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 #region 热点查询页面--获取功能模块下拉列表(联动) zxd 20190423 /// /// 获取工序下拉列表 /// /// 数据源 [HandleException] public ActionResult GetModelNameCombox() { ServiceAgent wcfAgent = this.GetServiceAgent(); try { var dataResult = wcfAgent.InvokeServiceFunction> ("FuntionDescriptionBLL_GetModelNameCombox"); ComboboxResult model = new ComboboxResult(); model.Add(new ComboboxItem { ID = "", Text = " " }); foreach (FuntionDescription item in dataResult) { model.Add(new ComboboxItem { ID = item.MODELNAME, Text = item.MODELNAME }); } return Content(model.ToString()); } catch (Exception ex) { throw ex; } } #endregion #region 热点查询页面--获取功能模块下拉列表(联动) zxd 20190423 /// /// 获取工序下拉列表 /// /// 数据源 [HandleException] public ActionResult GetMenuNameCombox(string routecode) { //Response.Write(Server.UrlDecode(routecode)); List list = new List(); ServiceAgent wcfAgent = this.GetServiceAgent(); try { if (string.IsNullOrEmpty(routecode) == false) { //list = wcfAgent.InvokeServiceFunction> // ("FuntionDescriptionBLL_GetModelNameCombox", routecode); list = wcfAgent.InvokeServiceFunction>("FuntionDescriptionBLL_GetMenuNameCombox", routecode); //foreach (FuntionDescription item in dataResult) //{ // item.WORKLOC_NAME = item.WORKLOC_CODE + "/" + item.WORKLOC_NAME; // list.Add(item); //} } list.Insert(0, new FuntionDescription() { MENUNAME = " " }); return Content(QMFrameWork.Common.Serialization.JsonConvertHelper.GetSerializes(list)); } catch (Exception ex) { throw ex; } } #endregion #region 获取班次下拉列表 /// /// 获取班次下拉列表 /// /// 数据源 [HandleException] public ActionResult GetUserComboxSource() { ServiceAgent wcfAgent = this.GetServiceAgent(); try { var dataResult = wcfAgent.InvokeServiceFunction> ("UserManageBLL_GetUserComboxSource"); ComboboxResult model = new ComboboxResult(); model.Add(new ComboboxItem { ID = "", Text = " " }); foreach (User item in dataResult) { model.Add(new ComboboxItem { ID = item.UserID, Text = item.UserName }); } return Content(model.ToString()); } catch (Exception ex) { throw ex; } } #endregion } }