package br.com.centralit.citcorpore.ajaxForms;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLForm;
import br.com.centralit.citcorpore.bean.FormulaDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.integracao.FormulaDao;
import br.com.centralit.citcorpore.negocio.FormulaService;
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")
public class Formula extends AjaxFormAction {
@Override
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.focusInFirstActivateField(null);
}
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
FormulaDTO formulaDTO = (FormulaDTO) document.getBean();
if ((formulaDTO!=null) && (formulaDTO.getIdentificador()!=null)) {
formulaDTO.setIdentificador(formulaDTO.getIdentificador().trim());
}
FormulaService formulaService = (FormulaService) ServiceLocator.getInstance().getService(FormulaService.class, null);
if (!formulaService.verificarSeNomeExiste(formulaDTO)) {
if (formulaDTO.getIdFormula() == null || formulaDTO.getIdFormula().intValue() == 0) {
// if(formulaService.findByIdentificador(formulaDTO.getIdentificador())!=null){
// document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.identificadorRegistroJaCadastrado"));
// return;
// }
FormulaDao formulaDao = new FormulaDao();
Collection identificacadores = formulaDao.findByIdentificador(formulaDTO.getIdentificador());
if ((identificacadores==null) || (identificacadores.size()<=0)) {
formulaService.create(formulaDTO);
document.alert(UtilI18N.internacionaliza(request, "MSG05"));
} else {
document.alert(UtilI18N.internacionaliza(request, "formula.identificadorduplicado"));
return;
}
} else {
FormulaDao formulaDao = new FormulaDao();
Collection identificacadores = formulaDao.findByIdentificadorAndIdDiferente(formulaDTO.getIdentificador(),String.valueOf(formulaDTO.getIdFormula().intValue()) );
if ((identificacadores!=null) && (identificacadores.size()>0)) {
document.alert(UtilI18N.internacionaliza(request, "formula.identificadorduplicado"));
return;
} else {
formulaService.update(formulaDTO);
document.alert(UtilI18N.internacionaliza(request, "MSG06"));
}
// //verifica se o identificar existe somente se for um novo registro
// if(!formulaService.existeRegistro(formulaDTO.getNome()) && formulaService.verificarSeIdentificadorExiste(formulaDTO)){
// document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.identificadorRegistroJaCadastrado"));
// return;
// }
}
} else {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaCadastrado"));
return;
}
HTMLForm form = document.getForm("form");
form.clear();
}
public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
FormulaDTO formulaDTO = (FormulaDTO) document.getBean();
FormulaService formulaService = (FormulaService) ServiceLocator.getInstance().getService(FormulaService.class, null);
formulaDTO = (FormulaDTO) formulaService.restore(formulaDTO);
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(formulaDTO);
}
public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
FormulaDTO formulaDTO = (FormulaDTO) document.getBean();
FormulaService formulaService = (FormulaService) ServiceLocator.getInstance().getService(FormulaService.class, null);
formulaService.delete(formulaDTO);
HTMLForm form = document.getForm("form");
form.clear();
document.alert(UtilI18N.internacionaliza(request, "MSG07"));
}
@Override
public Class getBeanClass() {
return FormulaDTO.class;
}
}