Смена статуса (BGB7.0) (11195)
Script: ru.bgcrm.dyn.ufanet.wizard.fl.maintenance.listener.contract.StatusChangeListener
1. Термины и сокращения
-
"Услуга" - сущность субдоговор;
-
"Акция" - навешенная тарифная опция на субдоговоре (в биллинге);
-
"Единый бланк" - вариант согласования с абонентом, где используется бланк с чернильной подписью;
-
"ЭДО" - вариант согласования с абонентом, где используется электронная форма бланка, можно использовать для подключения услуги;
-
"Оферта" - вариант согласования с абонентом, где используется подтверждение через присланный 4-значный СМС-код;
4. Используемые классы
StatusChangeListener - скрипт процесса #11195 Смена статуса (BGB7.0);
ServiceStatusChangeListener - скрипт процесса #11190 Смена статуса услуги ФЛ служебный;
5. Используемые зависимости
-
StatusChangeProcess - интерфейс интерактора для #11195;
-
ServiceStatusChangeProcess - интерфейс интерактора для #11190;
6. Логика методов (в общих чертах)
StatusChangeListener.java (11195 Смена)
-
deleteEarlierCreatedLinkedServiceProcesses - слушает смену статуса на "Открыт (10)" - удаляет привязанные связ.процессы;
-
createLinkedProcessByStatusChanged - слушает смену статуса на "Принят (9)" - создаёт #11190 единственно прикреплённым субдоговором;
-
createSuspensionRSOProcessIfNeed - слушает смену статуса на "Подтверждено (55)" и если в мастере был заполнен (4257) Действие с услугой как ПРИОСТАНОВЛЕНИЕ/РАСТОРЖЕНИЕ - создаёт связ.процесс #11192 РСО (ФЛ);
-
setRsoFLAcceptStatus - слушает смену статуса на "Данные приняты (463)" и в созданном ранее #11192 РСО (ФЛ) меняет статусы, чтоб РСО(ФЛ) выполнила свою логику (создание служебного РСО, при необходимости создание таски или перевод в статус "Не удержан");
-
setSMSParam - смотрит, как в мастере заполнили параметр (3514) Способ отправки и принимает решение: отправить пуш или смс;
-
createSEContractRepairAndServiceProcess - смотрит (4273) Необходим ли выезд СИ? ДА - создаём #10650 !Ремонт-обслуживание(Единый для СИ);
ServiceStatusChangeListener.java (11190 Смена служебный)
-
loadOptionsFromRB - слушает смену параметра (4257) Действие с услугой - и делает запрос в 7rb-биллинг, чтоб получить акции, которые висят на услуге;
-
calculateAndSetEndDate - слушает (3538) Количество дней приостановления и считает, проставляет дату в (2327) Дата окончания;
-
contractStatusChange - слушает смену статуса на Закрыт(8) и меняет статус услуги - делая запрос contractStatusDAO.updateStatus в 7rb-биллинг;
-
buildContractPeriod - метод, который считает учётный период для услуги, чтоб его прописать при смене статуса услуги в биллинге;
-
getEndServiceDate - - метод, который высчитывает конечную дату по количеству дней из параметра (3538);
См. Работа с оттоком ФЛ.