Работа с оттоком (ФЛ) (11192)
Script: ru.bgcrm.dyn.ufanet.wizard.fl.maintenance.listener.rso.RsoFLListener
1. Термины и сокращения
-
"Услуга" - сущность субдоговор;
-
"Таска" - функция в ЕРП, которая позволяет выполнить метод в заданную дату;
-
"УП" - учётный период;
2. Назначение
-
процесс несёт информационно-статистическую функцию о абонентах, которые планируют приостановить/расторгнуть договор с компанией;
3. Тип(ы) процесса(ов)
Процесс #11195 можно создать на: - контрагенте; - 7rb договоре; - договоре 5го биллинга;
4. Используемые классы
RsoFLListener - скрипт процесса #11192 РСО (ФЛ);
RsoFLServiceListener - скрипт процесса #11197 Работа с оттоком (ФЛ) служебный;
5. Используемые зависимости
-
RsoFLProcess - интерфейс интерактора для #11192;
-
RsoFLServiceProcess - интерфейс интерактора для #11197;
6. Логика методов (в общих чертах)
RsoFLListener.java (11192 Работа с оттоком (ФЛ))
-
initProcessFlow - слушает смену статуса на "Открыт (10)" - удаляет привязанные связ.процессы и таску (если висит в РСО (ФЛ) служебный);
-
getTaskTypeId - метод помогает получить из JEXL, значение проперти с именем создаваемой таски;
-
deleteExistedTask - метод для удаления существующей таски;
-
updateParameters - метод, который сбрасывает значения в параметрах процесса РСО(ФЛ);
-
createLinkedProcessByStatusChanged - слушает смену статуса на "Сохранить (476)" - создаёт по выбранным (в мастере) галочкам с услугами - связ.процесс(ы) #11197 РСО (ФЛ) служебный;
-
handleInProcessingStatus - слушает смену статуса на "В обработке (359)", смотрит на заполненные шаги и принимает решение в какой статус перевести РСО(ФЛ);
-
handleWorkedOutStatus - слушает смену статуса на "Проработан (400)", смотрит на заполненные шаги и принимает решение в какой статус перевести РСО(ФЛ);
-
getMasterStep - получает значение шагов заполненных в мастере;
-
static class RsoMasterStep - вложенный класс, который содержит переменные со значениями заполненных шагов и методы, которые проверяют эти значения и возвращают булевое значение;
RsoFLServiceListener.java (11197 Работа с оттоком (ФЛ) служебный)
-
handleCreateTask - слушает смену статуса на "Данные приняты (463)" - создаёт таску в зависимости от входных данных;
-
updateExistedTask - слушает смену статусов на "Удержан (314) / Не удержан (457)" - и в случае чего обновляет дату выполнения таски;
-
handleAccountingPeriod - слушает смену статусов на "Проверка (135)" - в данный статус процесс 11197 переключается в день выполнения таски, данный метод проверяет учётный период (в зависимости от прикреплённого субдоговора услуги);
-
checkAccountingPeriodCTV - метод для проверки УП услуги "КТВ". Особенность данной услуги - наличие продукта, в котором размещается УП;
-
checkAccountingPeriod - метод для проверки УП услуги "Интернет";
-
compareAccountingPeriodDays - метод, который проверяет конец даты УП со значением дельты (из JEXL) и принимает решение в какой конечный статус перевести процесс: "Удержан (314) / Не удержан (457)";
-
getDelta - метод, который высчитывает значение дельты;
-
getServiceSuffixKey - метод, который достаёт из JEXL процесса 11197 - значения проперти с прописанными суффиксами услуг;
-
getCountDaysOfCheckDeltaAccountingPeriod - метод, который достаёт из JEXL процесса 11197 - значения проперти с количеством дней для проверки дельты;
-
getAmountDaysBeforeExecTask - метод, который достаёт из JEXL процесса 11197 - значения проперти с количеством дней, которое надо приплюсовать, чтоб высчитать дату запуска таски;
-
getServiceInfoWrapper - метод, который получает сущность услуги по айди субдоговора;
-
createAndSetTaskDays - метод, который формирует данные для создания таски;
-
createTask - метод, который создаёт таску;
-
getTaskTypeId - метод помогает получить из JEXL, значение проперти с именем создаваемой таски;
-
updateExistedTask - метод, который имеет возможность установить дату выполнения таски;