Echando un vistazo por encima, creo que debes cambiar en todos los bucles
por
Ya que "WS-I" es el elemento del array no rellenado todavia.
Y por consiguiente no te funcionaria ningun bucle, si alguno te funciona es porque el elemento "WS-I" evaluado está a cero y blanco y no te varia el resultado, pero en el "sueldo minimo" te saldra "cero" del trabajador " ".