public static Vector<Categorias> leerDatosVector1(String consulta1) { Vector<Categorias> categorias = new Vector<Categorias>(); Categorias cat = null; if (con == null) con = mysql.getConnect(); cat = new Categorias(); cat.setIdCategoria(0); cat.setNombreCategoria("--Seleccione una categoria--"); cat.setDescripcionCategoria(""); categorias.add(cat); try { sent = con.createStatement(); ResultSet rs = sent.executeQuery(consulta1); while (rs.next()) { cat = new Categorias(); cat.setIdCategoria(rs.getInt(1)); cat.setNombreCategoria(rs.getString(2)); cat.setDescripcionCategoria(rs.getString(3)); categorias.add(cat); } sent.close(); rs.close(); } catch (Exception e) { System.out.println(e.toString()); e.printStackTrace(); } return categorias; }
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); int operacion = Integer.parseInt(request.getParameter("operacion")); String nombre, clave, telefono, calle, numero, html; int cp, idColonia, idContribuyente, idSucursal, idCategoria, idPlazo, dias; SucursalModelo sm = new SucursalModelo(); HttpSession sesion = request.getSession(false); Gson gs = new Gson(); boolean st = false; List<SucursalMin> sucursalesActivas = (List<SucursalMin>) sesion.getAttribute("sucursalesActivas"); Sucursal sucursal = (Sucursal) sesion.getAttribute("sucursal"); switch (operacion) { case 1: // alta de sucursal case 3: nombre = request.getParameter("nombre"); clave = request.getParameter("clave"); telefono = request.getParameter("telefono"); calle = request.getParameter("calle"); numero = request.getParameter("numero"); cp = Integer.parseInt(request.getParameter("cp")); idColonia = Integer.parseInt(request.getParameter("id_colonia")); idContribuyente = Integer.parseInt(request.getParameter("id_contribuyente")); idSucursal = Integer.parseInt(request.getParameter("idSucursal")); SucursalMin suc = sm.altaSucursal( nombre, clave, telefono, calle, numero, cp, idColonia, idContribuyente, operacion, idSucursal); for (SucursalMin s : sucursalesActivas) { if (s.getId() == suc.getId()) { sucursalesActivas.remove(s); break; } } sucursalesActivas.add(suc); sesion.setAttribute("sucursalesActivas", sucursalesActivas); out.print("Sucursal agregada con exito"); break; // obtener info sucursal case 2: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); SucursalMin ss = null; for (SucursalMin s : sucursalesActivas) { if (s.getId() == idSucursal) { ss = s; break; } } out.print(gs.toJson(new Result(ss, "", true))); break; // inactivar sucursal case 4: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); st = sm.inactivarSucursal(idSucursal); SucursalMin sss = null; int index = 0; if (st) { for (SucursalMin s : sucursalesActivas) { if (s.getId() == idSucursal) { s.setActivo("F"); sss = s; sucursalesActivas.set(index, s); break; } index++; } sesion.setAttribute("sucursalesActivas", sucursalesActivas); out.print("Sucursal inactivada"); } else { out.print("Error la inactivar la sucursal, intente de nuevo"); } break; // obtener parametros especificos case 5: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); ParametrosEspecificos params = sm.obtenerParametrosEspecificos(idSucursal, 1); out.print(gs.toJson(new Result(params, "", true))); break; // guardar/actualizar parametros especificos case 6: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); int diasRemate, diasCompras, idTipoPlanPago; String avaluoPrestamo, habilitarCompras; float tasaMoratoria, tasaInteres, tasaRiesgo, tasaFija, tasaMoratoriaFija, tasaRiesgoAbono, tasaQuincenalNivelado, tasaMoratoriaNivelados; diasRemate = Integer.parseInt(request.getParameter("diasRemate")); diasCompras = Integer.parseInt(request.getParameter("diasCompras")); idTipoPlanPago = Integer.parseInt(request.getParameter("idTipoPlanPago")); tasaMoratoria = Float.parseFloat(request.getParameter("tasaMoratoria")); tasaInteres = Float.parseFloat(request.getParameter("tasaInteres")); tasaRiesgo = Float.parseFloat(request.getParameter("tasaRiesgo")); avaluoPrestamo = request.getParameter("avaluoPrestamo"); habilitarCompras = request.getParameter("habilitarCompras"); tasaFija = Float.parseFloat(request.getParameter("tasaFija")); tasaMoratoriaFija = Float.parseFloat(request.getParameter("tasaMoratoriaFija")); tasaRiesgoAbono = Float.parseFloat(request.getParameter("tasaRiesgoAbono")); tasaQuincenalNivelado = Float.parseFloat(request.getParameter("tasaQuincenalNivelados")); tasaMoratoriaNivelados = Float.parseFloat(request.getParameter("tasaMoratoriaNivelados")); float tasa_precio_ventas = Float.parseFloat(request.getParameter("tasa_precio_ventas")); float apartado30 = Float.parseFloat(request.getParameter("apartado30")); float apartado60 = Float.parseFloat(request.getParameter("apartado60")); float apartado90 = Float.parseFloat(request.getParameter("apartado90")); int aplicaVentas = Integer.parseInt(request.getParameter("aplicaVentas")); float montoMinimoApartado = Float.parseFloat(request.getParameter("montoMinimoApartado")); boolean sta = sm.actualizaParametrosEspecificos( idSucursal, diasRemate, diasCompras, avaluoPrestamo, habilitarCompras, tasaMoratoria, tasaInteres, tasaRiesgo, idTipoPlanPago, tasa_precio_ventas, apartado30, apartado60, apartado90, aplicaVentas, montoMinimoApartado, tasaFija, tasaMoratoriaFija, tasaRiesgoAbono, tasaQuincenalNivelado, tasaMoratoriaNivelados); if (sta) { out.print("Actualizacion realizada correctamente"); } else { out.print( "Error al actualizar informacion, verifique que los valores esten bien especificados"); } break; // Obtener categorias disponibles: case 7: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); List<Categorias> categorias = sm.obtenerCategorias(idSucursal, 1); html = ""; if (categorias.isEmpty()) { html = "<tr><td colspan=6>Esta sucursal no tiene categorias activas</td></tr>"; } for (Categorias c : categorias) { html += "<tr id='filaCategoria' style='cursor:pointer' itemid='" + c.getIdCategoria() + "'>"; html += "<td >" + c.getCategoria() + "</td>"; html += "<td>" + c.getPorcentajeSobrevaluo() + "</td>"; html += "<td>" + c.getPorcentajeSubvaluo() + "</td>"; html += "<td>" + c.getTasaAutos() + "</td>"; html += "<td>" + c.getUsuario() + "</td>"; html += "<td><a id='eliminarCategoria' href='#'>Eliminar</a></td>"; html += "</tr>"; } out.print(html); break; // GUARDAR O ACTUALIZAR UNA CATEGORIA case 8: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); idCategoria = Integer.parseInt(request.getParameter("idCategoria")); float tasaAuto = 0; if (request.getParameter("tasaAutos") != null && !request.getParameter("tasaAutos").equals("")) { tasaAuto = Float.parseFloat(request.getParameter("tasaAutos")); } float sobrevaluo = Float.parseFloat(request.getParameter("sobrevaluo")); float subvaluo = Float.parseFloat(request.getParameter("subvaluo")); st = sm.guardarCategoria( idSucursal, idCategoria, tasaAuto, sobrevaluo, subvaluo, sucursal.getUsuarioActivo().getId()); break; // ELIMINAR UNA CATEGORIA case 9: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); idCategoria = Integer.parseInt(request.getParameter("idCategoria")); st = sm.eliminarCategoria(idSucursal, idCategoria); break; case 10: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); List<Categorias> categoriaList = sm.obtenerCategorias(idSucursal, 1); html = ""; if (categoriaList.isEmpty()) { html += "<option value=0 selected>Sucursal sin categorias</option>"; } else { html += "<option value=0>--Elija una categoria--</option>"; } for (Categorias c : categoriaList) { html += "<option value=" + c.getIdCategoria() + ">" + c.getCategoria() + "</option>"; } out.print(html); break; case 11: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); idCategoria = Integer.parseInt(request.getParameter("idCategoria")); List<Plazo> plazos = sm.obtenerPlazosDisponibles(idSucursal, idCategoria, 1); html = ""; for (Plazo p : plazos) { html += "<tr id='editarPlazo' style='cursor:pointer' itemid='" + p.getIdPlazoCat() + "'>"; html += "<td>" + p.getDias() + "</td>"; html += "<td> " + p.getTasaRiesgo() + "</td>"; html += "<td><a id='filaPlazos' href='#'>Eliminar</a></td>"; html += "</tr>"; } if (html.equals("")) { html = "<tr><td>No existen plazos dispobiles para esta categoria</td></tr>"; } out.print(html); break; case 12: idCategoria = Integer.parseInt(request.getParameter("idCategoria")); idSucursal = Integer.parseInt(request.getParameter("idSucursal")); idPlazo = Integer.parseInt(request.getParameter("idPlazo")); float tasa = Integer.parseInt(request.getParameter("tasaRiesgoPlazo")); html = sm.guardarPlazo(idSucursal, idCategoria, idPlazo, tasa); out.print(html); break; case 13: int idPlazoCat = Integer.parseInt(request.getParameter("idPlazoCat")); sm.eliminarPlazo(idPlazoCat); break; case 14: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); html = sm.obtenerConfiguracionActual(idSucursal); out.print(html); break; case 15: idPlazoCat = Integer.parseInt(request.getParameter("idPlazoCat")); // cuando el caso es igual a uno se cierra la conexion List<Tasas> tasas = sm.obtenerTasasPlazo(idPlazoCat, 1); out.print(gs.toJson(new Result(tasas, "", true))); break; case 16: idPlazoCat = Integer.parseInt(request.getParameter("idPlazoCat")); dias = Integer.parseInt(request.getParameter("dias")); int quincenas = dias / 15; List<Tasas> listTasas = new ArrayList<Tasas>(); int numQuincena = 1; int mes = 1; while (numQuincena <= quincenas) { listTasas.add( new Tasas( idPlazoCat, numQuincena, Float.parseFloat(request.getParameter("tasaIntMes" + mes)), Float.parseFloat(request.getParameter("tasaSeguroMes" + mes)), Float.parseFloat(request.getParameter("tasaAlmacenajeMes" + mes)), Integer.parseInt(request.getParameter("quincena" + numQuincena)), "")); if (numQuincena % 2 == 0) { mes++; } numQuincena++; } // El registro es mensual pero se repite en dos por el numero de quincenas st = sm.guardarTasas(listTasas); if (st) { out.print("Las tasas se han actualizado de manera exitosa"); } else { out.print("Error al guardar las tasas"); } // cuando el caso es igual a uno se cierra la conexion break; case 17: // reemplazar objeto sucursal try { idSucursal = Integer.parseInt(request.getParameter("idSucursal")); Sucursal s = sm.InicializarSucursal(sucursal.getUsuarioActivo(), idSucursal); if (s != null) { sesion.setAttribute("sucursal", s); out.print(gs.toJson(new Result(s, "", true))); } else { out.print(gs.toJson(new Result(null, "", false))); } } catch (Exception e) { System.out.println("" + e.getMessage()); } break; case 19: // guardar parametros cliente de oro try { idSucursal = Integer.parseInt(request.getParameter("idSucursal")); String[] numRefrendos = request.getParameterValues("numRefrendos"); String[] tasaIntRefrendo = request.getParameterValues("tasaIntRefrendo"); String[] porcentaje = request.getParameterValues("porcentaje"); int cont = 0; List<ClienteOro> clientesOro = new ArrayList<ClienteOro>(); for (String n : numRefrendos) { clientesOro.add( new ClienteOro( Integer.parseInt(n), Float.parseFloat(tasaIntRefrendo[cont]), Float.parseFloat(porcentaje[cont]))); cont++; } st = sm.guardarClienteOro(clientesOro, 1, idSucursal); out.print(gs.toJson(new Result(null, "", st))); } catch (Exception e) { System.out.println("" + e.getMessage()); } break; case 20: // guardar parametros cliente de oro try { idSucursal = Integer.parseInt(request.getParameter("idSucursal")); List<ClienteOro> clientesOro; clientesOro = sm.obtenerParametrosClienteOro(idSucursal, 0); out.print(gs.toJson(new Result(clientesOro, "", true))); } catch (Exception e) { System.out.println("" + e.getMessage()); } break; // obtener configuracion abono facil case 21: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); List<AbonoFacil> abonoFacil; abonoFacil = sm.obtenerParametrosAbonoFacil(idSucursal, 0); out.print(gs.toJson(new Result(abonoFacil, "", true))); break; case 22: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); int planPago = Integer.parseInt(request.getParameter("idTipoPlanPagoF")); int numPagos = Integer.parseInt(request.getParameter("numPagos")); float interesMensual = Float.parseFloat(request.getParameter("interesMensual")); float factorPeriodo = Float.parseFloat(request.getParameter("factorPeriodo")); String activo = request.getParameter("activo"); float montoMinimo = Float.parseFloat(request.getParameter("montoMinimo")); float montoMaximo = Float.parseFloat(request.getParameter("montoMaximo")); float tasaMoratoriaA = Float.parseFloat(request.getParameter("tasaMoratoria")); String accion = request.getParameter("accion"); int contador = Integer.parseInt(request.getParameter("contador")); out.print( gs.toJson( new Result( null, "", sm.guardarAbonoFacil( idSucursal, planPago, numPagos, interesMensual, factorPeriodo, activo, montoMinimo, montoMaximo, accion, contador, tasaMoratoriaA)))); break; // obtener parametros abono facil de acuerdo a la sucursal logeada case 23: String options = "<option value=0>-- Seleccione una frecuencia --</option>", frecuencia = ""; float montoAbonoFacil = Float.parseFloat(request.getParameter("montoAbonoFacil")); for (AbonoFacil a : sucursal.getAbonoFacil()) { if (montoAbonoFacil >= a.getMontoMinimo() && montoAbonoFacil <= a.getMontoMaximo()) { if (a.getPlanDePago() == 2) { frecuencia = a.getNumPagos() + " PAGOS SEMANALES"; } else { frecuencia = a.getNumPagos() + " PAGOS QUINCENALES"; } options += "<option value=" + a.getContador() + ">" + frecuencia + "</option>"; } } out.print(options); break; case 24: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); SucursalMin succc = sm.reactivarSucursal(idSucursal); int indexx = 0; for (SucursalMin s : sucursalesActivas) { if (s.getId() == idSucursal) { s.setActivo("T"); succc = s; sucursalesActivas.set(indexx, s); break; } indexx++; } sesion.setAttribute("sucursalesActivas", sucursalesActivas); out.print("Sucursal reactivada"); break; case 25: int cont = Integer.parseInt(request.getParameter("contador")); if (sm.borrarConfAbonoFacil(cont)) { out.print("Configuracion eliminada correctamente"); } else { out.print("Error al borrar"); } break; // obtener promosiones case 26: html = ""; idSucursal = Integer.parseInt(request.getParameter("idSucursal")); List<Promosion> promosiones = sm.obtenerPromosionesVigentes(idSucursal); for (Promosion p : promosiones) { html += "<tr id='filaPromo' itemid='" + p.getIdPromosion() + "' >"; html += "<td>" + p.getNombrePromo() + "</td>"; html += "<td>" + p.getFechaPromosion() + "</td>"; html += "<td>" + p.getFechaFinPromosion() + "</td>"; html += "<td>" + p.getTasaPromo() + "</td>"; html += "<td><a href='#' itemid='" + p.getIdPromosion() + "' id='quitarPromo'>Quitar</a></td>"; html += "</tr>"; } out.print(html); break; case 27: int idPromosion = Integer.parseInt(request.getParameter("idPromosion")); sm.borrarPromosion(idPromosion); out.print("Borrado exitoso"); break; case 28: idSucursal = Integer.parseInt(request.getParameter("idSucursal")); float tasaPromo = Float.parseFloat(request.getParameter("tasaPromo")); String nombrePromo = request.getParameter("nombrePromo"); String fechaInicio = request.getParameter("fechaInicio"); String fechaFin = request.getParameter("fechaFin"); Calendar cIni = Calendar.getInstance(); Calendar cFin = Calendar.getInstance(); cIni.set( Integer.parseInt(fechaInicio.substring(0, 4)), Integer.parseInt(fechaInicio.substring(5, 7)) - 1, Integer.parseInt(fechaInicio.substring(8, 10))); cFin.set( Integer.parseInt(fechaFin.substring(0, 4)), Integer.parseInt(fechaFin.substring(5, 7)) - 1, Integer.parseInt(fechaFin.substring(8, 10))); SimpleDateFormat fo = new SimpleDateFormat("yyyy-MM-dd"); fechaInicio = fo.format(cIni.getTime()); fechaFin = fo.format(cFin.getTime()); sm.guardarPromosion(idSucursal, tasaPromo, nombrePromo, fechaInicio, fechaFin); out.print("Actualizacion exitosa"); break; case 29: String errores = "No hay categorias disponibles, verifique parametrizacion de sucursal"; elfor: for (Categorias c : sucursal.getParametros().getCategorias()) { errores = ""; if (c.getPlazos().isEmpty()) { errores = "Alguna categoria no tiene configurados los plazos , verifique parametrizacion de sucursal"; break; } for (Plazo p : c.getPlazos()) { errores = ""; if (p.getTasas().isEmpty()) { errores = "Algun plazo no tiene configurado, la especificacion de tasas por quincenas, verifique parametrizacion de sucursal"; break elfor; } } } if (errores.equals("")) { out.print(gs.toJson(new Result(errores, true))); } else { out.print(gs.toJson(new Result(errores, false))); } break; } }