diff --git a/src/protected/application/lib/MapasCulturais/Utils.php b/src/protected/application/lib/MapasCulturais/Utils.php
index ce10aa538..2b3295def 100644
--- a/src/protected/application/lib/MapasCulturais/Utils.php
+++ b/src/protected/application/lib/MapasCulturais/Utils.php
@@ -209,6 +209,7 @@ static function getTermsByOpportunity($text, $opportunity)
'avaliado' => 'monitorado',
'Avaliada' => 'Monitorada',
'avaliada' => 'monitorada',
+ 'Enviar inscrição' => 'Enviar prestação de conta'
];
diff --git a/src/protected/application/lib/modules/Diligence/Controllers/Controller.php b/src/protected/application/lib/modules/Diligence/Controllers/Controller.php
index 601e5aee2..bd6d1d876 100644
--- a/src/protected/application/lib/modules/Diligence/Controllers/Controller.php
+++ b/src/protected/application/lib/modules/Diligence/Controllers/Controller.php
@@ -22,6 +22,7 @@ class Controller extends \MapasCulturais\Controller implements NotificationInter
const ANSWER_DRAFT = 'resposta_rascunho';
const ANSWER_SEND = 'resposta_enviada';
+
/**
* Salva uma diligência
*
@@ -120,7 +121,7 @@ public function notification(): void
App::i()->applyHook('controller(diligence).notification:before');
//Notificação no Mapa Cultural
$notification = new NotificationDiligence();
- $notification->create($this, '');
+ $notification->create($this, EntityDiligence::TYPE_NOTIFICATION_AUDITOR);
$userDestination = $notification->userDestination($this);
App::i()->applyHook('controller(diligence).notification:after');
diff --git a/src/protected/application/lib/modules/Diligence/Controllers/Tado.php b/src/protected/application/lib/modules/Diligence/Controllers/Tado.php
index 0a07cbff0..cabea1ea8 100644
--- a/src/protected/application/lib/modules/Diligence/Controllers/Tado.php
+++ b/src/protected/application/lib/modules/Diligence/Controllers/Tado.php
@@ -147,8 +147,6 @@ private function returnRequestJson($title, $message, $status)
//Notificação via plataforma do mapa cultural ao proponente
public function sendNotificationTagoGeneration()
{
- $msgTado = 'O TERMO DE ACEITAÇÃO DEFINITIVA DO OBJETO, foi gerado e você já pode verificar acessando o sua inscrição: Nº ';
-
$app = App::i();
$ag = $app->repo('Registration')->find($this->data['id']);
//Inscrição, agente fiscal e agente proponente
@@ -164,6 +162,6 @@ public function sendNotificationTagoGeneration()
};
$class->data = $notifi;
- $notification->create($class, $msgTado);
+ $notification->create($class, EntityDiligence::TYPE_NOTIFICATION_TADO);
}
}
\ No newline at end of file
diff --git a/src/protected/application/lib/modules/Diligence/Entities/AnswerDiligence.php b/src/protected/application/lib/modules/Diligence/Entities/AnswerDiligence.php
index e07387998..77519112d 100644
--- a/src/protected/application/lib/modules/Diligence/Entities/AnswerDiligence.php
+++ b/src/protected/application/lib/modules/Diligence/Entities/AnswerDiligence.php
@@ -2,12 +2,14 @@
namespace Diligence\Entities;
use DateTime;
-use \MapasCulturais\App;
+use Diligence\Entities\NotificationDiligence;
+use MapasCulturais\App;
use MapasCulturais\Entity;
use Doctrine\ORM\Mapping as ORM;
use Respect\Validation\Rules\Json;
use Diligence\Controllers\Controller;
use Diligence\Service\DiligenceInterface;
+use Diligence\Entities\Diligence as DiligenceEntity;
use Diligence\Repositories\Diligence as DiligenceRepo;
use Carbon\Carbon;
@@ -89,17 +91,18 @@ public function createOrUpdate($class): string
App::i()->applyHook('entity(diligence).createAnswer:before');
$repo = new DiligenceRepo();
-
//Buscando a ultima diligencia da inscrição passado por parametro
$lastDiligence = $repo->getIdLastDiligence($class->data['registration']);
+ // Notificando a pessoa fiscal
+ $notification = new NotificationDiligence();
+ $notification->create($class, DiligenceEntity::TYPE_NOTIFICATION_PROPONENT);
$answer = new AnswerDiligence();
$reg = $app->repo('Registration')->find($class->data['registration']);
if($class->data['idAnswer'] > 0){
//Se tiver registro de diligência
$answerDiligences = App::i()->repo('Diligence\Entities\AnswerDiligence')->find($class->data['idAnswer']);
-
$answerDiligences->answer = $class->data['answer'];
$answerDiligences->createTimestamp = new DateTime();
$answerDiligences->registration = $reg;
@@ -118,7 +121,7 @@ public function createOrUpdate($class): string
$save = self::saveEntity($answer);
App::i()->applyHook('entity(diligence).createAnswer', [&$answer]);
-
+
return json_encode(['message' => 'success', 'entityId' => $save['entityId'], 'status' => 200]);
}
diff --git a/src/protected/application/lib/modules/Diligence/Entities/Diligence.php b/src/protected/application/lib/modules/Diligence/Entities/Diligence.php
index d2986cf42..8af4e2a17 100644
--- a/src/protected/application/lib/modules/Diligence/Entities/Diligence.php
+++ b/src/protected/application/lib/modules/Diligence/Entities/Diligence.php
@@ -35,7 +35,10 @@ class Diligence extends \MapasCulturais\Entity implements DiligenceInterface
const STATUS_OPEN = 2; // Para diligencias que está em aberto
const STATUS_SEND = 3; // Para diligência enviada para o proponente
const STATUS_ANSWERED = 4; // Para diligências respondida pelo proponente
+ const TYPE_NOTIFICATION_AUDITOR = 'diligence';
+ const TYPE_NOTIFICATION_PROPONENT = 'answer';
+ const TYPE_NOTIFICATION_TADO = 'tado';
/**
* @var integer
*
diff --git a/src/protected/application/lib/modules/Diligence/Entities/NotificationDiligence.php b/src/protected/application/lib/modules/Diligence/Entities/NotificationDiligence.php
index 42c524f56..fc0d0b946 100644
--- a/src/protected/application/lib/modules/Diligence/Entities/NotificationDiligence.php
+++ b/src/protected/application/lib/modules/Diligence/Entities/NotificationDiligence.php
@@ -1,33 +1,28 @@
repo('Agent')->find($class->data['agent']);
- $url = $app->createUrl('inscricao', $class->data['registration']);
- //Mensagem para notificação na plataforma
- $numberRegis = ''.$class->data['registration'].'';
-
- if($msgSend == '' || $msgSend == null)
- {
- $msgSend = 'Um parecerista abriu uma diligência para você responder na inscrição de número: ';
+ // Mensagem para notificação na plataforma
+ if($type == 'diligence') {
+ $agent = $app->repo('Agent')->find($class->data['agent']);
+ $notification->message = $this->generateMessage($class, $type);
+ $notification->user = $agent->user;
+ }else{
+ $dili = $app->repo('Diligence\Entities\Diligence')->findOneBy(['registration' => $class->data['registration']]);
+ $notification->message = $this->generateMessage($class, $type);
+ $notification->user = $dili->openAgent->user;
}
-
- $message = $msgSend . $numberRegis ;
-
- $notification->message = $message;
- $notification->user = $agent->user;
-
$app->disableAccessControl();
$notification->save(true);
$app->enableAccessControl();
@@ -40,7 +35,7 @@ public function userDestination($class) : array
$class->data['openAgent'],
$class->data['agent']
);
- //Array para fila
+ // Array para fila
return [
'name' => $regs['agent']->name,
'email' => $regs['agent']->user->email,
@@ -48,6 +43,28 @@ public function userDestination($class) : array
'days' => $regs['reg']->opportunity->getMetadata('diligence_days')
];
}
-
+ /**
+ * Gera o contexto da mensagem para a notificação
+ * @param $class
+ * @param $type
+ * @return string
+ */
+ public function generateMessage($class, $type) : string
+ {
+ $app = App::i();
+ $numberRegis = ''.$class->data['registration'].'';
+ if($type == EntityDiligence::TYPE_NOTIFICATION_AUDITOR) {
+ // Mensagem para o proponente
+ return 'Um parecerista abriu uma diligência para você responder na inscrição de número: '.$numberRegis;
+ }
+ if($type == EntityDiligence::TYPE_NOTIFICATION_PROPONENT) {
+ // Mensagem para o fiscal
+ return "Houve uma resposta para prestação de conta de número: ".$numberRegis;
+ }
+ if($type == EntityDiligence::TYPE_NOTIFICATION_TADO) {
+ // Mensagem para o proponente
+ return "O TERMO DE ACEITAÇÃO DEFINITIVA DO OBJETO, foi gerado e você já pode verificar acessando o sua inscrição: Nº ".$numberRegis;
+ }
+ }
}
\ No newline at end of file