Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

127
Vistas
Código Java Script para sumar el valor de 6 campos diferentes

Imagen del código requerido para agregar valor en el campo Total Inicialmente tenía 4 campos para sumar, pero ahora se agregaron 2 campos más. según 4 campos que tengo debajo del código, pero al agregar 2 más, se está volviendo más complejo según mi conocimiento.

suma requerida para estos 6 campos

 import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.history.ChangeItemBean // Get values from 4 custom fields def val1 = getCustomFieldValue("FTE US") as Double def val2 = getCustomFieldValue("FTE OGS IND") as Double def val3 = getCustomFieldValue("FTE OGS PHL") as Double def val4 = getCustomFieldValue("FTE Vendor") as Double // check both fields contain valid numeric values if (val1 == null && val2 == null && val3 == null && val4 == null){ return 0 }else if (val1 != null && val2 != null&& val3 != null&& val4 != null){ return val1 + val2 + val3 + val4 }else if (val1 == null && val2 != null&& val3 != null&& val4 != null){ return 0 + val2 + val3 + val4 }else if (val2 == null && val1 != null&& val3 != null&& val4 != null){ return 0 + val1 + val3 + val4 }else if (val3 == null && val1 != null&& val2 != null&& val4 != null){ return 0 + val1+ val2 + val4 }else if (val4 == null && val1 != null&& val2 != null&& val3 != null){ return 0 + val1 + val2 + val3 }else if (val3 == null && val4 == null&& val1 != null&& val2 != null){ return 0 + val1 + val2 }else if (val2 == null && val4 == null&& val1 != null&& val3 != null){ return 0 + val1 + val3 }else if (val2 == null && val3 == null&& val1 != null&& val4 != null){ return 0 + val1 + val4 }else if (val1 == null && val4 == null&& val2 != null&& val3 != null){ return 0 + val2 + val3 }else if (val1 == null && val3 == null&& val2 != null&& val4 != null){ return 0 + val2 + val4 }else if (val1 == null && val2 == null&& val3 != null&& val4 != null){ return 0 + val3 + val4 }else{ // return to some code to indicate a null value in one of the fields return "0" }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Mucho más fácil poner todos los valores en una matriz y luego llamar:

 [val1, val2, val3, val4].filter((x) => !isNaN(x)).reduce((a, b) => a + b)

Lo que estoy haciendo es:

  • use el filter para eliminar los elementos "no numéricos" ( !isNaN(x) );
  • use un reductor para sumar todos los elementos restantes.

Puede agregar todos los elementos que desee a la matriz anterior.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Javascript debería agregar Null como 0, pero puede asegurarse con una función como la que se encuentra al final aquí. Además, como se mencionó, "def" y "as Double" no son válidos en Javascript. Este código de prueba alerta correctamente 4.5.

 let val1 = returnDouble(); let val2 = retNull(); let val3 = returnDouble(); let val4 = returnDouble(); alert(val1 + val2 + val3 + val4); function retNull() { return(null); } function returnDouble () { return(1.5); } // OR to be very sure use a Conditional Operator to make Null into a 0 integer // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator function makeNullZero(value) { return(Null == value ? 0 : value); }

Parece que los componentes que está importando son Java (no Javascript) https://docs.atlassian.com/software/jira/docs/api/7.6.1/com/atlassian/jira/component/ComponentAccessor.html

Si su variable puede ser nula, conviértala en Doble (con D mayúscula) para evitar errores y conviértala a cero de esta manera:

 public static void main(String []args){ Double val1 = makeNullZero(1.5); Double val2 = makeNullZero(null); Double sum = val1 + val2; System.out.println(sum); } static Double makeNullZero(Double val) { return null == val ? 0 : val; }

Entonces, para su caso de uso:

 import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.history.ChangeItemBean // Get values from 4 custom fields Double val1 = makeNullZero(getCustomFieldValue("FTE US")); Double val2 = makeNullZero(getCustomFieldValue("FTE OGS IND")); Double val3 = makeNullZero(getCustomFieldValue("FTE OGS PHL")); Double val4 = makeNullZero(getCustomFieldValue("FTE PR")); Double val5 = makeNullZero(getCustomFieldValue("FTE COL")); Double val6 = makeNullZero(getCustomFieldValue("FTE Vendor")); Double sum = val1 + val2 + val3 + val4 + val5 + val6; return sum; static Double makeNullZero(Double val) { return null == val ? 0 : val; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda