source: trunk/grails-app/services/TaskSearchService.groovy @ 339

Last change on this file since 339 was 260, checked in by gav, 15 years ago

Improve bulk data creation batch times and use dynamic allocation of next available id.
Sort admin view controller classes by name.

File size: 4.1 KB
Line 
1class TaskSearchService {
2
3    boolean transactional = false
4
5    def dateUtilService
6    def authenticateService
7
8    def paramsMax = 99999
9
10    def getTodays(params) {
11        params.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
12        params.offset = params?.offset?.toInteger() ?: 0
13        params.sort = params?.sort ?: "id"
14        params.order = params?.order ?: "desc"
15
16        def taskInstanceList = Task.createCriteria().list(
17            max: params.max,
18            offset: params.offset,
19            sort: params.sort, 
20            order: params.order) {
21                ge("targetStartDate", dateUtilService.today)
22                lt("targetStartDate", dateUtilService.getTomorrow())
23                eq("trash", false)
24            }
25    }
26
27    def getMyTodays(params) {
28        params.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
29        params.offset = params?.offset?.toInteger() ?: 0
30        params.sort = params?.sort ?: "id"
31        params.order = params?.order ?: "desc"
32
33        def taskInstanceList = Task.createCriteria().list(
34            max: params.max,
35            offset: params.offset,
36            sort: params.sort, 
37            order: params.order) {
38                eq("leadPerson", Person.get(authenticateService.userDomain().id))
39                ge("targetStartDate", dateUtilService.today)
40                lt("targetStartDate", dateUtilService.getTomorrow())
41                eq("trash", false)
42            }
43    }
44
45    def getInTheLastWeek(params) {
46        params.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
47        params.offset = params?.offset?.toInteger() ?: 0
48        params.sort = params?.sort ?: "id"
49        params.order = params?.order ?: "desc"
50
51        def taskInstanceList = Task.createCriteria().list(
52            max: params.max,
53            offset: params.offset,
54            sort: params.sort, 
55            order: params.order) {
56                ge("targetStartDate", dateUtilService.oneWeekAgo)
57                lt("targetStartDate", dateUtilService.getTomorrow())
58                eq("trash", false)
59            }
60    }
61
62    def getMyInTheLastWeek(params) {
63        params.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
64        params.offset = params?.offset?.toInteger() ?: 0
65        params.sort = params?.sort ?: "id"
66        params.order = params?.order ?: "desc"
67
68        def taskInstanceList = Task.createCriteria().list(
69            max: params.max,
70            offset: params.offset,
71            sort: params.sort, 
72            order: params.order) {
73                eq("leadPerson", Person.get(authenticateService.userDomain().id))
74                ge("targetStartDate", dateUtilService.oneWeekAgo)
75                lt("targetStartDate", dateUtilService.getTomorrow())
76                eq("trash", false)
77            }
78    }
79
80    def getBudgetPlanned(params) {
81        params.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
82        params.offset = params?.offset?.toInteger() ?: 0
83        params.sort = params?.sort ?: "id"
84        params.order = params?.order ?: "desc"
85
86        def taskInstanceList = Task.createCriteria().list(
87            max: params.max,
88            offset: params.offset,
89            sort: params.sort,
90            order: params.order) {
91                eq("taskBudgetStatus", TaskBudgetStatus.get(2))
92                ge("targetStartDate", dateUtilService.oneWeekAgo)
93                lt("targetStartDate", dateUtilService.tomorrow)
94                eq("trash", false)
95            }
96    }
97
98    def getBudgetUnplanned(params) {
99        params.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
100        params.offset = params?.offset?.toInteger() ?: 0
101        params.sort = params?.sort ?: "id"
102        params.order = params?.order ?: "desc"
103
104        def taskInstanceList = Task.createCriteria().list(
105            max: params.max,
106            offset: params.offset,
107            sort: params.sort,
108            order: params.order) {
109                eq("taskBudgetStatus", TaskBudgetStatus.get(1))
110                ge("targetStartDate", dateUtilService.oneWeekAgo)
111                lt("targetStartDate", dateUtilService.getTomorrow())
112                eq("trash", false)
113            }
114    }
115}
Note: See TracBrowser for help on using the repository browser.