package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; 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.AssinaturaDTO; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.ItemGrupoAssinaturaDTO; import br.com.centralit.citcorpore.negocio.AssinaturaService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.ItemGrupoAssinaturaService; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; /** * @author euler.ramos * */ @SuppressWarnings("rawtypes") public class Assinatura extends AjaxFormAction { @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { StringBuilder objeto; objeto = new StringBuilder(); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.solicitacao")); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.autorizacao")); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.aprovacao")); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.execucao")); document.getElementById("listaFases").setInnerHTML(objeto.toString()); objeto = new StringBuilder(); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.solicitanteServicos")); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.gestorOperacionalContrato")); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.gestorContrato")); objeto.append("<option> "+UtilI18N.internacionaliza(request, "citcorpore.comum.prepostoContratada")); document.getElementById("listaPapeis").setInnerHTML(objeto.toString()); } @Override public Class getBeanClass() { return AssinaturaDTO.class; } public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AssinaturaDTO assinaturaDTO = (AssinaturaDTO) document.getBean(); AssinaturaService assinaturaService = (AssinaturaService) ServiceLocator.getInstance().getService(AssinaturaService.class,null); // H� possibilidade de o usu�rio desejar uma assinatura sem empregado. if ((assinaturaDTO.getIdEmpregado() != null) && (assinaturaDTO.getIdEmpregado().equals(0))) { assinaturaDTO.setIdEmpregado(null); } if (!assinaturaService.violaIndiceUnico(assinaturaDTO)) { if (assinaturaDTO.getIdAssinatura() != null) { assinaturaService.update(assinaturaDTO); document.alert(UtilI18N.internacionaliza(request, "assinatura.assinaturaAtualizada")); } else { assinaturaDTO.setDataInicio(UtilDatas.getDataAtual()); assinaturaService.create(assinaturaDTO); document.alert(UtilI18N.internacionaliza(request, "assinatura.assinaturaCadastrada")); } HTMLForm form = document.getForm("form"); form.clear(); } else { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaAdicionado")); } } public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AssinaturaDTO assinaturaDTO = (AssinaturaDTO) document.getBean(); AssinaturaService assinaturaService = (AssinaturaService) ServiceLocator.getInstance().getService(AssinaturaService.class,null); assinaturaDTO = (AssinaturaDTO) assinaturaService.restore(assinaturaDTO); if (assinaturaDTO.getIdEmpregado()!= null){ EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); EmpregadoDTO empregadoDTO = new EmpregadoDTO(); empregadoDTO.setIdEmpregado(assinaturaDTO.getIdEmpregado()); empregadoDTO = (EmpregadoDTO) empregadoService.restore(empregadoDTO); assinaturaDTO.setNomeResponsavel(empregadoDTO.getNome()); } HTMLForm form = document.getForm("form"); form.clear(); form.setValues(assinaturaDTO); } public void excluir(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AssinaturaDTO assinaturaDTO = (AssinaturaDTO) document.getBean(); ItemGrupoAssinaturaService itemGrupoAssinaturaService = (ItemGrupoAssinaturaService) ServiceLocator.getInstance().getService(ItemGrupoAssinaturaService.class, null); ArrayList<ItemGrupoAssinaturaDTO> listaItemGrupoAssinaturas = (ArrayList<ItemGrupoAssinaturaDTO>) itemGrupoAssinaturaService.findByIdAssinatura(assinaturaDTO.getIdAssinatura()); if ((listaItemGrupoAssinaturas == null) || (listaItemGrupoAssinaturas.size() <= 0)) { if (assinaturaDTO.getIdAssinatura() != null) { AssinaturaService assinaturaService = (AssinaturaService) ServiceLocator.getInstance().getService(AssinaturaService.class, null); assinaturaDTO.setDataFim(UtilDatas.getDataAtual()); assinaturaService.update(assinaturaDTO); document.alert(UtilI18N.internacionaliza(request, "assinatura.assinaturaExcluida")); } HTMLForm form = document.getForm("form"); form.clear(); } else { document.alert(UtilI18N.internacionaliza(request, "assinatura.alerta.exclusaoNaoPermitida")); } } }