Changeset 776


Ignore:
Timestamp:
02/04/11 02:11:45 (8 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.