ProcedimentoAndamentoRN.php
2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
require_once dirname(__FILE__) . '/../../../SEI.php';
/**
* Controla o log de estados da expadição de um procedimento pelo modulo SEI
*
* @autor Join Tecnologia
*/
class ProcedimentoAndamentoRN extends InfraRN {
protected $isSetOpts = false;
protected $dblIdProcedimento;
protected $dblIdTramite;
protected $numTarefa;
protected $strNumeroRegistro;
/**
* Invés de aproveitar o singleton do BancoSEI criamos uma nova instância para
* não ser afetada pelo transation
*
* @return Infra[Driver]
*/
protected function inicializarObjInfraIBanco(){
return BancoSEI::getInstance();
}
public function setOpts($strNumeroRegistro, $dblIdTramite, $numTarefa, $dblIdProcedimento=null)
{
$this->strNumeroRegistro = $strNumeroRegistro;
$this->dblIdTramite = $dblIdTramite;
$this->dblIdProcedimento = $dblIdProcedimento;
$this->numTarefa = $numTarefa;
$this->isSetOpts = true;
}
/**
* Adiciona um novo andamento à um procedimento que esta sendo expedido para outra unidade
*
* @param ProcedimentoAndamentoDTO $parProcedimentoAndamentoDTO
*/
protected function cadastrarControlado($parProcedimentoAndamentoDTO){
if($this->isSetOpts === false) {
throw new InfraException('Log do cadastro de procedimento não foi configurado');
}
$strMensagem = ($parProcedimentoAndamentoDTO->isSetStrMensagem()) ? $parProcedimentoAndamentoDTO->getStrMensagem() : 'Não informado';
$strSituacao = ($parProcedimentoAndamentoDTO->isSetStrSituacao()) ? $parProcedimentoAndamentoDTO->getStrSituacao() : 'N';
$hash = md5($this->dblIdProcedimento . $strMensagem);
$objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO();
$objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);
$objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s'));
$objProcedimentoAndamentoDTO->setDblIdProcedimento($this->dblIdProcedimento);
$objProcedimentoAndamentoDTO->setStrNumeroRegistro($this->strNumeroRegistro);
$objProcedimentoAndamentoDTO->setDblIdTramite($this->dblIdTramite);
$objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);
$objProcedimentoAndamentoDTO->setStrMensagem($strMensagem);
$objProcedimentoAndamentoDTO->setStrHash($hash);
$objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa);
$objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($this->getObjInfraIBanco());
$objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO);
}
}