Example usage for java.math BigDecimal intValue

List of usage examples for java.math BigDecimal intValue

Introduction

In this page you can find the example usage for java.math BigDecimal intValue.

Prototype

@Override
public int intValue() 

Source Link

Document

Converts this BigDecimal to an int .

Usage

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public void sendOmejoraRespuesta(ActionEvent event) {
    try {//from w ww . ja  v a  2s  . c  o  m
        if (StringUtils.isBlank(this.getSelectedOmejora().getVmsjrespuesta())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA,
                    "Campo requerido. Ingrese el mensaje a enviar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
        } else {
            //this.setContenidoHtml(JSFUtils.getRequestParameter("descHtml"));
            if (this.getChkDestacado()) {
                ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
                HashMap filter = new HashMap();
                filter.put("ntipoconocimientoid", Constante.OPORTUNIDADMEJORA);
                BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
                if (cant.intValue() >= 10) {
                    this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                    RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                    return;
                }
            }
            this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
            LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
            User usuario = loginMB.getUser();
            ConocimientoService conocimientoService = (ConocimientoService) ServiceFinder
                    .findBean("ConocimientoService");
            this.getSelectedOmejora().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
            this.getSelectedOmejora().setVtitulo(StringUtils.upperCase(this.getSelectedOmejora().getVtitulo()));
            this.getSelectedOmejora()
                    .setVdescripcion(StringUtils.upperCase(this.getSelectedOmejora().getVdescripcion()));
            if (this.getContenidoPlain().length() < 400) {
                this.getSelectedOmejora().setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
            } else {
                this.getSelectedOmejora()
                        .setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 399)));
            }
            this.getSelectedOmejora().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedOmejora().setDfechamodificacion(new Date());
            this.getSelectedOmejora().setVusuariomodificacion(usuario.getVlogin());
            this.getSelectedOmejora()
                    .setVmsjrespuesta(this.getSelectedOmejora().getVmsjrespuesta().toUpperCase());
            conocimientoService.saveOrUpdate(this.getSelectedOmejora());

            this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
            GcmFileUtils.writeStringToFileServer(this.getSelectedOmejora().getVruta(), "html.txt",
                    this.getContenidoHtml());
            GcmFileUtils.writeStringToFileServer(this.getSelectedOmejora().getVruta(), "plain.txt",
                    this.getContenidoPlain());

            HistorialService historialService = (HistorialService) ServiceFinder.findBean("HistorialService");
            Historial lastHistorial = historialService
                    .getLastHistorialByConocimiento(this.getSelectedOmejora().getNconocimientoid());
            int lastversion;
            if (lastHistorial != null) {
                lastversion = lastHistorial.getNnumversion().intValue();
            } else {
                lastversion = 0;
            }
            String url = this.pathom.concat(this.getSelectedOmejora().getNconocimientoid().toString())
                    .concat("/").concat(Integer.toString(lastversion + 1)).concat("/");

            ThistorialId thistorialId = new ThistorialId();
            thistorialId.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
            thistorialId.setNhistorialid(historialService.getNextPK());
            Historial historial = new Historial();
            historial.setId(thistorialId);
            historial.setNtipoconocimientoid(Constante.OPORTUNIDADMEJORA);
            historial.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
            historial.setVtitulo(this.getSelectedOmejora().getVtitulo());
            historial.setVdescripcion(this.getSelectedOmejora().getVdescripcion());
            historial.setNactivo(BigDecimal.ONE);
            historial.setNsituacionid(this.getSelectedOmejora().getNsituacionid());
            historial.setVruta(url);
            historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
            historial.setDfechacreacion(new Date());
            historial.setVusuariocreacion(usuario.getVlogin());
            historial.setVmsjsolicita(this.getSelectedOmejora().getVmsjsolicita());
            historial.setVmsjrespuesta(this.getSelectedOmejora().getVmsjrespuesta());
            historialService.saveOrUpdate(historial);

            GcmFileUtils.writeStringToFileServer(url, "html.txt", this.getContenidoHtml());
            GcmFileUtils.writeStringToFileServer(url, "plain.txt", this.getContenidoPlain());

            if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaSeccion())) {
                String url0 = this.getSelectedOmejora().getVruta().concat("s");
                String url1 = url.concat("s");
                SeccionService seccionService = (SeccionService) ServiceFinder.findBean("SeccionService");
                SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                        .findBean("SeccionHistService");
                for (Seccion seccion : this.getListaSeccion()) {
                    String ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                    seccion.setVruta(ruta0);
                    if (seccion.getNseccionid() != null) {
                        seccion.setDfechamodificacion(new Date());
                        seccion.setVusuariomodificacion(usuario.getVlogin());
                    } else {
                        seccion.setNseccionid(seccionService.getNextPK());
                        seccion.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
                        seccion.setDfechacreacion(new Date());
                        seccion.setVusuariocreacion(usuario.getVlogin());
                    }
                    seccionService.saveOrUpdate(seccion);

                    seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());
                    GcmFileUtils.writeStringToFileServer(ruta0, "html.txt", seccion.getDetalleHtml());
                    GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", seccion.getDetallePlain());

                    String ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                    TseccionHistId tseccionHistId = new TseccionHistId();
                    tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                    tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                    tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                    SeccionHist seccionHist = new SeccionHist();
                    seccionHist.setId(tseccionHistId);
                    seccionHist.setNorden(seccion.getNorden());
                    seccionHist.setVruta(ruta1);
                    seccionHist.setVtitulo(seccion.getVtitulo());
                    seccionHist.setVusuariocreacion(usuario.getVlogin());
                    seccionHist.setDfechacreacion(new Date());
                    seccionHistService.saveOrUpdate(seccionHist);

                    GcmFileUtils.writeStringToFileServer(ruta1, "html.txt", seccion.getDetalleHtml());
                    GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", seccion.getDetallePlain());
                }
            }

            this.setListaTargetVinculos(new ArrayList());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBL());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBP());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosCT());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosOM());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosPR());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosWK());

            if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaTargetVinculos())) {
                VinculoService vinculoService = (VinculoService) ServiceFinder.findBean("VinculoService");
                VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                        .findBean("VinculoHistService");
                vinculoService.deleteByConocimiento(this.getSelectedOmejora().getNconocimientoid());
                for (Consulta consulta : this.getListaTargetVinculos()) {
                    Vinculo vinculo = new Vinculo();
                    vinculo.setNvinculoid(vinculoService.getNextPK());
                    vinculo.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
                    vinculo.setNconocimientovinc(consulta.getIdconocimiento());
                    vinculo.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                    vinculo.setDfechacreacion(new Date());
                    vinculo.setVusuariocreacion(usuario.getVlogin());
                    vinculoService.saveOrUpdate(vinculo);

                    TvinculoHistId vinculoHistId = new TvinculoHistId();
                    vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                    vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                    vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                    VinculoHist vinculoHist = new VinculoHist();
                    vinculoHist.setId(vinculoHistId);
                    vinculoHist.setNconocimientovinc(vinculo.getNconocimientovinc());
                    vinculoHist.setDfechacreacion(new Date());
                    vinculoHist.setVusuariocreacion(usuario.getVlogin());
                    vinculoHistService.saveOrUpdate(vinculoHist);
                }
            }

            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            this.getSelectedAsignacion().setDfechaatencion(new Date());
            this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("10")));
            serviceasig.saveOrUpdate(this.getSelectedAsignacion());

            Asignacion asignacion = new Asignacion();
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.OPORTUNIDADMEJORA);
            asignacion.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            CategoriaService categoriaService = (CategoriaService) ServiceFinder.findBean("CategoriaService");
            asignacion.setNusuarioid(categoriaService
                    .getCategoriaById(this.getSelectedOmejora().getNcategoriaid()).getNmoderador());
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);

            loginMB.refreshNotifications();

            this.fSInfMod = "true";
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "INFO.",
                    "Respuesta de la solicitud de informacin enviada.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/index.xhtml");
        }
    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public void saveOmejoraEdit(ActionEvent event) {
    String pagina = null;/*from  w  w w  .  j  a  v  a  2 s  .  co  m*/
    try {
        //this.setContenidoHtml(JSFUtils.getRequestParameter("descHtml"));
        if (this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.OPORTUNIDADMEJORA);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return;
            }
        }
        this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User usuario = loginMB.getUser();
        ConocimientoService conocimientoService = (ConocimientoService) ServiceFinder
                .findBean("ConocimientoService");

        if (this.getSelectedCategoria() == null) {
            this.getSelectedOmejora().setNcategoriaid(this.getSelectedOmejora().getNcategoriaid());
            cat_nueva = this.getSelectedOmejora().getNcategoriaid();
        } else {
            this.getSelectedOmejora().setNcategoriaid(this.getSelectedOmejora().getNcategoriaid());
            cat_nueva = this.getSelectedOmejora().getNcategoriaid();
        }

        this.getSelectedOmejora().setVtitulo(StringUtils.upperCase(this.getSelectedOmejora().getVtitulo()));
        this.getSelectedOmejora()
                .setVdescripcion(StringUtils.upperCase(this.getSelectedOmejora().getVdescripcion()));
        if (this.getContenidoPlain().length() < 400) {
            this.getSelectedOmejora().setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
        } else {
            this.getSelectedOmejora()
                    .setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 399)));
        }
        this.getSelectedOmejora().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedOmejora().setDfechamodificacion(new Date());
        this.getSelectedOmejora().setVusuariomodificacion(usuario.getVlogin());
        conocimientoService.saveOrUpdate(this.getSelectedOmejora());

        this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
        GcmFileUtils.writeStringToFileServer(this.getSelectedOmejora().getVruta(), "html.txt",
                this.getContenidoHtml());
        GcmFileUtils.writeStringToFileServer(this.getSelectedOmejora().getVruta(), "plain.txt",
                this.getContenidoPlain());

        HistorialService historialService = (HistorialService) ServiceFinder.findBean("HistorialService");
        Historial lastHistorial = historialService
                .getLastHistorialByConocimiento(this.getSelectedOmejora().getNconocimientoid());
        int lastversion;
        if (lastHistorial != null) {
            lastversion = lastHistorial.getNnumversion().intValue();
        } else {
            lastversion = 0;
        }
        String url = this.pathom.concat(this.getSelectedOmejora().getNconocimientoid().toString()).concat("/")
                .concat(Integer.toString(lastversion + 1)).concat("/");

        ThistorialId thistorialId = new ThistorialId();
        thistorialId.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
        thistorialId.setNhistorialid(historialService.getNextPK());
        Historial historial = new Historial();
        historial.setId(thistorialId);
        historial.setNtipoconocimientoid(Constante.OPORTUNIDADMEJORA);
        historial.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        historial.setVtitulo(this.getSelectedOmejora().getVtitulo());
        historial.setVdescripcion(this.getSelectedOmejora().getVdescripcion());
        historial.setNactivo(BigDecimal.ONE);
        historial.setNsituacionid(this.getSelectedOmejora().getNsituacionid());
        historial.setVruta(url);
        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
        historial.setDfechacreacion(new Date());
        historial.setVusuariocreacion(usuario.getVlogin());
        historial.setVmsjsolicita(this.getSelectedOmejora().getVmsjsolicita());
        historial.setVmsjrespuesta(this.getSelectedOmejora().getVmsjrespuesta());
        historialService.saveOrUpdate(historial);

        GcmFileUtils.writeStringToFileServer(url, "html.txt", this.getContenidoHtml());
        GcmFileUtils.writeStringToFileServer(url, "plain.txt", this.getContenidoPlain());

        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaSeccion())) {
            String url0 = this.getSelectedOmejora().getVruta().concat("s");
            String url1 = url.concat("s");
            SeccionService seccionService = (SeccionService) ServiceFinder.findBean("SeccionService");
            SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                    .findBean("SeccionHistService");
            for (Seccion seccion : this.getListaSeccion()) {
                String ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                seccion.setVruta(ruta0);
                if (seccion.getNseccionid() != null) {
                    seccion.setDfechamodificacion(new Date());
                    seccion.setVusuariomodificacion(usuario.getVlogin());
                } else {
                    seccion.setNseccionid(seccionService.getNextPK());
                    seccion.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
                    seccion.setDfechacreacion(new Date());
                    seccion.setVusuariocreacion(usuario.getVlogin());
                }
                seccionService.saveOrUpdate(seccion);

                seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());
                GcmFileUtils.writeStringToFileServer(ruta0, "html.txt", seccion.getDetalleHtml());
                GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", seccion.getDetallePlain());

                String ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                TseccionHistId tseccionHistId = new TseccionHistId();
                tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                SeccionHist seccionHist = new SeccionHist();
                seccionHist.setId(tseccionHistId);
                seccionHist.setNorden(seccion.getNorden());
                seccionHist.setVruta(ruta1);
                seccionHist.setVtitulo(seccion.getVtitulo());
                seccionHist.setVusuariocreacion(usuario.getVlogin());
                seccionHist.setDfechacreacion(new Date());
                seccionHistService.saveOrUpdate(seccionHist);

                GcmFileUtils.writeStringToFileServer(ruta1, "html.txt", seccion.getDetalleHtml());
                GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", seccion.getDetallePlain());
            }
        }

        this.setListaTargetVinculos(new ArrayList());
        this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBL());
        this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBP());
        this.getListaTargetVinculos().addAll(this.getListaTargetVinculosCT());
        this.getListaTargetVinculos().addAll(this.getListaTargetVinculosOM());
        this.getListaTargetVinculos().addAll(this.getListaTargetVinculosPR());
        this.getListaTargetVinculos().addAll(this.getListaTargetVinculosWK());

        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaTargetVinculos())) {
            VinculoService vinculoService = (VinculoService) ServiceFinder.findBean("VinculoService");
            VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                    .findBean("VinculoHistService");
            vinculoService.deleteByConocimiento(this.getSelectedOmejora().getNconocimientoid());
            for (Consulta consulta : this.getListaTargetVinculos()) {
                Vinculo vinculo = new Vinculo();
                vinculo.setNvinculoid(vinculoService.getNextPK());
                vinculo.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
                vinculo.setNconocimientovinc(consulta.getIdconocimiento());
                vinculo.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                vinculo.setDfechacreacion(new Date());
                vinculo.setVusuariocreacion(usuario.getVlogin());
                vinculoService.saveOrUpdate(vinculo);

                TvinculoHistId vinculoHistId = new TvinculoHistId();
                vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                VinculoHist vinculoHist = new VinculoHist();
                vinculoHist.setId(vinculoHistId);
                vinculoHist.setNconocimientovinc(vinculo.getNconocimientovinc());
                vinculoHist.setDfechacreacion(new Date());
                vinculoHist.setVusuariocreacion(usuario.getVlogin());
                vinculoHistService.saveOrUpdate(vinculoHist);
            }
        }

        if (cat_antigua != cat_nueva) {
            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            this.getSelectedAsignacion().setDfechaatencion(new Date());
            this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("12")));
            serviceasig.saveOrUpdate(this.getSelectedAsignacion());

            Asignacion asignacion = new Asignacion();
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.OPORTUNIDADMEJORA);
            asignacion.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            CategoriaService categoriaService = (CategoriaService) ServiceFinder.findBean("CategoriaService");
            asignacion.setNusuarioid(categoriaService
                    .getCategoriaById(this.getSelectedOmejora().getNcategoriaid()).getNmoderador());
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);

            pagina = "/gescon/index.xhtml";
        } else {
            pagina = "";
        }
        loginMB.refreshNotifications();
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "INFO.",
                "Actualizacin exitosa!.");
        FacesContext.getCurrentInstance().addMessage(null, message);
        FacesContext.getCurrentInstance().getExternalContext().redirect(pagina);
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public void sendOmejoraSolicita(ActionEvent event) {
    try {/*from   www.j  a  v  a  2s.com*/
        if (StringUtils.isBlank(this.getSelectedOmejora().getVmsjsolicita())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA,
                    "Campo requerido. Ingrese el mensaje a enviar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
        } else {
            //this.setContenidoHtml(JSFUtils.getRequestParameter("descHtml"));
            if (this.getChkDestacado()) {
                ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
                HashMap filter = new HashMap();
                filter.put("ntipoconocimientoid", Constante.OPORTUNIDADMEJORA);
                BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
                if (cant.intValue() >= 10) {
                    this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                    RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                    return;
                }
            }
            this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
            LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
            User usuario = loginMB.getUser();
            ConocimientoService conocimientoService = (ConocimientoService) ServiceFinder
                    .findBean("ConocimientoService");
            this.getSelectedOmejora().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
            this.getSelectedOmejora().setVtitulo(StringUtils.upperCase(this.getSelectedOmejora().getVtitulo()));
            this.getSelectedOmejora()
                    .setVdescripcion(StringUtils.upperCase(this.getSelectedOmejora().getVdescripcion()));
            if (this.getContenidoPlain().length() < 400) {
                this.getSelectedOmejora().setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
            } else {
                this.getSelectedOmejora()
                        .setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 399)));
            }
            this.getSelectedOmejora().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedOmejora().setDfechamodificacion(new Date());
            this.getSelectedOmejora().setVusuariomodificacion(usuario.getVlogin());
            this.getSelectedOmejora()
                    .setVmsjsolicita(this.getSelectedOmejora().getVmsjsolicita().toUpperCase());
            conocimientoService.saveOrUpdate(this.getSelectedOmejora());

            this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
            GcmFileUtils.writeStringToFileServer(this.getSelectedOmejora().getVruta(), "html.txt",
                    this.getContenidoHtml());
            GcmFileUtils.writeStringToFileServer(this.getSelectedOmejora().getVruta(), "plain.txt",
                    this.getContenidoPlain());

            HistorialService historialService = (HistorialService) ServiceFinder.findBean("HistorialService");
            Historial lastHistorial = historialService
                    .getLastHistorialByConocimiento(this.getSelectedOmejora().getNconocimientoid());
            int lastversion;
            if (lastHistorial != null) {
                lastversion = lastHistorial.getNnumversion().intValue();
            } else {
                lastversion = 0;
            }
            String url = this.pathom.concat(this.getSelectedOmejora().getNconocimientoid().toString())
                    .concat("/").concat(Integer.toString(lastversion + 1)).concat("/");

            ThistorialId thistorialId = new ThistorialId();
            thistorialId.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
            thistorialId.setNhistorialid(historialService.getNextPK());
            Historial historial = new Historial();
            historial.setId(thistorialId);
            historial.setNtipoconocimientoid(Constante.OPORTUNIDADMEJORA);
            historial.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
            historial.setVtitulo(this.getSelectedOmejora().getVtitulo());
            historial.setVdescripcion(this.getSelectedOmejora().getVdescripcion());
            historial.setNactivo(BigDecimal.ONE);
            historial.setNsituacionid(this.getSelectedOmejora().getNsituacionid());
            historial.setVruta(url);
            historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
            historial.setDfechacreacion(new Date());
            historial.setVusuariocreacion(usuario.getVlogin());
            historial.setVmsjsolicita(this.getSelectedOmejora().getVmsjsolicita());
            historial.setVmsjrespuesta(this.getSelectedOmejora().getVmsjrespuesta());
            historialService.saveOrUpdate(historial);

            GcmFileUtils.writeStringToFileServer(url, "html.txt", this.getContenidoHtml());
            GcmFileUtils.writeStringToFileServer(url, "plain.txt", this.getContenidoPlain());

            if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaSeccion())) {
                String url0 = this.getSelectedOmejora().getVruta().concat("s");
                String url1 = url.concat("s");
                SeccionService seccionService = (SeccionService) ServiceFinder.findBean("SeccionService");
                SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                        .findBean("SeccionHistService");
                for (Seccion seccion : this.getListaSeccion()) {
                    String ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                    seccion.setVruta(ruta0);
                    if (seccion.getNseccionid() != null) {
                        seccion.setDfechamodificacion(new Date());
                        seccion.setVusuariomodificacion(usuario.getVlogin());
                    } else {
                        seccion.setNseccionid(seccionService.getNextPK());
                        seccion.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
                        seccion.setDfechacreacion(new Date());
                        seccion.setVusuariocreacion(usuario.getVlogin());
                    }
                    seccionService.saveOrUpdate(seccion);

                    seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());
                    GcmFileUtils.writeStringToFileServer(ruta0, "html.txt", seccion.getDetalleHtml());
                    GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", seccion.getDetallePlain());

                    String ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                    TseccionHistId tseccionHistId = new TseccionHistId();
                    tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                    tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                    tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                    SeccionHist seccionHist = new SeccionHist();
                    seccionHist.setId(tseccionHistId);
                    seccionHist.setNorden(seccion.getNorden());
                    seccionHist.setVruta(ruta1);
                    seccionHist.setVtitulo(seccion.getVtitulo());
                    seccionHist.setVusuariocreacion(usuario.getVlogin());
                    seccionHist.setDfechacreacion(new Date());
                    seccionHistService.saveOrUpdate(seccionHist);

                    GcmFileUtils.writeStringToFileServer(ruta1, "html.txt", seccion.getDetalleHtml());
                    GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", seccion.getDetallePlain());
                }
            }

            this.setListaTargetVinculos(new ArrayList());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBL());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBP());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosCT());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosOM());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosPR());
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosWK());

            if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaTargetVinculos())) {
                VinculoService vinculoService = (VinculoService) ServiceFinder.findBean("VinculoService");
                VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                        .findBean("VinculoHistService");
                vinculoService.deleteByConocimiento(this.getSelectedOmejora().getNconocimientoid());
                for (Consulta consulta : this.getListaTargetVinculos()) {
                    Vinculo vinculo = new Vinculo();
                    vinculo.setNvinculoid(vinculoService.getNextPK());
                    vinculo.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
                    vinculo.setNconocimientovinc(consulta.getIdconocimiento());
                    vinculo.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                    vinculo.setDfechacreacion(new Date());
                    vinculo.setVusuariocreacion(usuario.getVlogin());
                    vinculoService.saveOrUpdate(vinculo);

                    TvinculoHistId vinculoHistId = new TvinculoHistId();
                    vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                    vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                    vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                    VinculoHist vinculoHist = new VinculoHist();
                    vinculoHist.setId(vinculoHistId);
                    vinculoHist.setNconocimientovinc(vinculo.getNconocimientovinc());
                    vinculoHist.setDfechacreacion(new Date());
                    vinculoHist.setVusuariocreacion(usuario.getVlogin());
                    vinculoHistService.saveOrUpdate(vinculoHist);
                }
            }

            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            this.getSelectedAsignacion().setDfechaatencion(new Date());
            this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("9")));
            serviceasig.saveOrUpdate(this.getSelectedAsignacion());

            Asignacion asignacion = new Asignacion();
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.OPORTUNIDADMEJORA);
            asignacion.setNconocimientoid(this.getSelectedOmejora().getNconocimientoid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            asignacion.setNusuarioid(
                    serviceasig.getUserCreacionByContenido(this.getSelectedOmejora().getNtipoconocimientoid(),
                            this.getSelectedOmejora().getNconocimientoid()));
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);

            loginMB.refreshNotifications();

            this.fSInfMod = "true";
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "INFO.",
                    "Se envi la solicitud de informacin adicional.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/index.xhtml");
        }

    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public String PubBaseLegal() throws Exception {
    String pagina = "/index.xhtml";
    try {/*  ww w . j a v a 2 s. c  o  m*/

        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User usuario = loginMB.getUser();
        if (this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.BASELEGAL);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return "";
            }
        }
        if (!CollectionUtils.isEmpty(this.getListaTarget())) {
            for (BaseLegal v : this.getListaTarget()) {
                if (v.getNestadoid().equals(BigDecimal.ZERO)) {
                    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                            "Debe seleccionar el estado de todos los vnculos agregados.");
                    FacesContext.getCurrentInstance().addMessage(null, message);
                    return "";
                }
            }
        }
        if (this.getSelectedCategoria() != null) {
            this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        }
        BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
        this.getSelectedBaseLegal()
                .setVnombre(StringUtils.capitalize(this.getSelectedBaseLegal().getVnombre()));
        this.getSelectedBaseLegal().setVnumero(
                this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
        this.getSelectedBaseLegal().setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        this.getSelectedBaseLegal()
                .setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
        this.getSelectedBaseLegal().setDfechapublicacion(new Date());
        this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
        this.getSelectedBaseLegal()
                .setNestadoid(BigDecimal.valueOf(Long.valueOf(Constante.ESTADO_BASELEGAL_PUBLICADO)));
        this.getSelectedBaseLegal().setVusuariomodificacion(usuario.getVlogin());
        this.getSelectedBaseLegal().setDfechamodificacion(new Date());
        service.saveOrUpdate(this.getSelectedBaseLegal());

        BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                .findBean("BaseLegalHistorialService");
        BaselegalHist hist = serviceHistorial
                .getLastHistorialByBaselegal(this.getSelectedBaseLegal().getNbaselegalid());

        BaselegalHist baseHist = new BaselegalHist();
        baseHist.setNhistorialid(serviceHistorial.getNextPK());
        baseHist.setNbaselegalid(this.getSelectedBaseLegal().getNbaselegalid());
        baseHist.setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
        baseHist.setVnombre(this.getSelectedBaseLegal().getVnombre());
        baseHist.setVnumero(this.getSelectedBaseLegal().getVnumero());
        baseHist.setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        baseHist.setNgobnacional(this.getSelectedBaseLegal().getNgobnacional());
        baseHist.setNgobregional(this.getSelectedBaseLegal().getNgobregional());
        baseHist.setNgoblocal(this.getSelectedBaseLegal().getNgoblocal());
        baseHist.setNmancomunidades(this.getSelectedBaseLegal().getNmancomunidades());
        baseHist.setNdestacado(this.getSelectedBaseLegal().getNdestacado());
        baseHist.setVsumilla(this.getSelectedBaseLegal().getVsumilla());
        baseHist.setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
        baseHist.setVtema(this.getSelectedBaseLegal().getVtema());
        baseHist.setNactivo(this.getSelectedBaseLegal().getNactivo());
        baseHist.setNestadoid(this.getSelectedBaseLegal().getNestadoid());
        baseHist.setNversion(BigDecimal.valueOf(hist.getNversion().intValue() + 1));
        baseHist.setVusuariocreacion(usuario.getVlogin());
        baseHist.setDfechacreacion(new Date());
        baseHist.setVusuariomodificacion(this.getSelectedBaseLegal().getVusuariomodificacion());
        baseHist.setDfechamodificacion(this.getSelectedBaseLegal().getDfechamodificacion());
        serviceHistorial.saveOrUpdate(baseHist);

        Tbaselegal tbaselegal = new Tbaselegal();
        BeanUtils.copyProperties(tbaselegal, this.getSelectedBaseLegal());

        String ruta0 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                + BigDecimal.ZERO.toString() + "/";
        String ruta1 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                + baseHist.getNversion().toString() + "/";

        ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
        Archivo archivo = aservice.getArchivoByBaseLegal(this.getSelectedBaseLegal());
        if (this.getUploadFile() != null) {
            archivo.setVnombre(this.getUploadFile().getFileName());
            archivo.setVruta(ruta0 + archivo.getVnombre());
            archivo.setVusuariomodificacion(usuario.getVlogin());
            archivo.setDfechamodificacion(new Date());
            aservice.saveOrUpdate(archivo);
            saveFile(ruta0);
        }

        ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                .findBean("ArchivoHistorialService");
        ArchivoHist aHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);

        ArchivoHist archivoHist = new ArchivoHist();
        archivoHist.setNarchivohistid(aserviceHist.getNextPK());
        archivoHist.setNhistorialid(baseHist.getNhistorialid());
        archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
        archivoHist.setVnombre(archivo.getVnombre());
        archivoHist.setVruta(ruta1 + archivo.getVnombre());
        archivoHist.setVusuariocreacion(usuario.getVlogin());
        archivoHist.setDfechacreacion(new Date());
        aserviceHist.saveOrUpdate(archivoHist);
        saveFile(ruta1);

        VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                .findBean("VinculoBaseLegalService");
        vservice.deleteByBaseLegal(this.getSelectedBaseLegal());
        for (BaseLegal v : this.getListaTarget()) {
            TvinculoBaselegalId id = new TvinculoBaselegalId();
            id.setNbaselegalid(tbaselegal.getNbaselegalid());
            id.setNvinculoid(vservice.getNextPK());
            VinculoBaselegal vinculo = new VinculoBaselegal();
            vinculo.setId(id);
            vinculo.setTbaselegal(tbaselegal);
            vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculo.setNtipovinculo(v.getNestadoid());
            vinculo.setDfechacreacion(new Date());
            vinculo.setVusuariocreacion(usuario.getVlogin());
            vservice.saveOrUpdate(vinculo);

            BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
            blvinculada.setNestadoid(v.getNestadoid());
            blvinculada.setDfechamodificacion(new Date());
            blvinculada.setVusuariomodificacion(usuario.getVlogin());
            service.saveOrUpdate(blvinculada);

            if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                    || v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                for (Consulta c : listaConocimientos) {
                    Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                    conocimiento.setDfechamodificacion(new Date());
                    conocimiento.setVusuariomodificacion(usuario.getVlogin());
                    String descHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                            "html.txt");
                    String descPlain = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                            "plain.txt");
                    cservice.saveOrUpdate(conocimiento);

                    HistorialService historialService = (HistorialService) ServiceFinder
                            .findBean("HistorialService");
                    Historial lastHistorial = historialService
                            .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                    int lastversion;
                    if (lastHistorial != null) {
                        lastversion = lastHistorial.getNnumversion().intValue();
                    } else {
                        lastversion = 0;
                    }
                    String newpath = "";
                    if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                        newpath = "bl/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                        newpath = "bp/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                        newpath = "ct/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.OPORTUNIDADMEJORA)) {
                        newpath = "om/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                        newpath = "pr/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                        newpath = "wk/";
                    }

                    String url = newpath.concat(conocimiento.getNconocimientoid().toString()).concat("/")
                            .concat(Integer.toString(lastversion + 1)).concat("/");

                    ThistorialId thistorialId = new ThistorialId();
                    thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                    thistorialId.setNhistorialid(historialService.getNextPK());
                    Historial historial = new Historial();
                    historial.setId(thistorialId);
                    historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                    historial.setNcategoriaid(conocimiento.getNcategoriaid());
                    historial.setVtitulo(conocimiento.getVtitulo());
                    historial.setNactivo(BigDecimal.ONE);
                    historial.setNsituacionid(conocimiento.getNsituacionid());
                    historial.setVruta(url);
                    historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                    historial.setDfechacreacion(new Date());
                    historial.setVusuariocreacion(usuario.getVlogin());
                    historialService.saveOrUpdate(historial);

                    GcmFileUtils.writeStringToFileServer(url, "html.txt", descHtml);
                    GcmFileUtils.writeStringToFileServer(url, "plain.txt", descPlain);

                    SeccionService seccionService = (SeccionService) ServiceFinder.findBean("SeccionService");
                    SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                            .findBean("SeccionHistService");
                    List<Seccion> listaSecc = seccionService
                            .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                    if (!CollectionUtils.isEmpty(listaSecc)) {
                        String url0 = conocimiento.getVruta().concat("s");
                        String url1 = url.concat("s");
                        for (Seccion seccion : listaSecc) {
                            seccion.setDetalleHtml(
                                    GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                            ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                            seccion.setVruta(ruta0);
                            seccion.setDfechamodificacion(new Date());
                            seccion.setVusuariomodificacion(usuario.getVlogin());
                            seccionService.saveOrUpdate(seccion);

                            seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                            ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                            TseccionHistId tseccionHistId = new TseccionHistId();
                            tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                            tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                            tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                            SeccionHist seccionHist = new SeccionHist();
                            seccionHist.setId(tseccionHistId);
                            seccionHist.setNorden(seccion.getNorden());
                            seccionHist.setVruta(ruta1);
                            seccionHist.setVtitulo(seccion.getVtitulo());
                            seccionHist.setVusuariocreacion(usuario.getVlogin());
                            seccionHist.setDfechacreacion(new Date());
                            seccionHistService.saveOrUpdate(seccionHist);

                            GcmFileUtils.writeStringToFileServer(ruta1, "html.txt", seccion.getDetalleHtml());
                            GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", seccion.getDetallePlain());
                        }
                    }

                    VinculoService vinculoService = (VinculoService) ServiceFinder.findBean("VinculoService");
                    Vinculo vinculoC = new Vinculo();
                    vinculoC.setNvinculoid(vinculoService.getNextPK());
                    vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                    vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                    vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                    vinculoC.setDfechacreacion(new Date());
                    vinculoC.setVusuariocreacion(usuario.getVlogin());
                    vinculoService.saveOrUpdate(vinculoC);

                    List<Vinculo> vinculos = vinculoService
                            .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                    VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                            .findBean("VinculoHistService");
                    for (Vinculo vinc : vinculos) {
                        TvinculoHistId vinculoHistId = new TvinculoHistId();
                        vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                        vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                        vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                        VinculoHist vinculoHist = new VinculoHist();
                        vinculoHist.setId(vinculoHistId);
                        vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                        vinculoHist.setDfechacreacion(new Date());
                        vinculoHist.setVusuariocreacion(usuario.getVlogin());
                        vinculoHistService.saveOrUpdate(vinculoHist);
                    }
                }
            } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                for (Consulta c : listaConocimientos) {
                    Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                    conocimiento.setNflgvinculo(BigDecimal.ONE);
                    conocimiento.setDfechamodificacion(new Date());
                    conocimiento.setVusuariomodificacion(usuario.getVlogin());
                }
            }

            VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                    .findBean("VinculoBaselegalHistorialService");
            VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
            vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
            vinculoHist.setNhistorialid(baseHist.getNhistorialid());
            vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
            vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculoHist.setNtipovinculo(v.getNestadoid());
            vinculoHist.setDfechacreacion(new Date());
            vinculoHist.setVusuariocreacion(usuario.getVlogin());
            vserviceHist.saveOrUpdate(vinculoHist);
        }

        AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
        this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
        this.getSelectedAsignacion().setDfechaatencion(new Date());
        this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("8")));
        serviceasig.saveOrUpdate(this.getSelectedAsignacion());
        loginMB.refreshNotifications();
        pagina = "/index.xhtml";
        return pagina;

    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
    return pagina;
}

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public String edit() {
    String pagina = null;//from ww  w.  ja  v  a2  s. co m
    try {
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User usuario = loginMB.getUser();
        if (this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.BASELEGAL);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return "";
            }
        }
        if (!CollectionUtils.isEmpty(this.getListaTarget())) {
            for (BaseLegal v : this.getListaTarget()) {
                if (v.getNestadoid().equals(BigDecimal.ZERO)) {
                    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                            "Debe seleccionar el estado de todos los vnculos agregados.");
                    FacesContext.getCurrentInstance().addMessage(null, message);
                    return "";
                }
            }
        }
        if (this.getSelectedCategoria() != null) {
            this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
            cat_nueva = this.getSelectedBaseLegal().getNcategoriaid();
        } else {
            this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
            cat_nueva = this.getSelectedBaseLegal().getNcategoriaid();
        }
        BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
        this.getSelectedBaseLegal()
                .setVnombre(StringUtils.capitalize(this.getSelectedBaseLegal().getVnombre()));
        this.getSelectedBaseLegal().setVnumero(
                this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
        this.getSelectedBaseLegal().setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        this.getSelectedBaseLegal()
                .setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
        this.getSelectedBaseLegal().setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
        this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
        this.getSelectedBaseLegal().setVusuariomodificacion(usuario.getVlogin());
        this.getSelectedBaseLegal().setDfechamodificacion(new Date());
        service.saveOrUpdate(this.getSelectedBaseLegal());

        BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                .findBean("BaseLegalHistorialService");
        BaselegalHist hist = serviceHistorial
                .getLastHistorialByBaselegal(this.getSelectedBaseLegal().getNbaselegalid());

        BaselegalHist baseHist = new BaselegalHist();
        baseHist.setNhistorialid(serviceHistorial.getNextPK());
        baseHist.setNbaselegalid(this.getSelectedBaseLegal().getNbaselegalid());
        baseHist.setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
        baseHist.setVnombre(this.getSelectedBaseLegal().getVnombre());
        baseHist.setVnumero(this.getSelectedBaseLegal().getVnumero());
        baseHist.setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        baseHist.setNgobnacional(this.getSelectedBaseLegal().getNgobnacional());
        baseHist.setNgobregional(this.getSelectedBaseLegal().getNgobregional());
        baseHist.setNgoblocal(this.getSelectedBaseLegal().getNgoblocal());
        baseHist.setNmancomunidades(this.getSelectedBaseLegal().getNmancomunidades());
        baseHist.setNdestacado(this.getSelectedBaseLegal().getNdestacado());
        baseHist.setVsumilla(this.getSelectedBaseLegal().getVsumilla());
        baseHist.setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
        baseHist.setVtema(this.getSelectedBaseLegal().getVtema());
        baseHist.setNactivo(this.getSelectedBaseLegal().getNactivo());
        baseHist.setNestadoid(this.getSelectedBaseLegal().getNestadoid());
        baseHist.setNversion(BigDecimal.valueOf(hist.getNversion().intValue() + 1));
        baseHist.setVusuariocreacion(usuario.getVlogin());
        baseHist.setDfechacreacion(new Date());
        baseHist.setVusuariomodificacion(this.getSelectedBaseLegal().getVusuariomodificacion());
        baseHist.setDfechamodificacion(this.getSelectedBaseLegal().getDfechamodificacion());
        serviceHistorial.saveOrUpdate(baseHist);

        Tbaselegal tbaselegal = new Tbaselegal();
        BeanUtils.copyProperties(tbaselegal, this.getSelectedBaseLegal());

        String ruta0 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                + BigDecimal.ZERO.toString() + "/";
        String ruta1 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                + baseHist.getNversion().toString() + "/";

        ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
        Archivo archivo = aservice.getArchivoByBaseLegal(this.getSelectedBaseLegal());
        if (this.getUploadFile() != null) {
            archivo.setVnombre(this.getUploadFile().getFileName());
            archivo.setVruta(ruta0 + archivo.getVnombre());
            archivo.setVusuariomodificacion(usuario.getVlogin());
            archivo.setDfechamodificacion(new Date());
            aservice.saveOrUpdate(archivo);
            saveFile(ruta0);
        }

        ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                .findBean("ArchivoHistorialService");
        ArchivoHist aHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);

        ArchivoHist archivoHist = new ArchivoHist();
        archivoHist.setNarchivohistid(aserviceHist.getNextPK());
        archivoHist.setNhistorialid(baseHist.getNhistorialid());
        archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
        archivoHist.setVnombre(archivo.getVnombre());
        archivoHist.setVruta(ruta1 + archivo.getVnombre());
        archivoHist.setVusuariocreacion(usuario.getVlogin());
        archivoHist.setDfechacreacion(new Date());
        aserviceHist.saveOrUpdate(archivoHist);
        saveFile(ruta1);

        VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                .findBean("VinculoBaseLegalService");
        vservice.deleteByBaseLegal(this.getSelectedBaseLegal());
        for (BaseLegal v : this.getListaTarget()) {
            TvinculoBaselegalId id = new TvinculoBaselegalId();
            id.setNbaselegalid(tbaselegal.getNbaselegalid());
            id.setNvinculoid(vservice.getNextPK());
            VinculoBaselegal vinculo = new VinculoBaselegal();
            vinculo.setId(id);
            vinculo.setTbaselegal(tbaselegal);
            vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculo.setNtipovinculo(v.getNestadoid());
            vinculo.setDfechacreacion(new Date());
            vinculo.setVusuariocreacion(usuario.getVlogin());
            vservice.saveOrUpdate(vinculo);

            BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
            blvinculada.setNestadoid(v.getNestadoid());
            blvinculada.setDfechamodificacion(new Date());
            blvinculada.setVusuariomodificacion(usuario.getVlogin());
            service.saveOrUpdate(blvinculada);

            if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                    || v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                for (Consulta c : listaConocimientos) {
                    Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                    conocimiento.setDfechamodificacion(new Date());
                    conocimiento.setVusuariomodificacion(usuario.getVlogin());
                    String descHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                            "html.txt");
                    String descPlain = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                            "plain.txt");
                    cservice.saveOrUpdate(conocimiento);

                    HistorialService historialService = (HistorialService) ServiceFinder
                            .findBean("HistorialService");
                    Historial lastHistorial = historialService
                            .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                    int lastversion;
                    if (lastHistorial != null) {
                        lastversion = lastHistorial.getNnumversion().intValue();
                    } else {
                        lastversion = 0;
                    }
                    String newpath = "";
                    if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                        newpath = "bl/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                        newpath = "bp/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                        newpath = "ct/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.OPORTUNIDADMEJORA)) {
                        newpath = "om/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                        newpath = "pr/";
                    } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                        newpath = "wk/";
                    }

                    String url = newpath.concat(conocimiento.getNconocimientoid().toString()).concat("/")
                            .concat(Integer.toString(lastversion + 1)).concat("/");

                    ThistorialId thistorialId = new ThistorialId();
                    thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                    thistorialId.setNhistorialid(historialService.getNextPK());
                    Historial historial = new Historial();
                    historial.setId(thistorialId);
                    historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                    historial.setNcategoriaid(conocimiento.getNcategoriaid());
                    historial.setVtitulo(conocimiento.getVtitulo());
                    historial.setNactivo(BigDecimal.ONE);
                    historial.setNsituacionid(conocimiento.getNsituacionid());
                    historial.setVruta(url);
                    historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                    historial.setDfechacreacion(new Date());
                    historial.setVusuariocreacion(usuario.getVlogin());
                    historialService.saveOrUpdate(historial);

                    GcmFileUtils.writeStringToFileServer(url, "html.txt", descHtml);
                    GcmFileUtils.writeStringToFileServer(url, "plain.txt", descPlain);

                    SeccionService seccionService = (SeccionService) ServiceFinder.findBean("SeccionService");
                    SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                            .findBean("SeccionHistService");
                    List<Seccion> listaSecc = seccionService
                            .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                    if (!CollectionUtils.isEmpty(listaSecc)) {
                        String url0 = conocimiento.getVruta().concat("s");
                        String url1 = url.concat("s");
                        for (Seccion seccion : listaSecc) {
                            seccion.setDetalleHtml(
                                    GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                            ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                            seccion.setVruta(ruta0);
                            seccion.setDfechamodificacion(new Date());
                            seccion.setVusuariomodificacion(usuario.getVlogin());
                            seccionService.saveOrUpdate(seccion);

                            seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                            ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                            TseccionHistId tseccionHistId = new TseccionHistId();
                            tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                            tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                            tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                            SeccionHist seccionHist = new SeccionHist();
                            seccionHist.setId(tseccionHistId);
                            seccionHist.setNorden(seccion.getNorden());
                            seccionHist.setVruta(ruta1);
                            seccionHist.setVtitulo(seccion.getVtitulo());
                            seccionHist.setVusuariocreacion(usuario.getVlogin());
                            seccionHist.setDfechacreacion(new Date());
                            seccionHistService.saveOrUpdate(seccionHist);

                            GcmFileUtils.writeStringToFileServer(ruta1, "html.txt", seccion.getDetalleHtml());
                            GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", seccion.getDetallePlain());
                        }
                    }

                    VinculoService vinculoService = (VinculoService) ServiceFinder.findBean("VinculoService");
                    Vinculo vinculoC = new Vinculo();
                    vinculoC.setNvinculoid(vinculoService.getNextPK());
                    vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                    vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                    vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                    vinculoC.setDfechacreacion(new Date());
                    vinculoC.setVusuariocreacion(usuario.getVlogin());
                    vinculoService.saveOrUpdate(vinculoC);

                    List<Vinculo> vinculos = vinculoService
                            .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                    VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                            .findBean("VinculoHistService");
                    for (Vinculo vinc : vinculos) {
                        TvinculoHistId vinculoHistId = new TvinculoHistId();
                        vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                        vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                        vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                        VinculoHist vinculoHist = new VinculoHist();
                        vinculoHist.setId(vinculoHistId);
                        vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                        vinculoHist.setDfechacreacion(new Date());
                        vinculoHist.setVusuariocreacion(usuario.getVlogin());
                        vinculoHistService.saveOrUpdate(vinculoHist);
                    }
                }
            } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                for (Consulta c : listaConocimientos) {
                    Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                    conocimiento.setNflgvinculo(BigDecimal.ONE);
                    conocimiento.setDfechamodificacion(new Date());
                    conocimiento.setVusuariomodificacion(usuario.getVlogin());
                }
            }

            VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                    .findBean("VinculoBaselegalHistorialService");
            VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
            vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
            vinculoHist.setNhistorialid(baseHist.getNhistorialid());
            vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
            vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculoHist.setNtipovinculo(v.getNestadoid());
            vinculoHist.setDfechacreacion(new Date());
            vinculoHist.setVusuariocreacion(usuario.getVlogin());
            vserviceHist.saveOrUpdate(vinculoHist);
        }

        if (cat_antigua != cat_nueva) {
            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            this.getSelectedAsignacion().setDfechaatencion(new Date());
            this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("12")));
            serviceasig.saveOrUpdate(this.getSelectedAsignacion());

            Asignacion asignacion = new Asignacion();
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.BASELEGAL);
            asignacion.setNconocimientoid(this.getSelectedBaseLegal().getNbaselegalid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            CategoriaService categoriaService = (CategoriaService) ServiceFinder.findBean("CategoriaService");
            asignacion.setNusuarioid(categoriaService
                    .getCategoriaById(this.getSelectedBaseLegal().getNcategoriaid()).getNmoderador());
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);

            pagina = "/index.xhtml";
        } else {
            pagina = "";
        }
        loginMB.refreshNotifications();
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
    return pagina;
}

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public String sendSiModBase() {
    String pagina = null;//from  w  w  w.  jav a 2s . co  m
    try {

        if (StringUtils.isBlank(this.getSelectedBaseLegal().getVmsjmoderador())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA,
                    "Campo requerido. Ingrese el mensaje a enviar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            pagina = null;
        } else {
            LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
            User usuario = loginMB.getUser();
            if (this.getChkDestacado()) {
                ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
                HashMap filter = new HashMap();
                filter.put("ntipoconocimientoid", Constante.BASELEGAL);
                BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
                if (cant.intValue() >= 10) {
                    this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                    RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                    return "";
                }
            }
            if (this.getSelectedCategoria() != null) {
                this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
            }
            BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
            this.getSelectedBaseLegal()
                    .setVnombre(StringUtils.capitalize(this.getSelectedBaseLegal().getVnombre()));
            this.getSelectedBaseLegal().setVnumero(
                    this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
            this.getSelectedBaseLegal().setNrangoid(this.getSelectedBaseLegal().getNrangoid());
            this.getSelectedBaseLegal()
                    .setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal()
                    .setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal().setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal()
                    .setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal()
                    .setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
            this.getSelectedBaseLegal()
                    .setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
            this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
            this.getSelectedBaseLegal().setVusuariomodificacion(usuario.getVlogin());
            this.getSelectedBaseLegal().setDfechamodificacion(new Date());
            this.getSelectedBaseLegal()
                    .setVmsjmoderador(this.getSelectedBaseLegal().getVmsjmoderador().toUpperCase());
            service.saveOrUpdate(this.getSelectedBaseLegal());

            BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                    .findBean("BaseLegalHistorialService");
            BaselegalHist hist = serviceHistorial
                    .getLastHistorialByBaselegal(this.getSelectedBaseLegal().getNbaselegalid());

            BaselegalHist baseHist = new BaselegalHist();
            baseHist.setNhistorialid(serviceHistorial.getNextPK());
            baseHist.setNbaselegalid(this.getSelectedBaseLegal().getNbaselegalid());
            baseHist.setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
            baseHist.setVnombre(this.getSelectedBaseLegal().getVnombre());
            baseHist.setVnumero(this.getSelectedBaseLegal().getVnumero());
            baseHist.setNrangoid(this.getSelectedBaseLegal().getNrangoid());
            baseHist.setNgobnacional(this.getSelectedBaseLegal().getNgobnacional());
            baseHist.setNgobregional(this.getSelectedBaseLegal().getNgobregional());
            baseHist.setNgoblocal(this.getSelectedBaseLegal().getNgoblocal());
            baseHist.setNmancomunidades(this.getSelectedBaseLegal().getNmancomunidades());
            baseHist.setNdestacado(this.getSelectedBaseLegal().getNdestacado());
            baseHist.setVsumilla(this.getSelectedBaseLegal().getVsumilla());
            baseHist.setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
            baseHist.setVtema(this.getSelectedBaseLegal().getVtema());
            baseHist.setNactivo(this.getSelectedBaseLegal().getNactivo());
            baseHist.setNestadoid(this.getSelectedBaseLegal().getNestadoid());
            baseHist.setNversion(BigDecimal.valueOf(hist.getNversion().intValue() + 1));
            baseHist.setVusuariocreacion(usuario.getVlogin());
            baseHist.setDfechacreacion(new Date());
            baseHist.setVusuariomodificacion(this.getSelectedBaseLegal().getVusuariomodificacion());
            baseHist.setDfechamodificacion(this.getSelectedBaseLegal().getDfechamodificacion());
            serviceHistorial.saveOrUpdate(baseHist);

            Tbaselegal tbaselegal = new Tbaselegal();
            BeanUtils.copyProperties(tbaselegal, this.getSelectedBaseLegal());

            String ruta0 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                    + BigDecimal.ZERO.toString() + "/";
            String ruta1 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                    + baseHist.getNversion().toString() + "/";

            ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
            Archivo archivo = aservice.getArchivoByBaseLegal(this.getSelectedBaseLegal());
            if (this.getUploadFile() != null) {
                archivo.setVnombre(this.getUploadFile().getFileName());
                archivo.setVruta(ruta0 + archivo.getVnombre());
                archivo.setVusuariomodificacion(usuario.getVlogin());
                archivo.setDfechamodificacion(new Date());
                aservice.saveOrUpdate(archivo);
                saveFile(ruta0);
            }

            ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                    .findBean("ArchivoHistorialService");
            ArchivoHist aHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);

            ArchivoHist archivoHist = new ArchivoHist();
            archivoHist.setNarchivohistid(aserviceHist.getNextPK());
            archivoHist.setNhistorialid(baseHist.getNhistorialid());
            archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
            archivoHist.setVnombre(archivo.getVnombre());
            archivoHist.setVruta(ruta1 + archivo.getVnombre());
            archivoHist.setVusuariocreacion(usuario.getVlogin());
            archivoHist.setDfechacreacion(new Date());
            aserviceHist.saveOrUpdate(archivoHist);
            saveFile(ruta1);

            VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                    .findBean("VinculoBaseLegalService");
            vservice.deleteByBaseLegal(this.getSelectedBaseLegal());
            for (BaseLegal v : this.getListaTarget()) {
                TvinculoBaselegalId id = new TvinculoBaselegalId();
                id.setNbaselegalid(tbaselegal.getNbaselegalid());
                id.setNvinculoid(vservice.getNextPK());
                VinculoBaselegal vinculo = new VinculoBaselegal();
                vinculo.setId(id);
                vinculo.setTbaselegal(tbaselegal);
                vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
                vinculo.setNtipovinculo(v.getNestadoid());
                vinculo.setDfechacreacion(new Date());
                vinculo.setVusuariocreacion(usuario.getVlogin());
                vservice.saveOrUpdate(vinculo);

                BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
                blvinculada.setNestadoid(v.getNestadoid());
                blvinculada.setDfechamodificacion(new Date());
                blvinculada.setVusuariomodificacion(usuario.getVlogin());
                service.saveOrUpdate(blvinculada);

                if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                        || v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                    ConocimientoService cservice = (ConocimientoService) ServiceFinder
                            .findBean("ConocimientoService");
                    List<Consulta> listaConocimientos = cservice
                            .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(usuario.getVlogin());
                        String descHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "html.txt");
                        String descPlain = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "plain.txt");
                        cservice.saveOrUpdate(conocimiento);

                        HistorialService historialService = (HistorialService) ServiceFinder
                                .findBean("HistorialService");
                        Historial lastHistorial = historialService
                                .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                        int lastversion;
                        if (lastHistorial != null) {
                            lastversion = lastHistorial.getNnumversion().intValue();
                        } else {
                            lastversion = 0;
                        }
                        String newpath = "";
                        if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                            newpath = "bl/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                            newpath = "bp/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                            newpath = "ct/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.OPORTUNIDADMEJORA)) {
                            newpath = "om/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                            newpath = "pr/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                            newpath = "wk/";
                        }

                        String url = newpath.concat(conocimiento.getNconocimientoid().toString()).concat("/")
                                .concat(Integer.toString(lastversion + 1)).concat("/");

                        ThistorialId thistorialId = new ThistorialId();
                        thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                        thistorialId.setNhistorialid(historialService.getNextPK());
                        Historial historial = new Historial();
                        historial.setId(thistorialId);
                        historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                        historial.setNcategoriaid(conocimiento.getNcategoriaid());
                        historial.setVtitulo(conocimiento.getVtitulo());
                        historial.setNactivo(BigDecimal.ONE);
                        historial.setNsituacionid(conocimiento.getNsituacionid());
                        historial.setVruta(url);
                        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                        historial.setDfechacreacion(new Date());
                        historial.setVusuariocreacion(usuario.getVlogin());
                        historialService.saveOrUpdate(historial);

                        GcmFileUtils.writeStringToFileServer(url, "html.txt", descHtml);
                        GcmFileUtils.writeStringToFileServer(url, "plain.txt", descPlain);

                        SeccionService seccionService = (SeccionService) ServiceFinder
                                .findBean("SeccionService");
                        SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                .findBean("SeccionHistService");
                        List<Seccion> listaSecc = seccionService
                                .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                        if (!CollectionUtils.isEmpty(listaSecc)) {
                            String url0 = conocimiento.getVruta().concat("s");
                            String url1 = url.concat("s");
                            for (Seccion seccion : listaSecc) {
                                seccion.setDetalleHtml(
                                        GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                seccion.setVruta(ruta0);
                                seccion.setDfechamodificacion(new Date());
                                seccion.setVusuariomodificacion(usuario.getVlogin());
                                seccionService.saveOrUpdate(seccion);

                                seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                                ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                                TseccionHistId tseccionHistId = new TseccionHistId();
                                tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                                tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                                tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                                SeccionHist seccionHist = new SeccionHist();
                                seccionHist.setId(tseccionHistId);
                                seccionHist.setNorden(seccion.getNorden());
                                seccionHist.setVruta(ruta1);
                                seccionHist.setVtitulo(seccion.getVtitulo());
                                seccionHist.setVusuariocreacion(usuario.getVlogin());
                                seccionHist.setDfechacreacion(new Date());
                                seccionHistService.saveOrUpdate(seccionHist);

                                GcmFileUtils.writeStringToFileServer(ruta1, "html.txt",
                                        seccion.getDetalleHtml());
                                GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt",
                                        seccion.getDetallePlain());
                            }
                        }

                        VinculoService vinculoService = (VinculoService) ServiceFinder
                                .findBean("VinculoService");
                        Vinculo vinculoC = new Vinculo();
                        vinculoC.setNvinculoid(vinculoService.getNextPK());
                        vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                        vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                        vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                        vinculoC.setDfechacreacion(new Date());
                        vinculoC.setVusuariocreacion(usuario.getVlogin());
                        vinculoService.saveOrUpdate(vinculoC);

                        List<Vinculo> vinculos = vinculoService
                                .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                        VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                                .findBean("VinculoHistService");
                        for (Vinculo vinc : vinculos) {
                            TvinculoHistId vinculoHistId = new TvinculoHistId();
                            vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                            vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                            vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                            VinculoHist vinculoHist = new VinculoHist();
                            vinculoHist.setId(vinculoHistId);
                            vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                            vinculoHist.setDfechacreacion(new Date());
                            vinculoHist.setVusuariocreacion(usuario.getVlogin());
                            vinculoHistService.saveOrUpdate(vinculoHist);
                        }
                    }
                } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                    ConocimientoService cservice = (ConocimientoService) ServiceFinder
                            .findBean("ConocimientoService");
                    List<Consulta> listaConocimientos = cservice
                            .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                        conocimiento.setNflgvinculo(BigDecimal.ONE);
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(usuario.getVlogin());
                    }
                }

                VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                        .findBean("VinculoBaselegalHistorialService");
                VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
                vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
                vinculoHist.setNhistorialid(baseHist.getNhistorialid());
                vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
                vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
                vinculoHist.setNtipovinculo(v.getNestadoid());
                vinculoHist.setDfechacreacion(new Date());
                vinculoHist.setVusuariocreacion(usuario.getVlogin());
                vserviceHist.saveOrUpdate(vinculoHist);
            }

            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            this.getSelectedAsignacion().setDfechaatencion(new Date());
            this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("9")));
            serviceasig.saveOrUpdate(this.getSelectedAsignacion());

            Asignacion asignacion = new Asignacion();
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.BASELEGAL);
            asignacion.setNconocimientoid(this.getSelectedBaseLegal().getNbaselegalid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            asignacion.setNusuarioid(
                    serviceasig.getUserCreacionByBaseLegal(this.getSelectedBaseLegal().getNbaselegalid()));
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);

            loginMB.refreshNotifications();

            pagina = "/index.xhtml";
        }

    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
    return pagina;
}

From source file:pe.gob.mef.gescon.web.ui.PendienteMB.java

public String sendSiRespBase() {
    String pagina = null;//from   w w  w  .j a  v  a2  s .  c o  m
    try {

        if (StringUtils.isBlank(this.getSelectedBaseLegal().getVmsjusuariocreacion())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA,
                    "Campo requerido. Ingrese el mensaje a enviar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            pagina = null;
        } else {
            LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
            User usuario = loginMB.getUser();
            if (this.getChkDestacado()) {
                ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
                HashMap filter = new HashMap();
                filter.put("ntipoconocimientoid", Constante.BASELEGAL);
                BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
                if (cant.intValue() >= 10) {
                    this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                    RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                    return "";
                }
            }
            if (!CollectionUtils.isEmpty(this.getListaTarget())) {
                for (BaseLegal v : this.getListaTarget()) {
                    if (v.getNestadoid().equals(BigDecimal.ZERO)) {
                        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                                "Debe seleccionar el estado de todos los vnculos agregados.");
                        FacesContext.getCurrentInstance().addMessage(null, message);
                        return "";
                    }
                }
            }
            if (this.getSelectedCategoria() != null) {
                this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
            }
            BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
            this.getSelectedBaseLegal()
                    .setVnombre(StringUtils.capitalize(this.getSelectedBaseLegal().getVnombre()));
            this.getSelectedBaseLegal().setVnumero(
                    this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
            this.getSelectedBaseLegal().setNrangoid(this.getSelectedBaseLegal().getNrangoid());
            this.getSelectedBaseLegal()
                    .setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal()
                    .setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal().setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal()
                    .setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal()
                    .setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
            this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
            this.getSelectedBaseLegal()
                    .setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
            this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
            this.getSelectedBaseLegal().setVusuariomodificacion(usuario.getVlogin());
            this.getSelectedBaseLegal().setDfechamodificacion(new Date());
            this.getSelectedBaseLegal()
                    .setVmsjusuariocreacion(this.getSelectedBaseLegal().getVmsjusuariocreacion().toUpperCase());
            service.saveOrUpdate(this.getSelectedBaseLegal());

            BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                    .findBean("BaseLegalHistorialService");
            BaselegalHist hist = serviceHistorial
                    .getLastHistorialByBaselegal(this.getSelectedBaseLegal().getNbaselegalid());

            BaselegalHist baseHist = new BaselegalHist();
            baseHist.setNhistorialid(serviceHistorial.getNextPK());
            baseHist.setNbaselegalid(this.getSelectedBaseLegal().getNbaselegalid());
            baseHist.setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
            baseHist.setVnombre(this.getSelectedBaseLegal().getVnombre());
            baseHist.setVnumero(this.getSelectedBaseLegal().getVnumero());
            baseHist.setNrangoid(this.getSelectedBaseLegal().getNrangoid());
            baseHist.setNgobnacional(this.getSelectedBaseLegal().getNgobnacional());
            baseHist.setNgobregional(this.getSelectedBaseLegal().getNgobregional());
            baseHist.setNgoblocal(this.getSelectedBaseLegal().getNgoblocal());
            baseHist.setNmancomunidades(this.getSelectedBaseLegal().getNmancomunidades());
            baseHist.setNdestacado(this.getSelectedBaseLegal().getNdestacado());
            baseHist.setVsumilla(this.getSelectedBaseLegal().getVsumilla());
            baseHist.setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
            baseHist.setVtema(this.getSelectedBaseLegal().getVtema());
            baseHist.setNactivo(this.getSelectedBaseLegal().getNactivo());
            baseHist.setNestadoid(this.getSelectedBaseLegal().getNestadoid());
            baseHist.setNversion(BigDecimal.valueOf(hist.getNversion().intValue() + 1));
            baseHist.setVusuariocreacion(usuario.getVlogin());
            baseHist.setDfechacreacion(new Date());
            baseHist.setVusuariomodificacion(this.getSelectedBaseLegal().getVusuariomodificacion());
            baseHist.setDfechamodificacion(this.getSelectedBaseLegal().getDfechamodificacion());
            serviceHistorial.saveOrUpdate(baseHist);

            Tbaselegal tbaselegal = new Tbaselegal();
            BeanUtils.copyProperties(tbaselegal, this.getSelectedBaseLegal());

            String ruta0 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                    + BigDecimal.ZERO.toString() + "/";
            String ruta1 = path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "/"
                    + baseHist.getNversion().toString() + "/";

            ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
            Archivo archivo = aservice.getArchivoByBaseLegal(this.getSelectedBaseLegal());
            if (this.getUploadFile() != null) {
                archivo.setVnombre(this.getUploadFile().getFileName());
                archivo.setVruta(ruta0 + archivo.getVnombre());
                archivo.setVusuariomodificacion(usuario.getVlogin());
                archivo.setDfechamodificacion(new Date());
                aservice.saveOrUpdate(archivo);
                saveFile(ruta0);
            }

            ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                    .findBean("ArchivoHistorialService");
            ArchivoHist aHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);

            ArchivoHist archivoHist = new ArchivoHist();
            archivoHist.setNarchivohistid(aserviceHist.getNextPK());
            archivoHist.setNhistorialid(baseHist.getNhistorialid());
            archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
            archivoHist.setVnombre(archivo.getVnombre());
            archivoHist.setVruta(ruta1 + archivo.getVnombre());
            archivoHist.setVusuariocreacion(usuario.getVlogin());
            archivoHist.setDfechacreacion(new Date());
            aserviceHist.saveOrUpdate(archivoHist);
            saveFile(ruta1);

            VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                    .findBean("VinculoBaseLegalService");
            vservice.deleteByBaseLegal(this.getSelectedBaseLegal());
            for (BaseLegal v : this.getListaTarget()) {
                TvinculoBaselegalId id = new TvinculoBaselegalId();
                id.setNbaselegalid(tbaselegal.getNbaselegalid());
                id.setNvinculoid(vservice.getNextPK());
                VinculoBaselegal vinculo = new VinculoBaselegal();
                vinculo.setId(id);
                vinculo.setTbaselegal(tbaselegal);
                vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
                vinculo.setNtipovinculo(v.getNestadoid());
                vinculo.setDfechacreacion(new Date());
                vinculo.setVusuariocreacion(usuario.getVlogin());
                vservice.saveOrUpdate(vinculo);

                BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
                blvinculada.setNestadoid(v.getNestadoid());
                blvinculada.setDfechamodificacion(new Date());
                blvinculada.setVusuariomodificacion(usuario.getVlogin());
                service.saveOrUpdate(blvinculada);

                if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                        || v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                    ConocimientoService cservice = (ConocimientoService) ServiceFinder
                            .findBean("ConocimientoService");
                    List<Consulta> listaConocimientos = cservice
                            .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(usuario.getVlogin());
                        String descHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "html.txt");
                        String descPlain = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "plain.txt");
                        cservice.saveOrUpdate(conocimiento);

                        HistorialService historialService = (HistorialService) ServiceFinder
                                .findBean("HistorialService");
                        Historial lastHistorial = historialService
                                .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                        int lastversion;
                        if (lastHistorial != null) {
                            lastversion = lastHistorial.getNnumversion().intValue();
                        } else {
                            lastversion = 0;
                        }
                        String newpath = "";
                        if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                            newpath = "bl/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                            newpath = "bp/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                            newpath = "ct/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.OPORTUNIDADMEJORA)) {
                            newpath = "om/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                            newpath = "pr/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                            newpath = "wk/";
                        }

                        String url = newpath.concat(conocimiento.getNconocimientoid().toString()).concat("/")
                                .concat(Integer.toString(lastversion + 1)).concat("/");

                        ThistorialId thistorialId = new ThistorialId();
                        thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                        thistorialId.setNhistorialid(historialService.getNextPK());
                        Historial historial = new Historial();
                        historial.setId(thistorialId);
                        historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                        historial.setNcategoriaid(conocimiento.getNcategoriaid());
                        historial.setVtitulo(conocimiento.getVtitulo());
                        historial.setNactivo(BigDecimal.ONE);
                        historial.setNsituacionid(conocimiento.getNsituacionid());
                        historial.setVruta(url);
                        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                        historial.setDfechacreacion(new Date());
                        historial.setVusuariocreacion(usuario.getVlogin());
                        historialService.saveOrUpdate(historial);

                        GcmFileUtils.writeStringToFileServer(url, "html.txt", descHtml);
                        GcmFileUtils.writeStringToFileServer(url, "plain.txt", descPlain);

                        SeccionService seccionService = (SeccionService) ServiceFinder
                                .findBean("SeccionService");
                        SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                .findBean("SeccionHistService");
                        List<Seccion> listaSecc = seccionService
                                .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                        if (!CollectionUtils.isEmpty(listaSecc)) {
                            String url0 = conocimiento.getVruta().concat("s");
                            String url1 = url.concat("s");
                            for (Seccion seccion : listaSecc) {
                                seccion.setDetalleHtml(
                                        GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                seccion.setVruta(ruta0);
                                seccion.setDfechamodificacion(new Date());
                                seccion.setVusuariomodificacion(usuario.getVlogin());
                                seccionService.saveOrUpdate(seccion);

                                seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                                ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                                TseccionHistId tseccionHistId = new TseccionHistId();
                                tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                                tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                                tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                                SeccionHist seccionHist = new SeccionHist();
                                seccionHist.setId(tseccionHistId);
                                seccionHist.setNorden(seccion.getNorden());
                                seccionHist.setVruta(ruta1);
                                seccionHist.setVtitulo(seccion.getVtitulo());
                                seccionHist.setVusuariocreacion(usuario.getVlogin());
                                seccionHist.setDfechacreacion(new Date());
                                seccionHistService.saveOrUpdate(seccionHist);

                                GcmFileUtils.writeStringToFileServer(ruta1, "html.txt",
                                        seccion.getDetalleHtml());
                                GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt",
                                        seccion.getDetallePlain());
                            }
                        }

                        VinculoService vinculoService = (VinculoService) ServiceFinder
                                .findBean("VinculoService");
                        Vinculo vinculoC = new Vinculo();
                        vinculoC.setNvinculoid(vinculoService.getNextPK());
                        vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                        vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                        vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                        vinculoC.setDfechacreacion(new Date());
                        vinculoC.setVusuariocreacion(usuario.getVlogin());
                        vinculoService.saveOrUpdate(vinculoC);

                        List<Vinculo> vinculos = vinculoService
                                .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                        VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                                .findBean("VinculoHistService");
                        for (Vinculo vinc : vinculos) {
                            TvinculoHistId vinculoHistId = new TvinculoHistId();
                            vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                            vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                            vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                            VinculoHist vinculoHist = new VinculoHist();
                            vinculoHist.setId(vinculoHistId);
                            vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                            vinculoHist.setDfechacreacion(new Date());
                            vinculoHist.setVusuariocreacion(usuario.getVlogin());
                            vinculoHistService.saveOrUpdate(vinculoHist);
                        }
                    }
                } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                    ConocimientoService cservice = (ConocimientoService) ServiceFinder
                            .findBean("ConocimientoService");
                    List<Consulta> listaConocimientos = cservice
                            .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getId());
                        conocimiento.setNflgvinculo(BigDecimal.ONE);
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(usuario.getVlogin());
                    }
                }

                VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                        .findBean("VinculoBaselegalHistorialService");
                VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
                vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
                vinculoHist.setNhistorialid(baseHist.getNhistorialid());
                vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
                vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
                vinculoHist.setNtipovinculo(v.getNestadoid());
                vinculoHist.setDfechacreacion(new Date());
                vinculoHist.setVusuariocreacion(usuario.getVlogin());
                vserviceHist.saveOrUpdate(vinculoHist);
            }

            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            this.getSelectedAsignacion().setDfechaatencion(new Date());
            this.getSelectedAsignacion().setNaccionid(BigDecimal.valueOf(Long.parseLong("10")));
            serviceasig.saveOrUpdate(this.getSelectedAsignacion());

            Asignacion asignacion = new Asignacion();
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.BASELEGAL);
            asignacion.setNconocimientoid(this.getSelectedBaseLegal().getNbaselegalid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            CategoriaService categoriaService = (CategoriaService) ServiceFinder.findBean("CategoriaService");
            asignacion.setNusuarioid(categoriaService
                    .getCategoriaById(this.getSelectedBaseLegal().getNcategoriaid()).getNmoderador());
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);

            loginMB.refreshNotifications();

            pagina = "/index.xhtml";
        }

    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
    return pagina;
}