Problemas para gravar informação no banco de dados

2 respostas
R

Boa tarde galera…
peguei um projeto em andamento, um projeto de demandas, e ele ja estava funcionando so que encontramos alguns erros
um deles é que na pagina de inserir uma nova demanda tem como vc enviar p uma pessoa, para um setor todo e para varias pessoas,
neste ultimo caso quando salvamos ele envia para ultima pessoa selecioana, ja tou p ficar doido atras deste erro e naoo acho abaixo tem o codigo
do controller:

este metodo add a uma array os funcionarios selecionados ate aki tudo bem

public void setorOuFuncionario(ActionEvent event) {

if (this.getSetorOuFuncionario() == null || this.getSetorOuFuncionario().isEmpty()) {

setSetorOuFuncionario(new ArrayList());

}

if (!this.funcionarioSelecionado1.equals("")) {

Funcionario f = (Funcionario) this.funcionariosPorSetor.get(this.funcionarioSelecionado1);

getSetorOuFuncionario().add(f);

SetorOuFuncionario sf = new SetorOuFuncionario();

sf.setSetor(f.getSetor().getSigla());

sf.setFuncionario(f.getPessoa1().getNome());

sf.setInstanceOfSetor(false);

sf.setObject(f);

this.nomeSetorOuFuncionario.add(sf);
} else {
		if (!this.setorSelecionado1.equals("")) {
			Setor s = this.setorDao.buscarSetorPeloNome(this.setorSelecionado1);
			getSetorOuFuncionario().add(s);
			SetorOuFuncionario sf = new SetorOuFuncionario();
			sf.setSetor(s.getSigla());
			sf.setFuncionario("Todos");
			sf.setInstanceOfSetor(true);
			sf.setObject(s);
			this.nomeSetorOuFuncionario.add(sf);
		} else {
			FacesUtils.messageError("Selecione um setor!");
		}
	}
	this.funcionarioSelecionado1 = "";
	this.setorSelecionado1 = "";
	System.out.println("LISTA DE servidores: " + nomeSetorOuFuncionario);
}
este metodo salva a nova demanda e envia para as pessoas selecionadas

public void novaDemanda() throws Exception {

RequestContext context = RequestContext.getCurrentInstance();

Calendar dtLimite = Calendar.getInstance();

dtLimite.setTime(this.dataValidade);

Collection dd = new ArrayList();

Collection listaFinalDeArquivos = new ArrayList();

boolean demandaSalva = false;

try {

AuxPrioridade ap = (AuxPrioridade) this.prioridadeSelecionada.get(this.prioridade.getDescricao());

AuxCategoria ac = (AuxCategoria) this.categoriaSelecionada.get(this.categoria.getDescricao());

AuxStatus s = this.statusDao.buscarStatusPorDescricao(DemandaStatus.EM_ANDAMENTO.getNome());

this.demanda.setPrioridade(ap);

this.demanda.setCategoria(ac);

this.demanda.setDataAbertura(DateUtils.returnToday());

this.demanda.setStatus(s);

for (Object o : getSetorOuFuncionario()) {

System.out.println(chegou aqui);

this.detalheDemanda.setDataValidade(dtLimite);

this.detalheDemanda.setFuncionarioOrigem(usuarioEmSessao().getFuncionario());

this.detalheDemanda.setSetorOrigem(usuarioEmSessao().getFuncionario().getSetor());
if (o instanceof Funcionario) {
				Funcionario ff = (Funcionario) o;
				this.detalheDemanda.setSetorDestino(ff.getSetor());
				this.detalheDemanda.setFuncionarioDestino(ff);
				System.out.println("funcionarios: " + ff);
				
			} else if (o instanceof Setor) {
				Setor ss = (Setor) o;
				this.detalheDemanda.setSetorDestino(ss);
				System.out.println("setores: " + ss);
			}
			
			this.detalheDemanda.setDemanda(this.demanda);
			dd.add(this.detalheDemanda);
			System.out.println("LISTA DE DETALHE DEMANDA: " + dd);
			
			if (this.arquivoSetadoParaUpload) {


					nomeArquivoAnexado = alteraCaracter(a.getNome());
					tipoArquivoAnexado = a.getTipo();
					caminhoArquivoAnexado = alteraCaracter(a.getCaminho());
					System.out.println("nome do arquivoparaupload: " + nomeArquivoAnexado + "." + tipoArquivoAnexado + " Caminho: " + caminhoArquivoAnexado);
					
					a.setNome(nomeArquivoAnexado);
					a.setTipo(tipoArquivoAnexado);
					a.setCaminho(caminhoArquivoAnexado);
					a.setDemanda(this.detalheDemanda);
					
					listaFinalDeArquivos.add(a);
				}
			
				this.detalheDemanda.setArquivoCollection(new ArrayList<Arquivo>());
				this.detalheDemanda.getArquivoCollection().addAll(listaFinalDeArquivos);
				System.out.println("LISTA DE ARQUIVOS PARA UPLOAD: " + listaFinalDeArquivos);
			}
			
		}
		this.demanda.setDetalheDemandaCollection(new ArrayList<DetalheDemanda>());
		this.demanda.getDetalheDemandaCollection().addAll(dd);
		
		this.demandaDao.salvar(this.demanda);
		
		init();
		demandaSalva = true;
	} catch (Exception e) {
		demandaSalva = false;
		FacesUtils.messageInfo("Erro ao criar demanda!");
		throw new Exception(e.getMessage(), e);
	}
	context.addCallbackParam("demandaSalva", demandaSalva);
}

se alguem detectar o erro a ajuda vai ser bem aceita!!! :smiley:

2 Respostas

Hebert_Coelho

rafaelAlves20, bem vindo ao GUJ.

Poderia por favor postar seu código entre as tags code? Seu código ficará formatado e seu post legível.

R

Boa tarde galera...
peguei um projeto em andamento, um projeto de demandas, e ele ja estava funcionando so que encontramos alguns erros
um deles é que na pagina de inserir uma nova demanda tem como vc enviar p uma pessoa, para um setor todo e para varias pessoas,
neste ultimo caso quando salvamos ele envia para ultima pessoa selecioana, ja tou p ficar doido atras deste erro e naoo acho abaixo tem o codigo
do controller:

este metodo add a uma array os funcionarios selecionados ate aki tudo bem
public void setorOuFuncionario(ActionEvent event) {
if (this.getSetorOuFuncionario() == null || this.getSetorOuFuncionario().isEmpty()) {
setSetorOuFuncionario(new ArrayList<Object>());
}
if (!this.funcionarioSelecionado1.equals("")) {
Funcionario f = (Funcionario) this.funcionariosPorSetor.get(this.funcionarioSelecionado1);
getSetorOuFuncionario().add(f);
SetorOuFuncionario sf = new SetorOuFuncionario();
sf.setSetor(f.getSetor().getSigla());
sf.setFuncionario(f.getPessoa1().getNome());
sf.setInstanceOfSetor(false);
sf.setObject(f);
this.nomeSetorOuFuncionario.add(sf);


} else {
if (!this.setorSelecionado1.equals("")) {
Setor s = this.setorDao.buscarSetorPeloNome(this.setorSelecionado1);
getSetorOuFuncionario().add(s);
SetorOuFuncionario sf = new SetorOuFuncionario();
sf.setSetor(s.getSigla());
sf.setFuncionario("Todos");
sf.setInstanceOfSetor(true);
sf.setObject(s);
this.nomeSetorOuFuncionario.add(sf);
} else {
FacesUtils.messageError("Selecione um setor!");
}
}
this.funcionarioSelecionado1 = "";
this.setorSelecionado1 = "";
System.out.println("LISTA DE servidores: " + nomeSetorOuFuncionario);
}

este metodo salva a nova demanda e envia para as pessoas selecionadas
public void novaDemanda() throws Exception {
RequestContext context = RequestContext.getCurrentInstance();
Calendar dtLimite = Calendar.getInstance();
dtLimite.setTime(this.dataValidade);
Collection<DetalheDemanda> dd = new ArrayList<DetalheDemanda>();
Collection<Arquivo> listaFinalDeArquivos = new ArrayList<Arquivo>();
boolean demandaSalva = false;
try {
AuxPrioridade ap = (AuxPrioridade) this.prioridadeSelecionada.get(this.prioridade.getDescricao());
AuxCategoria ac = (AuxCategoria) this.categoriaSelecionada.get(this.categoria.getDescricao());
AuxStatus s = this.statusDao.buscarStatusPorDescricao(DemandaStatus.EM_ANDAMENTO.getNome());
this.demanda.setPrioridade(ap);
this.demanda.setCategoria(ac);
this.demanda.setDataAbertura(DateUtils.returnToday());
this.demanda.setStatus(s);
for (Object o : getSetorOuFuncionario()) {
System.out.println("chegou aqui");
this.detalheDemanda.setDataValidade(dtLimite);
this.detalheDemanda.setFuncionarioOrigem(usuarioEmSessao().getFuncionario());
this.detalheDemanda.setSetorOrigem(usuarioEmSessao().getFuncionario().getSetor());

if (o instanceof Funcionario) {
Funcionario ff = (Funcionario) o;
this.detalheDemanda.setSetorDestino(ff.getSetor());
this.detalheDemanda.setFuncionarioDestino(ff);
System.out.println("funcionarios: " + ff);

} else if (o instanceof Setor) {
Setor ss = (Setor) o;
this.detalheDemanda.setSetorDestino(ss);
System.out.println("setores: " + ss);
}

this.detalheDemanda.setDemanda(this.demanda);
dd.add(this.detalheDemanda);
System.out.println("LISTA DE DETALHE DEMANDA: " + dd);

if (this.arquivoSetadoParaUpload) {


nomeArquivoAnexado = alteraCaracter(a.getNome());
tipoArquivoAnexado = a.getTipo();
caminhoArquivoAnexado = alteraCaracter(a.getCaminho());
System.out.println("nome do arquivoparaupload: " + nomeArquivoAnexado + "." + tipoArquivoAnexado + " Caminho: " + caminhoArquivoAnexado);

a.setNome(nomeArquivoAnexado);
a.setTipo(tipoArquivoAnexado);
a.setCaminho(caminhoArquivoAnexado);
a.setDemanda(this.detalheDemanda);

listaFinalDeArquivos.add(a);
}

this.detalheDemanda.setArquivoCollection(new ArrayList<Arquivo>());
this.detalheDemanda.getArquivoCollection().addAll(listaFinalDeArquivos);
System.out.println("LISTA DE ARQUIVOS PARA UPLOAD: " + listaFinalDeArquivos);
}

}
this.demanda.setDetalheDemandaCollection(new ArrayList<DetalheDemanda>());
this.demanda.getDetalheDemandaCollection().addAll(dd);

this.demandaDao.salvar(this.demanda);

init();
demandaSalva = true;
} catch (Exception e) {
demandaSalva = false;
FacesUtils.messageInfo("Erro ao criar demanda!");
throw new Exception(e.getMessage(), e);
}
context.addCallbackParam("demandaSalva", demandaSalva);
}

se alguem detectar o erro a ajuda vai ser bem aceita!!!

Criado 29 de dezembro de 2011
Ultima resposta 29 de dez. de 2011
Respostas 2
Participantes 2