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.BaseLegalMB.java

public void edit(ActionEvent event) {
    try {/*from ww  w . j a va  2s. c  om*/
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNtiporangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNrangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getTipoNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el tipo de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getNumeroNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el nmero de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedBaseLegal().getVnombre())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la sumilla de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getDfechavigencia() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la fecha de publicacin en el diario \"EL PERUANO\".");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (!this.getChkGobNacional() && !this.getChkGobRegional() && !this.getChkGobLocal()
                && !this.getChkMancomunidades()) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione al menos un mbito para la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNdestacado().equals(BigDecimal.ZERO) && 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 (CollectionUtils.isEmpty(this.getListaBaseLegal())) {
            this.setListaBaseLegal(new ArrayList());
        }
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();
        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().setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        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().setNcodigowiki(this.getCodigoWiki());
        this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
        this.getSelectedBaseLegal().setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
        this.getSelectedBaseLegal().setVusuariomodificacion(user.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.setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        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.setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        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(user.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 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + BigDecimal.ZERO.toString() + "\\";
        String txt0 = this.getSelectedBaseLegal().getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", txt0);
        String ruta1 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        String txt1 = baseHist.getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", txt1);

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

        ruta1 = this.path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                .findBean("ArchivoHistorialService");
        ArchivoHist archivoHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);
        archivoHist = archivoHist != null ? 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(user.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(user.getVlogin());
            vservice.saveOrUpdate(vinculo);

            BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
            blvinculada.setNestadoid(v.getNestadoid());
            blvinculada.setDfechamodificacion(new Date());
            blvinculada.setVusuariomodificacion(user.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());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.getVlogin());
                        String descripcionHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "html.txt");
                        String descripcionPlain = 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(user.getVlogin());
                        historialService.saveOrUpdate(historial);

                        GcmFileUtils.writeStringToFileServer(url, "html.txt", descripcionHtml);
                        GcmFileUtils.writeStringToFileServer(url, "plain.txt", descripcionPlain);

                        SeccionService seccionService = (SeccionService) ServiceFinder
                                .findBean("SeccionService");
                        SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                .findBean("SeccionHistService");
                        List<Seccion> listaSeccion = seccionService
                                .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                        if (!CollectionUtils.isEmpty(listaSeccion)) {
                            String url0 = conocimiento.getVruta().concat("s");
                            String url1 = url.concat("s");
                            for (Seccion seccion : listaSeccion) {
                                seccion.setDetalleHtml(
                                        GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                seccion.setVruta(ruta0);
                                seccion.setDfechamodificacion(new Date());
                                seccion.setVusuariomodificacion(user.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(user.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(user.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(user.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());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setNflgvinculo(BigDecimal.ONE);
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.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(user.getVlogin());
            vserviceHist.saveOrUpdate(vinculoHist);
        }

        this.setListaBaseLegal(service.getBaselegales());
        for (BaseLegal bl : this.getListaBaseLegal()) {
            bl.setArchivo(aservice.getArchivoByBaseLegal(bl));
        }
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/baselegal/lista.xhtml");
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
}

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

public void post(ActionEvent event) {
    try {//  ww w.j  av a2  s .c om
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNtiporangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNrangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getTipoNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el tipo de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getNumeroNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el nmero de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedBaseLegal().getVnombre())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la sumilla de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getDfechavigencia() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la fecha de publicacin en el diario \"EL PERUANO\".");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (!this.getChkGobNacional() && !this.getChkGobRegional() && !this.getChkGobLocal()
                && !this.getChkMancomunidades()) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione al menos un mbito para la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNdestacado().equals(BigDecimal.ZERO) && 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 (CollectionUtils.isEmpty(this.getListaBaseLegal())) {
            this.setListaBaseLegal(new ArrayList());
        }
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();
        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().setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        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().setNcodigowiki(this.getCodigoWiki());
        this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
        this.getSelectedBaseLegal().setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
        this.getSelectedBaseLegal()
                .setNestadoid(BigDecimal.valueOf(Long.valueOf(Constante.ESTADO_BASELEGAL_PUBLICADO)));
        this.getSelectedBaseLegal().setDfechapublicacion(new Date());
        this.getSelectedBaseLegal().setVusuariomodificacion(user.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.setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        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.setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        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(user.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 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + BigDecimal.ZERO.toString() + "\\";
        String txt0 = this.getSelectedBaseLegal().getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", txt0);
        String ruta1 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        String txt1 = baseHist.getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", txt1);

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

        ruta1 = this.path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                .findBean("ArchivoHistorialService");
        ArchivoHist archivoHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);
        archivoHist = archivoHist != null ? 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(user.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(user.getVlogin());
            vservice.saveOrUpdate(vinculo);

            BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
            blvinculada.setNestadoid(v.getNestadoid());
            blvinculada.setDfechamodificacion(new Date());
            blvinculada.setVusuariomodificacion(user.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());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.getVlogin());
                        String descripcionHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "html.txt");
                        String descripcionPlain = 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(user.getVlogin());
                        historialService.saveOrUpdate(historial);

                        GcmFileUtils.writeStringToFileServer(url, "html.txt", descripcionHtml);
                        GcmFileUtils.writeStringToFileServer(url, "plain.txt", descripcionPlain);

                        SeccionService seccionService = (SeccionService) ServiceFinder
                                .findBean("SeccionService");
                        SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                .findBean("SeccionHistService");
                        List<Seccion> listaSeccion = seccionService
                                .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                        if (!CollectionUtils.isEmpty(listaSeccion)) {
                            String url0 = conocimiento.getVruta().concat("s");
                            String url1 = url.concat("s");
                            for (Seccion seccion : listaSeccion) {
                                seccion.setDetalleHtml(
                                        GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                seccion.setVruta(ruta0);
                                seccion.setDfechamodificacion(new Date());
                                seccion.setVusuariomodificacion(user.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(user.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(user.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(user.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());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setNflgvinculo(BigDecimal.ONE);
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.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(user.getVlogin());
            vserviceHist.saveOrUpdate(vinculoHist);
        }

        List<Asignacion> listaAsignacion = service.obtenerBaseLegalxAsig(
                this.getSelectedBaseLegal().getNbaselegalid(), user.getNusuarioid(), Constante.BASELEGAL);
        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(listaAsignacion)) {
            Asignacion asignacion = listaAsignacion.get(0);
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            if (asignacion.getDfecharecepcion() == null) {
                asignacion.setDfecharecepcion(new Date());
            }
            asignacion.setDfechaatencion(new Date());
            asignacion.setNaccionid(BigDecimal.valueOf(Long.parseLong("8")));
            AsignacionService asignacionService = (AsignacionService) ServiceFinder
                    .findBean("AsignacionService");
            asignacionService.saveOrUpdate(asignacion);
        }

        this.setListaBaseLegal(service.getBaselegales());
        for (BaseLegal bl : this.getListaBaseLegal()) {
            bl.setArchivo(aservice.getArchivoByBaseLegal(bl));
        }
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/baselegal/lista.xhtml");
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
}

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

public String Publicar() throws Exception {
    String pagina = null;/* w w  w. j a va2  s. c om*/
    try {
        /* Validando si la cantidad de pregutnas destacados lleg al lmite (10 max.).*/
        if (this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.PREGUNTAS);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return "";
            }
        }
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user_savepreg = loginMB.getUser();

        PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService");
        if (this.getSelectedCategoria() == null) {
            this.getSelectedPregunta().setNcategoriaid(this.getSelectedPregunta().getNcategoriaid());
        } else {
            this.getSelectedPregunta().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        }
        this.getSelectedPregunta().setVasunto(this.getSelectedPregunta().getVasunto().trim());
        this.getSelectedPregunta().setVdetalle(this.getSelectedPregunta().getVdetalle().trim());
        this.getSelectedPregunta().setNentidadid(this.getSelectedPregunta().getNentidadid());
        this.getSelectedPregunta().setVrespuesta(this.getSelectedPregunta().getVrespuesta());
        this.getSelectedPregunta().setVdatoadicional(this.getSelectedPregunta().getVdatoadicional().trim());
        this.getSelectedPregunta().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedPregunta().setDfechamodificacion(new Date());
        this.getSelectedPregunta().setVusuariomodificacion(user_savepreg.getVlogin());
        this.getSelectedPregunta().setNsituacionid(BigDecimal.valueOf((long) 6));
        this.getSelectedPregunta().setDfechapublicacion(new Date());
        service.saveOrUpdate(this.getSelectedPregunta());

        RespuestaHistService serviceresp = (RespuestaHistService) ServiceFinder
                .findBean("RespuestaHistService");
        RespuestaHist respuestahist = new RespuestaHist();
        respuestahist.setNhistorialid(serviceresp.getNextPK());
        respuestahist.setNpreguntaid(this.getSelectedPregunta().getNpreguntaid());
        respuestahist.setVrespuesta(this.getSelectedPregunta().getVrespuesta());
        respuestahist.setVusuariocreacion(user_savepreg.getVlogin());
        respuestahist.setDfechacreacion(new Date());
        serviceresp.saveOrUpdate(respuestahist);

        String ruta0 = this.path + this.getSelectedPregunta().getNpreguntaid().toString() + "/"
                + BigDecimal.ZERO.toString() + "/";
        String texto = this.getSelectedPregunta().getVasunto() + " \n "
                + this.getSelectedPregunta().getVdetalle() + " \n "
                + this.getSelectedPregunta().getVrespuesta();
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", texto);

        listaTargetVinculos = new ArrayList<Consulta>();

        if (this.getListaTargetVinculosBL() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBL());
        }
        if (this.getListaTargetVinculosBP() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBP());
        }
        if (this.getListaTargetVinculosCT() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosCT());
        }
        if (this.getListaTargetVinculosOM() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosOM());
        }
        if (this.getListaTargetVinculosPR() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosPR());
        }
        if (this.getListaTargetVinculosWK() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosWK());
        }

        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaTargetVinculos())) {
            VinculoPreguntaService vinculopreguntaService = (VinculoPreguntaService) ServiceFinder
                    .findBean("VinculoPreguntaService");
            service.delete(this.getSelectedPregunta().getNpreguntaid());
            for (Consulta consulta : this.getListaTargetVinculos()) {
                VinculoPregunta vinculopregunta = new VinculoPregunta();
                vinculopregunta.setNvinculoid(vinculopreguntaService.getNextPK());
                vinculopregunta.setNpreguntaid(this.getSelectedPregunta().getNpreguntaid());
                vinculopregunta.setNconocimientovinc(consulta.getIdconocimiento());
                vinculopregunta.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                vinculopregunta.setDfechacreacion(new Date());
                vinculopregunta.setVusuariocreacion(user_savepreg.getVlogin());
                vinculopreguntaService.saveOrUpdate(vinculopregunta);

            }
        }
        pagina = "/pages/pregunta/lista?faces-redirect=true";

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

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

public String update() throws Exception {
    String pagina = "";
    try {/*from ww w.j a v  a 2s . c o m*/
        /* Validando si la cantidad de pregutnas destacados lleg al lmite (10 max.).*/
        if (this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.PREGUNTAS);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return "";
            }
        }
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user_savepreg = loginMB.getUser();

        PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService");
        if (this.getSelectedCategoria() == null) {
            this.getSelectedPregunta().setNcategoriaid(this.getSelectedPregunta().getNcategoriaid());
        } else {
            this.getSelectedPregunta().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        }
        this.getSelectedPregunta().setVasunto(this.getSelectedPregunta().getVasunto().trim());
        this.getSelectedPregunta().setVdetalle(this.getSelectedPregunta().getVdetalle().trim());
        this.getSelectedPregunta().setNentidadid(this.getSelectedPregunta().getNentidadid());
        String html = this.getSelectedPregunta().getVrespuesta();
        if (Jsoup.parse(this.getSelectedPregunta().getVrespuesta()).toString().length() > 400) {
            this.getSelectedPregunta().setVrespuesta(StringUtils.capitalize(
                    Jsoup.parse(this.getSelectedPregunta().getVrespuesta()).toString().substring(0, 300)));
        } else {
            this.getSelectedPregunta().setVrespuesta(
                    StringUtils.capitalize(Jsoup.parse(this.getSelectedPregunta().getVrespuesta()).toString()));
        }
        this.getSelectedPregunta().setVdatoadicional(this.getSelectedPregunta().getVdatoadicional().trim());
        this.getSelectedPregunta().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedPregunta().setDfechamodificacion(new Date());
        this.getSelectedPregunta().setVusuariomodificacion(user_savepreg.getVlogin());
        service.saveOrUpdate(this.getSelectedPregunta());

        RespuestaHistService serviceresp = (RespuestaHistService) ServiceFinder
                .findBean("RespuestaHistService");
        RespuestaHist respuestahist = new RespuestaHist();
        respuestahist.setNhistorialid(serviceresp.getNextPK());
        respuestahist.setNpreguntaid(this.getSelectedPregunta().getNpreguntaid());
        respuestahist.setVrespuesta(this.getSelectedPregunta().getVrespuesta());
        respuestahist.setVusuariocreacion(user_savepreg.getVlogin());
        respuestahist.setDfechacreacion(new Date());
        serviceresp.saveOrUpdate(respuestahist);

        String ruta0 = this.path + this.getSelectedPregunta().getNpreguntaid().toString() + "/"
                + BigDecimal.ZERO.toString() + "/";
        String texto = this.getSelectedPregunta().getVasunto() + " \n "
                + this.getSelectedPregunta().getVdetalle() + " \n " + html;
        GcmFileUtils.writeStringToFileServer(ruta0, "html.txt", texto);
        texto = this.getSelectedPregunta().getVasunto() + " \n " + this.getSelectedPregunta().getVdetalle()
                + " \n " + Jsoup.parse(this.getSelectedPregunta().getVrespuesta());
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", texto);

        listaTargetVinculos = new ArrayList<Consulta>();

        if (this.getListaTargetVinculosBL() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBL());
        }
        if (this.getListaTargetVinculosBP() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBP());
        }
        if (this.getListaTargetVinculosCT() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosCT());
        }
        if (this.getListaTargetVinculosOM() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosOM());
        }
        if (this.getListaTargetVinculosPR() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosPR());
        }
        if (this.getListaTargetVinculosWK() == null) {
        } else {
            this.getListaTargetVinculos().addAll(this.getListaTargetVinculosWK());
        }

        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaTargetVinculos())) {
            VinculoPreguntaService vinculopreguntaService = (VinculoPreguntaService) ServiceFinder
                    .findBean("VinculoPreguntaService");
            service.delete(this.getSelectedPregunta().getNpreguntaid());
            for (Consulta consulta : this.getListaTargetVinculos()) {
                VinculoPregunta vinculopregunta = new VinculoPregunta();
                vinculopregunta.setNvinculoid(vinculopreguntaService.getNextPK());
                vinculopregunta.setNpreguntaid(this.getSelectedPregunta().getNpreguntaid());
                vinculopregunta.setNconocimientovinc(consulta.getIdconocimiento());
                vinculopregunta.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                vinculopregunta.setDfechacreacion(new Date());
                vinculopregunta.setVusuariocreacion(user_savepreg.getVlogin());
                vinculopreguntaService.saveOrUpdate(vinculopregunta);

            }
        }
        pagina = "/pages/pregunta/lista?faces-redirect=true";

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

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

public void edit(ActionEvent event) {
    try {//w  w  w.j a v a  2  s  .c o m
        this.setContenidoHtml(JSFUtils.getRequestParameter("descHtml"));
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora del contenido a editar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedContenido().getVtitulo())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el ttulo del contenido a editar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedContenido().getVdescripcion())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la descripcin del contenido a editar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getContenidoHtml())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el contenido del contenido a editar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedContenido().getNdestacado().equals(BigDecimal.ZERO) && this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.CONTENIDO);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return;
            }
        }
        /* Validando si exiten vnculos de bases legales derogadas */
        int contador = 0;
        if (CollectionUtils.isNotEmpty(this.getListaTargetVinculosBL())) {
            for (Consulta c : this.getListaTargetVinculosBL()) {
                if (c.getIdEstado().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                    contador++;
                }
            }
        }

        if (CollectionUtils.isEmpty(this.getListaContenido())) {
            this.setListaContenido(Collections.EMPTY_LIST);
        }

        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();

        this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
        ContenidoService service = (ContenidoService) ServiceFinder.findBean("ContenidoService");
        this.getSelectedContenido().setVtitulo(this.getSelectedContenido().getVtitulo().trim());
        this.getSelectedContenido().setVdescripcion(this.getSelectedContenido().getVdescripcion().trim());
        if (this.getContenidoPlain().length() < 400) {
            this.getSelectedContenido().setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
        } else {
            this.getSelectedContenido()
                    .setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 400)));
        }
        if (contador > 0) {
            this.getSelectedContenido().setNflgvinculo(BigDecimal.ONE);
        } else {
            this.getSelectedContenido().setNflgvinculo(BigDecimal.ZERO);
        }
        this.getSelectedContenido().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        this.getSelectedContenido().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedContenido().setDfechamodificacion(new Date());
        this.getSelectedContenido().setVusuariomodificacion(user.getVlogin());
        service.saveOrUpdate(this.getSelectedContenido());

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

        HistorialService historialService = (HistorialService) ServiceFinder.findBean("HistorialService");
        Historial lastHistorial = historialService
                .getLastHistorialByConocimiento(this.getSelectedContenido().getNconocimientoid());
        int lastversion;
        if (lastHistorial != null) {
            lastversion = lastHistorial.getNnumversion().intValue();
        } else {
            lastversion = 0;
        }

        String url = this.path.concat(this.getSelectedContenido().getNconocimientoid().toString()).concat("/")
                .concat(Integer.toString(lastversion + 1)).concat("/");

        ThistorialId thistorialId = new ThistorialId();
        thistorialId.setNconocimientoid(this.getSelectedContenido().getNconocimientoid());
        thistorialId.setNhistorialid(historialService.getNextPK());
        Historial historial = new Historial();
        historial.setId(thistorialId);
        historial.setNtipoconocimientoid(Constante.CONTENIDO);
        historial.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        historial.setVdescripcion(this.getSelectedContenido().getVdescripcion());
        historial.setVtitulo(this.getSelectedContenido().getVtitulo());
        if (this.getContenidoPlain().length() < 400) {
            historial.setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
        } else {
            historial.setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 400)));
        }
        historial.setNactivo(BigDecimal.ONE);
        historial.setNsituacionid(this.getSelectedContenido().getNsituacionid());
        historial.setVruta(url);
        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
        historial.setDfechacreacion(new Date());
        historial.setVusuariocreacion(user.getVlogin());
        historialService.saveOrUpdate(historial);

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

        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");
            service.delete(this.getSelectedContenido().getNconocimientoid());
            for (Consulta consulta : this.getListaTargetVinculos()) {
                Vinculo vinculo = new Vinculo();
                vinculo.setNvinculoid(vinculoService.getNextPK());
                vinculo.setNconocimientoid(this.getSelectedContenido().getNconocimientoid());
                vinculo.setNconocimientovinc(consulta.getIdconocimiento());
                vinculo.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                vinculo.setDfechacreacion(new Date());
                vinculo.setVusuariocreacion(user.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.setNtipoconocimientovinc(vinculo.getNtipoconocimientovinc());
                vinculoHist.setDfechacreacion(new Date());
                vinculoHist.setVusuariocreacion(user.getVlogin());
                vinculoHistService.saveOrUpdate(vinculoHist);

            }
        }

        ArchivoConocimientoService aservice = (ArchivoConocimientoService) ServiceFinder
                .findBean("ArchivoConocimientoService");
        service.deleteArchivos(this.getSelectedContenido().getNconocimientoid());
        for (ArchivoConocimiento v : this.getListaArchivos()) {
            ArchivoConocimiento archivoconocimiento = new ArchivoConocimiento();
            archivoconocimiento.setNarchivoid(aservice.getNextPK());
            archivoconocimiento.setNtipoconocimientoid(Constante.CONTENIDO);
            archivoconocimiento.setNconocimientoid(this.getSelectedContenido().getNconocimientoid());
            archivoconocimiento.setVnombre(v.getVnombre());
            archivoconocimiento.setNversion(historial.getNnumversion());
            archivoconocimiento.setNtipoarchivo(v.getNtipoarchivo());
            archivoconocimiento.setVcontenttype(v.getVcontenttype());
            archivoconocimiento.setVruta(path + this.getSelectedContenido().getNconocimientoid().toString()
                    + "/" + archivoconocimiento.getNversion().toString() + "/"
                    + archivoconocimiento.getVnombre());
            archivoconocimiento.setVusuariocreacion(user.getVlogin());
            archivoconocimiento.setDfechacreacion(new Date());
            aservice.saveOrUpdate(archivoconocimiento);
            saveFile(archivoconocimiento);
        }
        this.setListaContenido(service.getContenidos());
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/contenido/lista.xhtml");
    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
}

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

public void post(ActionEvent event) {
    try {//from ww  w  .j av a 2 s .  c om
        this.setContenidoHtml(JSFUtils.getRequestParameter("descHtml"));
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora del contenido a publicar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedContenido().getVtitulo())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el ttulo del contenido a publicar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedContenido().getVdescripcion())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la descripcin del contenido a publicar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getContenidoHtml())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el contenido del contenido a publicar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedContenido().getNdestacado().equals(BigDecimal.ZERO) && this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.CONTENIDO);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return;
            }
        }
        /* Validando si exiten vnculos de bases legales derogadas */
        int contador = 0;
        if (CollectionUtils.isNotEmpty(this.getListaTargetVinculosBL())) {
            for (Consulta c : this.getListaTargetVinculosBL()) {
                if (c.getIdEstado().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                    contador++;
                }
            }
        }
        if (CollectionUtils.isEmpty(this.getListaContenido())) {
            this.setListaContenido(Collections.EMPTY_LIST);
        }

        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();

        ContenidoService service = (ContenidoService) ServiceFinder.findBean("ContenidoService");
        this.setContenidoPlain(Jsoup.parse(this.getContenidoHtml()).text());
        this.getSelectedContenido().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        this.getSelectedContenido().setVtitulo(this.getSelectedContenido().getVtitulo().trim());
        this.getSelectedContenido().setVdescripcion(this.getSelectedContenido().getVdescripcion().trim());
        if (this.getContenidoPlain().length() < 400) {
            this.getSelectedContenido().setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
        } else {
            this.getSelectedContenido()
                    .setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 400)));
        }
        if (contador > 0) {
            this.getSelectedContenido().setNflgvinculo(BigDecimal.ONE);
        } else {
            this.getSelectedContenido().setNflgvinculo(BigDecimal.ZERO);
        }
        this.getSelectedContenido().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedContenido().setDfechamodificacion(new Date());
        this.getSelectedContenido().setDfechapublicacion(new Date());
        this.getSelectedContenido()
                .setNsituacionid(BigDecimal.valueOf(Long.parseLong(Constante.SITUACION_PUBLICADO)));
        this.getSelectedContenido().setVusuariomodificacion(user.getVlogin());
        service.saveOrUpdate(this.getSelectedContenido());

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

        HistorialService historialService = (HistorialService) ServiceFinder.findBean("HistorialService");
        Historial lastHistorial = historialService
                .getLastHistorialByConocimiento(this.getSelectedContenido().getNconocimientoid());
        int lastversion;
        if (lastHistorial != null) {
            lastversion = lastHistorial.getNnumversion().intValue();
        } else {
            lastversion = 0;
        }

        String url = this.path.concat(this.getSelectedContenido().getNconocimientoid().toString()).concat("/")
                .concat(Integer.toString(lastversion + 1)).concat("/");

        ThistorialId thistorialId = new ThistorialId();
        thistorialId.setNconocimientoid(this.getSelectedContenido().getNconocimientoid());
        thistorialId.setNhistorialid(historialService.getNextPK());
        Historial historial = new Historial();
        historial.setId(thistorialId);
        historial.setNtipoconocimientoid(Constante.CONTENIDO);
        historial.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        historial.setVdescripcion(this.getSelectedContenido().getVdescripcion());
        historial.setVtitulo(this.getSelectedContenido().getVtitulo());
        if (this.getContenidoPlain().length() < 400) {
            historial.setVcontenido(StringUtils.capitalize(this.getContenidoPlain()));
        } else {
            historial.setVcontenido(StringUtils.capitalize(this.getContenidoPlain().substring(0, 400)));
        }
        historial.setNactivo(BigDecimal.ONE);
        historial.setNsituacionid(this.getSelectedContenido().getNsituacionid());
        historial.setVruta(url);
        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
        historial.setDfechacreacion(new Date());
        historial.setVusuariocreacion(user.getVlogin());
        historialService.saveOrUpdate(historial);

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

        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");
            service.delete(this.getSelectedContenido().getNconocimientoid());
            for (Consulta consulta : this.getListaTargetVinculos()) {
                Vinculo vinculo = new Vinculo();
                vinculo.setNvinculoid(vinculoService.getNextPK());
                vinculo.setNconocimientoid(this.getSelectedContenido().getNconocimientoid());
                vinculo.setNconocimientovinc(consulta.getIdconocimiento());
                vinculo.setNtipoconocimientovinc(consulta.getIdTipoConocimiento());
                vinculo.setDfechacreacion(new Date());
                vinculo.setVusuariocreacion(user.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.setNtipoconocimientovinc(vinculo.getNtipoconocimientovinc());
                vinculoHist.setDfechacreacion(new Date());
                vinculoHist.setVusuariocreacion(user.getVlogin());
                vinculoHistService.saveOrUpdate(vinculoHist);

            }
        }

        ArchivoConocimientoService aservice = (ArchivoConocimientoService) ServiceFinder
                .findBean("ArchivoConocimientoService");
        service.deleteArchivos(this.getSelectedContenido().getNconocimientoid());
        for (ArchivoConocimiento v : this.getListaArchivos()) {

            ArchivoConocimiento archivoconocimiento = new ArchivoConocimiento();
            archivoconocimiento.setNarchivoid(aservice.getNextPK());
            archivoconocimiento.setNtipoconocimientoid(Constante.CONTENIDO);
            archivoconocimiento.setNconocimientoid(this.getSelectedContenido().getNconocimientoid());
            archivoconocimiento.setVnombre(v.getVnombre());
            archivoconocimiento.setNversion(historial.getNnumversion());
            archivoconocimiento.setNtipoarchivo(v.getNtipoarchivo());
            archivoconocimiento.setVcontenttype(v.getVcontenttype());
            archivoconocimiento.setVruta(path + this.getSelectedContenido().getNconocimientoid().toString()
                    + "/" + archivoconocimiento.getNversion().toString() + "/"
                    + archivoconocimiento.getVnombre());
            archivoconocimiento.setVusuariocreacion(user.getVlogin());
            archivoconocimiento.setDfechacreacion(new Date());
            aservice.saveOrUpdate(archivoconocimiento);
            saveFile(archivoconocimiento);

        }
        this.setListaContenido(service.getContenidos());
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/contenido/lista.xhtml");
    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
}

From source file:org.egov.dao.budget.BudgetDetailsHibernateDAO.java

@Override
public boolean consumeEncumbranceBudget(final Long financialyearid, final Integer moduleid,
        final String referencenumber, final Integer departmentid, final Long functionid,
        final Integer functionaryid, final Integer schemeid, final Integer subschemeid,
        final Integer boundaryid, final List<Long> budgetheadid, final Integer fundid, final double amount,
        final String appropriationnumber) {

    final BigDecimal bd = getDetails(financialyearid, moduleid, referencenumber, departmentid, functionid,
            functionaryid, schemeid, subschemeid, boundaryid, budgetheadid, fundid, amount, true,
            appropriationnumber);/*from w w w .ja v  a  2 s .  c  o  m*/
    return bd.intValue() == 1;
}

From source file:org.apache.torque.oid.IDBroker.java

/**
 * Grabs more ids from the id_table and stores it in the ids
 * Hashtable.  If adjustQuantity is set to true the amount of id's
 * retrieved for each call to storeIDs will be adjusted.
 *
 * @param tableName The name of the table for which we want an id.
 * @param adjustQuantity True if amount should be adjusted.
 * @param connection a Connection/*from  w w w  .j a v  a 2  s  . com*/
 * @exception on a database error.
 */
private synchronized void storeIDs(String tableName, boolean adjustQuantity, Connection connection)
        throws TorqueException {
    log.debug("storeIDs(): Start retrieving ids from database.");
    BigDecimal nextId = null;
    BigDecimal quantity = null;

    // Block on the table.  Multiple tables are allowed to ask for
    // ids simultaneously.
    //        TableMap tMap = dbMap.getTable(tableName);
    //        synchronized(tMap)  see comment in the getNextIds method
    //        {
    if (adjustQuantity) {
        checkTiming(tableName);
    }

    boolean useNewConnection = (connection == null)
            || (configuration.getBoolean(DB_IDBROKER_USENEWCONNECTION, true));
    try {
        if (useNewConnection) {
            connection = Transaction.begin(databaseName);
            if (log.isTraceEnabled()) {
                log.trace("storeIDs(): fetched connection, " + "started transaction.");
            }
        }

        // Write the current value of quantity of keys to grab
        // to the database, primarily to obtain a write lock
        // on the table/row, but this value will also be used
        // as the starting value when an IDBroker is
        // instantiated.
        quantity = getQuantity(tableName, connection);
        updateQuantity(connection, tableName, quantity);

        // Read the next starting ID from the ID_TABLE.
        BigDecimal[] results = selectRow(connection, tableName);
        nextId = results[0]; // NEXT_ID column

        // Update the row based on the quantity in the
        // ID_TABLE.
        BigDecimal newNextId = nextId.add(quantity);
        updateNextId(connection, tableName, newNextId.toString());

        if (useNewConnection) {
            Transaction.commit(connection);
            if (log.isTraceEnabled()) {
                log.trace("storeIDs(): Transaction committed, " + "connection returned");
            }
        }
    } catch (TorqueException e) {
        if (useNewConnection) {
            Transaction.safeRollback(connection);
        }
        throw e;
    }

    List<BigDecimal> availableIds = ids.get(tableName);
    if (availableIds == null) {
        availableIds = new ArrayList<BigDecimal>();
        ids.put(tableName, availableIds);
    }

    // Create the ids and store them in the list of available ids.
    int numId = quantity.intValue();
    for (int i = 0; i < numId; i++) {
        availableIds.add(nextId);
        nextId = nextId.add(BigDecimal.ONE);
    }
    //        }
}

From source file:org.efaps.esjp.ui.print.Table_Base.java

/**
 * Execute for table.//from w  w  w .j a va2s. com
 *
 * @param _parameter Parameter as passed by the eFaps API
 * @param _object the object
 * @param _mime the mime
 * @return the jasper report builder
 * @throws EFapsException on error
 */
protected JasperReportBuilder execute4Table(final Parameter _parameter, final AbstractUIPageObject _object,
        final String _mime) throws EFapsException {
    final String[] oids = (String[]) Context.getThreadContext().getSessionAttribute("selectedOIDs4print");

    final TargetMode mode = "xls".equalsIgnoreCase(_mime) ? TargetMode.PRINT : TargetMode.VIEW;
    final boolean print = mode.equals(TargetMode.VIEW);
    if (!mode.equals(_object.getMode())) {
        _object.resetModel();
        _object.setMode(mode);
        _object.execute();
    }

    final JasperReportBuilder jrb = getBuilder(_parameter, _object, _mime);
    if (print) {
        jrb.setPageMargin(DynamicReports.margin(20)).setPageFormat(PageType.A4, PageOrientation.LANDSCAPE)
                .setColumnHeaderStyle(getStyle(_parameter, Table_Base.Section.HEADER)).highlightDetailEvenRows()
                .pageFooter(DynamicReports.cmp.pageXofY().setStyle(
                        DynamicReports.stl.style().setHorizontalTextAlignment(HorizontalTextAlignment.CENTER)));
    } else {
        jrb.setIgnorePagination(true).setPageMargin(DynamicReports.margin(0));
    }
    final int widthWeight = ((AbstractUIHeaderObject) _object).getWidthWeight();
    final String[] columns = _parameter.getParameterValues("columns");
    final Set<String> selCols = new HashSet<>();
    for (final String col : columns) {
        selCols.add(col);
    }
    final Map<String, Attribute> selAttr = new HashMap<>();
    final List<Map<String, Object>> values = new ArrayList<>();
    if (_object instanceof UITable) {
        for (final UIRow row : ((UITable) _object).getValues()) {
            if (oids == null || ArrayUtils.contains(oids, row.getInstanceKey())) {
                final Map<String, Object> map = new HashMap<>();
                for (final IFilterable filterable : row.getCells()) {
                    if (filterable instanceof UIField) {
                        final UIField uiField = (UIField) filterable;
                        if (selCols.contains(uiField.getFieldConfiguration().getName())) {
                            Object value = print ? uiField.getPickListValue()
                                    : uiField.getCompareValue() != null ? uiField.getCompareValue()
                                            : uiField.getPickListValue();
                            if (value instanceof DateTime) {
                                value = ((DateTime) value).toDate();
                            } else if (uiField.getFactory() != null
                                    && uiField.getFactoryKey().endsWith("DateUIFactory")
                                    && value instanceof String && StringUtils.isEmpty((String) value)) {
                                value = null;
                            }
                            map.put(uiField.getFieldConfiguration().getName(), value);
                            selAttr.put(uiField.getFieldConfiguration().getName(), null);
                        }
                    }
                }
                values.add(map);
            }
        }
    } else if (_object instanceof UIStructurBrowser) {
        final List<UIStructurBrowser> roots = ((UIStructurBrowser) _object).getChildren();
        add2Values4StrBrws(selCols, selAttr, print, values, roots);
    }

    for (final UITableHeader header : ((AbstractUIHeaderObject) _object).getHeaders()) {
        final boolean add;
        if (print) {
            add = selCols.contains(header.getFieldName());
        } else {
            final Field field = Field.get(header.getFieldId());
            add = field.isNoneDisplay(TargetMode.VIEW) && !field.isNoneDisplay(TargetMode.PRINT)
                    || selCols.contains(header.getFieldName());
            if (add && !selCols.contains(header.getFieldName())) {
                selCols.add(header.getFieldName());
            }
        }
        if (add) {
            final BigDecimal width = new BigDecimal(header.getWidth()).setScale(2)
                    .divide(new BigDecimal(widthWeight), BigDecimal.ROUND_HALF_UP)
                    .multiply(new BigDecimal(555));

            TextColumnBuilder<?> clbdr = null;
            final Attribute attr = selAttr.get(header.getFieldName());
            if (attr != null && !print) {
                if (attr.getAttributeType().getDbAttrType() instanceof LongType) {
                    if (checkValues(values, header.getFieldName(), Long.class)) {
                        clbdr = DynamicReports.col.column(header.getLabel(), header.getFieldName(),
                                DynamicReports.type.longType());
                    }
                } else if (attr.getAttributeType().getDbAttrType() instanceof DecimalType) {
                    if (checkValues(values, header.getFieldName(), BigDecimal.class)) {
                        clbdr = DynamicReports.col.column(header.getLabel(), header.getFieldName(),
                                DynamicReports.type.bigDecimalType());
                    }
                } else if (attr.getAttributeType().getDbAttrType() instanceof IntegerType) {
                    clbdr = DynamicReports.col.column(header.getLabel(), header.getFieldName(),
                            DynamicReports.type.integerType());
                } else if (attr.getAttributeType().getDbAttrType() instanceof BooleanType) {
                    if (checkValues(values, header.getFieldName(), Boolean.class)) {
                        clbdr = DynamicReports.col.column(header.getLabel(), header.getFieldName(),
                                DynamicReports.type.booleanType());
                    }
                } else if (attr.getAttributeType().getDbAttrType() instanceof DateTimeType) {
                    if (checkValues(values, header.getFieldName(), Date.class)) {
                        clbdr = DynamicReports.col.column(header.getLabel(), header.getFieldName(),
                                DynamicReports.type.dateType());
                    }
                } else if (attr.getAttributeType().getDbAttrType() instanceof RateType) {
                    clbdr = DynamicReports.col.column(header.getLabel(), header.getFieldName(),
                            DynamicReports.type.bigDecimalType());
                }
            }

            if (clbdr == null) {
                clbdr = getColumnBuilder4Values(values, header);
            }
            if (print) {
                clbdr.setWidth(header.isFixedWidth() ? header.getWidth() : width.intValue());
            }
            jrb.addColumn(clbdr);
        }
    }
    jrb.setLocale(Context.getThreadContext().getLocale()).setDataSource(getSource(_parameter, values));
    return jrb;
}

From source file:eu.europa.ec.fisheries.uvms.rules.service.mapper.fact.ActivityFactMapper.java

private FishingActivityFact getFishingActivityCoreFact(FishingActivity fishingActivity, String partialXpath) {
    FishingActivityFact fishingActivityFact = new FishingActivityFact();

    if (fishingActivity.getSpecifiedDelimitedPeriods() != null) {
        fishingActivityFact//w  ww.j  av  a 2s. c o m
                .setDelimitedPeriods(new ArrayList<>(fishingActivity.getSpecifiedDelimitedPeriods()));
        xPathUtil.appendWithoutWrapping(partialXpath).append(SPECIFIED_DELIMITED_PERIOD)
                .storeInRepo(fishingActivityFact, "delimitedPeriods");
    }
    fishingActivityFact
            .setRelatedFishingTrip(mapRelatedFishingTrips(fishingActivity.getRelatedFishingActivities()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(RELATED_FISHING_ACTIVITY, SPECIFIED_FISHING_TRIP)
            .storeInRepo(fishingActivityFact, "relatedFishingTrip");

    fishingActivityFact.setDurationMeasure(mapDurationMeasure(fishingActivity.getSpecifiedDelimitedPeriods()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(SPECIFIED_DELIMITED_PERIOD, DURATION_MEASURE)
            .storeInRepo(fishingActivityFact, "durationMeasure");

    BigDecimal operatQuantity = fishingActivityOperationsQuantityValue(fishingActivity);
    if (operatQuantity != null) {
        fishingActivityFact.setOperationQuantity(operatQuantity.intValue());
        xPathUtil.appendWithoutWrapping(partialXpath).append(OPERATIONS_QUANTITY)
                .storeInRepo(fishingActivityFact, "operationQuantity");
    }
    fishingActivityFact
            .setRelatedActivityFluxLocations(getFluxLocations(fishingActivity.getRelatedFishingActivities()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(RELATED_FISHING_ACTIVITY, RELATED_FLUX_LOCATION)
            .storeInRepo(fishingActivityFact, "relatedActivityFluxLocations");

    fishingActivityFact.setIsDateProvided(isDatePresent(fishingActivity.getOccurrenceDateTime()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(OCCURRENCE_DATE_TIME).storeInRepo(fishingActivityFact,
            "isDateProvided");

    fishingActivityFact.setFluxCharacteristicsTypeCode(
            getApplicableFLUXCharacteristicsTypeCode(fishingActivity.getSpecifiedFLUXCharacteristics()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(SPECIFIED_FLUX_CHARACTERISTIC, TYPE_CODE)
            .storeInRepo(fishingActivityFact, "fluxCharacteristicsTypeCode");

    fishingActivityFact
            .setRelatedDelimitedPeriods(getDelimitedPeriod(fishingActivity.getRelatedFishingActivities()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(RELATED_FISHING_ACTIVITY, SPECIFIED_DELIMITED_PERIOD)
            .storeInRepo(fishingActivityFact, "relatedDelimitedPeriods");

    if (fishingActivity.getRelatedFishingActivities() != null) {
        fishingActivityFact
                .setRelatedFishingActivities(new ArrayList<>(fishingActivity.getRelatedFishingActivities()));
        xPathUtil.appendWithoutWrapping(partialXpath).append(RELATED_FISHING_ACTIVITY)
                .storeInRepo(fishingActivityFact, RELATED_FISHING_ACTIVITIES_PROP);
    }
    if (fishingActivity.getRelatedFLUXLocations() != null) {
        fishingActivityFact.setRelatedFLUXLocations(new ArrayList<>(fishingActivity.getRelatedFLUXLocations()));
        xPathUtil.appendWithoutWrapping(partialXpath).append(RELATED_FLUX_LOCATION)
                .storeInRepo(fishingActivityFact, RELATED_FLUX_LOCATIONS_PROP);
    }

    fishingActivityFact.setReasonCode(mapToCodeType(fishingActivity.getReasonCode()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(REASON_CODE).storeInRepo(fishingActivityFact,
            REASON_CODE_PROP);

    fishingActivityFact.setFisheryTypeCode(mapToCodeType(fishingActivity.getFisheryTypeCode()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(FISHERY_TYPE_CODE).storeInRepo(fishingActivityFact,
            FISHERY_TYPE_CODE_PROP);

    fishingActivityFact.setSpeciesTargetCode(mapToCodeType(fishingActivity.getSpeciesTargetCode()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(SPECIES_TARGET_CODE).storeInRepo(fishingActivityFact,
            SPECIES_TARGET_CODE_PROP);

    fishingActivityFact.setSpecifiedFishingTrip(fishingActivity.getSpecifiedFishingTrip());
    xPathUtil.appendWithoutWrapping(partialXpath).append(SPECIFIED_FISHING_TRIP)
            .storeInRepo(fishingActivityFact, SPECIFIED_FISHING_TRIP_PROP);

    fishingActivityFact.setTypeCode(mapToCodeType(fishingActivity.getTypeCode()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(TYPE_CODE).storeInRepo(fishingActivityFact,
            TYPE_CODE_PROP);

    fishingActivityFact.setOccurrenceDateTime(getDate(fishingActivity.getOccurrenceDateTime()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(OCCURRENCE_DATE_TIME).storeInRepo(fishingActivityFact,
            OCCURRENCE_DATE_TIME_PROP);

    fishingActivityFact
            .setVesselRelatedActivityCode(mapToCodeType(fishingActivity.getVesselRelatedActivityCode()));
    xPathUtil.appendWithoutWrapping(partialXpath).append(VESSEL_RELATED_ACTIVITY_CODE)
            .storeInRepo(fishingActivityFact, VESSEL_RELATED_ACTIVITY_CODE_PROP);

    fishingActivityFact.setRelatedFluxLocationRFMOCodeList(
            getFLUXLocationRFMOCodes(fishingActivity.getRelatedFLUXLocations()));
    xPathUtil.appendWithoutWrapping(partialXpath)
            .append(RELATED_FLUX_LOCATION, REGIONAL_FISHERIES_MANAGEMENT_ORGANIZATION_CODE)
            .storeInRepo(fishingActivityFact, RELATED_FLUX_LOCATION_RFMO_CODE_LIST_PROP);

    return fishingActivityFact;
}