using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using QMFrameWork.WebUI.Attribute; using QMAPP.FJC.Web.Models.WIPManage; using QMAPP.Common.Web.Controllers; using QMFrameWork.Data; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.WIPManage; using QMAPP.KB.Entity; using QMFrameWork.WebUI.DataSource; using QMFrameWork.Common.Serialization; using QMAPP.FJC.Entity.Produce; using System.Data; namespace QMAPP.FJC.Web.Controllers { /// /// 模块编号:M7-1 /// 作 用:在制品库存 /// 作 者:王济 /// 编写日期:2015年07月06日 /// public class WIPInventoryController : QController { #region 获取列表 [HandleException] public ActionResult List(bool? callBack) { WIPInventoryModel searchmodel = new WIPInventoryModel(); if (callBack == true) TryGetSelectBuffer(out searchmodel); searchmodel.rownumbers = true; searchmodel.url = "/WIPInventory/GetList"; return View("WIPInventoryList", searchmodel); } /// /// 获取列表 /// /// 是否回调 /// 列表 [HandleException] public ActionResult GetList(bool? callBack) { WIPInventoryModel searchmodel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); Product condition = null; DataResult pageResult = new DataResult(); try { searchmodel = GetModel(); if (callBack != null) { TryGetSelectBuffer(out searchmodel); } else { //保存搜索条件 SetSelectBuffer(searchmodel); } page = this.GetDataPage(searchmodel); condition = CopyToModel(searchmodel); #region wcf服务统一接口 pageResult = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.WIPManage.WIPInventoryBLL_GetList.ToString(), condition, page); 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 /// /// 结果 [HttpPost] public ActionResult ExportExcel() { WIPInventoryModel seachModel = null; Product condition = null; ServiceAgent wcfAgent = this.GetServiceAgent(); DataResult result = new DataResult(); string selectKey = Request.Form["selectKey"]; try { //获取查询对象 seachModel = GetModel(); condition = CopyToModel(seachModel); //获取数据 result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.WIPManage.WIPInventoryBLL_GetExportData.ToString(), condition); //根据所选信息进行导出 if (!String.IsNullOrEmpty(selectKey)) { DataView dv = new DataView(result.Result); 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; result.Result = dv.ToTable(); } //导出 QMFrameWork.WebUI.Util.IEFileTool efTool = new QMFrameWork.WebUI.Util.IEFileTool(); return efTool.GetExcelFileResult("WIPInventoryExp", "在制品库存.xlsx", result.Result); } catch (Exception ex) { throw ex; } } #endregion #region 获取工序类别下拉列表 public ContentResult GetProcessSetDropDownList() { List listMachineInfo = new List(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); Product entity = new Product(); try { //获取设备信息 listMachineInfo = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.WIPManage.WIPInventoryBLL_GetProcessSetList.ToString(), entity); foreach (var item in listMachineInfo) { if (model.Items.Count == 0) { model.Add(new ComboboxItem { ID = "", Text = new DictController().EmptyItemTitle }); model.Add(new ComboboxItem { ID = item.PROCESSTYPE, Text = item.PROCESSNAME }); } else { model.Add(new ComboboxItem { ID = item.PROCESSTYPE, Text = item.PROCESSNAME }); } } return Content(model.ToString()); } catch (Exception ex) { throw ex; } } #endregion #region 获取零件类别下拉列表 public ContentResult GetProductSetDropDownList() { List listMachineInfo = new List(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); Product entity = new Product(); try { //获取设备信息 listMachineInfo = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.WIPManage.WIPInventoryBLL_GetProductSetList.ToString(), entity); foreach (var item in listMachineInfo) { if (model.Items.Count == 0) { model.Add(new ComboboxItem { ID = "", Text = new DictController().EmptyItemTitle }); model.Add(new ComboboxItem { ID = item.PRODUCTTYPE, Text = item.PRODUCTNAME }); } else { model.Add(new ComboboxItem { ID = item.PRODUCTTYPE, Text = item.PRODUCTNAME }); } } return Content(model.ToString()); } catch (Exception ex) { throw ex; } } #endregion } }