source: trunk/grails-app/conf/BootStrap.groovy @ 131

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

Reconfigure Planned Maintenance again, now Preventative Maintenance, TaskProcedure? and MaintenanceAction?

File size: 35.7 KB
RevLine 
[58]1import grails.util.GrailsUtil
[55]2
[58]3class BootStrap 
4{
5    //Required to be right here for Acegi plugin.
6    def authenticateService
7    Boolean BootStrapDemoDataSuccessful = true
8
9    def init = { servletContext ->
10
11    println "**** BootStrap GrailsUtil.environment = ${GrailsUtil.environment}"
12   
13        switch (GrailsUtil.environment)
14        {
15            case "development":
16                        bootStrapDemoData()
17                        break
18            case "test":
19                        break
20            case "production":
21                        bootStrapDemoData()
22                        break 
23        }
24   
25    }
26
27    def destroy = {
28    }
29
30    //Insert some demo/startup data.
31    void bootStrapDemoData()
32    {
33        println "BootStrapping demo data..."
[118]34
[122]35/***********************
36START OF UTILITIES
37***********************/
[118]38
[122]39//Site
40        def siteInstance
[118]41
[122]42        siteInstance = new Site(name: "Creek Mill")
43        BootStrapSaveAndTest(siteInstance)
44
45        siteInstance = new Site(name: "Jasper Street Depot")
46        BootStrapSaveAndTest(siteInstance)
47
48//UnitOfMeasure
49        def unitOfMeasureInstance
50
51        //UnitOfMeasure #1
52        unitOfMeasureInstance = new UnitOfMeasure(name: "each")
53        BootStrapSaveAndTest(unitOfMeasureInstance)
54
55        //UnitOfMeasure #2
56        unitOfMeasureInstance = new UnitOfMeasure(name: "meter(s)")
57        BootStrapSaveAndTest(unitOfMeasureInstance)
58
59        //UnitOfMeasure #3
60        unitOfMeasureInstance = new UnitOfMeasure(name: "box(es)")
61        BootStrapSaveAndTest(unitOfMeasureInstance)
62
63        //UnitOfMeasure #4
64        unitOfMeasureInstance = new UnitOfMeasure(name: "litre(s)")
65        BootStrapSaveAndTest(unitOfMeasureInstance)
66
67        //UnitOfMeasure #5
68        unitOfMeasureInstance = new UnitOfMeasure(name: "kilogram(s)")
69        BootStrapSaveAndTest(unitOfMeasureInstance)
70
71//Period
72        def periodInstance
73
74        //Period #1
75        periodInstance = new Period(period: "Day(s)")
76        BootStrapSaveAndTest(periodInstance)
77
78        //Period #2
79        periodInstance = new Period(period: "Week(s)")
80        BootStrapSaveAndTest(periodInstance)
81
82        //Period #3
83        periodInstance = new Period(period: "Month(s)")
84        BootStrapSaveAndTest(periodInstance)
85
86        //Period #4
87        periodInstance = new Period(period: "Year(s)")
88        BootStrapSaveAndTest(periodInstance)
89
90/*********************
91START OF PERSON
92*********************/
93
[116]94//TypeOfPersonGroup
[64]95        def personGroupTypeInstance
96        personGroupTypeInstance = new PersonGroupType(name:"Department")
97        BootStrapSaveAndTest(personGroupTypeInstance)
98        personGroupTypeInstance = new PersonGroupType(name:"Contractor")
99        BootStrapSaveAndTest(personGroupTypeInstance)
100        personGroupTypeInstance = new PersonGroupType(name:"ProjectTeam")
101        BootStrapSaveAndTest(personGroupTypeInstance)
[58]102   
[116]103//PersonGroup
[64]104        def personGroupInstance
105        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
106                        name:"Electrical")
107        BootStrapSaveAndTest(personGroupInstance)
108        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
109                        name:"Mechanical")
110        BootStrapSaveAndTest(personGroupInstance)
111        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
112                        name:"Production")
113        BootStrapSaveAndTest(personGroupInstance)
114        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.get(2),
115                        name:"Kewl AirCon Guys")
116        BootStrapSaveAndTest(personGroupInstance)
117        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.get(3),
118                        name:"gnuMims")
119        BootStrapSaveAndTest(personGroupInstance)
[58]120
[116]121//Authority
[59]122        def authInstance
123
[102]124        authInstance = new Authority(description:"Application Admin, not required for daily use! Grants full admin access to the application.",
[71]125                                        authority:"ROLE_AppAdmin")
[59]126        BootStrapSaveAndTest(authInstance)
127
[91]128        authInstance = new Authority(description:"Business manager, grants full management access.",
129                                        authority:"ROLE_Manager")
130        BootStrapSaveAndTest(authInstance)
131
132        authInstance = new Authority(description:"Application User, all application users need this base role to allow login.",
[71]133                                        authority:"ROLE_AppUser")
[59]134        BootStrapSaveAndTest(authInstance)
[58]135           
[116]136//Person
[73]137        def passClearText = "pass"
138        def passwordEncoded = authenticateService.encodePassword(passClearText)
[59]139        def personInstance
[58]140
[102]141        //Person #1
[59]142        personInstance = new Person(loginName:"admin",
[58]143                                    firstName:"Admin",
144                                    lastName:"Powers",
[73]145                                    pass:passClearText,
[59]146                                    password:passwordEncoded,
[58]147                                    email:"admin@example.com")
148        BootStrapSaveAndTest(personInstance)
[59]149        personInstance.addToAuthorities(Authority.get(1))
150        personInstance.addToAuthorities(Authority.get(2))
[91]151        personInstance.addToAuthorities(Authority.get(3))
[66]152        personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
[58]153
[102]154        //Person #2
[91]155        personInstance = new Person(loginName:"manager",
156                                    firstName:"Meca",
157                                    lastName:"Manager",
[73]158                                    pass:passClearText,
159                                    password:passwordEncoded,
[91]160                                    email:"manager@example.com")
[73]161        BootStrapSaveAndTest(personInstance)
162        personInstance.addToAuthorities(Authority.get(2))
[91]163        personInstance.addToAuthorities(Authority.get(3))
[73]164        personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
165
[102]166        //Person #3
[59]167        personInstance = new Person(loginName:"user",
168                                    firstName:"Demo",
[102]169                                    lastName:"User",
[73]170                                    pass:passClearText,
[59]171                                    password:passwordEncoded,
172                                    email:"user@example.com")
173        BootStrapSaveAndTest(personInstance)
[91]174        personInstance.addToAuthorities(Authority.get(3))
[66]175        personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
[58]176
[102]177        //Person #4
[59]178        personInstance = new Person(loginName:"craig",
179                                    firstName:"Craig",
[102]180                                    lastName:"SuperSparky",
[73]181                                    pass:passClearText,
[59]182                                    password:passwordEncoded,
183                                    email:"user@example.com")
184        BootStrapSaveAndTest(personInstance)
[91]185        personInstance.addToAuthorities(Authority.get(3))
[66]186        personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
[58]187
[102]188        //Person #5
[73]189        personInstance = new Person(loginName:"john",
190                                    firstName:"John",
[102]191                                    lastName:"SuperFitter",
[73]192                                    pass:passClearText,
[59]193                                    password:passwordEncoded,
194                                    email:"user@example.com")
195        BootStrapSaveAndTest(personInstance)
[91]196        personInstance.addToAuthorities(Authority.get(3))
[66]197        personInstance.addToPersonGroups(PersonGroup.findByName("Mechanical"))
[58]198
[102]199        //Person #6
[59]200        personInstance = new Person(loginName:"mann",
201                                    firstName:"Production",
202                                    lastName:"Mann",
[73]203                                    pass:passClearText,
[59]204                                    password:passwordEncoded,
205                                    email:"user@example.com")
206        BootStrapSaveAndTest(personInstance)
[91]207        personInstance.addToAuthorities(Authority.get(3))
[66]208        personInstance.addToPersonGroups(PersonGroup.findByName("Production"))
209
[122]210/*********************
211START OF TASK
212*********************/
213
[116]214//TaskGroup
[69]215        def taskGroupInstance
216
217        taskGroupInstance = new TaskGroup(name:"Engineering Activites",
[131]218                                                                            description:"Engineering daily activities")
[69]219        BootStrapSaveAndTest(taskGroupInstance)
220
221        taskGroupInstance = new TaskGroup(name:"Production Activites",
[131]222                                                                            description:"Production daily activities")
[69]223        BootStrapSaveAndTest(taskGroupInstance)
224
225        taskGroupInstance = new TaskGroup(name:"New Projects",
[131]226                                                                            description:" ")
[69]227        BootStrapSaveAndTest(taskGroupInstance)
228
[116]229//TaskStatus
[66]230        def taskStatusInstance
231   
232        taskStatusInstance = new TaskStatus(name:"Not Started")
233        BootStrapSaveAndTest(taskStatusInstance)
234
235        taskStatusInstance = new TaskStatus(name:"In Progress")
236        BootStrapSaveAndTest(taskStatusInstance)
237
238        taskStatusInstance = new TaskStatus(name:"Completed")
239        BootStrapSaveAndTest(taskStatusInstance)
240
[116]241//TaskPriority
[69]242        def taskPriorityInstance
[66]243
[127]244        taskPriorityInstance = new TaskPriority(name:"Normal")
[69]245        BootStrapSaveAndTest(taskPriorityInstance)
[66]246
[127]247        taskPriorityInstance = new TaskPriority(name:"Low")
[69]248        BootStrapSaveAndTest(taskPriorityInstance)
[66]249
[69]250        taskPriorityInstance = new TaskPriority(name:"High")
251        BootStrapSaveAndTest(taskPriorityInstance)
[66]252
[69]253        taskPriorityInstance = new TaskPriority(name:"Immediate")
254        BootStrapSaveAndTest(taskPriorityInstance)
255
[116]256//TaskType
[69]257        def taskTypeInstance
258
259        taskTypeInstance = new TaskType(name:"Unscheduled Breakin")
260        BootStrapSaveAndTest(taskTypeInstance)
261
[131]262        taskTypeInstance = new TaskType(name:"Preventative Maintenance")
[69]263        BootStrapSaveAndTest(taskTypeInstance)
264
265        taskTypeInstance = new TaskType(name:"Project")
266        BootStrapSaveAndTest(taskTypeInstance)
267
268        taskTypeInstance = new TaskType(name:"Turnaround")
269        BootStrapSaveAndTest(taskTypeInstance)
270
271        taskTypeInstance = new TaskType(name:"Production Run")
272        BootStrapSaveAndTest(taskTypeInstance)
273
[116]274//Task
[66]275        def taskInstance
[58]276
[116]277        //Task #1
[66]278        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
279                 taskStatus:TaskStatus.findByName("Not Started"),
[69]280                 taskPriority:TaskPriority.get(2),
281                 taskType:TaskType.get(1),
[66]282                 leadPerson:Person.get(3),
283                 description:"Check specific level sensor",
[124]284                 comment:"Has been noted as problematic, try recalibrating.")
[66]285        BootStrapSaveAndTest(taskInstance)
286
[116]287        //Task #2
[114]288        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
289                taskStatus:TaskStatus.findByName("Not Started"),
290                taskPriority:TaskPriority.get(2),
291                taskType:TaskType.get(1),
292                leadPerson:Person.get(5),
293                description:"Some follow-up work",
294                comment:"Some help required",
295                parentTask: Task.get(1))
296        BootStrapSaveAndTest(taskInstance)
[69]297
[116]298        //Task #3
[114]299        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
300                taskStatus:TaskStatus.findByName("Not Started"),
301                taskPriority:TaskPriority.get(2),
302                taskType:TaskType.get(1),
303                leadPerson:Person.get(5),
304                description:"A Sub Task can be created by setting the Parent Task value",
305                comment:"Some help required",
306                parentTask: Task.get(1))
307        BootStrapSaveAndTest(taskInstance)
308
[116]309        //Task #4
[114]310        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
[84]311                 taskStatus:TaskStatus.findByName("Not Started"),
312                 taskPriority:TaskPriority.get(2),
313                 taskType:TaskType.get(1),
[102]314                 leadPerson:Person.get(4),
[84]315                 description:"Replace sensor at next opportunity.",
[114]316                 comment:"Nothing else has worked.",
317                parentTask: Task.get(1))
318        BootStrapSaveAndTest(taskInstance)
[84]319
[116]320        //Task #5
[66]321        taskInstance = new Task(taskGroup:TaskGroup.findByName("Production Activites"),
322                 taskStatus:TaskStatus.findByName("Not Started"),
[69]323                 taskPriority:TaskPriority.get(2),
324                 taskType:TaskType.get(5),
[102]325                 leadPerson:Person.get(6),
[66]326                 description:"Production Report",
327                 comment:"Production report for specific production run or shift")
328        BootStrapSaveAndTest(taskInstance)
329
[116]330        //Task #6
[69]331        taskInstance = new Task(taskGroup:TaskGroup.findByName("New Projects"),
[66]332                 taskStatus:TaskStatus.findByName("Not Started"),
[69]333                 taskPriority:TaskPriority.get(2),
334                 taskType:TaskType.get(3),
[66]335                 leadPerson:Person.get(1),
336                 description:"Make killer CMMS app",
337                 comment:"Use Grails and get a move on!")
338        BootStrapSaveAndTest(taskInstance)
339
[116]340//EntryType
[66]341        def entryTypeInstance
[58]342
[66]343        entryTypeInstance = new EntryType(name:"Fault")
344        BootStrapSaveAndTest(entryTypeInstance)
345
346        entryTypeInstance = new EntryType(name:"WorkDone")
347        BootStrapSaveAndTest(entryTypeInstance)
348
[69]349        entryTypeInstance = new EntryType(name:"Production Note")
[66]350        BootStrapSaveAndTest(entryTypeInstance)
351
352        entryTypeInstance = new EntryType(name:"Work Request")
353        BootStrapSaveAndTest(entryTypeInstance)
354
[116]355//Entry
[84]356        def entryInstance
357
[116]358        //Entry #1
[84]359        entryInstance = new Entry(enteredBy: Person.get(6),
360                                                    task: Task.get(1),
361                                                    entryType: EntryType.findByName("Fault"),
362                                                    comment: "This level sensor is causing us trouble.",
363                                                    durationMinute: 20)
364        BootStrapSaveAndTest(entryInstance)
365
[116]366        //Entry #2
[84]367        entryInstance = new Entry(enteredBy: Person.get(4),
368                                                    task: Task.get(1),
369                                                    entryType: EntryType.findByName("WorkDone"),
370                                                    comment: "Cleaned sensor, see how it goes.",
371                                                    durationMinute: 30)
372        BootStrapSaveAndTest(entryInstance)
373
[116]374        //Entry #3
[84]375        entryInstance = new Entry(enteredBy: Person.get(4),
376                                                    task: Task.get(1),
377                                                    entryType: EntryType.findByName("WorkDone"),
378                                                    comment: "Checked up on it later and sensor is dropping out intermittently, created subTask to replace sensor.",
379                                                    durationMinute: 20)
380        BootStrapSaveAndTest(entryInstance)
381
[116]382//ModificationType
[93]383        def taskModificationTypeInstance
384        taskModificationTypeInstance = new TaskModificationType(name:"Created").save()
385        taskModificationTypeInstance = new TaskModificationType(name:"Completed").save()
386        taskModificationTypeInstance = new TaskModificationType(name:"Closed").save()
387        taskModificationTypeInstance = new TaskModificationType(name:"Altered").save()
388        taskModificationTypeInstance = new TaskModificationType(name:"TargetDateModified").save()
389        taskModificationTypeInstance = new TaskModificationType(name:"ScheduledDateModified").save()
390        taskModificationTypeInstance = new TaskModificationType(name:"DescriptionModified").save()
391        taskModificationTypeInstance = new TaskModificationType(name:"AssignedToModified").save()
392        taskModificationTypeInstance = new TaskModificationType(name:"NameModified").save()
[96]393   
[116]394//AssignedPerson
[96]395        def assignedPersonInstance
396
[116]397        //AssignedPerson #1
[96]398        assignedPersonInstance = new AssignedPerson(person: Person.get(4),
399                                                                                        task: Task.get(1),
400                                                                                        estimatedHour: 1,
401                                                                                        estimatedMinute: 20)
402        BootStrapSaveAndTest(assignedPersonInstance)
403
[116]404        //AssignedPerson #2
[96]405        assignedPersonInstance = new AssignedPerson(person: Person.get(5),
406                                                                                        task: Task.get(1),
407                                                                                        estimatedHour: 3,
408                                                                                        estimatedMinute: 30)
409        BootStrapSaveAndTest(assignedPersonInstance)
410
[131]411//TaskRecurringSchedule
412        def taskRecurringScheduleInstance
[118]413
[131]414        //TaskRecurringSchedule #1
415        taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.get(1),
416                                                                                                    recurEvery: 1,
[122]417                                                                                                    period: Period.get(1),
[125]418                                                                                                    task: Task.get(1),
419                                                                                                    nextDueDate: new Date())
[131]420        BootStrapSaveAndTest(taskRecurringScheduleInstance)
[118]421
[131]422        //TaskRecurringSchedule #2
423        taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.get(2),
424                                                                                                    recurEvery: 1,
425                                                                                                    period: Period.get(1),
[125]426                                                                                                    task: Task.get(2),
427                                                                                                    nextDueDate: new Date())
[131]428        BootStrapSaveAndTest(taskRecurringScheduleInstance)
[124]429
[122]430/*************************
431START OF INVENTORY
432**************************/
[96]433
[116]434//InventoryStore
[124]435        def inventoryStoreInstance
[117]436
437        inventoryStoreInstance = new InventoryStore(site: Site.get(1), name: "Store #1")
[116]438        BootStrapSaveAndTest(inventoryStoreInstance)
439
[117]440        inventoryStoreInstance = new InventoryStore(site: Site.get(2), name: "Store #2")
441        BootStrapSaveAndTest(inventoryStoreInstance)
442
[116]443//StoreLocation
[117]444        def storeLocation
445       
446        storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "A1-2")
[116]447        BootStrapSaveAndTest(storeLocation)
448
[117]449        storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "C55")
450        BootStrapSaveAndTest(storeLocation)
451
[116]452//InventoryGroup
453        def inventoryGroupInstance
454
[117]455        //InventoryGroup #1
[116]456        inventoryGroupInstance = new InventoryGroup(name: "Misc")
457        BootStrapSaveAndTest(inventoryGroupInstance)
458
[117]459        //InventoryGroup #2
460        inventoryGroupInstance = new InventoryGroup(name: "Electrical")
461        BootStrapSaveAndTest(inventoryGroupInstance)
462
463        //InventoryGroup #3
464        inventoryGroupInstance = new InventoryGroup(name: "Mechanical")
465        BootStrapSaveAndTest(inventoryGroupInstance)
466
467        //InventoryGroup #4
468        inventoryGroupInstance = new InventoryGroup(name: "Production")
469        BootStrapSaveAndTest(inventoryGroupInstance)
470
[116]471//InventoryType
472        def inventoryTypeInstance
473
474        inventoryTypeInstance = new InventoryType(name: "Consumable")
475        BootStrapSaveAndTest(inventoryTypeInstance)
476
477        inventoryTypeInstance = new InventoryType(name: "Repairable")
478        BootStrapSaveAndTest(inventoryTypeInstance)
479
480//InventoryItem
481        def inventoryItemInstance
482
[117]483        //InventoryItem #1
[116]484        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(1),
485                                                                                    inventoryType: InventoryType.get(1),
[117]486                                                                                    unitOfMeasure: UnitOfMeasure.get(2),
487                                                                                    name: "J-Rope",
488                                                                                    description: "Twine wound J-Rope",
489                                                                                    reorderPoint: 0)
490        BootStrapSaveAndTest(inventoryItemInstance)
491
492        //InventoryItem #2
493        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(1),
494                                                                                    inventoryType: InventoryType.get(1),
495                                                                                    unitOfMeasure: UnitOfMeasure.get(2),
496                                                                                    name: "L-Rope",
497                                                                                    description: "Twine wound L-Rope",
498                                                                                    alternateItems: InventoryItem.get(1),
499                                                                                    reorderPoint: 0)
500        BootStrapSaveAndTest(inventoryItemInstance)
501
502        //InventoryItem #3
503        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(3),
504                                                                                    inventoryType: InventoryType.get(1),
[116]505                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
[117]506                                                                                    name: "2305-2RS",
507                                                                                    description: "Bearing 25x62x24mm double row self aligning ball",
508                                                                                    reorderPoint: 2)
509        BootStrapSaveAndTest(inventoryItemInstance)
510
511        //InventoryItem #4
512        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(2),
513                                                                                    inventoryType: InventoryType.get(1),
514                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
515                                                                                    name: "L1592-K10",
516                                                                                    description: "10kW contactor",
[116]517                                                                                    reorderPoint: 0)
518        BootStrapSaveAndTest(inventoryItemInstance)
519
[117]520        //InventoryItem #5
521        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(3),
522                                                                                    inventoryType: InventoryType.get(1),
523                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
524                                                                                    name: "6205-ZZ",
525                                                                                    description: "Bearing 25x52x15mm single row ball shielded",
526                                                                                    reorderPoint: 2)
527        BootStrapSaveAndTest(inventoryItemInstance)
528
[116]529//StoredItem
530        def storedItemInstance
531
[117]532        //StoredItem #1
[116]533        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(1),
534                                                                            storeLocation: StoreLocation.get(1),
535                                                                            quantity: 8)
536        BootStrapSaveAndTest(storedItemInstance)
537
[117]538        //StoredItem #2
539        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(1),
540                                                                            storeLocation: StoreLocation.get(2),
541                                                                            quantity: 4)
542        BootStrapSaveAndTest(storedItemInstance)
543
544        //StoredItem #3
545        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(2),
546                                                                            storeLocation: StoreLocation.get(1),
547                                                                            quantity: 2)
548        BootStrapSaveAndTest(storedItemInstance)
549
550        //StoredItem #4
551        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(3),
552                                                                            storeLocation: StoreLocation.get(1),
553                                                                            quantity: 2)
554        BootStrapSaveAndTest(storedItemInstance)
555
556        //StoredItem #5
557        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(4),
558                                                                            storeLocation: StoreLocation.get(1),
559                                                                            quantity: 30)
560        BootStrapSaveAndTest(storedItemInstance)
561
[118]562/*******************
563START OF ASSET
564*******************/
565
[122]566//LifePlan
567        def lifeplanInstance
[118]568
[122]569        lifeplanInstance = new LifePlan(name: "Initial Plan")
570        BootStrapSaveAndTest(lifeplanInstance)
[118]571
[122]572//MaintenancePolicy
[124]573        def maintenancePolicyInstance
[118]574
[122]575        //MaintenancePolicy #1
576        maintenancePolicyInstance = new MaintenancePolicy(name: "Fixed Time")
577        BootStrapSaveAndTest(maintenancePolicyInstance)
[118]578
[124]579        //MaintenancePolicy #2
580        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Online")
581        BootStrapSaveAndTest(maintenancePolicyInstance)
582
583        //MaintenancePolicy #3
584        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Offline")
585        BootStrapSaveAndTest(maintenancePolicyInstance)
586
587        //MaintenancePolicy #4
588        maintenancePolicyInstance = new MaintenancePolicy(name: "Design Out")
589        BootStrapSaveAndTest(maintenancePolicyInstance)
590
591        //MaintenancePolicy #5
592        maintenancePolicyInstance = new MaintenancePolicy(name: "Operate To Failure")
593        BootStrapSaveAndTest(maintenancePolicyInstance)
594
[131]595//TaskProcedure
596        def taskProcedureInstance
[118]597
[131]598        taskProcedureInstance = new TaskProcedure(name: "Daily check")
599        BootStrapSaveAndTest(taskProcedureInstance)
600        taskProcedureInstance.addToTasks(Task.get(1))
[118]601
[122]602//MaintenanceAction
603        def maintenanceActionInstance
[118]604
[124]605        //MaintenanceAction #1
[131]606        maintenanceActionInstance = new MaintenanceAction(description: "Check all E-stops, active E-stop S1-S12 and ensure machine cannot run",
607                                                                                                        procedureStepNumber: 1,
[122]608                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
[131]609                                                                                                        taskProcedure: TaskProcedure.get(1))
[122]610        BootStrapSaveAndTest(maintenanceActionInstance)
[124]611
612        //MaintenanceAction #2
[131]613        maintenanceActionInstance = new MaintenanceAction(description: "Do more pushups",
614                                                                                                        procedureStepNumber: 2,
[124]615                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
[131]616                                                                                                        taskProcedure: TaskProcedure.get(1))
[124]617        BootStrapSaveAndTest(maintenanceActionInstance)
618
619        //MaintenanceAction #3
[131]620        maintenanceActionInstance = new MaintenanceAction(description: "Ok just one more pushup",
621                                                                                                        procedureStepNumber: 3,
[124]622                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
[131]623                                                                                                        taskProcedure: TaskProcedure.get(1))
[124]624        BootStrapSaveAndTest(maintenanceActionInstance)
[122]625                                                                                                   
[118]626//SystemSection
[124]627    def systemSectionInstance
[118]628
[124]629    //SystemSection #1
[118]630    systemSectionInstance = new SystemSection(name: "Press Section",
[122]631                                                                                   site: Site.get(1))
[118]632    BootStrapSaveAndTest(systemSectionInstance)
633
[124]634    //SystemSection #2
635    systemSectionInstance = new SystemSection(name: "RO System",
636                                                                                   site: Site.get(2))
637    BootStrapSaveAndTest(systemSectionInstance)
638
639    //SystemSection #3
640    systemSectionInstance = new SystemSection(name: "Auxilliray Section",
641                                                                                   site: Site.get(1))
642    BootStrapSaveAndTest(systemSectionInstance)
643
[118]644//AssetType
645        def assetTypeInstance
[122]646
647        //AssetType #1
[124]648        assetTypeInstance = new AssetType(name: "Print Unit")
[118]649        BootStrapSaveAndTest(assetTypeInstance)
650
[122]651        //AssetType #2
[124]652        assetTypeInstance = new AssetType(name: "Reactor Tower")
[118]653        BootStrapSaveAndTest(assetTypeInstance)
654   
655//Assembly
656        def assemblyInstance
[122]657
658        //Assembly #1
[131]659        assemblyInstance = new Assembly(name: "Print Couple",
660                                                                        assetType: AssetType.get(1))
[118]661        BootStrapSaveAndTest(assemblyInstance)
[122]662//        assemblyInstance.addToMaintenanceActions(MaintenanceAction.get(1))
663       
664        //Assembly #2
[124]665        assemblyInstance = new Assembly(name: "Agitator",
[131]666                                                                        assetType: AssetType.get(2))
[118]667        BootStrapSaveAndTest(assemblyInstance)
668
669//SubAssembly
670        def subAssemblyInstance
[122]671
672        //SubAssembly #1
[131]673        subAssemblyInstance = new SubAssembly(name: "Cylinder",
674                                                                                    assembly: Assembly.get(1))
[118]675        BootStrapSaveAndTest(subAssemblyInstance)
[122]676 
677         //SubAssembly #2
[131]678        subAssemblyInstance = new SubAssembly(name: "Gearmotor",
679                                                                                    assembly: Assembly.get(2))
[118]680        BootStrapSaveAndTest(subAssemblyInstance)
681
682//ComponentItem
[122]683        def componentItemInstance
684   
685        //ComponentItem #1
[131]686        componentItemInstance = new ComponentItem(name: "Bearing",
687                                                                                            subAssembly: SubAssembly.get(1))
[122]688        BootStrapSaveAndTest(componentItemInstance)
[118]689
[122]690         //ComponentItem #2
[131]691        componentItemInstance = new ComponentItem(name: "Drive shaft oil seal",
692                                                                                            subAssembly: SubAssembly.get(2))
[122]693        BootStrapSaveAndTest(componentItemInstance)
[118]694
695//Asset
696        def assetInstance
697
698        //Asset #1
[124]699        assetInstance = new Asset(name: "Print Unit 22",
700                                                        assetType: AssetType.get(1),
701                                                        systemSection: SystemSection.get(1))
702        BootStrapSaveAndTest(assetInstance)
703//        assetInstance.addToMaintenanceActions(MaintenanceAction.get(1))
704
705        //Asset #2
706        assetInstance = new Asset(name: "Print Unit 21",
707                                                        assetType: AssetType.get(1),
708                                                        systemSection: SystemSection.get(1))
709        BootStrapSaveAndTest(assetInstance)
710
711        //Asset #3
[118]712        assetInstance = new Asset(name: "Print Unit 23",
713                                                        assetType: AssetType.get(1),
[122]714                                                        systemSection: SystemSection.get(1))
[118]715        BootStrapSaveAndTest(assetInstance)
716
[124]717        //Asset #4
718        assetInstance = new Asset(name: "RO 1",
719                                                        assetType: AssetType.get(2),
720                                                        systemSection: SystemSection.get(2))
721        BootStrapSaveAndTest(assetInstance)
722
723//AssetExtendedAttributeType
724        def assetExtendedAttributeInstanceType
725
726        //AssetExtendedAttributeType #1
727        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Model Number")
728        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
729
730        //AssetExtendedAttributeType #2
731        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Purchase Cost")
732        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
733
734        //AssetExtendedAttributeType #3
735        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Serial Number")
736        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
737
738        //AssetExtendedAttributeType #4
739        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Manufactured Date")
740        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
741
742        //AssetExtendedAttributeType #5
743        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Location Description")
744        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
745
746//AssetExtendedAttribute
747        def assetExtendedAttributeInstance
748
749        //AssetExtendedAttribute #1
750        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "PU Mark 2",
751                                                                                                                    asset: Asset.get(1),
752                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(1))
753        BootStrapSaveAndTest(assetExtendedAttributeInstance)
754
755        //AssetExtendedAttribute #2
756        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "On the far side of Tank 5",
757                                                                                                                    asset: Asset.get(1),
758                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(5))
759        BootStrapSaveAndTest(assetExtendedAttributeInstance)
760
761/*************************
762Finally did it all work.
763**************************/       
[58]764        if(BootStrapDemoDataSuccessful) {
765            println "BootStrapping demo data...successful."
766        }
767        else println "BootStrapping demo data...failed."
768    }
[116]769
[124]770/****************************************
771Call this function instead of .save()
772*****************************************/   
[58]773    void BootStrapSaveAndTest(object) {
774        if(!object.save()) {
775            BootStrapDemoDataSuccessful = false
776            println "'${object}' failed to save!"
777            println object.errors
778
779        }
780    } 
781}
Note: See TracBrowser for help on using the repository browser.