Пример #1
0
 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;
 }
Пример #2
0
  /**
   * 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;
    }
  }