* @throws Exception
*/
public void eMailGenerico(String dataLimStr, String dataCompStr, ConfigMailCfgm configMailCfgm, ItemEstruturaIett iett) throws ECARException, Exception {
try {
TfuncacompConfigmailTfacfgmDAO tfuncacompConfigmailTfacfgmDAO = new TfuncacompConfigmailTfacfgmDAO();
UsuarioDao usuDAO = new UsuarioDao();
String eventDesc = null;
String objeto = null;
String valor = null;
if( dataLimStr.equals(dataCompStr)) {
List listIettutfas = new ArrayList(iett.getItemEstUsutpfuacIettutfas());
List usuariosEmailEnviado = new ArrayList();
Iterator itList = listIettutfas.iterator();
String link = null;
String[] valores = new String[3];
// codigo do item
if(iett != null && iett.getCodIett() != null) {
valores[0] = iett.getCodIett().toString();
}
//codigo da aba
FuncaoDao funcaoDao = new FuncaoDao(null);
valores[1] = String.valueOf(funcaoDao.getCodFuncaoDadosGerais());
//codigo da estrutura selecionada
String paramCodEttSelecionado = "";
if(iett.getEstruturaEtt() != null) {
Long codEttSelecionado = iett.getEstruturaEtt().getCodEtt();
if(codEttSelecionado != null) {
valores[2] = codEttSelecionado.toString();
}
}
ConfiguracaoCfg configCfg = new ConfiguracaoDao(null).getConfiguracao();
contextPath = configCfg.getContextPath();
Evento evento = null;
switch(configMailCfgm.getCodCfgm().intValue()) {
case 7: // data termino item
evento = new EventoVencimentoDataTerminoItem();
eventDesc = "Altera��o da Data de T�rmino para ";
break;
case 8: // data inicio item
evento = new EventoVencimentoDataInicioItem();
eventDesc = "Altera��o da Data In�cio para ";
break;
case 9: // data reserva 1
evento = new EventoVencimentoDataReserva1();
eventDesc = "Altera��o da Data Reserva 1 para ";
//Data.parseDate(itemEstUsutpfacIetutfa.getItemEstruturaIett().getDataR1());;
break;
case 10: // data reserva 2
evento = new EventoVencimentoDataReserva2();
eventDesc = "Altera��o da Data Reserva 2 para ";
break;
case 11: // data reserva 3
evento = new EventoVencimentoDataReserva3();
eventDesc = "Altera��o da Data Reserva 3 para ";
break;
case 12: // data reserva 4
evento = new EventoVencimentoDataReserva4();
eventDesc = "Altera��o da Data Reserva 4 para ";
break;
case 13: // data reserva 5
evento = new EventoVencimentoDataReserva5();
eventDesc = "Altera��o da Data Reserva 5 para ";
break;
}
if(evento != null)
link = URLEvento.montaURLEventoSemRequest(evento, contextPath, valores);
/**Manda o email para todos os usu�rios das Fun��es de Acompanhamento relacionadas ao item (cadastradas no item) e configuradas para receber**/
while( itList.hasNext() ) {
ItemEstUsutpfuacIettutfa itemEstUsutpfacIetutfa = (ItemEstUsutpfuacIettutfa) itList.next();
TfuncacompConfigmailTfacfgmPK tfcfgmPK = new TfuncacompConfigmailTfacfgmPK();
tfcfgmPK.setCodCfgm(configMailCfgm.getCodCfgm());
tfcfgmPK.setCodTpfa(itemEstUsutpfacIetutfa.getTipoFuncAcompTpfa().getCodTpfa());
TfuncacompConfigmailTfacfgm tfcfm = (TfuncacompConfigmailTfacfgm) tfuncacompConfigmailTfacfgmDAO.
buscar(TfuncacompConfigmailTfacfgm.class, tfcfgmPK);
// se a funcao de acompanhamento estiver configurada para receber email (configura��o estrutura/funcao acompanhamento)
if ("S".equals(tfcfm.getEnviaMailTfacfgm())) {
//UsuarioUsu usu = (UsuarioUsu) usuDAO.buscar(UsuarioUsu.class, itemEstUsutpfacIetutfa.getComp_id().getCodUsu());
List usuarios = new ArrayList();
if (itemEstUsutpfacIetutfa.getUsuarioUsu() != null) {
usuarios.add((UsuarioUsu) usuDAO.buscar(UsuarioUsu.class, itemEstUsutpfacIetutfa.getUsuarioUsu().getCodUsu()));
} else if (itemEstUsutpfacIetutfa.getSisAtributoSatb() != null){
usuarios.addAll(usuDAO.getUsuariosBySisAtributoSatb(itemEstUsutpfacIetutfa.getSisAtributoSatb()));
}
Iterator itUsu = usuarios.iterator();
while (itUsu.hasNext()){