Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2014, 08:20
sandragh27
 
Fecha de Ingreso: junio-2014
Mensajes: 36
Antigüedad: 10 años, 4 meses
Puntos: 0
Exclamación Problema con algoritmo (array) de una aplicacion web

Hola a todos, espero que puedan ayudarme,

Estoy tratando de desarrollar un algoritmo que me genere un reporte, mi aplicacion es sobre la gestion de proyectos de una empresa, en este caso lo que quiero hacer es que el algoritmo me cuente cuantos proyectos se encuentran en el estado de desarrollo (segun la empresa que lo solicito). Para ser mas clara:

Empresa 1, tiene tiene 5 proyectos de los cuales 3 estan en desarrollo.
Empres 2, tiene 3 proyectos de los cuales 1 esta en desarrollo.
Empresa 3, tiene 1 proyecto de los cuales 0 esta en desarrollo.

Algo asi, pero claro en una tabla, ya de eso me encargo yo, lo que quisiera es que me ayuden con el algoritmo.

A continuacion les colocare el codigo con el que he estado trabajando:

Código Java:
Ver original
  1. <table class="tabla_total_proyectos">
  2. <%  int[] id_empresa_ = new int[cant];
  3.        int[] cant_proy_emp = new int[cant];
  4.        int cant_emp = 0;
  5.        
  6.        for(int i=0; i<cant; i++){ //Para no modificar el id_empresa
  7.            id_empresa_[i]=Integer.parseInt(id_empresa[i]);
  8.        }
  9.  
  10.        int[] proyectos_desarrollo_emp = new int[cant];
  11.        int aux = 0; /*Lo necesitamos para resetear lo contado y empezar de 0 nuevamente */
  12.        int aux2=0;
  13.         boolean b_aux2=false;
  14.         int[] estatus_proyecto_emp = new int[cant];
  15.  
  16.         for(int i=0; i<cant; i++){ //Para no modiicar el estatus del proyecto
  17.              estatus_proyecto_emp[i]=Integer.parseInt(estatus_proyecto[i]);
  18.         }
  19.        
  20.        for(int i=0;i<cant;i++){
  21.            for(int j=0;j<cant;j++){
  22.                  if(i!=j && id_empresa_[i] == id_empresa_[j]){ /*La primera condicion es para q no cuente el mismo*/
  23.                         if(estatus_proyecto_emp[j]==1){
  24.                                estatus_proyecto_emp[j]=-99999;
  25.                                 aux2++;
  26.                                 b_aux2=true;
  27.                         }
  28.                         aux++;/*Aumentamos en uno cada ves que se repita*/
  29.                         id_empresa_[j] = -99999;/*Este echo es para que no cuente dos veces o mas el mismo #*/
  30.                   }
  31.              }
  32.              aux++; if(b_aux2){aux2++;}
  33.              if((id_empresa_[i]!= -99999) && (estatus_proyecto_emp[i]!=-99999)){/*para que solo nos muestre los valores que necesitamos*/
  34.                  cant_proy_emp[i] = aux;
  35.                  proyectos_desarrollo_emp[i]=aux2;
  36. %>
  37.                                 <tr>
  38.                                     <td class="barra_fija" rowspan="6">Empresa</td>
  39.                                     <td class="barra_fija">Proyectos</td>
  40.                                     <td class="barra_fija">Desarrollo</td>
  41.                                     <td class="barra_fija">Prueba</td>
  42.                                     <td class="barra_fija">Certificación</td>
  43.                                     <td class="barra_fija">Productivo</td>
  44.                                 </tr>
  45.                                 <tr>
  46.                                     <td rowspan="5" class="barra_no_fija">
  47.                                         <input type="hidden" name="cant_proyecto" value="<%=cant%>">
  48.                                         <%=cant_proy_emp[i]%>
  49.                                     </td>
  50.                                     <td class="barra_no_fija">
  51.                                         <input type="hidden" name="proy_desarrollo" value="">
  52.                                         <%=proyectos_desarrollo_emp[i]%>
  53.                                     </td>
  54.  
  55.                                 </tr>
  56.                            
  57.                            
  58.                              
  59.                                 <% }
  60.                                     aux = 0; aux2=0; b_aux2=false; /*Reseteamos lo contado para la siguiente iteracción*/
  61.                                 } %>
  62.                             </table>