Работа с оттоком (ФЛ) (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 - метод, который имеет возможность установить дату выполнения таски;