public IList<object[]> GetRequestAllByUserCodeUnitSysClassify1(string unitNo, string system, string classify, string requestNo, string[] pointArray, int pageIndex, int pageSize, out int totalRows) { this.Dispose(); if (dataBaseSession == null) { dataBaseSession = DataBaseSession; } string sql = "select a.code,a.requestno,a.unitno,a.system,a.classify,a.requestdepart,a.applieduser,a.appliedtime,a.billtypecode from Tca_Request a,TCA_Billtype b"; sql += " where a.billtypecode=b.code"; if (!string.IsNullOrEmpty(unitNo)) { sql += " and a.UnitNo=:UnitNo"; } if (!string.IsNullOrEmpty(system)) { sql += " and a.System=:System"; } if (!string.IsNullOrEmpty(classify)) { sql += " and a.Classify=:Classify"; } if (!string.IsNullOrEmpty(requestNo)) { sql += " and a.RequestNo=:RequestNo"; } if (pointArray[0] != "") { string strstart = pointArray.Count() == 1 ? ")" : ""; for (int i = 0; i < pointArray.Count(); i++) { if (i == 0) { sql += " and (b.TypeFlag=:TypeFlag" + i + strstart; } else if (i + 1 == pointArray.Count()) { sql += " or b.TypeFlag=:TypeFlag" + i + ")"; } else { sql += " or b.TypeFlag=:TypeFlag" + i; } } } sql += " order by a.AppliedTime desc"; IQuery Sqlquery = dataBaseSession.CreateSQLQuery(sql); if (!string.IsNullOrEmpty(requestNo)) { Sqlquery.SetParameter("RequestNo", requestNo); } if (!string.IsNullOrEmpty(unitNo)) { Sqlquery.SetParameter("UnitNo", unitNo); } if (!string.IsNullOrEmpty(system)) { Sqlquery.SetParameter("System", system); } if (!string.IsNullOrEmpty(classify)) { Sqlquery.SetParameter("Classify", classify); } if (pointArray[0] != "") { for (int i = 0; i < pointArray.Count(); i++) { Sqlquery.SetParameter("TypeFlag" + i, pointArray[i]); } } totalRows = int.Parse(Sqlquery.List().Count.ToString()); Sqlquery.SetFirstResult((pageIndex - 1) * pageSize); Sqlquery.SetMaxResults(pageIndex * pageSize); return Sqlquery.List<object[]>(); }