package br.com.centralit.citcorpore.ajaxForms;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citcorpore.bean.ImportacaoContratosDTO;
import br.com.centralit.citcorpore.bean.UploadDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.ContratoService;
import br.com.centralit.citcorpore.negocio.ImportacaoContratosService;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilI18N;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class ImportacaoContratos extends AjaxFormAction {
public Class getBeanClass() {
return ImportacaoContratosDTO.class;
}
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
document.getSelectById("idContrato").removeAllOptions();
ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, WebUtil.getUsuarioSistema(request));
Collection colContratos = contratoService.listAtivos();
document.getSelectById("idContrato").addOption("",UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
document.getSelectById("idContrato").addOptions(colContratos, "idContrato", "numero", null);
request.getSession(true).setAttribute("colUploadsGED", null);
}
public void importar(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
ImportacaoContratosDTO importacaoContratosDTO = (ImportacaoContratosDTO) document.getBean();
ImportacaoContratosService importacaoContratosService = (ImportacaoContratosService) ServiceLocator.getInstance().getService(ImportacaoContratosService.class, WebUtil.getUsuarioSistema(request));
ImportacaoContratosDTO importacaoContratosResultadoDto = new ImportacaoContratosDTO();
importacaoContratosResultadoDto.setResultado(false);
Collection colUploadsGED = (Collection) request.getSession(true).getAttribute("colUploadsGED");
if (colUploadsGED == null || colUploadsGED.size() == 0) {
document.alert(UtilI18N.internacionaliza(request, "dataManager.naoHaArquivosImportar"));
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
for (Iterator it = colUploadsGED.iterator(); it.hasNext();) {
UploadDTO uploadDTO = (UploadDTO) it.next();
String ext = FilenameUtils.getExtension(uploadDTO.getPath());
if (!ext.equalsIgnoreCase("xml")) {
document.executeScript("JANELA_AGUARDE_MENU.hide();");
document.alert(UtilI18N.internacionaliza(request, "importManualBI.importFalhaExtensaoInvalida"));
return;
}
try {
String xmlSource = FileUtils.readFileToString(new File(uploadDTO.getPath()), "ISO-8859-1");
if (!xmlSource.equals("")) {
importacaoContratosResultadoDto = importacaoContratosService.persisteDados(request, importacaoContratosDTO.getIdContrato(), xmlSource);
}
} catch (IOException e) {
e.printStackTrace();
}
if (importacaoContratosResultadoDto != null && !importacaoContratosResultadoDto.isResultado()) {
document.executeScript("JANELA_AGUARDE_MENU.hide();");
document.alert(UtilI18N.internacionaliza(request, "importManualBI.importFalha"));
if (!importacaoContratosResultadoDto.getMensagem().equals("")) {
document.alert(importacaoContratosResultadoDto.getMensagem());
} else {
document.alert(UtilI18N.internacionaliza(request, "importManualBI.importFalha"));
}
return;
} else {
if (importacaoContratosResultadoDto != null && importacaoContratosResultadoDto.getMensagem() != null && !importacaoContratosResultadoDto.getMensagem().equals("")) {
document.alert(UtilI18N.internacionaliza(request, "importacaoContratos.importSucessoComErros"));
document.executeScript("$('#resultadoImportacao').html('<b>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.logExecucao") + "</b><br/><br/>" + importacaoContratosResultadoDto.getMensagem() + "');");
} else {
document.alert(UtilI18N.internacionaliza(request, "importacaoContratos.importSucesso"));
document.executeScript("$('#resultadoImportacao').html('');");
}
}
}
request.getSession(true).setAttribute("colUploadsGED", null);
document.executeScript("JANELA_AGUARDE_MENU.hide();");
//document.executeScript("parent.fecharModalImportacaoManual();");
}
}