namespace CRMDAL.Query.ResourcePlan { // GB4 parity: crm/ResourcePlan.svc/GetSelectListResourcePlan — // ResourcePlanBLL.GetSelectListResourcePlan -> RegisterDAL query: // "SELECT MIN(RESOURCEPLANID) AS Id, PLANNUMBER AS Number, MIN(PLANDATE) AS Date, // MIN(RESOURCEPLANCOMBINEID) AS CombineId FROM TRESOURCEPLAN GROUP BY PLANNUMBER". // GB4 accepted a CriteriaDTO body but never applied it to this query — no filters exist // to port. Paging matches the GB5 CTE/ROW_NUMBER convention used across other picklists. public static class ResourcePlanPicklistQB { public const string GET_SELECTLIST_RESOURCEPLAN_SQL = @" WITH ResourcePlanList AS ( SELECT MIN(RESOURCEPLANID) AS Id, PLANNUMBER AS Number, MIN(PLANDATE) AS Date, MIN(RESOURCEPLANCOMBINEID) AS CombineId, ROW_NUMBER() OVER (ORDER BY MIN(RESOURCEPLANID) DESC) AS RowNum FROM TRESOURCEPLAN GROUP BY PLANNUMBER ) SELECT Id, Number, Date, CombineId FROM ResourcePlanList WHERE (@firstnumber = -1 AND @maxresult = -1) OR (RowNum BETWEEN @firstnumber AND @maxresult);"; public const string GET_SELECTLIST_RESOURCEPLAN_PG = @" WITH ResourcePlanList AS ( SELECT MIN(""RESOURCEPLANID"") AS ""Id"", ""PLANNUMBER"" AS ""Number"", MIN(""PLANDATE"") AS ""Date"", MIN(""RESOURCEPLANCOMBINEID"") AS ""CombineId"", ROW_NUMBER() OVER (ORDER BY MIN(""RESOURCEPLANID"") DESC) AS ""RowNum"" FROM ""TRESOURCEPLAN"" GROUP BY ""PLANNUMBER"" ) SELECT ""Id"", ""Number"", ""Date"", ""CombineId"" FROM ResourcePlanList WHERE (:firstnumber = -1 AND :maxresult = -1) OR (""RowNum"" BETWEEN :firstnumber AND :maxresult);"; public const string GET_SELECTLIST_RESOURCEPLAN_ORACLE = @";"; public const string GET_SELECTLIST_RESOURCEPLAN_MYSQL = @";"; } }