public ActionResult GetMaintenanceRecord(MaintenanceRecordSearchModel model, int searchPage)
        {
            SearchDataWithPagedDatas <MaintenanceRecordSearchModel, MaintenanceRecordListModel> result = new SearchDataWithPagedDatas <MaintenanceRecordSearchModel, MaintenanceRecordListModel>();

            result.SearchModel = model;
            result.PagedDatas  = MaintenanceRecordBLL.GetPagedMaintenanceRecord(result.SearchModel, searchPage, this.PageSize, CurrentStrucID);
            return(PartialView("_MaintenanceRecordPagedGrid", result));
        }
Beispiel #2
0
        /// <summary>
        /// 获取当前单位及其子单位下的保养记录
        /// </summary>
        /// <returns></returns>
        public static AsiatekPagedList <MaintenanceRecordListModel> GetPagedMaintenanceRecord(MaintenanceRecordSearchModel model, int searchPage, int pageSize, int currentStrucID)
        {
            string joinStr = string.Format(@"  INNER JOIN dbo.Vehicles ve ON ve.ID=mr.VehicleID 
  INNER JOIN dbo.Structures st ON ve.StrucID = st.ID 
  INNER JOIN Func_GetAllTheSubsetOfVehiclesByStrucID({0})  AS vt ON ve.ID=vt.VID 
  INNER JOIN dbo.Users us ON us.ID = mr.CreateUser  ", currentStrucID);

            List <SqlParameter> paras = new List <SqlParameter>()
            {
                new SqlParameter("@tableName", "dbo.MaintenanceRecord mr "),
                new SqlParameter("@joinStr", joinStr),
                new SqlParameter("@pageSize", pageSize),
                new SqlParameter("@currentPage", searchPage),
                new SqlParameter("@orderBy", "mr.ID DESC"),
                new SqlParameter("@showColumns", @" mr.ID,mr.RecordDetails,mr.CreateTime,ve.VehicleName,ve.VIN,st.StrucName,us.UserName AS CreateUser "),
            };

            #region 筛选条件
            string conditionStr = " 1=1 ";
            if (!string.IsNullOrWhiteSpace(model.VehicleName))
            {
                conditionStr += " AND ve.VehicleName LIKE '%" + model.VehicleName + "%'";
            }
            if (!string.IsNullOrWhiteSpace(model.VIN))
            {
                conditionStr += " AND ve.VIN LIKE '%" + model.VIN + "%'";
            }
            if (model.SearchStrucID != -1)
            {
                conditionStr += " AND ve.StrucID = " + model.SearchStrucID + "";
            }

            if (!string.IsNullOrWhiteSpace(conditionStr))
            {
                paras.Add(new SqlParameter("@conditionStr", conditionStr));
            }
            #endregion

            paras.Add(new SqlParameter()
            {
                ParameterName = "@totalItemCount",
                Direction     = ParameterDirection.Output,
                SqlDbType     = SqlDbType.Int
            });
            paras.Add(new SqlParameter()
            {
                ParameterName = "@newCurrentPage",
                Direction     = ParameterDirection.Output,
                SqlDbType     = SqlDbType.Int
            });
            List <MaintenanceRecordListModel> list = ConvertToList <MaintenanceRecordListModel> .Convert(MSSQLHelper.ExecuteDataTable(CommandType.StoredProcedure, "Proc_GetPagedDatas", paras.ToArray()));

            int totalItemCount = Convert.ToInt32(paras[paras.Count - 2].Value);
            int newCurrentPage = Convert.ToInt32(paras[paras.Count - 1].Value);
            return(list.ToPagedList(newCurrentPage, pageSize, totalItemCount));
        }