vendor/novosga/core/Entity/ServicoUnidade.php line 282

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Novo SGA project.
  4.  *
  5.  * (c) Rogerio Lino <rogeriolino@gmail.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Novosga\Entity;
  11. /**
  12.  * Servico Unidade
  13.  * Configuração do serviço na unidade
  14.  *
  15.  * @author Rogerio Lino <rogeriolino@gmail.com>
  16.  */
  17. class ServicoUnidade implements \JsonSerializable
  18. {
  19.     /**
  20.      * O atendimento do serviço pode ser tanto normal quanto prioridade
  21.      */
  22.     const ATENDIMENTO_TODOS      1;
  23.     /**
  24.      * O atendimento do serviço só poder ser normal
  25.      */
  26.     const ATENDIMENTO_NORMAL     2;
  27.     /**
  28.      * O atendimento do serviço só poder ser prioridade
  29.      */
  30.     const ATENDIMENTO_PRIORIDADE 3;
  31.     /**
  32.      * @var Servico
  33.      */
  34.     private $servico;
  35.     /**
  36.      * @var Unidade
  37.      */
  38.     private $unidade;
  39.     /**
  40.      * @var Departamento
  41.      */
  42.     private $departamento;
  43.     /**
  44.      * @var Local
  45.      */
  46.     private $local;
  47.     /**
  48.      * @var string
  49.      */
  50.     private $sigla;
  51.     /**
  52.      * @var int
  53.      */
  54.     private $ativo;
  55.     /**
  56.      * @var int
  57.      */
  58.     private $peso;
  59.     /**
  60.      * @var bool
  61.      */
  62.     private $tipo;
  63.     /**
  64.      * @var int
  65.      */
  66.     private $incremento;
  67.     /**
  68.      * @var int
  69.      */
  70.     private $numeroInicial;
  71.     /**
  72.      * @var int
  73.      */
  74.     private $numeroFinal;
  75.     /**
  76.      * @var int
  77.      */
  78.     private $maximo;
  79.     /**
  80.      * @var string
  81.      */
  82.     private $mensagem;
  83.     public function __construct()
  84.     {
  85.         $this->tipo          self::ATENDIMENTO_TODOS;
  86.         $this->numeroInicial 1;
  87.         $this->incremento    1;
  88.         $this->peso          1;
  89.         $this->sigla         '';
  90.         $this->mensagem      '';
  91.     }
  92.     /**
  93.      * @return Servico
  94.      */
  95.     public function getServico(): ?Servico
  96.     {
  97.         return $this->servico;
  98.     }
  99.     public function setServico(Servico $servico): self
  100.     {
  101.         $this->servico $servico;
  102.         return $this;
  103.     }
  104.     /**
  105.      * @return Unidade
  106.      */
  107.     public function getUnidade(): ?Unidade
  108.     {
  109.         return $this->unidade;
  110.     }
  111.     public function setUnidade(Unidade $unidade): self
  112.     {
  113.         $this->unidade $unidade;
  114.         return $this;
  115.     }
  116.     public function setDepartamento(?Departamento $departamento): self
  117.     {
  118.         $this->departamento $departamento;
  119.         return $this;
  120.     }
  121.     public function getDepartamento(): ?Departamento
  122.     {
  123.         return $this->departamento;
  124.     }
  125.     /**
  126.      * @return Local
  127.      */
  128.     public function getLocal(): ?Local
  129.     {
  130.         return $this->local;
  131.     }
  132.     public function setLocal(Local $local): self
  133.     {
  134.         $this->local $local;
  135.         return $this;
  136.     }
  137.     public function setAtivo(bool $ativo): self
  138.     {
  139.         $this->ativo = !!$ativo;
  140.         return $this;
  141.     }
  142.     public function isAtivo(): bool
  143.     {
  144.         return $this->ativo;
  145.     }
  146.     public function getPeso(): int
  147.     {
  148.         return $this->peso;
  149.     }
  150.     public function setPeso(int $peso): self
  151.     {
  152.         $this->peso $peso;
  153.         return $this;
  154.     }
  155.     public function setSigla(string $sigla): self
  156.     {
  157.         $this->sigla $sigla;
  158.         return $this;
  159.     }
  160.     public function getSigla(): string
  161.     {
  162.         return $this->sigla;
  163.     }
  164.     public function getTipo(): int
  165.     {
  166.         return $this->tipo;
  167.     }
  168.     public function getIncremento(): int
  169.     {
  170.         return $this->incremento;
  171.     }
  172.     public function getNumeroInicial(): int
  173.     {
  174.         return $this->numeroInicial;
  175.     }
  176.     public function getNumeroFinal(): ?int
  177.     {
  178.         return $this->numeroFinal;
  179.     }
  180.     public function getMaximo(): ?int
  181.     {
  182.         return $this->maximo;
  183.     }
  184.     public function setTipo(int $tipo): self
  185.     {
  186.         $this->tipo $tipo;
  187.         return $this;
  188.     }
  189.     public function setIncremento(int $incremento): self
  190.     {
  191.         $this->incremento $incremento;
  192.         return $this;
  193.     }
  194.     public function setNumeroInicial(int $numeroInicial): self
  195.     {
  196.         $this->numeroInicial $numeroInicial;
  197.         return $this;
  198.     }
  199.     public function setNumeroFinal(?int $numeroFinal): self
  200.     {
  201.         $this->numeroFinal $numeroFinal;
  202.         return $this;
  203.     }
  204.     public function setMaximo(?int $maximo): self
  205.     {
  206.         $this->maximo $maximo;
  207.         return $this;
  208.     }
  209.     public function getMensagem(): ?string
  210.     {
  211.         return $this->mensagem;
  212.     }
  213.     public function setMensagem(?string $mensagem): self
  214.     {
  215.         $this->mensagem $mensagem;
  216.         return $this;
  217.     }
  218.     public function __toString()
  219.     {
  220.         return $this->sigla.' - '.$this->getServico()->getNome();
  221.     }
  222.     public function jsonSerialize()
  223.     {
  224.         return [
  225.             'sigla'         => $this->getSigla(),
  226.             'peso'          => $this->getPeso(),
  227.             'local'         => $this->getLocal(),
  228.             'servico'       => $this->getServico(),
  229.             'departamento'  => $this->getDepartamento(),
  230.             'ativo'         => $this->isAtivo(),
  231.             'tipo'          => $this->getTipo(),
  232.             'mensagem'      => $this->getMensagem(),
  233.             'numeroInicial' => $this->getNumeroInicial(),
  234.             'numeroFinal'   => $this->getNumeroFinal(),
  235.             'incremento'    => $this->getIncremento(),
  236.             'maximo'        => $this->getMaximo(),
  237.         ];
  238.     }
  239. }