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~~