2018-04-01 Избыточное Решение
Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
правила_разработки:как_не_надо_делать:2018-04-01_избыточное_решение [02.04.2018 11:24] admin Approved(admin 2018/04/02 11:24) |
правила_разработки:как_не_надо_делать:2018-04-01_избыточное_решение [20.05.2019 15:18] (текущий) |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
**Постановка задачи:** Добавить проверку, если было более 3 FATAL задач обращений в тех.поддержку то создать задачу для проведения аудита клиента руками разработчика.\\ | **Постановка задачи:** Добавить проверку, если было более 3 FATAL задач обращений в тех.поддержку то создать задачу для проведения аудита клиента руками разработчика.\\ | ||
**Ошибка:** Решено слишком сложно и избыточно.\\ | **Ошибка:** Решено слишком сложно и избыточно.\\ | ||
- | **Как надо делать:** Можно сделать в один два селекта и просто создание задачи и запускать срипт раз в мес, пример решения добавят позже.\\ | + | **Как надо делать:** Можно сделать в один два селекта и просто создание задачи и запускать срипт раз в мес.\\ |
- | <todo @Коля1>Добавить пример решения</todo>\\ | + | |
+ | <color #ed1c24>**Неверное решение**</color>\\ | ||
<code php> | <code php> | ||
#!/usr/bin/php | #!/usr/bin/php | ||
Строка 97: | Строка 97: | ||
} | } | ||
</code> | </code> | ||
+ | <color #22b14c>**Правильное достаточное решение:**</color>\\ | ||
+ | <code php> | ||
+ | #!/usr/bin/php | ||
+ | <?php | ||
+ | /** | ||
+ | * Запускается раз в месяц по cron 1 числа и находит сервера с FATAL задачами. | ||
+ | * Если на сервере больше 3 FATAL за месяц создается задача на аудит сервера | ||
+ | * Проходим по всем регномерам и ишем более 3 FATAL заявок за последний месяц | ||
+ | */ | ||
+ | require_once('/var/www/vcrm/carbon/utils/osv_lib2.php'); | ||
+ | require_once('/var/www/vcrm/rest/ticket_for_alarm_patch.php'); | ||
+ | $regnums = sqlexec("SELECT cf_regnom | ||
+ | FROM vtiger_ticketcf | ||
+ | INNER JOIN vtiger_troubletickets ON vtiger_ticketcf.ticketid = vtiger_troubletickets.ticketid | ||
+ | INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_ticketcf.ticketid | ||
+ | INNER JOIN vtiger_account ON vtiger_account.accountid = vtiger_troubletickets.parent_id | ||
+ | WHERE | ||
+ | vtiger_troubletickets.title LIKE '%FATAL%' | ||
+ | AND vtiger_crmentity.deleted=0 | ||
+ | AND vtiger_crmentity.createdtime > DATE_SUB(NOW(),INTERVAL 30 DAY) | ||
+ | AND cf_regnom != '' | ||
+ | AND vtiger_ticketcf.cf_viddeyatel_nosti LIKE '%Поддержка%' | ||
+ | GROUP BY cf_regnom | ||
+ | HAVING COUNT(vtiger_ticketcf.ticketid) > 3"); | ||
+ | foreach ($regnums as $regnum) { | ||
+ | $alarm['user_email'] = "reductor.sup.head@carbonsoft.ru"; | ||
+ | $alarm['regnumber'] = $regnum['cf_regnom']; | ||
+ | $alarm['title'] = "Провести аудит сервера {$regnum['cf_regnom']}"; | ||
+ | rest_ticket_create($alarm); | ||
+ | } | ||
+ | </code> | ||
/*Не удаляйте эту строку и ниже!*/ | /*Не удаляйте эту строку и ниже!*/ | ||
{(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2018-04-01_избыточное_решение|type=vote|trace=user|tracedetails=1)} | {(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2018-04-01_избыточное_решение|type=vote|trace=user|tracedetails=1)} | ||
+ | |||
+ | |||
+ | ~~OWNERAPPROVE~~ | ||