Есть сущность рабочее время. В которой указаны даты начала месяца и окончания месяца.
В сущности "рабочее время" вложенная сущность "табель учета", в которой есть сущности начала отпуска и окончания отпуска, высчитывается кол-во дней (высчитывает разницу в днях между двумя датами.)
Ситуация следующая.
В рабочем времени мы сделали запись "Июнь 2021". В которой указали дату начала месяца и окончания.
В табеле я создаю запись на сотрудника и указываю даты:
28.05.2021 - 4.06.2021
Нужно, чтобы май не шёл в счет кол-ва дней отпуска за июнь. т.е. получалось не 8 дней, а 4.
Есть у кого-то идеи по этому поводу?
Разница в днях между двумя датами
Re: Разница в днях между двумя датами
Указываю в mysql формуле следующий код:
Всё работает как нужно. Но стоит добавить ещё, сразу всё ломается. Можете объяснить, в чем здесь проблема?
Код: Выделить всё
CASE
WHEN [834]>(SELECT app_entity_66.field_850 FROM app_entity_66 WHERE app_entity_66.id = e.parent_item_id)
THEN ((SELECT app_entity_66.field_850 FROM app_entity_66 WHERE app_entity_66.id = e.parent_item_id)-[830])/86400
END
Код: Выделить всё
CASE
WHEN [834]>(SELECT app_entity_66.field_850 FROM app_entity_66 WHERE app_entity_66.id = e.parent_item_id)
THEN ((SELECT app_entity_66.field_850 FROM app_entity_66 WHERE app_entity_66.id = e.parent_item_id)-[830])/86400
WHEN [830]<(SELECT app_entity_66.field_849 FROM app_entity_66 WHERE app_entity_66.id = e.parent_item_id)
THEN (SELECT app_entity_66.field_849 FROM app_entity_66 WHERE app_entity_66.id = e.parent_item_id)-[830])/86400)
END
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Разница в днях между двумя датами
У вас в условии 2 разных поля, могу предположить, что нужно объединить эти условия и прописать под одним WHEN (типа "WHEN [834]> Select... AND/OR [830] < Select... THEN ...). Т.е. нужно предусмотреть исход (результат) при пересечении условий для обоих полей. Могу ошибаться, но вероятно вам поможет.