Ignore:
Timestamp:
Oct 6, 2010, 4:23:46 AM (9 years ago)
Author:
gav
Message:

Add admin feature to create recommended extended attributes for assets and level 1 assetSubItems.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/AssetService.groovy

    r429 r688  
    55
    66    boolean transactional = false
     7
     8    def sessionFactory
    79
    810    def assetSubItemService
     
    235237    } // end saveCopySrvce
    236238
     239    /**
     240    * Create recommended extended attributes for all assets.
     241    */
     242    def createRecommendedExtendedAttributes() {
     243        def result = [:]
     244
     245        def hibernateSession = sessionFactory.currentSession
     246
     247        def assets = Asset.list()
     248        def locationDescription = ExtendedAttributeType.get(5)
     249        def ecr = ExtendedAttributeType.get(9)
     250        def assetNumber = ExtendedAttributeType.get(17)
     251        def assetCondition = ExtendedAttributeType.get(16)
     252        def maintenancePercentComplete = ExtendedAttributeType.get(13)
     253        def registrationRequired = ExtendedAttributeType.get(14)
     254        def registrationExpiryDate =  ExtendedAttributeType.get(15)
     255        def regulatoryRequirement = ExtendedAttributeType.get(12)
     256        def riskLevel = ExtendedAttributeType.get(10)
     257        def safeWorkProcedure = ExtendedAttributeType.get(11)
     258
     259        for(asset in assets) {
     260
     261            def attributeTypes = asset.assetExtendedAttributes.collect {it.extendedAttributeType}
     262
     263            //AssetExtendedAttribute
     264            def assetExtendedAttributeInstance
     265
     266            if(!attributeTypes.contains(locationDescription)) {
     267                //AssetExtendedAttribute #1
     268                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     269                                                                                                                    asset: asset,
     270                                                                                                                    extendedAttributeType: locationDescription)
     271                assetExtendedAttributeInstance.save()
     272            }
     273
     274            if(!attributeTypes.contains(ecr)) {
     275                //AssetExtendedAttribute #2
     276                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     277                                                                                                                    asset: asset,
     278                                                                                                                    extendedAttributeType: ecr)
     279                assetExtendedAttributeInstance.save()
     280            }
     281
     282            if(!attributeTypes.contains(assetNumber)) {
     283                //AssetExtendedAttribute #3
     284                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     285                                                                                                                    asset: asset,
     286                                                                                                                    extendedAttributeType: assetNumber)
     287                assetExtendedAttributeInstance.save()
     288            }
     289
     290            if(!attributeTypes.contains(assetCondition)) {
     291                //AssetExtendedAttribute #4
     292                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     293                                                                                                                    asset: asset,
     294                                                                                                                    extendedAttributeType: assetCondition)
     295                assetExtendedAttributeInstance.save()
     296            }
     297
     298            if(!attributeTypes.contains(maintenancePercentComplete)) {
     299                //AssetExtendedAttribute #5
     300                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "TBA",
     301                                                                                                                    asset: asset,
     302                                                                                                                    extendedAttributeType: maintenancePercentComplete)
     303                assetExtendedAttributeInstance.save()
     304            }
     305
     306            if(!attributeTypes.contains(registrationRequired)) {
     307                //AssetExtendedAttribute #6
     308                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     309                                                                                                                    asset: asset,
     310                                                                                                                    extendedAttributeType: registrationRequired)
     311                assetExtendedAttributeInstance.save()
     312            }
     313
     314            if(!attributeTypes.contains(registrationExpiryDate)) {
     315                //AssetExtendedAttribute #7
     316                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     317                                                                                                                    asset: asset,
     318                                                                                                                    extendedAttributeType:registrationExpiryDate)
     319                assetExtendedAttributeInstance.save()
     320            }
     321
     322            if(!attributeTypes.contains(regulatoryRequirement)) {
     323                //AssetExtendedAttribute #8
     324                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     325                                                                                                                    asset: asset,
     326                                                                                                                    extendedAttributeType: regulatoryRequirement)
     327                assetExtendedAttributeInstance.save()
     328            }
     329
     330            if(!attributeTypes.contains(riskLevel)) {
     331                //AssetExtendedAttribute #9
     332                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     333                                                                                                                    asset: asset,
     334                                                                                                                    extendedAttributeType: riskLevel)
     335                assetExtendedAttributeInstance.save()
     336            }
     337
     338            if(!attributeTypes.contains(safeWorkProcedure)) {
     339                //AssetExtendedAttribute #10
     340                assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "Not Specified",
     341                                                                                                                    asset: asset,
     342                                                                                                                    extendedAttributeType: safeWorkProcedure)
     343                assetExtendedAttributeInstance.save()
     344            }
     345
     346            hibernateSession.flush()
     347
     348        } // for
     349
     350        // Success.
     351        return result
     352
     353    } // createRecommendedExtendedAttributes()
     354
    237355} // end class
Note: See TracChangeset for help on using the changeset viewer.