@Util public static void guardarPCEValidateCopy( String accion, CEconomicosManuales dbCEconomicosManuales, CEconomicosManuales cEconomicosManuales) { CustomValidation.clearValidadas(); if (secure.checkGrafico( "modificacionTrasPresentacionDeSolicitud", "editable", accion, (Map<String, Long>) tags.TagMapStack.top("idParams"), null)) { CustomValidation.valid("cEconomicosManuales", cEconomicosManuales); // Código de Copia // (1) Caso de modificacion (Existe y lo cambio) (2) Caso de Creacion (Lo creo desde 0) String idSolicitud = params.get("idSolicitud"); SolicitudGenerica dbSolicitud = SolicitudGenerica.findById(Long.parseLong(idSolicitud)); PeticionModificacion peticionModificacion = new PeticionModificacion(); peticionModificacion.campoPagina = "Solicitud.ceconomicos.otros"; Map<String, String> allSimpleTabla = params.allSimple(); for (Map.Entry<String, String> entry : allSimpleTabla.entrySet()) { if (entry.getKey().startsWith("id")) { try { peticionModificacion.idSimples.put(entry.getKey(), Long.parseLong(entry.getValue())); } catch (Exception e) { // El parámetro no era un long } } } peticionModificacion.idSimples.put("idCEconomicosManuales", dbCEconomicosManuales.id); List<String> valoresAntiguos = new ArrayList<String>(); List<String> valoresNuevos = new ArrayList<String>(); Boolean hayModificaciones = false; // Validando el tipo.nombre CustomValidation.valid("cEconomicosManuales.tipo", cEconomicosManuales.tipo); CustomValidation.required("cEconomicosManuales.tipo.nombre", cEconomicosManuales.tipo.nombre); // Código de Copia del tipo.nombre if (((dbCEconomicosManuales.tipo.nombre != null) && (cEconomicosManuales.tipo.nombre.toString() != null) && (!dbCEconomicosManuales .tipo .nombre .toString() .equals(cEconomicosManuales.tipo.nombre.toString()))) || ((cEconomicosManuales.tipo.nombre == null) && (!cEconomicosManuales.tipo.nombre.equals(dbCEconomicosManuales.tipo.nombre)))) { valoresAntiguos = new ArrayList<String>(); if (dbCEconomicosManuales.tipo.nombre != null) valoresAntiguos.add(dbCEconomicosManuales.tipo.nombre.toString()); valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.tipo.nombre.toString()); peticionModificacion.setValorModificado( "Solicitud.ceconomicos.otros.tipo.nombre", valoresAntiguos, valoresNuevos); hayModificaciones = true; } dbCEconomicosManuales.tipo.nombre = cEconomicosManuales.tipo.nombre; // Código de Copia del tipo.descripcion if (((dbCEconomicosManuales.tipo.descripcion != null) && (cEconomicosManuales.tipo.descripcion.toString() != null) && (!dbCEconomicosManuales .tipo .descripcion .toString() .equals(cEconomicosManuales.tipo.descripcion.toString()))) || ((cEconomicosManuales.tipo.descripcion == null) && (!cEconomicosManuales.tipo.descripcion.equals( dbCEconomicosManuales.tipo.descripcion)))) { valoresAntiguos = new ArrayList<String>(); if (dbCEconomicosManuales.tipo.descripcion != null) valoresAntiguos.add(dbCEconomicosManuales.tipo.descripcion.toString()); valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.tipo.descripcion.toString()); peticionModificacion.setValorModificado( "Solicitud.ceconomicos.otros.tipo.descripcion", valoresAntiguos, valoresNuevos); hayModificaciones = true; } dbCEconomicosManuales.tipo.descripcion = cEconomicosManuales.tipo.descripcion; // Código de Copia del comentarioAdministracion if (((dbCEconomicosManuales.comentariosAdministracion != null) && (cEconomicosManuales.comentariosAdministracion.toString() != null) && (!dbCEconomicosManuales .comentariosAdministracion .toString() .equals(cEconomicosManuales.comentariosAdministracion.toString()))) || ((cEconomicosManuales.comentariosAdministracion == null) && (!cEconomicosManuales.comentariosAdministracion.equals( dbCEconomicosManuales.comentariosAdministracion)))) { valoresAntiguos = new ArrayList<String>(); if (dbCEconomicosManuales.comentariosAdministracion != null) valoresAntiguos.add(dbCEconomicosManuales.comentariosAdministracion.toString()); valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.comentariosAdministracion.toString()); peticionModificacion.setValorModificado( "Solicitud.ceconomicos.otros.comentariosAdministracion", valoresAntiguos, valoresNuevos); hayModificaciones = true; } dbCEconomicosManuales.comentariosAdministracion = cEconomicosManuales.comentariosAdministracion; // Código de Copia del comentarioSolicitante if (((dbCEconomicosManuales.comentariosSolicitante != null) && (cEconomicosManuales.comentariosSolicitante.toString() != null) && (!dbCEconomicosManuales .comentariosSolicitante .toString() .equals(cEconomicosManuales.comentariosSolicitante.toString()))) || ((cEconomicosManuales.comentariosSolicitante == null) && (!cEconomicosManuales.comentariosSolicitante.equals( dbCEconomicosManuales.comentariosSolicitante)))) { valoresAntiguos = new ArrayList<String>(); if (dbCEconomicosManuales.comentariosSolicitante != null) valoresAntiguos.add(dbCEconomicosManuales.comentariosSolicitante.toString()); valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.comentariosSolicitante.toString()); peticionModificacion.setValorModificado( "Solicitud.ceconomicos.otros.comentariosSolicitante", valoresAntiguos, valoresNuevos); hayModificaciones = true; } dbCEconomicosManuales.comentariosSolicitante = cEconomicosManuales.comentariosSolicitante; // Guardo en el json los valores simples: // Json por todos los valores if (hayModificaciones) { // peticionModificacion.setValorModificado("Solicitud.ceconomicos.otros", valoresAntiguos, // valoresNuevos); peticionModificacion.idSimples.put("idCEconomicosManuales", dbCEconomicosManuales.id); Gson gson = new Gson(); String jsonPM = gson.toJson(peticionModificacion); JsonPeticionModificacion jsonPeticionModificacion = new JsonPeticionModificacion(); jsonPeticionModificacion.jsonPeticion = jsonPM; dbSolicitud .registroModificacion .get(dbSolicitud.registroModificacion.size() - 1) .jsonPeticionesModificacion .add(jsonPeticionModificacion); dbSolicitud.save(); } // Copia de los valores: O2M Un json por cada valor // Logica de copia a BBDD List<String> valoresAntiguosTabla = new ArrayList<String>(); List<String> valoresNuevosTabla = new ArrayList<String>(); if ((dbCEconomicosManuales.valores == null) || (dbCEconomicosManuales.valores.size() == 0)) { // Dead code? // peticionModificacion.idSimples.put("idCEconomicosManuales",dbCEconomicosManuales.id); // //Viernes añadido // Guardo todos los nuevos valores for (int i = 0; i < cEconomicosManuales.valores.size(); i++) { // Modificando valoresNuevosTabla = new ArrayList<String>(); valoresNuevosTabla.add(cEconomicosManuales.valores.get(i).valorSolicitado.toString()); // Json por todos los valores PeticionModificacion peticionModificacionTabla = new PeticionModificacion(); peticionModificacionTabla.campoPagina = "Solicitud.ceconomicos.otros.valores.valorSolicitado"; peticionModificacionTabla.idSimples = peticionModificacion.idSimples; peticionModificacionTabla.idSimples.put( "idValoresCEconomicoManuales", cEconomicosManuales.valores.get(i).id); peticionModificacionTabla.setValorCreado( "Solicitud.ceconomicos.otros.valores.valorSolicitado", new ArrayList<String>(), valoresNuevosTabla); // PRUEBA Gson gsonTabla = new Gson(); String jsonPMTabla = gsonTabla.toJson(peticionModificacionTabla); JsonPeticionModificacion jsonPeticionModificaciontabla = new JsonPeticionModificacion(); jsonPeticionModificaciontabla.jsonPeticion = jsonPMTabla; dbSolicitud .registroModificacion .get(dbSolicitud.registroModificacion.size() - 1) .jsonPeticionesModificacion .add(jsonPeticionModificaciontabla); dbSolicitud.save(); } dbCEconomicosManuales.valores = cEconomicosManuales.valores; } else { for (int i = 0; i < cEconomicosManuales.valores.size(); i++) { // Modificando valoresAntiguosTabla = new ArrayList<String>(); valoresNuevosTabla = new ArrayList<String>(); hayModificaciones = false; PeticionModificacion peticionModificacionTabla = new PeticionModificacion(); peticionModificacionTabla.campoPagina = "Solicitud.ceconomicos.otros.valores.valorSolicitado"; peticionModificacionTabla.idSimples = peticionModificacion.idSimples; if ((cEconomicosManuales.valores.get(i).valorSolicitado != null) && (cEconomicosManuales.valores.get(i).valorSolicitado.toString() != dbCEconomicosManuales.valores.get(i).valorSolicitado.toString())) { valoresAntiguosTabla.add( dbCEconomicosManuales.valores.get(i).valorSolicitado.toString()); dbCEconomicosManuales.valores.get(i).valorSolicitado = cEconomicosManuales.valores.get(i).valorSolicitado; // Logica valoresNuevosTabla.add(cEconomicosManuales.valores.get(i).valorSolicitado.toString()); peticionModificacionTabla.idSimples.put( "idValoresCEconomico", dbCEconomicosManuales.valores.get(i).id); // AQUI idValoresCEconomo // Json peticionModificacionTabla.setValorModificado( "Solicitud.ceconomicos.otros.valores.valorSolicitado", valoresAntiguosTabla, valoresNuevosTabla); // PRUEBA Gson gsonTabla = new Gson(); String jsonPMTabla = gsonTabla.toJson(peticionModificacionTabla); JsonPeticionModificacion jsonPeticionModificaciontabla = new JsonPeticionModificacion(); jsonPeticionModificaciontabla.jsonPeticion = jsonPMTabla; dbSolicitud .registroModificacion .get(dbSolicitud.registroModificacion.size() - 1) .jsonPeticionesModificacion .add(jsonPeticionModificaciontabla); dbSolicitud.save(); } } } // dbCEconomicosManuales.valores=cEconomicosManuales.valores; } }
public static void CreandoEnModificacionSolicitudes( String accion, CEconomicosManuales dbCEconomicosManuales, CEconomicosManuales cEconomicosManuales) { String idSolicitud = params.get("idSolicitud"); SolicitudGenerica dbSolicitud = SolicitudGenerica.findById(Long.parseLong(idSolicitud)); PeticionModificacion peticionModificacion = new PeticionModificacion(); peticionModificacion.campoPagina = "Solicitud.ceconomicos.otros"; // OJO Map<String, String> allSimpleTabla = params.allSimple(); for (Map.Entry<String, String> entry : allSimpleTabla.entrySet()) { if (entry.getKey().startsWith("id")) { try { peticionModificacion.idSimples.put(entry.getKey(), Long.parseLong(entry.getValue())); } catch (Exception e) { // El parámetro no era un long } } } List<String> valoresNuevos = new ArrayList<String>(); if (cEconomicosManuales.tipo.nombre != null) { valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.tipo.nombre.toString()); peticionModificacion.setValorCreado( "Solicitud.ceconomicos.otros.tipo.nombre", new ArrayList<String>(), valoresNuevos); dbCEconomicosManuales.tipo.nombre = cEconomicosManuales.tipo.nombre; } if (cEconomicosManuales.tipo.descripcion != null) { valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.tipo.descripcion.toString()); peticionModificacion.setValorCreado( "Solicitud.ceconomicos.otros.tipo.descripcion", new ArrayList<String>(), valoresNuevos); dbCEconomicosManuales.tipo.descripcion = cEconomicosManuales.tipo.descripcion; } if (cEconomicosManuales.comentariosAdministracion != null) { valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.tipo.comentariosAdministracion.toString()); peticionModificacion.setValorCreado( "Solicitud.ceconomicos.otros.comentariosAdministracion", new ArrayList<String>(), valoresNuevos); dbCEconomicosManuales.comentariosAdministracion = cEconomicosManuales.comentariosAdministracion; } if (cEconomicosManuales.comentariosSolicitante != null) { valoresNuevos = new ArrayList<String>(); valoresNuevos.add(cEconomicosManuales.tipo.comentariosSolicitante.toString()); peticionModificacion.setValorCreado( "Solicitud.ceconomicos.otros.comentariosSolicitante", new ArrayList<String>(), valoresNuevos); dbCEconomicosManuales.comentariosSolicitante = cEconomicosManuales.comentariosSolicitante; } peticionModificacion.idSimples.put("idCEconomicosManuales", dbCEconomicosManuales.id); Gson gson = new Gson(); String jsonPM = gson.toJson(peticionModificacion); JsonPeticionModificacion jsonPeticionModificacion = new JsonPeticionModificacion(); jsonPeticionModificacion.jsonPeticion = jsonPM; dbSolicitud .registroModificacion .get(dbSolicitud.registroModificacion.size() - 1) .jsonPeticionesModificacion .add(jsonPeticionModificacion); dbSolicitud.save(); }