if (funcoes!=null && funcoes.size()>0){
funcaoPontoCritico = (FuncaoFun)funcoes.get(0);
}
PontoCriticoPtc pontoCriticoOrigem = (PontoCriticoPtc)itPontosCriticosOrigem.next();
if (!pontoCriticoOrigem.getIndExcluidoPtc().equals("S")){
PontoCriticoPtc pontoCriticoNovo = new PontoCriticoPtc();
Entidade.clonarPojo(pontoCriticoOrigem, pontoCriticoNovo);
pontoCriticoNovo.setCodPtc(null);
pontoCriticoNovo.setItemEstruturaIett(novoItem);
pontoCriticoNovo.setDataUltManutencaoPtc(Data.getDataAtual());
pontoCriticoNovo.setUsuarioUsuInclusao(usuarioLogado);
pontoCriticoNovo.setUsuarioUsuByCodUsuUltManutPtc(usuarioLogado);
pontoCriticoNovo.setUsuarioUsu(pontoCriticoOrigem.getUsuarioUsu());
session.save(pontoCriticoNovo);
//C�PIA DOS ATRIBUTOS LIVRES
Set atributosLivresPontosCriticos = new HashSet();
Iterator itPontoCriticoSisAtributos = pontoCriticoOrigem.getPontoCriticoSisAtributoPtcSatbs().iterator();
while (itPontoCriticoSisAtributos.hasNext()){
PontoCriticoSisAtributoPtcSatb pontoCriticoSisAtributoOrigem = (PontoCriticoSisAtributoPtcSatb) itPontoCriticoSisAtributos.next();
PontoCriticoSisAtributoPtcSatb pontoCriticoSisAtributoNovo = new PontoCriticoSisAtributoPtcSatb();
pontoCriticoSisAtributoNovo.setDataUltManutencao(Data.getDataAtual());
// pontoCriticoSisAtributoNovo.setUsuarioUsu(usuarioLogado);
pontoCriticoSisAtributoNovo.setPontoCriticoPtc(pontoCriticoNovo);
pontoCriticoSisAtributoNovo.setSisAtributoSatb(pontoCriticoSisAtributoOrigem.getSisAtributoSatb());
pontoCriticoSisAtributoNovo.setUsuarioUsu(pontoCriticoSisAtributoOrigem.getUsuarioUsu());
//Para atributos do tipo CAMPO_ID
if (pontoCriticoSisAtributoOrigem.getInformacao() != null && pontoCriticoSisAtributoOrigem.getSisAtributoSatb().getAtribInfCompSatb() !=null
&& (pontoCriticoSisAtributoOrigem.getSisAtributoSatb().isAtributoContemMascara() || pontoCriticoSisAtributoOrigem.getSisAtributoSatb().isAtributoAutoIcremental())){
if (!pontoCriticoSisAtributoOrigem.getSisAtributoSatb().isAtributoAutoIcremental()){
pontoCriticoSisAtributoNovo.setInformacao(action.geraConteudo(pontoCriticoSisAtributoOrigem.getSisAtributoSatb().getMascara()));
}
geraValorIncremental(pontoCriticoSisAtributoNovo, pontoCriticoSisAtributoNovo.getSisAtributoSatb(), funcaoPontoCritico, pontoCriticoSisAtributoNovo.getPontoCriticoPtc().getItemEstruturaIett().getEstruturaEtt(), null);
//Para atributos do tipo TEXT, TEXTAREA, MULTITEXTO, IMAGEM e VALIDA��O
} else if (pontoCriticoSisAtributoOrigem.getInformacao() != null){
pontoCriticoSisAtributoNovo.setInformacao(pontoCriticoSisAtributoOrigem.getInformacao());
}
pontoCriticoSisAtributoNovo.atribuirPKPai();
// atributosLivresPontosCriticos.add(pontoCriticoSisAtributoNovo);
session.save(pontoCriticoSisAtributoNovo);
}
//C�PIA DOS APONTAMENTOS
Iterator itApontamentosOrigem = pontoCriticoOrigem.getApontamentoApts().iterator();
pontoCriticoNovo.setApontamentoApts(new HashSet());
while (itApontamentosOrigem.hasNext()){
try{
ApontamentoApt apontamentoOrigem = (ApontamentoApt)itApontamentosOrigem.next();
ApontamentoApt copiaApontamento = new ApontamentoApt();
Entidade.clonarPojo(apontamentoOrigem, copiaApontamento);
copiaApontamento.setCodApt(null);
copiaApontamento.setItemEstruturaIett(novoItem);
copiaApontamento.setPontoCriticoPtc(pontoCriticoNovo);
copiaApontamento.setDataInclusaoApt(Data.getDataAtual());
copiaApontamento.setUsuarioUsu(apontamentoOrigem.getUsuarioUsu());
session.save(copiaApontamento);
pontoCriticoNovo.getApontamentoApts().add(copiaApontamento);
}
catch (Exception e){
e.printStackTrace();
}
}