using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using QMFrameWork.WebUI.Attribute; using QMAPP.FJC.Web.Models.Basic; using QMAPP.Common.Web.Controllers; using QMFrameWork.Data; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.Basic; using QMFrameWork.WebUI.DataSource; using QMFrameWork.Common.Serialization; using QMAPP.Entity; namespace QMAPP.FJC.Web.Controllers { /// /// 模块编号:M2-7 /// 作 用:工序设置数据模型 /// 作 者:王丹丹 /// 编写日期:2015年06月01日 /// public class ProcessSetController : QController { #region 获取列表 /// /// 加载列表 /// /// 结果 [HandleException] public ActionResult List(bool? callBack) { ProcessSetModel seachModel = new ProcessSetModel(); if (callBack == true) TryGetSelectBuffer(out seachModel); seachModel.rownumbers = false; seachModel.url = "/ProcessSet/GetList"; return View("ProcessSetList", seachModel); } /// /// 获取列表 /// /// 是否回调 /// 列表 [HandleException] public ActionResult GetList(bool? callBack) { DataResult pageResult = new DataResult(); ProcessSetModel seachModel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); ProcessSet condition = null; try { //获取查询对象 seachModel = GetModel(); #region 获取缓存值 if (callBack != null) { TryGetSelectBuffer(out seachModel); } else { //保存搜索条件 SetSelectBuffer(seachModel); } #endregion //设置查询条件 //工序是否必须设置 seachModel.EDITNECESSARY = "1"; //获取前台分页设置信息 page = this.GetDataPage(seachModel); condition = CopyToModel(seachModel); #region wcf服务统一接口 pageResult = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_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 编辑 /// /// 编辑载入 /// /// 处理结果 [HandleException] public ActionResult Edit() { ProcessSetModel model = new ProcessSetModel(); string ID = Request.Params["PID"]; ProcessSet entity = new ProcessSet(); DataResult resultProcessSet = new DataResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); ProcessInfo processInfo = new ProcessInfo(); DataResult resultProcessInfo = new DataResult(); try { if (string.IsNullOrEmpty(ID) == false) { //修改获取原工序设置数据 entity.PID = ID; resultProcessSet = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_Get.ToString(), entity); if (resultProcessSet.IsSuccess == false) { SetMessage(resultProcessSet.Msg); return View("ProcessSetEdit", model); } //根据工序ID获取工序信息 entity.PCID = resultProcessSet.Result.PCID; resultProcessInfo = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_GetProcessInfo.ToString(), entity); if (resultProcessInfo.IsSuccess == false) { SetMessage(resultProcessInfo.Msg); return View("ProcessSetEdit", model); } model = CopyToModel(resultProcessSet.Result); //工序类别 model.PROCESSTYPE = resultProcessInfo.Result.PROCESSTYPE; model.PROCESSTYPETXT = resultProcessInfo.Result.PROCESSNAME; model.PROCESSNAMETXT = resultProcessInfo.Result.PID; } else { //添加时默认在制品设置显示为否 model.WIPSET = "0"; model.MINVALUE = 0; model.PRODUCEMINVALUE = 0; } return View("ProcessSetEdit", model); } catch (Exception ex) { throw ex; } } #endregion #region 保存 /// /// 保存 /// /// /// 处理结果 [HttpPost] [HandleException] [ValidateInput(false)] public ActionResult Save(ProcessSetModel saveModel) { ProcessSet entity = null; ServiceAgent wcfAgent = this.GetServiceAgent(); DataResult result = new DataResult(); ProcessInfo processInfo = new ProcessInfo(); try { entity = CopyToModel(saveModel); //新增 result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_Save.ToString(), entity); if (result.IsSuccess == false) { //SetMessage(result.Msg); return this.GetJsViewResult(string.Format("parent.List(1);parent.showTitle('{0}');parent.closeAppWindow1();", result.Msg)); //return View("ProcessSetEdit", saveModel); } return this.GetJsViewResult(string.Format("parent.List(1);parent.showTitle('{0}');parent.closeAppWindow1();", AppResource.SaveMessge)); } catch (Exception ex) { throw ex; } } #endregion #region 删除 /// /// 删除 /// /// 结果 [HttpPost] [HandleException] public ActionResult Delete() { string selectKey = Request.Form["selectKey"]; ServiceAgent wcfAgent = this.GetServiceAgent(); DataResult result = new DataResult(); try { result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_Delete.ToString(), selectKey); if (result.IsSuccess == false) { SetMessage(result.Msg); return List(true); } SetMessage(AppResource.DeleteMessage); return List(true); } catch (Exception ex) { throw ex; } } #endregion #region 获取工序名称下拉列表 /// /// 获取工序名称下拉列表 /// /// public ContentResult GetPCNComboxSource() { List listProcessInfo = new List(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); ProcessSet entity = new ProcessSet(); DataResult> result = new DataResult>(); try { //获取工序信息 result = wcfAgent.InvokeServiceFunction>>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_GetProcessInfoList.ToString(), entity); if (result.IsSuccess == false) { SetMessage(result.Msg); return Content(model.ToString()); } foreach (var item in result.Result) { if (model.Items.Count == 0) { model.Add(new ComboboxItem { ID = "", Text = new DictController().EmptyItemTitle }); } else { model.Add(new ComboboxItem { ID = item.PID, Text = item.PROCESSNAME }); } } return Content(model.ToString()); } catch (Exception ex) { throw ex; } } #endregion #region 根据工序ID获取工序类别 /// /// 根据工序ID获取工序类别 /// /// public ActionResult GetProcessType() { string PCID = Request.Params["PCID"]; ProcessInfo processInfo = new ProcessInfo(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); ProcessSet entity = new ProcessSet(); DataResult result = new DataResult(); try { entity.PCID = PCID; //获取工序信息 result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_GetProcessInfo.ToString(), entity); if (result.IsSuccess == false) { SetMessage(result.Msg); return Content(model.ToString()); } return Json(new { key = result.Result.PROCESSTYPE, value = result.Result.PROCESSTYPETXT }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { throw ex; } } #endregion #region 获取工序类别下拉列表 /// /// 获取工序类别下拉列表 /// /// public ContentResult GetComboxSource() { List listProcessInfo = new List(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); ProcessSet entity = new ProcessSet(); DataResult> result = new DataResult>(); try { //获取工序信息 result = wcfAgent.InvokeServiceFunction>>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_GetProcessInfoList.ToString(), entity); if (result.IsSuccess == false) { SetMessage(result.Msg); return Content(model.ToString()); } foreach (var item in result.Result) { 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 ActionResult GetProcessIndex() { string PRODUCTTYPE = Request.Params["PRODUCTTYPE"]; ServiceAgent wcfAgent = this.GetServiceAgent(); ProcessSet entity = new ProcessSet(); DataResult result = new DataResult(); try { entity.PRODUCTTYPE = PRODUCTTYPE; //获取工序信息 result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_GetProcessIndex.ToString(), entity); if (result.IsSuccess == false) { SetMessage(result.Msg); return Content(""); } if (result.Result == null) { return Json(new { PROCESSINDEX = 1, MAXPROCESSINDEX = 0 }, JsonRequestBehavior.AllowGet); } return Json(new { PROCESSINDEX = result.Result.PROCESSINDEX + 1, MAXPROCESSINDEX = result.Result.PROCESSINDEX }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { throw ex; } } #endregion } }