Правило 15 дней в Mulesoft dataweave - PullRequest
0 голосов
/ 20 июня 2020

Для этого нужна помощь по коду Dataweave. Мы хотим, чтобы версия Hierarchy была основана на правиле 15 дней. Например, (на основе текущей даты) с 16 апреля по 15 мая файл будет отправлен с именем MAY в имени файла. С 16 мая по 15 июня файл будет отправлен с JUN в имени файла.

1 Ответ

1 голос
/ 20 июня 2020

Вопрос неясен, но я понимаю, что с учетом даты вы хотите вернуть трехзначное название месяца, текущий, если день месяца 15, то это должен быть следующий месяц, а не текущий.

Я создал функцию DataWeave, чтобы вернуть это:

%dw 2.0
output application/json
fun month15(date : DateTime)=upper((if (date.day >15) (date + |P1M|) else date) as String {format:"MMM"}) ++  date as String {format:"-yyyy_yyyy_MM_dd_HH_mm"}
---
{
    now: month15(now()),
    june15: month15(|2020-06-15T18:03:01Z|),    
    june19: month15(|2020-06-19T10:15:54Z|)    
}

Вывод:

{
  "now": "JUL-2020_2020_06_21_14_24",
  "june15": "JUN-2020_2020_06_15_18_03",
  "june19": "JUL-2020_2020_06_19_10_15"
}

Обновлен новым шаблоном, запрошенным в комментариях, для которых требуется аргумент DateTime.

...