2010-07-13 62 views
2

我试图在生成新发票时向客户发送电子邮件。但要做到这一点,我需要获得发票和客户的ID。我的问题是,我正在使用以获取发票或客户的ID是给我的反应不一致的代码,我的意思是它的工作原理有时,有时一点儿也不没有在grails/java中始终获得对象ID

这里是有关的代码:

protected Map getObjectsMap(Map domainMap){ 
    Map objectsMap = [:] 
    domainMap.each{key,value-> 
     def dc = grailsApplication.domainClasses.find{it.getFullName().equals(key)} 
     def obj = dc.clazz.get(value) 
     if(!obj) 
      log.error "Could not find object of type $key with id=$value" 
     String objectName = key.substring(key.lastIndexOf(".")+1) 
     objectName = objectName.charAt(0).toLowerCase().toString() + objectName.substring(1) 
     objectsMap.put(objectName, obj) 
    } 
    return objectsMap 
} 

在我作为参数传递的域映射中,我传递类的完整名称和对象的ID作为映射。并使用上面的代码我想用该ID获得该类的对象,以便我可以获取其他属性来处理,并且我返回一个对象的映射图,并将它们的类名作为key。关于为什么它不是表现一贯。

回答

0

我很困惑,你是在脚本中还是在你的应用程序中这样做?为什么不是

def invoices = MyInvoiceDomainClass.findAll() 
invoices.each{invoice-> 
    invoice.whatever... 
}