Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pe.gob.mef.gescon.web.ui; import java.io.Serializable; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; import javax.faces.event.AjaxBehaviorEvent; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.CellStyle; import org.jsoup.Jsoup; import org.primefaces.component.selectonemenu.SelectOneMenu; import org.primefaces.context.RequestContext; import org.primefaces.event.NodeSelectEvent; import org.primefaces.event.TransferEvent; import org.primefaces.model.DefaultTreeNode; import org.primefaces.model.DualListModel; import org.primefaces.model.TreeNode; import org.springframework.util.CollectionUtils; import pe.gob.mef.gescon.common.Constante; import pe.gob.mef.gescon.service.AsignacionService; import pe.gob.mef.gescon.service.CalificacionPreguntaService; import pe.gob.mef.gescon.service.CategoriaService; import pe.gob.mef.gescon.service.ConocimientoService; import pe.gob.mef.gescon.service.ConsultaService; import pe.gob.mef.gescon.service.EntidadService; import pe.gob.mef.gescon.service.PreguntaService; import pe.gob.mef.gescon.service.RespuestaHistService; import pe.gob.mef.gescon.service.UserService; import pe.gob.mef.gescon.service.VinculoPreguntaService; import pe.gob.mef.gescon.util.GcmFileUtils; import pe.gob.mef.gescon.util.JSFUtils; import pe.gob.mef.gescon.util.ServiceFinder; import pe.gob.mef.gescon.web.bean.Asignacion; import pe.gob.mef.gescon.web.bean.CalificacionPregunta; import pe.gob.mef.gescon.web.bean.Categoria; import pe.gob.mef.gescon.web.bean.Consulta; import pe.gob.mef.gescon.web.bean.Entidad; import pe.gob.mef.gescon.web.bean.Pregunta; import pe.gob.mef.gescon.web.bean.RespuestaHist; import pe.gob.mef.gescon.web.bean.User; import pe.gob.mef.gescon.web.bean.VinculoPregunta; /** * * @author JJacobo */ @ManagedBean @SessionScoped public class PreguntaMB implements Serializable { private static final long serialVersionUID = 1L; private static final Log log = LogFactory.getLog(PreguntaMB.class); private final String path = "pr/"; private List<Pregunta> listaPregunta; private List<Pregunta> flistaPregunta; private List<RespuestaHist> listaRespuesta; private List<Asignacion> listaAsignacion; private Pregunta selectedPregunta; private Asignacion selectedAsignacion; private String asunto; private String detalle; private BigDecimal entidadId; private String datoAdicional; private String respuesta; private String msjusuario2; private String msjespecialista; private BigDecimal nsituacion; private String msjmoderador; private String msjusuario1; private String fSInfEspe; //SI Especialista private String fButtonEspe; //Botones Especialista private String fButtonMod;// Botones Moderador private String fButtonModPub;//Botones Moderador Publicar private String fMsjUsu1; //Mensaje 1 Usuario private String fMsjUsu2; //Mensaje 2 Usuario private String fSInfMod; //SI Moderador private String fButton; //Botones UE - ESPE private String fButtonUM; //Botones UE - MOD private String entidad; private String tema; private TreeNode tree; private Categoria selectedCategoria; private Boolean chkDestacado; private BigDecimal idTipoConocimiento; private List<Consulta> listaSourceVinculos; private List<Consulta> listaTargetVinculos; private List<Consulta> listaSourceVinculosBL; private List<Consulta> listaTargetVinculosBL; private List<Consulta> listaSourceVinculosPR; private List<Consulta> listaTargetVinculosPR; private List<Consulta> listaSourceVinculosWK; private List<Consulta> listaTargetVinculosWK; private List<Consulta> listaSourceVinculosOM; private List<Consulta> listaTargetVinculosOM; private List<Consulta> listaSourceVinculosBP; private List<Consulta> listaTargetVinculosBP; private List<Consulta> listaSourceVinculosCT; private List<Consulta> listaTargetVinculosCT; private List<Consulta> listaTargetVinculosConocimiento; private DualListModel<Consulta> pickListPregunta; private BigDecimal cat1; private List<CalificacionPregunta> listaCalificacion; private CalificacionPregunta selectedCalificacion; private BigDecimal calificacion; private String comentarioCalificacion; private List<Consulta> listaDestacados; private Consulta selectedDestacado; private List<Entidad> listaEntidad; private List<Entidad> filteredListaEntidad; private Entidad selectedEntidad; /** * Creates a new instance of MaestroMB */ public PreguntaMB() { } /** * @return the listaPregunta */ public List<Pregunta> getListaPregunta() { return listaPregunta; } /** * @param listaPregunta the listaPregunta to set */ public void setListaPregunta(List<Pregunta> listaPregunta) { this.listaPregunta = listaPregunta; } /** * @return the flistaPregunta */ public List<Pregunta> getFlistaPregunta() { return flistaPregunta; } /** * @param flistaPregunta the flistaPregunta to set */ public void setFlistaPregunta(List<Pregunta> flistaPregunta) { this.flistaPregunta = flistaPregunta; } /** * @return the listaRespuesta */ public List<RespuestaHist> getListaRespuesta() { return listaRespuesta; } /** * @param listaRespuesta the listaRespuesta to set */ public void setListaRespuesta(List<RespuestaHist> listaRespuesta) { this.listaRespuesta = listaRespuesta; } /** * @return the listaAsignacion */ public List<Asignacion> getListaAsignacion() { return listaAsignacion; } /** * @param listaAsignacion the listaAsignacion to set */ public void setListaAsignacion(List<Asignacion> listaAsignacion) { this.listaAsignacion = listaAsignacion; } /** * @return the selectedPregunta */ public Pregunta getSelectedPregunta() { return selectedPregunta; } /** * @param selectedPregunta the selectedPregunta to set */ public void setSelectedPregunta(Pregunta selectedPregunta) { this.selectedPregunta = selectedPregunta; } /** * @return the selectedAsignacion */ public Asignacion getSelectedAsignacion() { return selectedAsignacion; } /** * @param selectedAsignacion the selectedAsignacion to set */ public void setSelectedAsignacion(Asignacion selectedAsignacion) { this.selectedAsignacion = selectedAsignacion; } /** * @return the asunto */ public String getAsunto() { return asunto; } /** * @param asunto the asunto to set */ public void setAsunto(String asunto) { this.asunto = asunto; } /** * @return the detalle */ public String getDetalle() { return detalle; } /** * @param detalle the detalle to set */ public void setDetalle(String detalle) { this.detalle = detalle; } /** * @return the entidadId */ public BigDecimal getEntidadId() { return entidadId; } /** * @param entidadId the entidadId to set */ public void setEntidadId(BigDecimal entidadId) { this.entidadId = entidadId; } /** * @return the datoAdicional */ public String getDatoAdicional() { return datoAdicional; } /** * @param datoAdicional the datoAdicional to set */ public void setDatoAdicional(String datoAdicional) { this.datoAdicional = datoAdicional; } /** * @return the respuesta */ public String getRespuesta() { return respuesta; } /** * @param respuesta the respuesta to set */ public void setRespuesta(String respuesta) { this.respuesta = respuesta; } /** * @return the msjusuario2 */ public String getMsjusuario2() { return msjusuario2; } /** * @param msjusuario2 the msjusuario2 to set */ public void setMsjusuario2(String msjusuario2) { this.msjusuario2 = msjusuario2; } /** * @return the msjespecialista */ public String getMsjespecialista() { return msjespecialista; } /** * @param msjespecialista the msjespecialista to set */ public void setMsjespecialista(String msjespecialista) { this.msjespecialista = msjespecialista; } /** * @return the nsituacion */ public BigDecimal getNsituacion() { return nsituacion; } /** * @param nsituacion the nsituacion to set */ public void setNsituacion(BigDecimal nsituacion) { this.nsituacion = nsituacion; } /** * @return the msjmoderador */ public String getMsjmoderador() { return msjmoderador; } /** * @param msjmoderador the msjmoderador to set */ public void setMsjmoderador(String msjmoderador) { this.msjmoderador = msjmoderador; } /** * @return the msjusuario1 */ public String getMsjusuario1() { return msjusuario1; } /** * @param msjusuario1 the msjusuario1 to set */ public void setMsjusuario1(String msjusuario1) { this.msjusuario1 = msjusuario1; } /** * @return the fSInfEspe */ public String getfSInfEspe() { return fSInfEspe; } /** * @param fSInfEspe the fSInfEspe to set */ public void setfSInfEspe(String fSInfEspe) { this.fSInfEspe = fSInfEspe; } /** * @return the fButtonEspe */ public String getfButtonEspe() { return fButtonEspe; } /** * @param fButtonEspe the fButtonEspe to set */ public void setfButtonEspe(String fButtonEspe) { this.fButtonEspe = fButtonEspe; } /** * @return the fButtonMod */ public String getfButtonMod() { return fButtonMod; } /** * @param fButtonMod the fButtonMod to set */ public void setfButtonMod(String fButtonMod) { this.fButtonMod = fButtonMod; } /** * @return the fButtonModPub */ public String getfButtonModPub() { return fButtonModPub; } /** * @param fButtonModPub the fButtonModPub to set */ public void setfButtonModPub(String fButtonModPub) { this.fButtonModPub = fButtonModPub; } /** * @return the fMsjUsu1 */ public String getfMsjUsu1() { return fMsjUsu1; } /** * @param fMsjUsu1 the fMsjUsu1 to set */ public void setfMsjUsu1(String fMsjUsu1) { this.fMsjUsu1 = fMsjUsu1; } /** * @return the fMsjUsu2 */ public String getfMsjUsu2() { return fMsjUsu2; } /** * @param fMsjUsu2 the fMsjUsu2 to set */ public void setfMsjUsu2(String fMsjUsu2) { this.fMsjUsu2 = fMsjUsu2; } /** * @return the fSInfMod */ public String getfSInfMod() { return fSInfMod; } /** * @param fSInfMod the fSInfMod to set */ public void setfSInfMod(String fSInfMod) { this.fSInfMod = fSInfMod; } /** * @return the fButton */ public String getfButton() { return fButton; } /** * @param fButton the fButton to set */ public void setfButton(String fButton) { this.fButton = fButton; } /** * @return the fButtonUM */ public String getfButtonUM() { return fButtonUM; } /** * @param fButtonUM the fButtonUM to set */ public void setfButtonUM(String fButtonUM) { this.fButtonUM = fButtonUM; } /** * @return the entidad */ public String getEntidad() { return entidad; } /** * @param entidad the entidad to set */ public void setEntidad(String entidad) { this.entidad = entidad; } /** * @return the tema */ public String getTema() { return tema; } /** * @param tema the tema to set */ public void setTema(String tema) { this.tema = tema; } /** * @return the tree */ public TreeNode getTree() { return tree; } /** * @param tree the tree to set */ public void setTree(TreeNode tree) { this.tree = tree; } /** * @return the selectedCategoria */ public Categoria getSelectedCategoria() { return selectedCategoria; } /** * @param selectedCategoria the selectedCategoria to set */ public void setSelectedCategoria(Categoria selectedCategoria) { this.selectedCategoria = selectedCategoria; } public Boolean getChkDestacado() { return chkDestacado; } public void setChkDestacado(Boolean chkDestacado) { this.chkDestacado = chkDestacado; } /** * @return the idTipoConocimiento */ public BigDecimal getIdTipoConocimiento() { return idTipoConocimiento; } /** * @param idTipoConocimiento the idTipoConocimiento to set */ public void setIdTipoConocimiento(BigDecimal idTipoConocimiento) { this.idTipoConocimiento = idTipoConocimiento; } /** * @return the listaSourceVinculos */ public List<Consulta> getListaSourceVinculos() { return listaSourceVinculos; } /** * @param listaSourceVinculos the listaSourceVinculos to set */ public void setListaSourceVinculos(List<Consulta> listaSourceVinculos) { this.listaSourceVinculos = listaSourceVinculos; } /** * @return the listaTargetVinculos */ public List<Consulta> getListaTargetVinculos() { return listaTargetVinculos; } /** * @param listaTargetVinculos the listaTargetVinculos to set */ public void setListaTargetVinculos(List<Consulta> listaTargetVinculos) { this.listaTargetVinculos = listaTargetVinculos; } /** * @return the listaSourceVinculosBL */ public List<Consulta> getListaSourceVinculosBL() { return listaSourceVinculosBL; } /** * @param listaSourceVinculosBL the listaSourceVinculosBL to set */ public void setListaSourceVinculosBL(List<Consulta> listaSourceVinculosBL) { this.listaSourceVinculosBL = listaSourceVinculosBL; } /** * @return the listaTargetVinculosBL */ public List<Consulta> getListaTargetVinculosBL() { return listaTargetVinculosBL; } /** * @param listaTargetVinculosBL the listaTargetVinculosBL to set */ public void setListaTargetVinculosBL(List<Consulta> listaTargetVinculosBL) { this.listaTargetVinculosBL = listaTargetVinculosBL; } /** * @return the listaSourceVinculosPR */ public List<Consulta> getListaSourceVinculosPR() { return listaSourceVinculosPR; } /** * @param listaSourceVinculosPR the listaSourceVinculosPR to set */ public void setListaSourceVinculosPR(List<Consulta> listaSourceVinculosPR) { this.listaSourceVinculosPR = listaSourceVinculosPR; } /** * @return the listaTargetVinculosPR */ public List<Consulta> getListaTargetVinculosPR() { return listaTargetVinculosPR; } /** * @param listaTargetVinculosPR the listaTargetVinculosPR to set */ public void setListaTargetVinculosPR(List<Consulta> listaTargetVinculosPR) { this.listaTargetVinculosPR = listaTargetVinculosPR; } /** * @return the listaSourceVinculosWK */ public List<Consulta> getListaSourceVinculosWK() { return listaSourceVinculosWK; } /** * @param listaSourceVinculosWK the listaSourceVinculosWK to set */ public void setListaSourceVinculosWK(List<Consulta> listaSourceVinculosWK) { this.listaSourceVinculosWK = listaSourceVinculosWK; } /** * @return the listaTargetVinculosWK */ public List<Consulta> getListaTargetVinculosWK() { return listaTargetVinculosWK; } /** * @param listaTargetVinculosWK the listaTargetVinculosWK to set */ public void setListaTargetVinculosWK(List<Consulta> listaTargetVinculosWK) { this.listaTargetVinculosWK = listaTargetVinculosWK; } /** * @return the listaSourceVinculosOM */ public List<Consulta> getListaSourceVinculosOM() { return listaSourceVinculosOM; } /** * @param listaSourceVinculosOM the listaSourceVinculosOM to set */ public void setListaSourceVinculosOM(List<Consulta> listaSourceVinculosOM) { this.listaSourceVinculosOM = listaSourceVinculosOM; } /** * @return the listaTargetVinculosOM */ public List<Consulta> getListaTargetVinculosOM() { return listaTargetVinculosOM; } /** * @param listaTargetVinculosOM the listaTargetVinculosOM to set */ public void setListaTargetVinculosOM(List<Consulta> listaTargetVinculosOM) { this.listaTargetVinculosOM = listaTargetVinculosOM; } /** * @return the listaSourceVinculosBP */ public List<Consulta> getListaSourceVinculosBP() { return listaSourceVinculosBP; } /** * @param listaSourceVinculosBP the listaSourceVinculosBP to set */ public void setListaSourceVinculosBP(List<Consulta> listaSourceVinculosBP) { this.listaSourceVinculosBP = listaSourceVinculosBP; } /** * @return the listaTargetVinculosBP */ public List<Consulta> getListaTargetVinculosBP() { return listaTargetVinculosBP; } /** * @param listaTargetVinculosBP the listaTargetVinculosBP to set */ public void setListaTargetVinculosBP(List<Consulta> listaTargetVinculosBP) { this.listaTargetVinculosBP = listaTargetVinculosBP; } /** * @return the listaSourceVinculosCT */ public List<Consulta> getListaSourceVinculosCT() { return listaSourceVinculosCT; } /** * @param listaSourceVinculosCT the listaSourceVinculosCT to set */ public void setListaSourceVinculosCT(List<Consulta> listaSourceVinculosCT) { this.listaSourceVinculosCT = listaSourceVinculosCT; } /** * @return the listaTargetVinculosCT */ public List<Consulta> getListaTargetVinculosCT() { return listaTargetVinculosCT; } /** * @param listaTargetVinculosCT the listaTargetVinculosCT to set */ public void setListaTargetVinculosCT(List<Consulta> listaTargetVinculosCT) { this.listaTargetVinculosCT = listaTargetVinculosCT; } /** * @return the listaTargetVinculosConocimiento */ public List<Consulta> getListaTargetVinculosConocimiento() { return listaTargetVinculosConocimiento; } /** * @param listaTargetVinculosConocimiento the * listaTargetVinculosConocimiento to set */ public void setListaTargetVinculosConocimiento(List<Consulta> listaTargetVinculosConocimiento) { this.listaTargetVinculosConocimiento = listaTargetVinculosConocimiento; } /** * @return the pickListPregunta */ public DualListModel<Consulta> getPickListPregunta() { return pickListPregunta; } /** * @param pickListPregunta the pickListPregunta to set */ public void setPickListPregunta(DualListModel<Consulta> pickListPregunta) { this.pickListPregunta = pickListPregunta; } public BigDecimal getCat1() { return cat1; } public void setCat1(BigDecimal cat1) { this.cat1 = cat1; } public List<CalificacionPregunta> getListaCalificacion() { return listaCalificacion; } public void setListaCalificacion(List<CalificacionPregunta> listaCalificacion) { this.listaCalificacion = listaCalificacion; } public CalificacionPregunta getSelectedCalificacion() { return selectedCalificacion; } public void setSelectedCalificacion(CalificacionPregunta selectedCalificacion) { this.selectedCalificacion = selectedCalificacion; } public BigDecimal getCalificacion() { return calificacion; } public void setCalificacion(BigDecimal calificacion) { this.calificacion = calificacion; } public String getComentarioCalificacion() { return comentarioCalificacion; } public void setComentarioCalificacion(String comentarioCalificacion) { this.comentarioCalificacion = comentarioCalificacion; } public List<Consulta> getListaDestacados() { return listaDestacados; } public void setListaDestacados(List<Consulta> listaDestacados) { this.listaDestacados = listaDestacados; } public Consulta getSelectedDestacado() { return selectedDestacado; } public void setSelectedDestacado(Consulta selectedDestacado) { this.selectedDestacado = selectedDestacado; } /** * @return the listaEntidad */ public List<Entidad> getListaEntidad() { return listaEntidad; } /** * @param listaEntidad the listaEntidad to set */ public void setListaEntidad(List<Entidad> listaEntidad) { this.listaEntidad = listaEntidad; } /** * @return the filteredListaEntidad */ public List<Entidad> getFilteredListaEntidad() { return filteredListaEntidad; } /** * @param filteredListaEntidad the filteredListaEntidad to set */ public void setFilteredListaEntidad(List<Entidad> filteredListaEntidad) { this.filteredListaEntidad = filteredListaEntidad; } /** * @return the selectedEntidad */ public Entidad getSelectedEntidad() { return selectedEntidad; } /** * @param selectedEntidad the selectedEntidad to set */ public void setSelectedEntidad(Entidad selectedEntidad) { this.selectedEntidad = selectedEntidad; } @PostConstruct public void init() { try { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); listaPregunta = service.getPreguntas(); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void cleanAttributes() { this.setSelectedCategoria(null); this.setEntidad(StringUtils.EMPTY); this.setEntidadId(null); this.setAsunto(StringUtils.EMPTY); this.setDetalle(StringUtils.EMPTY); this.setDatoAdicional(StringUtils.EMPTY); Iterator<FacesMessage> iter = FacesContext.getCurrentInstance().getMessages(); if (iter.hasNext() == true) { iter.remove(); FacesContext.getCurrentInstance().renderResponse(); } } public void clearCalificacion() { try { this.setSelectedCalificacion(null); this.setComentarioCalificacion(StringUtils.EMPTY); this.setCalificacion(null); Iterator<FacesMessage> iter = FacesContext.getCurrentInstance().getMessages(); if (iter.hasNext() == true) { iter.remove(); FacesContext.getCurrentInstance().renderResponse(); } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void loadTree(ActionEvent event) { try { if (this.getTree() == null) { CategoriaService service = (CategoriaService) ServiceFinder.findBean("CategoriaService"); createTree(service.getCategoriasActived()); } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void createTree(List<Categoria> lista) { try { for (Categoria ele : lista) { String id = ele.getNcategoriasup() != null ? ele.getNcategoriasup().toString() : null; if (id != null) { TreeNode parent = this.getNodeByIdCategoria(this.getTree(), id); TreeNode node = new DefaultTreeNode(ele, parent); node.setParent(parent); } else { this.setTree(new DefaultTreeNode(ele, this.getTree())); } } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public TreeNode getNodeByIdCategoria(TreeNode treeNode, String idCategoria) { try { if (treeNode != null) { Categoria categoria = (Categoria) treeNode.getData(); if (categoria.getNcategoriaid().toString().equals(idCategoria)) { return treeNode; } List<TreeNode> lista = treeNode.getChildren(); if (lista != null && !lista.isEmpty()) { for (TreeNode node : lista) { if (node != null) { TreeNode tn = this.getNodeByIdCategoria(node, idCategoria); if (tn != null) { return tn; } } } } } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } return null; } public void onNodeSelect(NodeSelectEvent event) { try { if (event != null) { this.setSelectedCategoria((Categoria) event.getTreeNode().getData()); this.selectedPregunta.setNcategoriaid(this.selectedCategoria.getNcategoriaid()); } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void toDeleteOutstanding(ActionEvent event) { try { if (event != null) { int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedDestacado(this.getListaDestacados().get(index)); } } catch (Exception e) { e.getMessage(); } } public void deleteOutstanding(ActionEvent event) { try { if (event != null) { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); Pregunta pregunta = service.getPreguntaById(this.getSelectedDestacado().getIdconocimiento()); if (pregunta != null) { LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB"); User user = loginMB.getUser(); pregunta.setNdestacado(BigDecimal.ZERO); pregunta.setVusuariomodificacion(user.getVlogin()); pregunta.setDfechamodificacion(new Date()); service.saveOrUpdate(pregunta); ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService"); HashMap filter = new HashMap(); filter.put("ntipoconocimientoid", Constante.PREGUNTAS); this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter)); } } } catch (Exception e) { e.getMessage(); } } public String toSave() { try { this.cleanAttributes(); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } return "/pages/pregunta/nuevo?faces-redirect=true"; } public void toEnt(ActionEvent event) { // try { // PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); // this.setEntidad(service.getNomEntidadbyIdEntidad(this.getEntidadId())); // } catch (Exception e) { // log.error(e.getMessage()); // e.printStackTrace(); // } try { if (event != null) { EntidadService service = (EntidadService) ServiceFinder.findBean("EntidadService"); this.setListaEntidad(service.getEntidadesUbigeo()); } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void SeleccionarE(ActionEvent event) { try { if (event != null) { int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); if (!CollectionUtils.isEmpty(this.getFilteredListaEntidad())) { this.setSelectedEntidad(this.getFilteredListaEntidad().get(index)); this.setEntidad(this.getSelectedEntidad().getVnombre()); this.setEntidadId( BigDecimal.valueOf(Long.parseLong(this.getSelectedEntidad().getVcodigoentidad()))); } else { this.setSelectedEntidad(this.getListaEntidad().get(index)); this.setEntidad(this.getSelectedEntidad().getVnombre()); this.setEntidadId( BigDecimal.valueOf(Long.parseLong(this.getSelectedEntidad().getVcodigoentidad()))); } this.setFilteredListaEntidad(new ArrayList()); } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void SeleccionarEP(ActionEvent event) { try { if (event != null) { int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); if (!CollectionUtils.isEmpty(this.getFilteredListaEntidad())) { this.setSelectedEntidad(this.getFilteredListaEntidad().get(index)); this.setEntidad(this.getSelectedEntidad().getVnombre()); this.getSelectedPregunta().setNentidadid( BigDecimal.valueOf(Long.parseLong(this.getSelectedEntidad().getVcodigoentidad()))); } else { this.setSelectedEntidad(this.getListaEntidad().get(index)); this.setEntidad(this.getSelectedEntidad().getVnombre()); this.getSelectedPregunta().setNentidadid( BigDecimal.valueOf(Long.parseLong(this.getSelectedEntidad().getVcodigoentidad()))); } this.setFilteredListaEntidad(new ArrayList()); } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void toEntEdit(ActionEvent event) { try { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.setEntidad(service.getNomEntidadbyIdEntidad(this.getSelectedPregunta().getNentidadid())); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public String save() throws Exception { String pagina = ""; try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } BigDecimal idperfil; LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB"); User user = loginMB.getUser(); Pregunta pregunta = new Pregunta(); PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); pregunta.setNpreguntaid(service.getNextPK()); pregunta.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid()); pregunta.setVasunto(this.getAsunto().trim()); pregunta.setVdetalle(this.getDetalle().trim()); pregunta.setNentidadid(this.getEntidadId()); pregunta.setVdatoadicional(this.getDatoAdicional().trim()); pregunta.setNdestacado(BigDecimal.ZERO); pregunta.setNactivo(BigDecimal.ONE); pregunta.setDfechacreacion(new Date()); pregunta.setVusuariocreacion(user.getVlogin()); if (this.getSelectedCategoria().getNflagbp().equals(BigDecimal.ONE)) { pregunta.setNsituacionid(BigDecimal.valueOf(Long.parseLong(Constante.SITUACION_POR_VERIFICAR))); } else { pregunta.setNsituacionid(BigDecimal.valueOf(Long.parseLong(Constante.SITUACION_PUBLICADO))); pregunta.setDfechapublicacion(new Date()); } service.saveOrUpdate(pregunta); String ruta0 = this.path + pregunta.getNpreguntaid().toString() + "/" + BigDecimal.ZERO.toString() + "/"; String texto = pregunta.getVasunto() + " \n " + pregunta.getVdetalle() + " \n " + pregunta.getVrespuesta(); GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", texto); if (this.getSelectedCategoria().getNflagpr().toString().equals("1")) { Asignacion asignacion = new Asignacion(); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(pregunta.getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); CategoriaService categoriaService = (CategoriaService) ServiceFinder.findBean("CategoriaService"); asignacion.setNusuarioid( categoriaService.getCategoriaById(pregunta.getNcategoriaid()).getNmoderador()); asignacion.setDfechaasignacion(new Date()); asignacion.setDfechacreacion(new Date()); serviceasig.saveOrUpdate(asignacion); } idperfil = service.obtenerPerfilxUsuario(user.getNusuarioid()); if (Integer.parseInt(idperfil.toString()) != Constante.USUARIOEXTERNO) { pagina = "/pages/pregunta/lista?faces-redirect=true"; } else { pagina = "/index?faces-redirect=true"; } listaPregunta = service.getPreguntas(); RequestContext.getCurrentInstance().execute("PF('newDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } return pagina; } public void activar(ActionEvent event) { try { if (event != null) { if (this.getSelectedPregunta() != null) { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setNactivo(BigDecimal.ONE); this.getSelectedPregunta().setDfechamodificacion(new Date()); // this.getSelectedMaestro().setVusumod(user.getUsuario()); service.saveOrUpdate(this.getSelectedPregunta()); this.setListaPregunta(service.getPreguntas()); } else { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Debe seleccionar la pregunta a activar."); FacesContext.getCurrentInstance().addMessage(null, message); } } } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void desactivar(ActionEvent event) { try { if (event != null) { if (this.getSelectedPregunta() != null) { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setNactivo(BigDecimal.ZERO); this.getSelectedPregunta().setDfechamodificacion(new Date()); // this.getSelectedMaestro().setVusumod(user.getUsuario()); service.saveOrUpdate(this.getSelectedPregunta()); this.setListaPregunta(service.getPreguntas()); } else { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Debe seleccionar la base legal a desactivar."); FacesContext.getCurrentInstance().addMessage(null, message); } } } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public String toSee() { String pagina = null; try { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedPregunta(this.getListaPregunta().get(index)); String ruta0 = this.path + this.getSelectedPregunta().getNpreguntaid().toString() + "/" + BigDecimal.ZERO.toString() + "/"; this.getSelectedPregunta().setVrespuesta(GcmFileUtils.readStringFromFileServer(ruta0, "html.txt")); this.setEntidadId(this.getSelectedPregunta().getNentidadid()); this.setEntidad(service.getNomEntidadbyIdEntidad(this.getSelectedPregunta().getNentidadid())); this.setListaSourceVinculos(new ArrayList<Consulta>()); this.setListaTargetVinculos(new ArrayList<Consulta>()); this.setPickListPregunta( new DualListModel<Consulta>(this.getListaSourceVinculos(), this.getListaTargetVinculos())); this.listaTargetVinculosConocimiento = new ArrayList<Consulta>(); this.listaTargetVinculosBL = new ArrayList<Consulta>(); this.listaTargetVinculosPR = new ArrayList<Consulta>(); this.listaTargetVinculosWK = new ArrayList<Consulta>(); this.listaTargetVinculosCT = new ArrayList<Consulta>(); this.listaTargetVinculosBP = new ArrayList<Consulta>(); this.listaTargetVinculosOM = new ArrayList<Consulta>(); HashMap filters = new HashMap(); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("1"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosBL().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("2"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosPR().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("3"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosWK().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("4"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosCT().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("5"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosBP().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("6"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosOM().addAll(service.getConcimientosVinculados(filters)); if (this.getListaTargetVinculosBL() != null) { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBL()); } if (this.getListaTargetVinculosBP() != null) { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBP()); } if (this.getListaTargetVinculosCT() != null) { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosCT()); } if (this.getListaTargetVinculosOM() != null) { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosOM()); } if (this.getListaTargetVinculosWK() != null) { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosWK()); } pagina = "/pages/pregunta/ver?faces-redirect=true"; } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } return pagina; } public void toCancel(ActionEvent event) { try { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); listaPregunta = service.getPreguntas(); RequestContext.getCurrentInstance().execute("PF('respDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('modDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('modpubDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void Rechazar(ActionEvent event) { try { PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setNsituacionid(BigDecimal.valueOf(Long.parseLong("7"))); service.saveOrUpdate(this.getSelectedPregunta()); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('modDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toCancelSi(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('siDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toCancelSiMod(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('simodDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toCancelRespUsu(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('respusuDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toCancelRespUsuMod(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('respmodDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toSi(ActionEvent event) { try { } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toMod(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('seeDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toModPub(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('seeDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toResp(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('seeDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toCancelRespEdit(ActionEvent event) { try { RequestContext.getCurrentInstance().execute("PF('editrespDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('editpregDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('editpubDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toRespUsu(ActionEvent event) { try { this.cleanAttributes(); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void toRespUsuMod(ActionEvent event) { try { this.cleanAttributes(); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void saveResp(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB"); User user = loginMB.getUser(); BigDecimal cat2; PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setVrespuesta(this.getSelectedPregunta().getVrespuesta().toUpperCase()); this.getSelectedPregunta().setNcategoriaid(this.getSelectedPregunta().getNcategoriaid()); cat2 = this.getSelectedPregunta().getNcategoriaid(); if (Integer.parseInt(getCat1().toString()) != Integer.parseInt(cat2.toString())) { this.getSelectedPregunta().setNsituacionid(BigDecimal.valueOf(Long.parseLong("3"))); } else { this.getSelectedPregunta().setNsituacionid(BigDecimal.valueOf(Long.parseLong("6"))); } service.saveOrUpdate(this.getSelectedPregunta()); 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.getVlogin()); vinculopreguntaService.saveOrUpdate(vinculopregunta); } } this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('respDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void sendUsu(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } if (StringUtils.isBlank(this.getSelectedPregunta().getVmsjusuario2())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Nombre requerido. Ingrese el nombre de perfil."); FacesContext.getCurrentInstance().addMessage(null, message); return; } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setVmsjusuario2(this.getSelectedPregunta().getVmsjusuario2().toUpperCase()); service.saveOrUpdate(this.getSelectedPregunta()); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); this.getSelectedAsignacion().setDfechaatencion(new Date()); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); Asignacion asignacion = new Asignacion(); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(this.getSelectedPregunta().getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); asignacion.setNusuarioid(BigDecimal.valueOf(Long.parseLong("3"))); asignacion.setDfechacreacion(new Date()); asignacion.setDfechaasignacion(new Date()); serviceasig.saveOrUpdate(asignacion); this.fMsjUsu2 = "true"; this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('respusuDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('seeDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void sendUsuMod(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } if (StringUtils.isBlank(this.getSelectedPregunta().getVmsjusuario1())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Nombre requerido. Ingrese el nombre de perfil."); FacesContext.getCurrentInstance().addMessage(null, message); return; } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setVmsjusuario1(this.getSelectedPregunta().getVmsjusuario1().toUpperCase()); service.saveOrUpdate(this.getSelectedPregunta()); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); this.getSelectedAsignacion().setDfechaatencion(new Date()); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); Asignacion asignacion = new Asignacion(); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(this.getSelectedPregunta().getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); asignacion.setNusuarioid(BigDecimal.valueOf(Long.parseLong("2"))); asignacion.setDfechacreacion(new Date()); asignacion.setDfechaasignacion(new Date()); serviceasig.saveOrUpdate(asignacion); this.fMsjUsu1 = "true"; this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('respmodDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('seeDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void sendSi(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } if (StringUtils.isBlank(this.getSelectedPregunta().getVmsjespecialista())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Nombre requerido. Ingrese el nombre de perfil."); FacesContext.getCurrentInstance().addMessage(null, message); return; } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta() .setVmsjespecialista(this.getSelectedPregunta().getVmsjespecialista().toUpperCase()); service.saveOrUpdate(this.getSelectedPregunta()); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); this.getSelectedAsignacion().setDfechaatencion(new Date()); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); Asignacion asignacion = new Asignacion(); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(this.getSelectedPregunta().getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); asignacion.setNusuarioid(BigDecimal.valueOf(Long.parseLong("4"))); asignacion.setDfechacreacion(new Date()); asignacion.setDfechaasignacion(new Date()); serviceasig.saveOrUpdate(asignacion); this.fSInfEspe = "true"; this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('siDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('respDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void sendSiMod(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } if (StringUtils.isBlank(this.getSelectedPregunta().getVmsjmoderador())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Nombre requerido. Ingrese el nombre de perfil."); FacesContext.getCurrentInstance().addMessage(null, message); return; } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta() .setVmsjmoderador(this.getSelectedPregunta().getVmsjmoderador().toUpperCase()); service.saveOrUpdate(this.getSelectedPregunta()); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); this.getSelectedAsignacion().setDfechaatencion(new Date()); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); Asignacion asignacion = new Asignacion(); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(this.getSelectedPregunta().getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); asignacion.setNusuarioid(BigDecimal.valueOf(Long.parseLong("4"))); asignacion.setDfechaasignacion(new Date()); asignacion.setDfechacreacion(new Date()); serviceasig.saveOrUpdate(asignacion); this.fSInfMod = "true"; this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('simodDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('modDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public String Publicar() throws Exception { String pagina = null; 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; } public void Responder(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } if (StringUtils.isBlank(this.getSelectedPregunta().getVrespuesta())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA, "Campo requerido. Ingrese la respuesta."); FacesContext.getCurrentInstance().addMessage(null, message); return; } LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB"); User user = loginMB.getUser(); PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setNsituacionid(BigDecimal.valueOf(Long.parseLong("5"))); 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())); } service.saveOrUpdate(this.getSelectedPregunta()); 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); 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.getVlogin()); vinculopreguntaService.saveOrUpdate(vinculopregunta); } } AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); this.getSelectedAsignacion().setDfechaatencion(new Date()); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); Asignacion asignacion = new Asignacion(); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(this.getSelectedPregunta().getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); asignacion.setNusuarioid(BigDecimal.valueOf(Long.parseLong("2"))); asignacion.setDfechacreacion(new Date()); asignacion.setDfechaasignacion(new Date()); serviceasig.saveOrUpdate(asignacion); this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('respDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void DevEsp(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); this.getSelectedPregunta().setNsituacionid(BigDecimal.valueOf(Long.parseLong("2"))); service.saveOrUpdate(this.getSelectedPregunta()); AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService"); this.getSelectedAsignacion().setNestadoid(BigDecimal.valueOf(Long.parseLong("2"))); this.getSelectedAsignacion().setDfechaatencion(new Date()); serviceasig.saveOrUpdate(this.getSelectedAsignacion()); Asignacion asignacion = new Asignacion(); asignacion.setNasignacionid(serviceasig.getNextPK()); asignacion.setNtipoconocimientoid(Constante.PREGUNTAS); asignacion.setNconocimientoid(this.getSelectedPregunta().getNpreguntaid()); asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1"))); asignacion.setNusuarioid(BigDecimal.valueOf(Long.parseLong("3"))); asignacion.setDfechacreacion(new Date()); asignacion.setDfechaasignacion(new Date()); serviceasig.saveOrUpdate(asignacion); this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('modDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void saveRespEdit(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); 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().setNcategoriaid(this.getSelectedPregunta().getNcategoriaid()); this.getSelectedPregunta().setVasunto(this.getSelectedPregunta().getVasunto().trim()); this.getSelectedPregunta().setVdetalle(this.getSelectedPregunta().getVdetalle().trim()); this.getSelectedPregunta().setNentidadid(this.getSelectedPregunta().getNentidadid()); this.getSelectedPregunta().setVdatoadicional(this.getSelectedPregunta().getVdatoadicional().trim()); this.getSelectedPregunta().setDfechamodificacion(new Date()); service.saveOrUpdate(this.getSelectedPregunta()); 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); this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('editrespDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('editpregDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void savePregEdit(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); 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().setNcategoriaid(this.getSelectedPregunta().getNcategoriaid()); this.getSelectedPregunta().setVasunto(this.getSelectedPregunta().getVasunto().trim()); this.getSelectedPregunta().setVdetalle(this.getSelectedPregunta().getVdetalle().trim()); this.getSelectedPregunta().setNentidadid(this.getSelectedPregunta().getNentidadid()); this.getSelectedPregunta().setVdatoadicional(this.getSelectedPregunta().getVdatoadicional().trim()); this.getSelectedPregunta().setDfechamodificacion(new Date()); service.saveOrUpdate(this.getSelectedPregunta()); 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); this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('editrespDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('editpregDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void savePubEdit(ActionEvent event) throws Exception { try { if (CollectionUtils.isEmpty(this.getListaPregunta())) { this.setListaPregunta(Collections.EMPTY_LIST); } PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); if (StringUtils.isNotBlank(this.getSelectedPregunta().getVrespuesta()) && this.getSelectedPregunta().getVrespuesta().length() > 400) { this.getSelectedPregunta().setVrespuesta( StringUtils.capitalize(this.getSelectedPregunta().getVrespuesta().substring(0, 300))); } this.getSelectedPregunta().setVasunto(this.getSelectedPregunta().getVasunto().trim()); this.getSelectedPregunta().setVdetalle(this.getSelectedPregunta().getVdetalle().trim()); this.getSelectedPregunta().setNentidadid(this.getSelectedPregunta().getNentidadid()); this.getSelectedPregunta().setVdatoadicional(this.getSelectedPregunta().getVdatoadicional().trim()); this.getSelectedPregunta().setDfechamodificacion(new Date()); service.saveOrUpdate(this.getSelectedPregunta()); 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, "html.txt", texto); texto = this.getSelectedPregunta().getVasunto() + " \n " + this.getSelectedPregunta().getVdetalle() + " \n " + Jsoup.parse(this.getSelectedPregunta().getVrespuesta()); GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", texto); this.setListaPregunta(service.getPreguntas()); RequestContext.getCurrentInstance().execute("PF('editrespDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('editpregDialog').hide();"); RequestContext.getCurrentInstance().execute("PF('editpubDialog').hide();"); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public String toHistorial() { String pagina = null; try { int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedPregunta(this.getListaPregunta().get(index)); RespuestaHistService serviceresp = (RespuestaHistService) ServiceFinder .findBean("RespuestaHistService"); this.setListaRespuesta(serviceresp.getHistorialByPregunta(this.getSelectedPregunta().getNpreguntaid())); pagina = "/pages/respuestaHistorial?faces-redirect=true"; } catch (Exception e) { e.getMessage(); e.printStackTrace(); } return pagina; } public void toAddCalificacion(ActionEvent event) { try { this.clearCalificacion(); } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void addCalificacion(ActionEvent event) { try { if (this.getCalificacion() == null) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.", "Ingrese la calificacion al wiki."); FacesContext.getCurrentInstance().addMessage(null, message); return; } if (StringUtils.isBlank(this.getComentarioCalificacion())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.", "Ingrese un comentario al wiki."); FacesContext.getCurrentInstance().addMessage(null, message); return; } LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB"); User user = loginMB.getUser(); CalificacionPreguntaService calificacionService = (CalificacionPreguntaService) ServiceFinder .findBean("CalificacionPreguntaService"); CalificacionPregunta cal = new CalificacionPregunta(); cal.setNcalificacionid(calificacionService.getNextPK()); cal.setNpreguntaid(this.getSelectedPregunta().getNpreguntaid()); cal.setNcalificacion(this.getCalificacion()); cal.setVcomentario(StringUtils.capitalize(this.getComentarioCalificacion().trim())); cal.setDfechacreacion(new Date()); cal.setVusuariocreacion(user.getVlogin()); calificacionService.saveOrUpdate(cal); this.setListaCalificacion(calificacionService .getCalificacionesByConocimiento(this.getSelectedPregunta().getNpreguntaid())); if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaCalificacion())) { UserService userService = (UserService) ServiceFinder.findBean("UserService"); for (CalificacionPregunta c : this.getListaCalificacion()) { User u = userService.getUserByLogin(c.getVusuariocreacion()); c.setUsuarioNombre(u.getVnombres() + " " + u.getVapellidos()); } } RequestContext.getCurrentInstance().execute("PF('calDialog').hide();"); } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void toEditCalificacion(ActionEvent event) { try { this.clearCalificacion(); int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedCalificacion(this.getListaCalificacion().get(index)); } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void editCalificacion(ActionEvent event) { try { if (this.getSelectedCalificacion().getNcalificacion() == null) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.", "Ingrese la calificacion al wiki."); FacesContext.getCurrentInstance().addMessage(null, message); return; } if (StringUtils.isBlank(this.getSelectedCalificacion().getVcomentario())) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.", "Ingrese un comentario al wiki."); FacesContext.getCurrentInstance().addMessage(null, message); return; } LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB"); User user = loginMB.getUser(); CalificacionPreguntaService calificacionService = (CalificacionPreguntaService) ServiceFinder .findBean("CalificacionPreguntaService"); this.getSelectedCalificacion().setNcalificacion(this.getSelectedCalificacion().getNcalificacion()); this.getSelectedCalificacion() .setVcomentario(StringUtils.capitalize(this.getSelectedCalificacion().getVcomentario().trim())); this.getSelectedCalificacion().setDfechamodificacion(new Date()); this.getSelectedCalificacion().setVusuariomodificacion(user.getVlogin()); calificacionService.saveOrUpdate(this.getSelectedCalificacion()); this.setListaCalificacion(calificacionService .getCalificacionesByConocimiento(this.getSelectedPregunta().getNpreguntaid())); if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaCalificacion())) { UserService userService = (UserService) ServiceFinder.findBean("UserService"); for (CalificacionPregunta c : this.getListaCalificacion()) { User u = userService.getUserByLogin(c.getVusuariocreacion()); c.setUsuarioNombre(u.getVnombres() + " " + u.getVapellidos()); } } RequestContext.getCurrentInstance().execute("PF('ecalDialog').hide();"); } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void toDeleteCalificacion(ActionEvent event) { try { this.clearCalificacion(); int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedCalificacion(this.getListaCalificacion().get(index)); } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void deleteCalificacion(ActionEvent event) { try { CalificacionPreguntaService calificacionService = (CalificacionPreguntaService) ServiceFinder .findBean("CalificacionPreguntaService"); calificacionService.delete(this.getSelectedCalificacion().getNcalificacionid()); this.setListaCalificacion(calificacionService .getCalificacionesByConocimiento(this.getSelectedPregunta().getNpreguntaid())); if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaCalificacion())) { UserService userService = (UserService) ServiceFinder.findBean("UserService"); for (CalificacionPregunta c : this.getListaCalificacion()) { User u = userService.getUserByLogin(c.getVusuariocreacion()); c.setUsuarioNombre(u.getVnombres() + " " + u.getVapellidos()); } } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public String update() throws Exception { String pagina = ""; 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()); 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; } public String toEdit() { String pagina = null; try { int situacion; this.cleanAttributes(); PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedPregunta(this.getListaPregunta().get(index)); String ruta0 = this.path + this.getSelectedPregunta().getNpreguntaid().toString() + "/" + BigDecimal.ZERO.toString() + "/"; this.getSelectedPregunta().setVrespuesta(GcmFileUtils.readStringFromFileServer(ruta0, "html.txt")); this.setEntidadId(this.getSelectedPregunta().getNentidadid()); this.setEntidad(service.getNomEntidadbyIdEntidad(this.getSelectedPregunta().getNentidadid())); this.setListaSourceVinculos(new ArrayList<Consulta>()); this.setListaTargetVinculos(new ArrayList<Consulta>()); this.setPickListPregunta( new DualListModel<Consulta>(this.getListaSourceVinculos(), this.getListaTargetVinculos())); this.listaTargetVinculosConocimiento = new ArrayList<Consulta>(); this.listaTargetVinculosBL = new ArrayList<Consulta>(); this.listaTargetVinculosPR = new ArrayList<Consulta>(); this.listaTargetVinculosWK = new ArrayList<Consulta>(); this.listaTargetVinculosCT = new ArrayList<Consulta>(); this.listaTargetVinculosBP = new ArrayList<Consulta>(); this.listaTargetVinculosOM = new ArrayList<Consulta>(); HashMap filters = new HashMap(); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("1"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosBL().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("2"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosPR().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("3"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosWK().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("4"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosCT().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("5"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosBP().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("6"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosOM().addAll(service.getConcimientosVinculados(filters)); if (this.getListaTargetVinculosBL() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBL()); } if (this.getListaTargetVinculosBP() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBP()); } if (this.getListaTargetVinculosCT() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosCT()); } if (this.getListaTargetVinculosOM() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosOM()); } if (this.getListaTargetVinculosWK() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosWK()); } situacion = Integer.parseInt(this.getSelectedPregunta().getNsituacionid().toString()); pagina = "/pages/pregunta/editar?faces-redirect=true"; } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } return pagina; } public void toAddLink(ActionEvent event) { try { this.setIdTipoConocimiento(null); this.setListaSourceVinculos(new ArrayList()); if (CollectionUtils.isEmpty(this.getListaSourceVinculosBL())) { this.setListaSourceVinculosBL(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaSourceVinculosBP())) { this.setListaSourceVinculosBP(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaSourceVinculosCT())) { this.setListaSourceVinculosCT(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaSourceVinculosOM())) { this.setListaSourceVinculosOM(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaSourceVinculosPR())) { this.setListaSourceVinculosPR(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaSourceVinculosWK())) { this.setListaSourceVinculosWK(new ArrayList()); } this.setListaTargetVinculos(new ArrayList()); if (CollectionUtils.isEmpty(this.getListaTargetVinculosBL())) { this.setListaTargetVinculosBL(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaTargetVinculosBP())) { this.setListaTargetVinculosBP(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaTargetVinculosCT())) { this.setListaTargetVinculosCT(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaTargetVinculosOM())) { this.setListaTargetVinculosOM(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaTargetVinculosPR())) { this.setListaTargetVinculosPR(new ArrayList()); } if (CollectionUtils.isEmpty(this.getListaTargetVinculosWK())) { this.setListaTargetVinculosWK(new ArrayList()); } this.setPickListPregunta( new DualListModel<Consulta>(this.getListaSourceVinculos(), this.getListaTargetVinculos())); } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void onListTipoConocimientoChange(AjaxBehaviorEvent event) { try { if (event != null) { final BigDecimal id = (BigDecimal) ((SelectOneMenu) event.getSource()).getValue(); this.setIdTipoConocimiento(id); if (id != null) { HashMap filters = new HashMap(); filters.put("ntipoconocimientoid", id); ConocimientoService service = (ConocimientoService) ServiceFinder .findBean("ConocimientoService"); if (this.getSelectedPregunta() != null) { filters.put("nconocimientoid", this.getSelectedPregunta().getNpreguntaid().toString()); this.setListaTargetVinculos(new ArrayList()); List<Consulta> lista = service.getConcimientosVinculados(filters); Collections.sort(lista, Consulta.Comparators.ID); if (id.equals(Constante.BASELEGAL)) { for (Consulta ele : lista) { int pos = Collections.binarySearch(this.getListaTargetVinculosBL(), ele, Consulta.Comparators.ID); if (pos < 0) { this.getListaTargetVinculosBL().add(ele); } } this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBL()); } else if (id.equals(Constante.PREGUNTAS)) { for (Consulta ele : lista) { int pos = Collections.binarySearch(this.getListaTargetVinculosPR(), ele, Consulta.Comparators.ID); if (pos < 0) { this.getListaTargetVinculosPR().add(ele); } } this.getListaTargetVinculos().addAll(this.getListaTargetVinculosPR()); } else if (id.equals(Constante.WIKI)) { for (Consulta ele : lista) { int pos = Collections.binarySearch(this.getListaTargetVinculosWK(), ele, Consulta.Comparators.ID); if (pos < 0) { this.getListaTargetVinculosWK().add(ele); } } this.getListaTargetVinculos().addAll(this.getListaTargetVinculosWK()); } else if (id.equals(Constante.CONTENIDO)) { for (Consulta ele : lista) { int pos = Collections.binarySearch(this.getListaTargetVinculosCT(), ele, Consulta.Comparators.ID); if (pos < 0) { this.getListaTargetVinculosCT().add(ele); } } this.getListaTargetVinculos().addAll(this.getListaTargetVinculosCT()); } else if (id.equals(Constante.BUENAPRACTICA)) { for (Consulta ele : lista) { int pos = Collections.binarySearch(this.getListaTargetVinculosBP(), ele, Consulta.Comparators.ID); if (pos < 0) { this.getListaTargetVinculosBP().add(ele); } } this.getListaTargetVinculos().addAll(this.getListaTargetVinculosBP()); } else if (id.equals(Constante.OPORTUNIDADMEJORA)) { for (Consulta ele : lista) { int pos = Collections.binarySearch(this.getListaTargetVinculosOM(), ele, Consulta.Comparators.ID); if (pos < 0) { this.getListaTargetVinculosOM().add(ele); } } this.getListaTargetVinculos().addAll(this.getListaTargetVinculosOM()); } } else { if (id.equals(Constante.BASELEGAL)) { this.setListaTargetVinculos(this.getListaTargetVinculosBL()); } else if (id.equals(Constante.PREGUNTAS)) { this.setListaTargetVinculos(this.getListaTargetVinculosPR()); } else if (id.equals(Constante.WIKI)) { this.setListaTargetVinculos(this.getListaTargetVinculosWK()); } else if (id.equals(Constante.CONTENIDO)) { this.setListaTargetVinculos(this.getListaTargetVinculosCT()); } else if (id.equals(Constante.BUENAPRACTICA)) { this.setListaTargetVinculos(this.getListaTargetVinculosBP()); } else if (id.equals(Constante.OPORTUNIDADMEJORA)) { this.setListaTargetVinculos(this.getListaTargetVinculosOM()); } } if (org.apache.commons.collections.CollectionUtils.isNotEmpty(this.getListaTargetVinculos())) { List<String> ids = new ArrayList<String>(); for (Consulta c : this.getListaTargetVinculos()) { ids.add(c.getIdconocimiento().toString()); } String filter = StringUtils.join(ids, ','); if (id.equals(Constante.WIKI)) { filter = filter.concat(",") .concat(this.getSelectedPregunta().getNpreguntaid().toString()); } filters.put("nconocimientovinc", filter); } if (id.equals(Constante.BASELEGAL)) { this.setListaSourceVinculosBL(service.getConcimientosDisponibles(filters)); this.setListaSourceVinculos(this.getListaSourceVinculosBL()); } else if (id.equals(Constante.PREGUNTAS)) { this.setListaSourceVinculosPR(service.getConcimientosDisponibles(filters)); this.setListaSourceVinculos(this.getListaSourceVinculosPR()); } else if (id.equals(Constante.WIKI)) { this.setListaSourceVinculosWK(service.getConcimientosDisponibles(filters)); this.setListaSourceVinculos(this.getListaSourceVinculosWK()); } else if (id.equals(Constante.CONTENIDO)) { this.setListaSourceVinculosCT(service.getConcimientosDisponibles(filters)); this.setListaSourceVinculos(this.getListaSourceVinculosCT()); } else if (id.equals(Constante.BUENAPRACTICA)) { this.setListaSourceVinculosBP(service.getConcimientosDisponibles(filters)); this.setListaSourceVinculos(this.getListaSourceVinculosBP()); } else if (id.equals(Constante.OPORTUNIDADMEJORA)) { this.setListaSourceVinculosOM(service.getConcimientosDisponibles(filters)); this.setListaSourceVinculos(this.getListaSourceVinculosOM()); } this.setPickListPregunta(new DualListModel<Consulta>(this.getListaSourceVinculos(), this.getListaTargetVinculos())); } } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public void onTransferPreguntas(TransferEvent event) { int index; try { if (event != null) { BigDecimal id = this.getIdTipoConocimiento(); if (event.isAdd()) { Collections.sort(this.getListaSourceVinculos(), Consulta.Comparators.ID); for (Consulta ele : (List<Consulta>) event.getItems()) { index = Collections.binarySearch(this.getListaSourceVinculos(), ele, Consulta.Comparators.ID); if (this.getListaTargetVinculos() == null) { this.setListaTargetVinculos(new ArrayList<Consulta>()); } this.getListaTargetVinculos().add(this.getListaSourceVinculos().get(index)); this.getListaSourceVinculos().remove(index); } } if (event.isRemove()) { Collections.sort(this.getListaTargetVinculos(), Consulta.Comparators.ID); for (Consulta ele : (List<Consulta>) event.getItems()) { index = Collections.binarySearch(this.getListaTargetVinculos(), ele, Consulta.Comparators.ID); if (this.getListaSourceVinculos() == null) { this.setListaSourceVinculos(new ArrayList<Consulta>()); } this.getListaSourceVinculos().add(this.getListaTargetVinculos().get(index)); this.getListaTargetVinculos().remove(index); } } if (id.equals(Constante.BASELEGAL)) { this.setListaSourceVinculosBL(this.getListaSourceVinculos()); this.setListaTargetVinculosBL(this.getListaTargetVinculos()); } else if (id.equals(Constante.PREGUNTAS)) { this.setListaSourceVinculosPR(this.getListaSourceVinculos()); this.setListaTargetVinculosPR(this.getListaTargetVinculos()); } else if (id.equals(Constante.WIKI)) { this.setListaSourceVinculosWK(this.getListaSourceVinculos()); this.setListaTargetVinculosWK(this.getListaTargetVinculos()); } else if (id.equals(Constante.CONTENIDO)) { this.setListaSourceVinculosCT(this.getListaSourceVinculos()); this.setListaTargetVinculosCT(this.getListaTargetVinculos()); } else if (id.equals(Constante.BUENAPRACTICA)) { this.setListaSourceVinculosBP(this.getListaSourceVinculos()); this.setListaTargetVinculosBP(this.getListaTargetVinculos()); } else if (id.equals(Constante.OPORTUNIDADMEJORA)) { this.setListaSourceVinculosOM(this.getListaSourceVinculos()); this.setListaTargetVinculosOM(this.getListaTargetVinculos()); } this.listaTargetVinculosConocimiento = new ArrayList<Consulta>(); if (this.getListaTargetVinculosBL() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBL()); } if (this.getListaTargetVinculosBP() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBP()); } if (this.getListaTargetVinculosCT() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosCT()); } if (this.getListaTargetVinculosOM() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosOM()); } // if (this.getListaTargetVinculosPR() == null) { // } else { // this.getListaTargetVinculosPR().addAll(this.getListaTargetVinculosPR()); // } if (this.getListaTargetVinculosWK() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosWK()); } } } catch (Exception e) { e.getMessage(); e.printStackTrace(); } } public String toPost() { String pagina = null; try { int situacion; this.cleanAttributes(); PreguntaService service = (PreguntaService) ServiceFinder.findBean("PreguntaService"); int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedPregunta(this.getListaPregunta().get(index)); String ruta0 = this.path + this.getSelectedPregunta().getNpreguntaid().toString() + "/" + BigDecimal.ZERO.toString() + "/"; this.getSelectedPregunta().setVrespuesta(GcmFileUtils.readStringFromFileServer(ruta0, "html.txt")); this.setEntidadId(this.getSelectedPregunta().getNentidadid()); this.setEntidad(service.getNomEntidadbyIdEntidad(this.getSelectedPregunta().getNentidadid())); this.setListaSourceVinculos(new ArrayList<Consulta>()); this.setListaTargetVinculos(new ArrayList<Consulta>()); this.setPickListPregunta( new DualListModel<Consulta>(this.getListaSourceVinculos(), this.getListaTargetVinculos())); this.listaTargetVinculosConocimiento = new ArrayList<Consulta>(); this.listaTargetVinculosBL = new ArrayList<Consulta>(); this.listaTargetVinculosPR = new ArrayList<Consulta>(); this.listaTargetVinculosWK = new ArrayList<Consulta>(); this.listaTargetVinculosCT = new ArrayList<Consulta>(); this.listaTargetVinculosBP = new ArrayList<Consulta>(); this.listaTargetVinculosOM = new ArrayList<Consulta>(); HashMap filters = new HashMap(); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("1"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosBL().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("2"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosPR().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("3"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosWK().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("4"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosCT().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("5"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosBP().addAll(service.getConcimientosVinculados(filters)); filters.put("ntipoconocimientoid", BigDecimal.valueOf(Long.parseLong("6"))); filters.put("npreguntaid", this.getSelectedPregunta().getNpreguntaid()); this.getListaTargetVinculosOM().addAll(service.getConcimientosVinculados(filters)); if (this.getListaTargetVinculosBL() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBL()); } if (this.getListaTargetVinculosBP() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosBP()); } if (this.getListaTargetVinculosCT() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosCT()); } if (this.getListaTargetVinculosOM() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosOM()); } if (this.getListaTargetVinculosWK() == null) { } else { this.getListaTargetVinculosConocimiento().addAll(this.getListaTargetVinculosWK()); } situacion = Integer.parseInt(this.getSelectedPregunta().getNsituacionid().toString()); pagina = "/pages/pregunta/publicar?faces-redirect=true"; } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } return pagina; } public void setSelectedRow(ActionEvent event) { try { if (event != null) { int index = Integer.parseInt((String) JSFUtils.getRequestParameter("index")); this.setSelectedPregunta(this.getListaPregunta().get(index)); } } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); } } public void postProcessXLS(Object document) { HSSFWorkbook wb = (HSSFWorkbook) document; HSSFSheet sheet = wb.getSheetAt(0); //Para los datos HSSFCellStyle centerStyle = wb.createCellStyle(); centerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); HSSFCellStyle centerGrayStyle = wb.createCellStyle(); centerGrayStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); centerGrayStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); centerGrayStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); HSSFCellStyle grayBG = wb.createCellStyle(); grayBG.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); grayBG.setFillPattern(CellStyle.SOLID_FOREGROUND); int i = 1; for (Pregunta p : this.getListaPregunta()) { HSSFRow row = sheet.getRow(i); for (int j = 0; j < row.getPhysicalNumberOfCells(); j++) { HSSFCell cell = row.getCell(j); if (i % 2 == 0) { if (j > 0) { cell.setCellStyle(centerGrayStyle); } else { cell.setCellStyle(grayBG); cell.setCellValue(p.getVasunto()); } } else { if (j > 0) { cell.setCellStyle(centerStyle); } else { cell.setCellValue(p.getVasunto()); } } } i++; } // Para la cabecera HSSFRow header = sheet.getRow(0); HSSFCellStyle headerStyle = wb.createCellStyle(); HSSFFont font = wb.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); headerStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); headerStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); headerStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); headerStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); headerStyle.setFont(font); for (int j = 0; j < header.getPhysicalNumberOfCells(); j++) { HSSFCell cell = header.getCell(j); cell.setCellStyle(headerStyle); sheet.autoSizeColumn(j); } } }