* @author
* @throws ECARException
*/
private void gravarValorRealizadoMetasIndicadores() throws ECARException, IllegalAccessException, NoSuchMethodException, InvocationTargetException{
AcompReferenciaItemAri ariFiltro = new AcompReferenciaItemAri();
ServicoDao servicoDao = new ServicoDao(null);
AcompRealFisicoDao acompRealFisicoDao = new AcompRealFisicoDao(null);
Date dataAtual = Data.getDataAtual();
Calendar calendarDataAtual = Data.getCalendar(dataAtual);
Calendar calendarDataAtualSemHMS = new GregorianCalendar(calendarDataAtual.get(Calendar.YEAR), calendarDataAtual.get(Calendar.MONTH), calendarDataAtual.get(Calendar.DAY_OF_MONTH));
Date dataOntem = Data.addDias(-1, calendarDataAtualSemHMS.getTime());
ariFiltro.setDataLimiteAcompFisicoAri(dataOntem);
List listAri = new AcompReferenciaItemDao(null).pesquisarPorData(ariFiltro, null);
if (listAri != null){
Iterator itAri = listAri.iterator();
while (itAri.hasNext()){
AcompReferenciaItemAri ari = (AcompReferenciaItemAri) itAri.next();
// o sistema s� grava os valores realizados se existir item e este for ativo, e al�m disso, se a data de in�cio for informada.
if (ari.getItemEstruturaIett() != null && ari.getItemEstruturaIett().getIndAtivoIett().equals(Pagina.SIM) && ari.getItemEstruturaIett().getDataInicioIett() != null){
Set setIettrs = ari.getItemEstruturaIett().getItemEstrtIndResulIettrs();
if (setIettrs != null){
Iterator itIettrs = setIettrs.iterator();
while (itIettrs.hasNext()){
ItemEstrtIndResulIettr iettr = (ItemEstrtIndResulIettr) itIettrs.next();
if (iettr.getRealizadoServicoSer() != null
&& iettr.getAcompRealFisicoArfs() != null
&& iettr.getIndRealPorLocal().equals(Pagina.NAO)
&& iettr.getIndTipoAtualizacaoRealizado() != null
&& iettr.getIndTipoAtualizacaoRealizado().equals(ServicoSer.TIPO_ATUALIZACAO_REALIZADO_AUTOMATICO)
&& Pagina.SIM.equals(iettr.getIndAtivoIettr())){
Set setAcompRealFisicoArf = iettr.getAcompRealFisicoArfs();
if (setAcompRealFisicoArf != null){
Iterator itAcompRealFisicoArf = setAcompRealFisicoArf.iterator();
while (itAcompRealFisicoArf.hasNext()){
AcompRealFisicoArf acompRealFisicoArf = (AcompRealFisicoArf) itAcompRealFisicoArf.next();
if (acompRealFisicoArf.getAnoArf().equals(Long.valueOf(ari.getAcompReferenciaAref().getAnoAref())) &&
acompRealFisicoArf.getMesArf().equals(Long.valueOf(ari.getAcompReferenciaAref().getMesAref()))
&&acompRealFisicoArf.getQtdRealizadaArf()==null){
String url = iettr.getRealizadoServicoSer().getUrlSer();
url = url.substring(0,1).toLowerCase() + url.substring(1);
Object[] parametros = new ServicoDao(null).getParametrosServico(iettr.getRealizadoServicoSer(), ari);
Double qtdRealizadoArf = (Double)(ServicoDao.class.getMethod(url, new Class[]{String.class, String.class}).invoke(servicoDao, parametros));
acompRealFisicoArf.setQtdRealizadaArf(qtdRealizadoArf);
acompRealFisicoDao.alterar(acompRealFisicoArf);
}
}