Changeset 776 for branches/features


Ignore:
Timestamp:
Feb 4, 2011, 2:11:45 AM (14 years ago)
Author:
gav
Message:

TaskProcedure? improvements, filter assemblies, pre populate a maintenanceAction for each assembly at creation.

Location:
branches/features/taskProcedureRework/grails-app
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy

    r775 r776  
    55
    66    def filterService
     7    def assetService
    78    def taskProcedureService
    89
     
    9495        }
    9596        else {
    96             return [ taskProcedureInstance : taskProcedureInstance ]
     97            def assemblies = assetService.getAssemblies(taskProcedureInstance.linkedTask.primaryAsset)
     98            return [ taskProcedureInstance : taskProcedureInstance,
     99                            assemblies: assemblies ]
    97100        }
    98101    }
     
    125128        }
    126129
    127         render(view:'edit', model:[taskProcedureInstance: result.taskProcedureInstance])
     130        def assemblies = assetService.getAssemblies(result.taskProcedureInstance.linkedTask.primaryAsset)
     131        render(view:'edit', model:[taskProcedureInstance: result.taskProcedureInstance,
     132                                                assemblies: assemblies])
    128133    }
    129134
     
    157162        def taskProcedureInstance = new TaskProcedure()
    158163        taskProcedureInstance.properties = params
    159         return ['taskProcedureInstance':taskProcedureInstance]
     164
     165        // Populate a maintenanceAction for each assembly.
     166        def assemblies = assetService.getAssemblies(params.linkedTask.primaryAsset)
     167        assemblies.eachWithIndex { assembly, i ->
     168            def ma = taskProcedureInstance.maintenanceActionLazyList.get(i)
     169            ma.assetSubItem = assembly
     170            ma.procedureStepNumber = (i+1)*10
     171        }
     172
     173        return ['taskProcedureInstance':taskProcedureInstance, 'assemblies': assemblies]
    160174    }
    161175
     
    181195        }
    182196
    183         render(view:'create', model:[taskProcedureInstance: result.taskProcedureInstance])
     197        def assemblies = assetService.getAssemblies(result.taskProcedureInstance.linkedTask.primaryAsset)
     198        render(view:'create', model:[taskProcedureInstance: result.taskProcedureInstance,
     199                                                    assemblies: assemblies])
    184200    }
    185201
  • branches/features/taskProcedureRework/grails-app/services/AssetService.groovy

    r689 r776  
    2222                }
    2323        }
     24    }
     25
     26    /**
     27    * Determines and returns a list of assemblies for an asset.
     28    * This is purely a 'load from database' type method since a new hibernateSession is used.
     29    * @params Asset to get the subItems for.
     30    * @returns A list of the assemblies.
     31    */
     32    def getAssemblies(Asset asset) {
     33        def assemblies = []
     34        // Database efficiency:
     35        // The asset is configured to batch fetch assetSubItems which
     36        // in turn are configured to batch fetch subItems.
     37        Asset.withNewSession {
     38            Asset.get(asset.id).assetSubItems.each {
     39                assemblies.addAll(it.subItems)
     40            }
     41        }
     42        assemblies.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) }
     43        return assemblies
    2444    }
    2545
  • branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp

    r772 r776  
    566566                                        <tr>
    567567                                            <th>Step</th>
    568                                             <th>Sub Item</th>
     568                                            <th>Assembly</th>
    569569                                            <th>Description</th>
    570570                                            <th>Reasoning</th>
  • branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceAction.gsp

    r770 r776  
    1212        <td valign="top" class="value ${hasErrors(bean:ma,field:'assetSubItem','errors')}">
    1313            <g:select optionKey="id"
    14                                 from="${AssetSubItem.findAllByIsActive(true)}"
     14                                from="${assemblies}"
    1515                                name="maintenanceActionLazyList[${i}].assetSubItem.id"
    1616                                value="${ma?.assetSubItem?.id}"
  • branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceActions.gsp

    r770 r776  
    7070
    7171                    <th>Step</th>
    72                     <th>Sub Item</th>
     72                    <th>Assembly</th>
    7373                    <th>Description</th>
    7474                    <th>Reasoning</th>
     
    7979            <tbody id="ma_wrapper">
    8080                    <g:each var="ma" in="${taskProcedureInstance.maintenanceActions}" status="i">
    81                             <g:render template="maintenanceAction" model="['tp':taskProcedureInstance, 'ma': ma, 'i':i]" />
     81                            <g:render template="maintenanceAction" model="['tp':taskProcedureInstance,
     82                                                                                                                'ma': ma,
     83                                                                                                                'i':i,
     84                                                                                                                'assemblies': assemblies]" />
    8285                    </g:each>
    8386                    </tr>
  • branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_taskProcedure.gsp

    r772 r776  
    6262
    6363    <br />
    64     <g:render template="maintenanceActions" model="['taskProcedureInstance': taskProcedureInstance]" />
     64    <g:render template="maintenanceActions" model="['taskProcedureInstance': taskProcedureInstance,
     65                                                                                        'assemblies': assemblies]" />
    6566    <br />
    6667</div>
  • branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/create.gsp

    r770 r776  
    3232        </div>
    3333        <table style="display:none;">
    34             <g:render template="maintenanceAction" model="['tp': null, 'ma': null, 'i': '_clone']" />
     34            <g:render template="maintenanceAction" model="['tp': null,
     35                                                                                                'ma': null,
     36                                                                                                'i': '_clone',
     37                                                                                                'assemblies': assemblies]" />
    3538        </table>
    3639    </body>
  • branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/edit.gsp

    r773 r776  
    3535        </div>
    3636        <table style="display:none;">
    37             <g:render template="maintenanceAction" model="['tp': null, 'ma': null, 'i': '_clone']" />
     37            <g:render template="maintenanceAction" model="['tp': null,
     38                                                                                                'ma': null,
     39                                                                                                'i': '_clone',
     40                                                                                                'assemblies': assemblies]" />
    3841        </table>
    3942    </body>
Note: See TracChangeset for help on using the changeset viewer.