Importação "Dinâmica"
20/07/2012 04:02
File file = new File("D:\Exemplo\Arquivo.txt")
file.splitEachLine(";"){campo ->
pessoa = Pessoa.findByCnpj(campo[0]) ?: new Pessoa(nome:campo[1],cnpj:campo[0]).save()
File file = new File("D:\Exemplo\Arquivo.txt")
def layout = Importador.findByNomeLike('%Teste%') // Pega a regra de importação que já cadastrei
file.splitEachLine(";"){campo ->
def pessoa = Pessoa.findByCnpj(layout.cnpj) ?: new Pessoa(nome:layout.nome,cnpj:layout.cnpj).save() // colocaria "campo[0]" e "campo[1]" dinamicamente com as informações salvas
Rafael; 0269205444;19;21212121;19;91565679;Av Abc n777; Jd Nova Asia; Campinas; SP
File file = new File("D:\Exemplo\Arquivo.txt")
file.splitEachLine(";"){campo ->
pessoa = Pessoa.findByCnpj(campo[0]) ?: new Pessoa(nome:campo[1],cnpj:campo[0]).save()
class Importador {
String nome // nome da regra criada
String nomeCompleto
String primeiroNome
String sobreNome
String cnpjCpf
String cep
String endereco
String logradouro
(... e assim sucessivamente)
}
def regraTeste = new Importador()
regraTeste.nomeCompleto = campo[1]
regraTeste.cnpjCpf = campo[0]
regraTeste.save()
File file = new File("D:\Exemplo\Arquivo.txt")
// Pega a regra de importação que já cadastrei
def layout = Importador.findByNomeLike('%Teste%')
file.splitEachLine(";"){campo ->
// colocaria "campo[0]" e "campo[1]" dinamicamente com as informações salvas
def pessoa = Pessoa.findByCnpj(layout.cnpj) ?: new Pessoa(nome:layout.nome,cnpj:layout.cnpj).save()
0269205444;Rafael;19;21212121;19;91565679;Av Abc n777; Jd Nova Asia; Campinas; SP
Class Importador {
String nomeLayout // nome da regra criada
String cnpj // armazenar "campo[5]", por exemplo
String nomePessoa // armazenar "campo[1]", por exemplo
String telefonePessoa // armazenar "campo[0]", por exemplo
String cargoPessoa // armazenar "[campo[3]", por exemplo
String emailPessoa // armazenar "[campo[2]", por exemplo
}
File file = new File("D:\Exemplo\Arquivo.txt")
file.splitEachLine(";"){campo ->
pessoa = Pessoa.findByCnpj(campo[0]) ?: new Pessoa(nome:campo[1],cnpj:campo[0]).save()
File file = new File("D:\Exemplo\Arquivo.txt")
// Pega a regra de importação que já cadastrei
def layout = Importador.findByNomeLayoutLike('%Teste%')
file.splitEachLine(";"){campo ->
// colocaria "campo[0]" e "campo[1]" dinamicamente com as informações salvas
def pessoa = Pessoa.findByCnpj(layout.cnpj) ?: new Pessoa(nome:layout.nomePessoa,cnpj:layout.cnpjPessoa ......).save()
List<String> fields = "nome;sobrenome;tel;email".split(";")
List<String> datas = "fulano;De Tal;2733334546;contato@fulanodetal.com".split(";")
Map<String, String> fulanosData = mapFieldsAndData(fields, datas)
//println fulanosData.nome
public Map<String, String> mapFieldsAndData(List<String> fields, List<String> datas) {
Map<String, String> fieldsAndData = [:]
fields.size().times { int i ->
fieldsAndData[fields.getAt(i)] = datas.getAt(i)
}
return fieldsAndData
}
Para se registrar, clique aqui.