Я ввел данные, как показано ниже. Если timeMeasurementUnitCode="DAY"
, то значение, которое мне нужно вычислить как value*24*60
, если timeMeasurementUnitCode="HOUR"
, то значение value*60
Я вижу, что есть один аналогичный вариант использования, который люди ищу, the ticket is opened on Jul 17, 2019
: https://github.com/bazaarvoice/jolt/issues/832
Проблема 832 кажется все еще открытой
Ввод:
{
"freightCharacteristics": {
"transitDuration": {
"timeMeasurementUnitCode": "DAY",
"value": 6
},
"loadingDuration": {
"timeMeasurementUnitCode": "HOUR",
"value": 6
}
}
}
Ожидаемый результат: на основе константы, представленной во входных данных как DAY
или HOUR
, мне нужно несколько no.of days*hours*minutes
, чтобы достичь моих требований, как показано ниже.
{
"transitDurationInMinutes" : 8640,
"loadingDurationInMinutes" : 360
}
]
В соответствии с предложением @mattyb, я использовал функцию деления, чтобы достичь того, чего хотите добиться умножением, logi c обновляется, как показано ниже.
[
{
"operation": "shift",
"spec": {
"freightCharacteristics": {
"transitDuration": {
"timeMeasurementUnitCode": {
"DAY": {
"@(2,value)": "transitDurationInMinutes"
},
"*": {
"@(2,value)": "transitDurationInMinutes"
}
}
},
"loadingDuration": {
"timeMeasurementUnitCode": {
"HOUR": {
"@(2,value)": "loadingDurationInMinutes"
},
"*": {
"@(2,value)": "loadingDurationInMinutes"
}
}
}
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"transitDurationInMinutes": "=divide(@(1,transitDurationInMinutes),0.00069444444)",
"loadingDurationInMinutes": "=divide(@(1,loadingDurationInMinutes),0.01666666666)"
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"transitDurationInMinutes": "=toInteger",
"loadingDurationInMinutes": "=toInteger"
}
}
]