我试图对记录进行更新,但不是在进行更新,而是创建新记录
我使用弹簧靴和角度js。 我尝试用if盘旋,但我没有成功
这是我的方法,我从屏幕上获取json并将其传递给对象。
@RequestMapping(method = RequestMethod.POST, value = "/pacientes")
public HttpStatus cadastrarPacientes(@RequestBody ObjectNode json) throws ParseException {
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
Entidades entidades = new Entidades();
if(json.get("pessoa") != null && json.get("pessoa").get("entidade") != null && json.get("pessoa").get("entidade").get("idEntidade") != null ){
entidades.setIdEntidade(json.get("pessoa").get("entidade").get("idEntidade").asLong());
}
Pessoas pessoas = new Pessoas();
pessoas.setFoto(json.get("pessoa").get("foto").textValue() == null ? null : json.get("pessoa").get("foto").textValue());
pessoas.setNomePai(json.get("pessoa").get("nomePai") == null ? null : json.get("pessoa").get("nomePai").textValue());
pessoas.setNomeMae(json.get("pessoa").get("nomeMae") == null ? null : json.get("pessoa").get("nomeMae").textValue());
pessoas.setDataNascimento(formato.parse(json.get("pessoa").get("dataNascimento").textValue()));
Paises pais = new Paises();
pais.setIdPais(Long.parseLong(json.get("pessoasEnderecos").get("pais").get("idPais").textValue()));
Ufs uf = new Ufs();
uf.setIdUf(Long.parseLong(json.get("pessoasEnderecos").get("uf").get("idUf").textValue()));
Municipios municipio = new Municipios();
municipio.setIdMunicipio(Long.parseLong(json.get("pessoasEnderecos").get("municipio").get("idMunicipio").textValue()));
OrientacoesSexuais oSexual = new OrientacoesSexuais();
IdentidadesGenero iGene = new IdentidadesGenero();
TiposSanguineos tSanguineo = new TiposSanguineos();
PessoasCaracteristicas pCarac = new PessoasCaracteristicas();
if(json.get("estatura")== null) {
pCarac.setEstatura(null);
}
else {
pCarac.setEstatura(json.get("pessoasCaracteristicas").get("estatura").asDouble());
}
if( json.get("peso")== null) {
pCarac.setPeso(null);
}
else {
pCarac.setPeso(json.get("pessoasCaracteristicas").get("peso").asDouble());
}
pCarac.setPessoa(new Pessoas());
pCarac.setPessoa(pessoas);
pCarac.setEntidade(new Entidades());
pCarac.setEntidade(entidades);
if(json.get("flagDeficiente")== null) {
pCarac.setFlagDeficiente(null);
}
else {
pCarac.setFlagDeficiente(json.get("pessoasCaracteristicas").get("flagDeficiente").asInt());
}
if(json.get("flagDoador")== null) {
pCarac.setFlagDoador(null);
}
else {
pCarac.setFlagDoador(json.get("pessoasCaracteristicas").get("flagDoador").asInt());
}
if(json.get("pessoasCaracteristicas") != null && json.get("pessoasCaracteristicas").get("tipoSanguineo") != null && json.get("pessoasCaracteristicas").get("tipoSanguineo").get("idTipoSanguineo") != null ){
tSanguineo.setIdTipoSanguineo(json.get("pessoasCaracteristicas").get("tipoSanguineo").get("idTipoSanguineo").asLong());
pCarac.setTipoSanguineo(new TiposSanguineos());
pCarac.setTipoSanguineo(tSanguineo);
}
pCarac.setTipoSanguineo(tSanguineo);
if(json.get("pessoasCaracteristicas") != null && json.get("pessoasCaracteristicas").get("identidadeGenero") != null && json.get("pessoasCaracteristicas").get("identidadeGenero").get("idIdentidade") != null ){
iGene.setIdIdentidade(json.get("pessoasCaracteristicas").get("identidadeGenero").get("idIdentidade").asInt());
pCarac.setIdentidadeGenero(new IdentidadesGenero());
pCarac.setIdentidadeGenero(iGene);
}
if(json.get("pessoasCaracteristicas") != null && json.get("pessoasCaracteristicas").get("orientacaoSexual") != null && json.get("pessoasCaracteristicas").get("orientacaoSexual").get("idOrientacao") != null ){
oSexual.setIdOrientacao(json.get("pessoasCaracteristicas").get("orientacaoSexual").get("idOrientacao").asInt());
pCarac.setOrientacaoSexual(new OrientacoesSexuais());
pCarac.setOrientacaoSexual(oSexual);
}
RacaCor racaCor = new RacaCor();
Sexo sexo = new Sexo();
sexo.setIdSexo(Long.parseLong(json.get("pessoasFisicas").get("sexo").get("idSexo").textValue()));
Nacionalidades nac = new Nacionalidades();
Escolaridade escolaridade = new Escolaridade();
Cbos cbos = new Cbos();
EstadosCivis estadosCivis = new EstadosCivis();
PessoasFisicas pFisicas = new PessoasFisicas();
pFisicas.setCarteiraProfissional(json.get("pessoasFisicas").get("carteiraProfissional")== null ? null : json.get("pessoasFisicas").get("carteiraProfissional").textValue());
pFisicas.setCertidaoObito(json.get("pessoasFisicas").get("certidaoObito")== null ? null : json.get("pessoasFisicas").get("certidaoObito").textValue());
pFisicas.setCodigoReservista(json.get("pessoasFisicas").get("codigoReservista")== null ? null : json.get("pessoasFisicas").get("codigoReservista").textValue());
if (json.get("dataObito") == null) {
pFisicas.setDataCadastroPisPasep(null);
} else {
pFisicas.setDataCadastroPisPasep(
formato.parse(json.get("pessoasFisicas").get("dataObito").textValue()));
}
if (json.get("dataCadastroPisPasep") == null) {
pFisicas.setDataCadastroPisPasep(null);
} else {
pFisicas.setDataCadastroPisPasep(
formato.parse(json.get("pessoasFisicas").get("dataCadastroPisPasep").textValue()));
}
if (json.get("emissaoCarteiraProfissional") == null) {
pFisicas.setDataCadastroPisPasep(null);
} else {
pFisicas.setDataCadastroPisPasep(
formato.parse(json.get("pessoasFisicas").get("emissaoCarteiraProfissional").textValue()));
}
pFisicas.setCpf(json.get("pessoasFisicas").get("cpf")== null ? null : json.get("pessoasFisicas").get("cpf").textValue());
pFisicas.setEntidade(new Entidades());
pFisicas.setEntidade(entidades);
if(json.get("pessoasFisicas") != null && json.get("pessoasFisicas").get("escolaridade") != null && json.get("pessoasFisicas").get("escolaridade").get("idEscolaridade") != null ){
escolaridade.setIdEscolaridade(json.get("pessoasFisicas").get("escolaridade").get("idEscolaridade").asLong());
pFisicas.setEscolaridade(new Escolaridade());
pFisicas.setEscolaridade(escolaridade);
}
if(json.get("pessoasFisicas") != null && json.get("pessoasFisicas").get("estadoCivil") != null && json.get("pessoasFisicas").get("estadoCivil").get("idEstadoCivil") != null ){
estadosCivis.setIdEstadoCivil(json.get("pessoasFisicas").get("estadoCivil").get("idEstadoCivil").asLong());
pFisicas.setEstadoCivil(new EstadosCivis());
pFisicas.setEstadoCivil(estadosCivis);
}
if(json.get("flagAtivo")== null) {
pFisicas.setFlagAtivo(null);
}
else {
pFisicas.setFlagAtivo(json.get("flagAtivo").intValue());
}
pFisicas.setIdentidadeRg(json.get("pessoasFisicas").get("identidadeRg")== null ? null : json.get("pessoasFisicas").get("identidadeRg").textValue());
if(json.get("pessoasFisicas") != null && json.get("pessoasFisicas").get("nacionalidade") != null && json.get("pessoasFisicas").get("nacionalidade").get("idNacionalidade") != null ){
nac.setIdNacionalidade(json.get("pessoasFisicas").get("nacionalidade").get("idNacionalidade").asLong());
pFisicas.setNacionalidade(new Nacionalidades());
pFisicas.setNacionalidade(nac);
}
pFisicas.setOrgaoEmissorRg(json.get("pessoasFisicas").get("orgaoEmissorRg")== null ? null : json.get("pessoasFisicas").get("orgaoEmissorRg").textValue());
pFisicas.setPessoa( new Pessoas());
pFisicas.setPessoa(pessoas);
pFisicas.setPisPasep(json.get("pessoasFisicas").get("pisPasep")== null ? null : json.get("pessoasFisicas").get("pisPasep").textValue());
if(json.get("pessoasFisicas") != null && json.get("pessoasFisicas").get("racaCor") != null && json.get("pessoasFisicas").get("racaCor").get("idRacaCor") != null ){
racaCor.setIdRacaCor(json.get("pessoasFisicas").get("racaCor").get("idRacaCor").asLong());
pFisicas.setRacaCor(new RacaCor());
pFisicas.setRacaCor(racaCor);
}
pFisicas.setSecaoEleitoral(json.get("pessoasFisicas").get("secaoEleitoral")== null ? null : json.get("pessoasFisicas").get("secaoEleitoral").textValue());
pFisicas.setSerieCarteiraProfissional(json.get("pessoasFisicas").get("serieCarteiraProfissional")== null ? null : json.get("pessoasFisicas").get("serieCarteiraProfissional").textValue());
pFisicas.setSexo(new Sexo());
pFisicas.setSexo(sexo);
pFisicas.setTituloEleitor(json.get("pessoasFisicas").get("tituloEleitor")== null ? null : json.get("pessoasFisicas").get("tituloEleitor").textValue());
pFisicas.setUfOrgaoEmissor(json.get("pessoasFisicas").get("ufOrgaoEmissor")== null ? null : json.get("pessoasFisicas").get("ufOrgaoEmissor").textValue());
pFisicas.setZonaEleitoral(json.get("pessoasFisicas").get("zonaEleitoral")== null ? null : json.get("pessoasFisicas").get("zonaEleitoral").textValue());
if(json.get("pessoasFisicas") != null && json.get("pessoasFisicas").get("cbo") != null && json.get("pessoasFisicas").get("cbo").get("idCbo") != null ){
cbos.setIdCbo(json.get("pessoasFisicas").get("cbo").get("idCbo").asLong());
pFisicas.setCbo(new Cbos());
pFisicas.setCbo(cbos);
}
TiposContatos tContatos = new TiposContatos();
PessoasContatos pContato = new PessoasContatos();
pContato.setContato(json.get("contato")== null ? null : json.get("contato").textValue());
pContato.setEntidade(new Entidades());
if(json.get("pessoasContatos") != null && json.get("pessoasContatos").get("tipoContato") != null && json.get("pessoasContatos").get("tipoContato").get("idTipoContato") != null ){
tContatos.setIdTipoContato(json.get("pessoasContatos").get("tipoContato").get("idTipoContato").asInt());
pContato.setTipoContato(new TiposContatos());
pContato.setTipoContato(tContatos);
}
PessoasEnderecos pessoasEnderecos = new PessoasEnderecos();
pessoasEnderecos.setCep(json.get("pessoasEnderecos").get("cep")== null ? null : json.get("pessoasEnderecos").get("cep").textValue());
pessoasEnderecos.setNomeLogradouro(json.get("pessoasEnderecos").get("nomeLogradouro")== null ? null : json.get("pessoasEnderecos").get("nomeLogradouro").textValue());
Pacientes pac = new Pacientes();
pac.setPessoa(new Pessoas());
pac.setPessoa(pessoas);
pac.setCns(json.get("cns")== null ? null : json.get("cns").textValue());
pac.setObservacoesAlergias(json.get("observacoesAlergias")== null ? null : json.get("observacoesAlergias").textValue());
if(json.get("flagAlergico")== null) {
pac.setFlagAlergico(null);
}
else {
pac.setFlagAlergico(json.get("flagAlergico").asInt());
}
pac.setCnsResponsavel(json.get("cnsResponsavel")== null ? null : json.get("cnsResponsavel").textValue());
pac.setCpfResponsavel(json.get("cpfResponsavel")== null ? null : json.get("cpfResponsavel").textValue());
pac.setNomeResponsavel(json.get("nomeResponsavel")== null ? null : json.get("nomeResponsavel").textValue());
//update here
if(json.get("idPaciente").asInt() != 0) {
pacientesService.alterar(pFisicas, pCarac,pessoasEnderecos, pac);
}
else { //save here
pacientesService.cadastrarPacientes(pFisicas, pCarac,pessoasEnderecos, pac );
}
return HttpStatus.CREATED;
}
我将展示我的服务类..没有什么
//save here
@Transactional
public void cadastrarPacientes(PessoasFisicas pFisicas,
PessoasCaracteristicas pCarac,PessoasEnderecos pessoasEnderecos, Pacientes pac) {
pacRepository.saveAndFlush(pac);
pessoasEnderecosRepository.saveAndFlush(pessoasEnderecos);
pesFisicasRepository.saveAndFlush(pFisicas);
pescaracteristicasRepository.saveAndFlush(pCarac);
}
//在这里更新..
@Transactional
public void alterar(PessoasFisicas pFisicas, PessoasCaracteristicas
pCarac,PessoasEnderecos pessoasEnderecos, Pacientes pac) {
pacRepository.saveAndFlush(pac);
pessoasEnderecosRepository.saveAndFlush(pessoasEnderecos);
pesFisicasRepository.saveAndFlush(pFisicas);
pescaracteristicasRepository.saveAndFlush(pCarac);
}
我的错误在哪里?
我背后有这个json
{"idPaciente":161,"pessoa":{"idPessoa":165,"dataNascimento":"02/01/1987"...
答案 0 :(得分:1)
您的json中有主键(idPaciente
)但对象pac
中没有,因此您应该在更新记录之前设置主键。