public ActionForward guardar(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response) {
   ActionErrors errors = new ActionErrors();
   String parametros = "";
   ConMxcModuloxCuentacontableDAO mxcModuloxCuentacontableDAO =
       new ConMxcModuloxCuentacontableDAO(getSessionHibernate(request));
   RelacionModuloContaForm relacionForm = (RelacionModuloContaForm) form;
   errors = validarGuardado(relacionForm);
   Transaction tx = mxcModuloxCuentacontableDAO.getSession().beginTransaction();
   parametros =
       "3;"
           + relacionForm.getParametro(1)
           + ";"
           + relacionForm.getParametro(2)
           + ";"
           + relacionForm.getParametro(3)
           + ";"
           + relacionForm.getParametro(4);
   if (!mxcModuloxCuentacontableDAO
       .findByCuentaParametros(relacionForm.getConCueCuenta().getCueId(), parametros)
       .isEmpty()) {
     errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.mxcc.relacionRepetida"));
   }
   if (errors.isEmpty()) {
     try {
       if (relacionForm.getConCpaConceptoPartida().getCpaId() == -1)
         relacionForm.setConCpaConceptoPartida(null);
       relacionForm.getModuloxCuentacontable().setCxcParametrosUnion(parametros);
       relacionForm.setCxcFechaRelacion(new Date());
       mxcModuloxCuentacontableDAO.save(relacionForm.getModuloxCuentacontable());
       tx.commit();
     } catch (Exception e) {
       tx.rollback();
       e.printStackTrace();
     } finally {
       mxcModuloxCuentacontableDAO.getSession().flush();
       mxcModuloxCuentacontableDAO.getSession().clear();
     }
   }
   saveMessages(request, errors);
   return lista(mapping, form, request, response);
 }
 public ActionForward lista(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response) {
   RelacionModuloContaForm relacionForm = (RelacionModuloContaForm) form;
   ConMxcModuloxCuentacontableDAO moduloxCuentacontableDAO =
       new ConMxcModuloxCuentacontableDAO(getSessionHibernate(request));
   InvTprTipoProveedorDAO tipoProveedorDAO =
       new InvTprTipoProveedorDAO(getSessionHibernate(request));
   ConCueCuentaDAO cuentaDAO = new ConCueCuentaDAO(getSessionHibernate(request));
   ConCpaConceptoPartidaDAO conceptoPartidaDAO =
       new ConCpaConceptoPartidaDAO(getSessionHibernate(request));
   List cpaList = moduloxCuentacontableDAO.findByModulo(3);
   TableFacade tableFacade = new TableFacadeImpl(TABLA_ID, request);
   tableFacade.setItems(cpaList);
   // ---- Genera los tipos de formas con que se podran exportar los datos
   tableFacade.setExportTypes(response, ExportType.CSV, ExportType.JEXCEL);
   tableFacade.setStateAttr("restore");
   Limit limit = tableFacade.getLimit();
   if (limit.isExported()) {
     // ---- exporta la tabla
     //    export(tableFacade);
     return null;
   } else {
     String html = html(tableFacade, request);
     request.setAttribute(Constantes.LISTA_KEY, html);
   }
   // reseteamos el form
   relacionForm.setParametro(2, "-1");
   relacionForm.setParametro(3, "-1");
   relacionForm.getConCueCuenta().setCueId(-1);
   relacionForm.setConCpaConceptoPartida(new ConCpaConceptoPartida());
   relacionForm.getConCpaConceptoPartida().setCpaId(-2);
   relacionForm.setCxcCargoAbono((byte) -1);
   // ----- Variables de configuracion
   request.setAttribute("tiposProv", tipoProveedorDAO.findAll());
   request.setAttribute("conceptos", conceptoPartidaDAO.findByCpaDescripcionConcepto(1));
   request.setAttribute("cuentasContables", cuentaDAO.findByCuePosteable(0));
   request.setAttribute("form", form);
   request.setAttribute(Constantes.ACCION_KEY, "/relacionOrdenCompra");
   return mapping.findForward("lista");
 }
 public ActionForward eliminar(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response) {
   ConMxcModuloxCuentacontableDAO mxcModuloxCuentacontableDAO =
       new ConMxcModuloxCuentacontableDAO(getSessionHibernate(request));
   RelacionModuloContaForm relacionForm = (RelacionModuloContaForm) form;
   Transaction tx = mxcModuloxCuentacontableDAO.getSession().beginTransaction();
   try {
     mxcModuloxCuentacontableDAO.delete(
         mxcModuloxCuentacontableDAO.findById(relacionForm.getCxcId()));
     tx.commit();
   } catch (Exception e) {
     tx.rollback();
     e.printStackTrace();
   } finally {
     mxcModuloxCuentacontableDAO.getSession().flush();
     mxcModuloxCuentacontableDAO.getSession().clear();
   }
   return lista(mapping, form, request, response);
 }