@Override
	public Processo updateProcesso(Processo newProc,Processo oldProc) throws Exception{
		if(oldProc.getSituacao() == 0){
			ColTramite colTramite = new ColTramite();
			TramiteProcesso tramite = new TramiteProcesso();
			
			tramite = colTramite.retrieveTramiteProcesso(oldProc.getDtAbertura());
			
			if(tramite.getTipo().getTipo().equals("Abertura")){
				
				if(newProc.getSituacao() != oldProc.getSituacao()){
					sdf = new SimpleDateFormat("dd/MM/yyyy");  
					
					UCManterTramiteManager manager = new UCManterTramiteManager();
					
					tramite = new TramiteProcesso();
					tramite.setDtTramite(sdf.format( new Date( System.currentTimeMillis() ) ));
					tramite.setObservacoes("Lan�amento da situa��o");
					
					TipoTramite tipo = new TipoTramite();
					tipo.setTipo(getSituacao(newProc.getSituacao()));
					tramite.setTipo(tipo);
					
					tramite.setProc(oldProc);
					
					tramite = manager.insertTramiteProcesso(tramite);
				}
				
				return colProc.updateProcesso(newProc, oldProc);
			}
			else 
				throw new NoUpdateProcess("Processo n�o pode ser atualizado", 
						"O Tr�mite do processo n�o � Abertura");
		}
		else
			throw new NoUpdateProcess("Processo n�o pode ser atualizado", 
					"Situa��o do Processo n�o � de Aberto");
		
	}