public ActionResult List(GridCommand command, OrderSeqSearchModel searchModel) { SearchCacheModel searchCacheModel = this.ProcessSearchModel(command, searchModel); var error = false; if (string.IsNullOrWhiteSpace(searchModel.ProdLine)) { error = true; SaveWarningMessage(Resources.ErrorMessage.Errors_Common_FieldRequired, Resources.ORD.OrderMaster.OrderMaster_Flow); } if (!string.IsNullOrWhiteSpace(searchModel.TraceCode) && !error) { if (base.genericMgr.FindAll<long>("select count(*) from OrderSeq as s where s.TraceCode = ? and s.ProductLine=? ", new object[] { searchModel.TraceCode, searchModel.ProdLine })[0] == 0) { error = true; SaveErrorMessage("Van号值加生产线找不到对应的数据。"); } } if (error) { ViewBag.ReadOnly = true; return View(); } ViewBag.PageSize = base.ProcessPageSize(command.PageSize); return View(); }
public ActionResult _AjaxList(GridCommand command, OrderSeqSearchModel searchModel) { if (string.IsNullOrWhiteSpace(searchModel.ProdLine)) { return PartialView(new GridModel(new List<VanOrderSeqView>())); } if (!string.IsNullOrWhiteSpace(searchModel.TraceCode) ) { if (base.genericMgr.FindAll<long>("select count(*) from OrderSeq as s where s.TraceCode = ? and s.ProductLine=? ", new object[] { searchModel.TraceCode, searchModel.ProdLine })[0] == 0) { return PartialView(new GridModel(new List<VanOrderSeqView>())); } } SearchStatementModel searchStatementModel = this.PrepareSearchStatement(command, searchModel); return PartialView(GetAjaxPageData<VanOrderSeqView>(searchStatementModel, command)); //ProcedureSearchStatementModel procedureSearchStatementModel = this.PrepareProcedureSearchStatement(command, searchModel); //return PartialView(GetAjaxPageDataProcedure<VanOrderSeqView>(procedureSearchStatementModel, command)); }
public ActionResult ExportXLS(GridCommand command, OrderSeqSearchModel searchModel) { string hql = " select u from VanOrderSeqView as u where 1=1"; IList<object> param = new List<object>(); var error = false; if (string.IsNullOrWhiteSpace(searchModel.ProdLine)) { error = true; SaveWarningMessage(Resources.ErrorMessage.Errors_Common_FieldRequired, Resources.ORD.OrderMaster.OrderMaster_Flow); } else { hql += " and u.Flow=?"; param.Add(searchModel.ProdLine); } long seq = 0; if (!string.IsNullOrWhiteSpace(searchModel.ProdLine) && !string.IsNullOrWhiteSpace(searchModel.TraceCode)) { seq = this.genericMgr.FindAllWithNativeSql<long>("SELECT Seq FROM ORD_OrderSeq os where os.TraceCode=? AND os.ProdLine=? ", new object[] { searchModel.TraceCode, searchModel.ProdLine })[0]; if (seq > 0) { hql += " and u.Sequence>=?"; param.Add(seq); } else { error = true; SaveErrorMessage("Van号值加生产线找不到对应的数据."); } } if (error) { ViewBag.ReadOnly = true; return RedirectToAction("Index"); } var list = this.genericMgr.FindAll<VanOrderSeqView>(hql,param.ToArray()); ExportToXLS<VanOrderSeqView>("VanOrderSeqView", "XLS", list); return null; }
private SearchStatementModel PrepareSearchStatement(GridCommand command, OrderSeqSearchModel searchModel) { string whereStatement = string.Empty; IList<object> param = new List<object>(); long seq = 0; if (!string.IsNullOrWhiteSpace(searchModel.ProdLine) && !string.IsNullOrWhiteSpace(searchModel.TraceCode)) { seq= this.genericMgr.FindAllWithNativeSql<long>("SELECT Seq FROM ORD_OrderSeq os where os.TraceCode=? AND os.ProdLine=? ", new object[] { searchModel.TraceCode, searchModel.ProdLine })[0]; } if (seq > 0) { HqlStatementHelper.AddGeStatement("Sequence", seq, "u", ref whereStatement, param); } HqlStatementHelper.AddEqStatement("Flow", searchModel.ProdLine, "u", ref whereStatement, param); string sortingStatement = HqlStatementHelper.GetSortingStatement(command.SortDescriptors); if (string.IsNullOrWhiteSpace(sortingStatement)) { sortingStatement = " ORDER BY u.Sequence ASC,u.SubSequence ASC "; } SearchStatementModel searchStatementModel = new SearchStatementModel(); searchStatementModel.SelectCountStatement = selectCountStatement; searchStatementModel.SelectStatement = selectStatement; searchStatementModel.WhereStatement = whereStatement; searchStatementModel.SortingStatement = sortingStatement; searchStatementModel.Parameters = param.ToArray<object>(); return searchStatementModel; }
private ProcedureSearchStatementModel PrepareProcedureSearchStatement(GridCommand command, OrderSeqSearchModel searchModel) { List<ProcedureParameter> paraList = new List<ProcedureParameter>(); List<ProcedureParameter> pageParaList = new List<ProcedureParameter>(); paraList.Add(new ProcedureParameter { Parameter = searchModel.ProdLine, Type = NHibernate.NHibernateUtil.String }); paraList.Add(new ProcedureParameter { Parameter = searchModel.TraceCode, Type = NHibernate.NHibernateUtil.String }); pageParaList.Add(new ProcedureParameter { Parameter = command.SortDescriptors.Count > 0 ? command.SortDescriptors[0].Member : null, Type = NHibernate.NHibernateUtil.String }); pageParaList.Add(new ProcedureParameter { Parameter = command.SortDescriptors.Count > 0 ? (command.SortDescriptors[0].SortDirection == ListSortDirection.Descending ? "desc" : "asc") : "asc", Type = NHibernate.NHibernateUtil.String }); pageParaList.Add(new ProcedureParameter { Parameter = command.PageSize, Type = NHibernate.NHibernateUtil.Int32 }); pageParaList.Add(new ProcedureParameter { Parameter = command.Page, Type = NHibernate.NHibernateUtil.Int32 }); var procedureSearchStatementModel = new ProcedureSearchStatementModel(); procedureSearchStatementModel.Parameters = paraList; procedureSearchStatementModel.PageParameters = pageParaList; procedureSearchStatementModel.CountProcedure = "USP_Search_VanOrderSeqCount"; procedureSearchStatementModel.SelectProcedure = "USP_Search_VanOrderSeq"; return procedureSearchStatementModel; }