Escolar Documentos
Profissional Documentos
Cultura Documentos
selecionado
listUnidades = []
fonteUnidade = Dados.saude.v1.unidade;
se (idUnidade == null){
dadosUnidade = fonteUnidade.busca(criterio: "inativo = false", campos: "id,
nome")
for(unidade in dadosUnidade){
listUnidades << [id: unidade.id, nome: unidade.nome]
}
}
esquema = [
listaGestante: Esquema.lista(
Esquema.objeto([
id: Esquema.caracter,
nome: Esquema.caracter,
dataNascimento: Esquema.caracter,
cns: Esquema.caracter,
idade: Esquema.caracter,
nomeUnidade: Esquema.caracter,
dataUltimaMestruacao: Esquema.caracter,
dataProvavelParto: Esquema.caracter,
idadeGestacional: Esquema.caracter,
consultas: Esquema.numero,
])
),
totalGestante: Esquema.caracter,
]
fonteDinamica = Dados.dinamico.v2.novo(esquema)
fonteClienteGestacao = Dados.saude.v1.clienteGestacao;
fonteAtendimento = Dados.saude.v1.atendimento;
// VARIAVEIS
def dataUltimaMestruacao = Datas.data(2020, 6, 6)
def clienteGestante = []
def totalGestante = ""
def consultas = 0
def consultas12SemanasAntes = 0
if(idUnidade == null){
percorrer(listUnidades){ unidade ->
dadosClienteGestacao = fonteClienteGestacao.busca(criterio:
"classificacaoSituacao.atributo1 = 'EM_ANDAMENTO'", campos: "id, cliente(id,nome,
dataNascimento, cns, cpf, idade, racaCor,
viewClienteInformacaoAdicional(unidadeCliente(id, codigo, nome, inativo))),
classificacaoSituacao(atributo1), dataUltimaMestruacao, dataProvavelParto")
dadosClienteGestacao = dadosClienteGestacao.findAll{it ->
it.cliente.viewClienteInformacaoAdicional.unidadeCliente.id.toString() ==
unidade.id.toString()}
clienteGestante << [
id: itemClienteGestacao.id,
nome: itemClienteGestacao.cliente.nome,
dataNascimento:
itemClienteGestacao.cliente.dataNascimento.formatar("dd/MM/yyyy"),
idade: itemClienteGestacao.cliente.idade,
nomeUnidade:
itemClienteGestacao.cliente.viewClienteInformacaoAdicional.unidadeCliente.nome,
cns: itemClienteGestacao.cliente.cns,
dataUltimaMestruacao:
itemClienteGestacao.dataUltimaMestruacao.formatar("dd/MM/yyyy"),
dataProvavelParto:
itemClienteGestacao.dataProvavelParto.formatar("dd/MM/yyyy"),
idadeGestacional: idadeGestacional,
consultas: consultas,
//consultas12SemanasAntes: consultas12SemanasAntes
]
}
}
}else{
dadosClienteGestacao = fonteClienteGestacao.busca(criterio:
"classificacaoSituacao.atributo1 = 'EM_ANDAMENTO'", campos: "id, cliente(id,nome,
dataNascimento, cns, cpf, idade, racaCor,
viewClienteInformacaoAdicional(unidadeCliente(id, codigo, nome, inativo))),
classificacaoSituacao(atributo1), dataUltimaMestruacao, dataProvavelParto")
dadosClienteGestacao = dadosClienteGestacao.findAll{it ->
it.cliente.viewClienteInformacaoAdicional.unidadeCliente.id.toString() ==
idUnidade.toString()}
clienteGestante << [
id: itemClienteGestacao.id,
nome: itemClienteGestacao.cliente.nome,
dataNascimento:
itemClienteGestacao.cliente.dataNascimento.formatar("dd/MM/yyyy"),
idade: itemClienteGestacao.cliente.idade,
nomeUnidade:
itemClienteGestacao.cliente.viewClienteInformacaoAdicional.unidadeCliente.nome,
cns: itemClienteGestacao.cliente.cns,
dataUltimaMestruacao:
itemClienteGestacao.dataUltimaMestruacao.formatar("dd/MM/yyyy"),
dataProvavelParto:
itemClienteGestacao.dataProvavelParto.formatar("dd/MM/yyyy"),
idadeGestacional: idadeGestacional,
consultas: consultas,
//consultas12SemanasAntes: consultas12SemanasAntes
]
}
}
def linha = [
listaGestante: listaFinal,
totalGestante: listaFinal.size().toString(),
]
fonteDinamica.inserirLinha(linha)
imprimir JSON.escrever(linha)
retornar fonteDinamica