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.citajax.html.HTMLSelect; import br.com.centralit.citcorpore.bean.AtividadesServicoContratoDTO; import br.com.centralit.citcorpore.bean.FormulaOsDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.negocio.AtividadesServicoContratoService; import br.com.centralit.citcorpore.negocio.FormulaOsService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilI18N; /** * * @author Cledson.junior * */ public class AtividadesServicoContrato extends AjaxFormAction { /** * Inicializa os dados ao carregar a tela. * * @param document * @param request * @param response * @throws Exception */ public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("ss"); } /** * Inclui registro. * * @param document * @param request * @param response * @throws Exception */ public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AtividadesServicoContratoDTO atividadesServicoContrato = (AtividadesServicoContratoDTO) document.getBean(); if (atividadesServicoContrato.getComplexidade() == null || atividadesServicoContrato.getComplexidade().equalsIgnoreCase("") || atividadesServicoContrato.getComplexidade().equalsIgnoreCase("undefined")) { atividadesServicoContrato.setComplexidade(atividadesServicoContrato.getComplexidadeCustoTotal()); } AtividadesServicoContratoService atividadeServicoService = (AtividadesServicoContratoService) ServiceLocator.getInstance().getService(AtividadesServicoContratoService.class, WebUtil.getUsuarioSistema(request)); if (atividadesServicoContrato.getIdAtividadeServicoContrato() == null || atividadesServicoContrato.getIdAtividadeServicoContrato().intValue() == 0) { atividadeServicoService.create(atividadesServicoContrato); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } else { atividadeServicoService.update(atividadesServicoContrato); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } HTMLForm form = document.getForm("form"); form.clear(); document.executeScript("document.getElementById('complexidadeCustoTotal').value = '';"); document.executeScript("document.getElementById('complexidade').value = ''"); document.executeScript("closePopup(" + atividadesServicoContrato.getIdServicoContrato() + ");"); } /** * Restaura os dados ao clicar em um registro. * * @param document * @param request * @param response * @throws Exception */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AtividadesServicoContratoDTO atividadesServicoContrato = (AtividadesServicoContratoDTO) document.getBean(); AtividadesServicoContratoService atividadeServicoService = (AtividadesServicoContratoService) ServiceLocator.getInstance().getService(AtividadesServicoContratoService.class,WebUtil.getUsuarioSistema(request)); atividadesServicoContrato = (AtividadesServicoContratoDTO) atividadeServicoService.restore(atividadesServicoContrato); HTMLForm form = document.getForm("form"); form.clear(); form.setValues(atividadesServicoContrato); } public void restoreAtividadeServico(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AtividadesServicoContratoDTO atividadesServicoContrato = (AtividadesServicoContratoDTO) document.getBean(); ServicoDTO servicoBean = new ServicoDTO(); ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); servicoBean.setIdServico(atividadesServicoContrato.getIdServicoContratoContabil()); servicoBean = (ServicoDTO) servicoService.restore(servicoBean); atividadesServicoContrato.setNomeServico(servicoBean.getNomeServico()); atividadesServicoContrato.setIdServicoContratoContabil(servicoBean.getIdServico()); HTMLForm form = document.getForm("form"); // form.clear(); form.setValues(atividadesServicoContrato); document.executeScript("fecharPopup()"); } /** * recupera os dados ao carregar p�gina * * @param document * @param request * @param response * @throws Exception */ public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { try { AtividadesServicoContratoDTO atividadesServicoContrato = (AtividadesServicoContratoDTO) document.getBean(); AtividadesServicoContratoService atividadeServicoService = (AtividadesServicoContratoService) ServiceLocator.getInstance().getService(AtividadesServicoContratoService.class, WebUtil.getUsuarioSistema(request)); if (atividadesServicoContrato.getIdAtividadeServicoContrato() != null || atividadesServicoContrato.getIdAtividadeServicoContrato().intValue() != 0) { atividadesServicoContrato.setDeleted("y"); atividadeServicoService.update(atividadesServicoContrato); document.alert(UtilI18N.internacionaliza(request, "MSG07")); } HTMLForm form = document.getForm("formInterno"); form.clear(); document.executeScript("closePopup(" + atividadesServicoContrato.getIdServicoContrato() + ");"); } catch (Exception e) { e.printStackTrace(); } } public Class<AtividadesServicoContratoDTO> getBeanClass() { return AtividadesServicoContratoDTO.class; } public void ListarFormulas(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AtividadesServicoContratoDTO atividadesServicoContratoDTO = (AtividadesServicoContratoDTO) document.getBean(); FormulaOsService formulaOsService = (FormulaOsService) ServiceLocator.getInstance().getService(FormulaOsService.class,WebUtil.getUsuarioSistema(request)); Collection<FormulaOsDTO> listaFormulas = formulaOsService.listar(atividadesServicoContratoDTO.getIdContrato()); HTMLSelect comboFormula = document.getSelectById("Formulas"); comboFormula.removeAllOptions(); comboFormula.addOption("-1", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if(listaFormulas!=null && !listaFormulas.isEmpty()){ for (FormulaOsDTO formula : listaFormulas) { comboFormula.addOption(formula.getIdFormulaOs().toString(), formula.getDescricao()); } } } public String gerarFormula(DocumentHTML document, HttpServletRequest request, HttpServletResponse response,String formula){ boolean existeComplexidade = true; String html = "<b id='idB' style='margin-left: 20px !important;'>"; html += formula; document.executeScript("setEstruturaFormulaOs(\"" + formula + "\")"); html = html.replace("{", " "); html = html.replace("}", " "); if (html.contains("vValor")) { html = html.replaceAll("vValor", "<input type='text' class='objFormula vValor span12' style='width: 50px !important;' id=vValor name='vValor' required='required'>"); } if (html.contains("vDiasUteis")) { html = html.replaceAll("vDiasUteis", "<b id='VarDiasUteis'> "+UtilI18N.internacionaliza(request, "citcorpore.comum.diasUteis")+" <span>"); } if (html.contains("vDiasCorridos")) { html = html.replaceAll("vDiasCorridos", "<b id='VarDiasUteis'> "+UtilI18N.internacionaliza(request, "citcorpore.comum.diasCorridos")+" <span>"); } if (html.contains("vNumeroUsuarios")) { html = html.replaceAll("vNumeroUsuarios", "<b id='vNumeroUsuarios'> "+UtilI18N.internacionaliza(request, "formula.NumeroDeUsuarios")+" <span>"); } if (html.contains("vComplexidade")) { existeComplexidade = false; html = html.replaceAll( "vComplexidade", UtilI18N.internacionaliza(request, "matrizvisao.complexidade")+" : <select id='vComplexidade' name='vComplexidade' style='width: 110px !important;' class='vComplexidade objFormula span12 Valid[Required]'>" + "<option value='B'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeBaixa") + "</option>" + "<option value='I'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeIntermediaria") + "</option>" + "<option value='M'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeMediana") + "</option>" + "<option value='A'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeAlta")+"</option>" + "<option value='E'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeEspecialista")+"</option></select>"); } html += "</b>"; if(existeComplexidade){ html += "<br><br><div><label class='campoObrigatorio' style='margin-left: 13px !important;' ><b>"+UtilI18N.internacionaliza(request, "matrizvisao.complexidade")+":</b></label>"; html += "<select id='complexidade' name='complexidade' class='noClearCITAjax objFormula' style='width: 150px !important;margin-left: 18px !important;'>"; html += "<option value='B'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeBaixa")+"</option>" + "<option value='I'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeIntermediaria")+"</option>" + "<option value='M'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeMediana")+"</option>" + "<option value='A'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeAlta")+"</option>" + "<option value='E'>"+UtilI18N.internacionaliza(request, "citcorpore.comum.complexidadeEspecialista")+"</option></select>"+"</select></div>"; } document.executeScript("montarFormula(\""+html+"\")"); document.executeScript("addClassMoedaInput();"); return ""; } public void restoreFormula(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AtividadesServicoContratoDTO atividadesServicoContratoDTO = (AtividadesServicoContratoDTO) document.getBean(); FormulaOsService formulaOsService = (FormulaOsService) ServiceLocator.getInstance().getService(FormulaOsService.class,WebUtil.getUsuarioSistema(request)); FormulaOsDTO formulaOsDTO = new FormulaOsDTO(); formulaOsDTO.setIdFormulaOs(atividadesServicoContratoDTO.getIdFormulaOs()); formulaOsDTO = (FormulaOsDTO) formulaOsService.restore(formulaOsDTO); gerarFormula(document,request, response, formulaOsDTO.getFormula()); } public void recupera(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { AtividadesServicoContratoDTO atividadesServicoContrato = (AtividadesServicoContratoDTO) document.getBean(); AtividadesServicoContratoService atividadeServicoService = (AtividadesServicoContratoService) ServiceLocator.getInstance().getService(AtividadesServicoContratoService.class,WebUtil.getUsuarioSistema(request)); FormulaOsService formulaOsService = (FormulaOsService) ServiceLocator.getInstance().getService(FormulaOsService.class,WebUtil.getUsuarioSistema(request)); HTMLForm form = document.getForm("form"); if (atividadesServicoContrato.getIdAtividadeServicoContrato() != null) { atividadesServicoContrato = (AtividadesServicoContratoDTO) atividadeServicoService.restore(atividadesServicoContrato); atividadesServicoContrato.setComplexidadeCustoTotal(atividadesServicoContrato.getComplexidade()); if (atividadesServicoContrato.getIdServicoContratoContabil() != null) { ServicoDTO servicoBean = new ServicoDTO(); ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); servicoBean.setIdServico(atividadesServicoContrato.getIdServicoContratoContabil()); servicoBean = (ServicoDTO) servicoService.restore(servicoBean); atividadesServicoContrato.setNomeServico(servicoBean.getNomeServico()); } form.setValues(atividadesServicoContrato); if (atividadesServicoContrato.getFormula() == null || atividadesServicoContrato.getFormula().isEmpty()) { document.executeScript("document.getElementById('TIPOCUSTO').value = 'C'"); document.executeScript("document.getElementById('divByCustoFormula').style.display = 'none'"); document.executeScript("document.getElementById('divByCustoFormula').style.display = 'none'"); document.executeScript("document.getElementById('divByCustoTotal').style.display = 'block'"); document.executeScript("document.getElementById('divByCustoTotal2').style.display = 'block'"); } if (atividadesServicoContrato.getTipoCusto() != null && atividadesServicoContrato.getTipoCusto().equalsIgnoreCase("F")) { ListarFormulas(document,request, response); gerarFormula(document,request, response, atividadesServicoContrato.getEstruturaFormulaOs()); FormulaOsDTO formulaDto = formulaOsService.buscarPorFormula(atividadesServicoContrato.getEstruturaFormulaOs()); if(formulaDto==null){ document.executeScript("selecionarFormula('"+0+"')"); }else{ document.executeScript("selecionarFormula('"+formulaDto.getIdFormulaOs()+"')"); } String formulaFinalSerializada = ""; if(atividadesServicoContrato.getFormulaCalculoFinal() != null) { char[] index = atividadesServicoContrato.getFormulaCalculoFinal().toCharArray(); for (char c : index) { if(c != ' ') { if(c=='+' || c=='-' || c=='*' || c=='/' || c==')'){ if(formulaFinalSerializada.charAt(formulaFinalSerializada.length()-1) != ';'){ formulaFinalSerializada+=";"; } } else { if (c!='('){ formulaFinalSerializada += c; } } } } } if(!formulaFinalSerializada.equals("")) { if(formulaFinalSerializada.charAt(formulaFinalSerializada.length()-1) == ';'){ formulaFinalSerializada = formulaFinalSerializada.substring(0, formulaFinalSerializada.length()-1); } } document.executeScript("colocarValorNaFormula('"+formulaFinalSerializada+"')"); document.executeScript("document.getElementById('TIPOCUSTO').value = 'F'"); document.executeScript("document.getElementById('divByCustoFormula').style.display = 'block'"); document.executeScript("document.getElementById('divByCustoFormula2').style.display = 'block'"); document.executeScript("document.getElementById('divByCustoTotal').style.display = 'none'"); document.executeScript("document.getElementById('divByCustoTotal2').style.display = 'none'"); } if (atividadesServicoContrato.getNomeServico() != null && atividadesServicoContrato.getNomeServico() != "") { document.executeScript("document.getElementById('CONTABILIZAR').value = 'S'"); document.executeScript("document.getElementById('divComboServicoContrato').style.display = 'block'"); document.executeScript("document.getElementById('addServicoContrato').value = " + atividadesServicoContrato.getNomeServico()); } } } }