using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using QMFrameWork.WebUI.Attribute; using QMAPP.Common.Web.Controllers; using QMFrameWork.Data; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.Injection; using QMFrameWork.WebUI.DataSource; using QMFrameWork.Common.Serialization; using QMAPP.FJC.Entity.Basic; using QMAPP.FJC.Web.Models.FeedInManage; using QMAPP.FJC.Entity; using QMAPP.KB.Entity; namespace QMAPP.FJC.Web.Controllers { /// /// 模块编号:M3-1 /// 作 用:注塑投料记录控制层 /// 作 者:王丹丹 /// 编写日期:2015年06月5日 /// public class InJectionRecorderController : QController { #region 获取列表 /// /// 加载列表 /// /// 结果 [HandleException] public ActionResult List(bool? callBack) { InJectionRecorderModel seachModel = new InJectionRecorderModel(); seachModel.CreateDateStart = DateTime.Now.Date.AddDays(-10).ToString("yyyy-MM-dd HH:mm:ss"); seachModel.CreateDateEnd = DateTime.Now.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss"); seachModel.ImmediateSearch = false; string recordtype = Request["recordtype"]; seachModel.PROCESSTYPE = recordtype; if (callBack == true) TryGetSelectBuffer(out seachModel); seachModel.rownumbers = false; seachModel.url = "/InJectionRecorder/GetList"; return View("InJectionRecorderList"+recordtype, seachModel); } /// /// 获取列表 /// /// 是否回调 /// 列表 [HandleException] public ActionResult GetList(bool? callBack) { InJectionRecorderModel seachModel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); InjectionRecorder condition = null; try { //获取查询对象 seachModel = GetModel(); #region 获取缓存值 if (callBack != null) { TryGetSelectBuffer(out seachModel); } else { //保存搜索条件 SetSelectBuffer(seachModel); } #endregion //获取前台分页设置信息 page = this.GetDataPage(seachModel); condition = CopyToModel(seachModel); ////工序类型为注塑(processtype!=0) //DataResult> listResult = wcfAgent.InvokeServiceFunction>>( // QMAPP.ServicesAgent.B9BasicService.ProcessSetBLL_GetProcessInfoList.ToString(), // new ProcessSet { OPERATETYPE = EnumGeter.OPERATETYPE.PRODUCE.GetHashCode().ToString() } // ); //if (listResult.Result != null) //{ // foreach (var item in listResult.Result) // { // if (item.PROCESSTYPE != EnumGeter.ProcessType.tangsu.GetHashCode().ToString() && item.PROCESSTYPE != EnumGeter.ProcessType.jiaozhu.GetHashCode().ToString()) // { // if (string.IsNullOrEmpty(condition.PROCESSTYPES)) // { // condition.PROCESSTYPES = item.PROCESSTYPE; // } // else // { // condition.PROCESSTYPES = condition.PROCESSTYPES + "," + item.PROCESSTYPE; // } // } // } //} #region wcf服务统一接口 page = wcfAgent.InvokeServiceFunction(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_GetRecordList.ToString(), condition, page); 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 编辑 /// /// 编辑载入 /// /// 处理结果 [HandleException] public ActionResult Edit() { InJectionRecorderModel model = new InJectionRecorderModel(); string ID = Request.Params["PID"]; InjectionRecorder Entity = new InjectionRecorder(); ServiceAgent wcfAgent = this.GetServiceAgent(); try { if (string.IsNullOrEmpty(ID) == false) { //修改获取原数据 Entity.PID = ID; Entity = wcfAgent.InvokeServiceFunction(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_Get.ToString(), Entity); model = CopyToModel(Entity); } return View("InJectionRecorderEdit", model); } catch (Exception ex) { throw ex; } } #endregion #region 保存 /// /// 保存 /// /// /// 处理结果 [HttpPost] [HandleException] [ValidateInput(false)] public ActionResult Save(InJectionRecorderModel saveModel) { InjectionRecorder Entity = null; InjectionRecorder oldEntity = new InjectionRecorder(); ServiceAgent wcfAgent = this.GetServiceAgent(); int successYN;//是否保存成功 DataResult result = new DataResult(); try { Entity = CopyToModel(saveModel); //获取原数据 oldEntity = wcfAgent.InvokeServiceFunction(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_Get.ToString(), Entity); oldEntity.MATERIALBATCH = Entity.MATERIALBATCH; //修改投料信息表 result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_Update.ToString(), oldEntity); if (!result.IsSuccess) { SetMessage(result.Msg); return View("InJectionRecorderEdit", saveModel); } //修改零件投料关联表 result = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_UpdateProductInjection.ToString(), oldEntity); if (!result.IsSuccess) { SetMessage(result.Msg); return View("InJectionRecorderEdit", 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(InJectionRecorderModel saveModel) { string selectKey = Request.Form["selectKey"]; ServiceAgent wcfAgent = this.GetServiceAgent(); int successYN;//是否删除成功 try { successYN = wcfAgent.InvokeServiceFunction(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_Delete.ToString(), selectKey); if (successYN == -1) { SetMessage("该投料记录已生成零件投料记录,不允许删除!"); } else { SetMessage(AppResource.DeleteMessage); } return List(true); } catch (Exception ex) { throw ex; } } #endregion #region 获取设备编号下拉列表 /// /// 获取设备编号下拉列表 /// /// public ContentResult GetMachineInfoComboxSource() { List listMachineInfo = new List(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); MachineInfo entity = new MachineInfo(); try { //获取设备信息 listMachineInfo = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_GetMachineInfoList.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.MACHINECODDE, Text = item.MACHINECODDE }+'/'+new ComboboxItem{ID = item.MACHINENAME, Text = item.MACHINENAME}); model.Add(new ComboboxItem { ID = item.MACHINECODDE, Text = item.MACHINECODDE + "/" + item.MACHINENAME }); } else { //model.Add(new ComboboxItem { ID = item.MACHINECODDE, Text = item.MACHINECODDE }); //model.Add(new ComboboxItem { ID = item.MACHINENAME, Text = item.MACHINENAME }); model.Add(new ComboboxItem { ID = item.MACHINECODDE, Text = item.MACHINECODDE + "/" + item.MACHINENAME }); } } return Content(model.ToString()); } catch (Exception ex) { throw ex; } } #endregion #region 获取班次编号下拉列表 /// /// 获取班次编号下拉列表 /// /// public ContentResult GetProductShiftComboxSource() { List listProductShiftInfo = new List(); ComboboxResult model = new ComboboxResult(); ServiceAgent wcfAgent = this.GetServiceAgent(); ProduceShift entity = new ProduceShift(); try { //获取班次信息 listProductShiftInfo = wcfAgent.InvokeServiceFunction>(QMAPP.ServicesAgent.FeedInManage.InjectionRecorderBLL_GetProduceShiftList.ToString(), entity); foreach (var item in listProductShiftInfo) { if (model.Items.Count == 0) { model.Add(new ComboboxItem { ID = "", Text = new DictController().EmptyItemTitle }); model.Add(new ComboboxItem { ID = item.PRODUCESHIFTTCODE, Text = item.PRODUCESHIFTTCODE }); } else { model.Add(new ComboboxItem { ID = item.PRODUCESHIFTTCODE, Text = item.PRODUCESHIFTTCODE }); } } return Content(model.ToString()); } 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 { //获取工序信息 entity.OPERATETYPE = EnumGeter.OPERATETYPE.PRODUCE.GetHashCode().ToString(); 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 } }