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.ProductPetrospect; using QMFrameWork.Data; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.Operation; using QMFrameWork.WebUI.DataSource; using QMFrameWork.Common.Serialization; using System.Data; using Common.AssemblyUtil; using QMAPP.Entity; using QMAPP.FJC.Entity.ProductPetrospect; namespace QMAPP.FJC.Web.Controllers { /// /// 模块编号:M5-2 /// 作 用:产品批次追溯控制层 /// 作 者:王丹丹 /// 编写日期:2015年06月11日 /// public class ProductInjectionController : QController { #region 获取列表 /// /// 加载列表 /// /// 结果 [HandleException] public ActionResult List(bool? callBack) { ProductInjectionModel seachModel = new ProductInjectionModel(); if (callBack == true) TryGetSelectBuffer(out seachModel); seachModel.rownumbers = true; seachModel.url = "/ProductInjection/GetList"; return View("ProductInjectionIndex", seachModel); } public ActionResult Index() { return View(); } /// /// 获取列表 /// /// 是否回调 /// 列表 [HandleException] public ActionResult GetList(bool? callBack) { ProductInjectionModel seachModel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); ProductInjection condition = null; DataResult dataResult = 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服务统一接口 dataResult = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProductInjectionBLL_GetProductInjectionList.ToString(), condition, page); if (!dataResult.IsSuccess) { SetMessage(dataResult.Msg); } DateGridResult result = new DateGridResult(); result.Total = dataResult.Result.RecordCount; result.Rows = JsonConvertHelper.GetDeserialize>(dataResult.Result.Result.ToString()); #endregion return Content(result.GetJsonSource()); } catch (Exception ex) { throw ex; } } [HandleException] public ActionResult GetExportParameter(bool? callBack) { ProductArchivesModel seachModel = new ProductArchivesModel(); ServiceAgent wcfAgent = this.GetServiceAgent(); ProductArchives condition = new ProductArchives(); DataResult dataResult = new DataResult(); List list = new List(); try { //获取查询对象 seachModel = GetModel(); #region 获取缓存值 if (callBack != null) { TryGetSelectBuffer(out seachModel); } else { //保存搜索条件 SetSelectBuffer(seachModel); } #endregion ProductInjection condition1 = new ProductInjection(); condition1.PRODUCTCODE = seachModel.ERMISCODE; condition1.MAINCODE = seachModel.MAINCODE; //condition = CopyToModel(seachModel); #region wcf服务统一接口 var dlist = wcfAgent.InvokeServiceFunction("ProductInjectionBLL_GetProductInjections", condition1); #endregion return Content(dlist); } catch (Exception ex) { throw ex; } } #endregion #region 导出excel /// /// 导出excel /// /// 结果 [HttpPost] public ActionResult ExportExcel() { ProductInjectionModel seachModel = null; ProductInjection condition = null; DataTable exportDt = new DataTable(); ServiceAgent wcfAgent = this.GetServiceAgent(); string selectKey = Request.Form["selectKey"]; try { //获取查询对象 seachModel = GetModel(); condition = CopyToModel(seachModel); //获取数据 exportDt = wcfAgent.InvokeServiceFunction(QMAPP.ServicesAgent.B9BasicService.ProductInjectionBLL_GetExportDataForPI.ToString(), condition); //根据所选信息进行导出 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(); } //导出 QMFrameWork.WebUI.Util.IEFileTool efTool = new QMFrameWork.WebUI.Util.IEFileTool(); return efTool.GetExcelFileResult("ProductInjectionExp", "ProductInjectionExp.xlsx", exportDt); } catch (Exception ex) { throw ex; } } public ActionResult ExportExcelnEW() { ProductInjectionModel seachModel = null; ProductInjection condition = null; DataTable exportDt = new DataTable(); ServiceAgent wcfAgent = this.GetServiceAgent(); string selectKey = Request.Form["selectKey"]; string ermiscode = Request["ermiscode"]; string maincode = Request["maincode"]; try { //获取查询对象 seachModel = GetModel(); condition = CopyToModel(seachModel); ProductInjection condition1 = new ProductInjection(); condition1.PRODUCTCODE = ermiscode; condition1.MAINCODE = maincode; //获取数据 exportDt = wcfAgent.InvokeServiceFunction("ProductInjectionBLL_GetExportDataForPINew", condition1); //根据所选信息进行导出 //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(); //} //导出 QMFrameWork.WebUI.Util.IEFileTool efTool = new QMFrameWork.WebUI.Util.IEFileTool(); return efTool.GetExcelFileResult("ProductInjectionExp", "ProductInjectionExp.xlsx", exportDt); } catch (Exception ex) { throw ex; } } #endregion } }