src/Entity/Slave/TicketSuspension.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Slave;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\DBAL\Types\Types;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8.  * @ORM\Table(name="eposm_s_ticket_suspension")
  9.  * @ORM\Entity(repositoryClass="App\Repository\Slave\TicketSuspensionRepository")
  10.  */
  11. class TicketSuspension
  12. {    
  13.     public function displaySuspensionTable(){
  14.         $html '<table class="table table-sm m_b_none responsive_font_size"><tr><th class="td_w_50p"></th><th class="txt_a_c">Data</th><th class="td_w_150p">Ora</th></tr><tr><th class="txt_a_r">Dal</th><td class="txt_a_c">'.$this->getDatetimeFrom()->format('d-m-Y').'</td><td>'.$this->getDatetimeFrom()->format('H:i').'</td></tr><tr><th class="txt_a_r">Al</th><td class="txt_a_c">';
  15.         if($this->getDatetimeTo() != null)
  16.             $html.= $this->getDatetimeTo()->format('d-m-Y').'</td><td>'.$this->getDatetimeTo()->format('H:i');
  17.         else
  18.             $html.= '---</td><td>---';
  19.         $html.= '</td></tr></table>';
  20.         return $html;
  21.     }
  22.     public function unlock($unlockCausal$unlockDatetime$em){
  23.         if($unlockDatetime == null)
  24.             $unlockDatetime = new \DateTime();
  25.         // NON POSSO SBLOCCARE PRIMA DELLA DATA DI INIZIO SOSPENSIONE
  26.         if($unlockDatetime->format("YmdHis") < $this->datetimeFrom->format("YmdHis"))
  27.             $unlockDatetime $this->datetimeFrom;
  28.         $this->datetimeTo $unlockDatetime;
  29.         
  30.         $settingUnlockSameTech $em->getRepository('App\Entity\Slave\Setting')->findOneBy(array('slug' => 'ticket_suspension_unlock_same_technician'));
  31.         $statusAssigned $em->getRepository('App\Entity\Slave\TicketStatus')->findOneBySlug('assigned');
  32.         $statusToAssign $em->getRepository('App\Entity\Slave\TicketStatus')->findOneBySlug('to_assign');
  33.         // SE IMPOSTAZIONE SBLOCCA SU STESSO TECNICO ATTIVA, ESISTE UN TECNICO, E' ATTIVO L'ACCOUNT E NON E' IN FERIE -> STATO ASSEGNATO
  34.         // ALTRIMENTI -> STATO DA ASSEGNARE E TOLGO TECNICO DA TICKET
  35.         if($settingUnlockSameTech->getValue() && $this->getTicket()->getTechnician() != null && $this->getTicket()->getTechnician()->isCompanyActive() && $this->getTicket()->getTechnician()->getActualHoliday() == false)
  36.             $this->getTicket()->setStatus($statusAssigned);
  37.         else{
  38.             $this->getTicket()->setStatus($statusToAssign);
  39.             $this->getTicket()->setTechnician(null);
  40.         }
  41.         $this->setUnlockCausal($unlockCausal);
  42.         $this->setUnlocked(1);
  43.     }
  44.     /**
  45.      * @ORM\Column(name="id", type="bigint")
  46.      * @ORM\Id
  47.      * @ORM\GeneratedValue(strategy="AUTO")
  48.      */
  49.     protected $id;
  50.     /**
  51.      * @ORM\Column(name="datetime_from", type="datetime")
  52.      */
  53.     protected $datetimeFrom;
  54.     /**
  55.      * @ORM\Column(name="datetime_to", type="datetime", nullable=true)
  56.      */
  57.     protected $datetimeTo;
  58.     
  59.     /**
  60.      * @ORM\Column(name="is_approved", type="boolean", nullable=true)
  61.      */
  62.     protected $approved;
  63.     
  64.     /**
  65.      * @ORM\Column(name="is_managed", type="boolean")
  66.      */
  67.     protected $managed false;
  68.     
  69.     /**
  70.      * @ORM\Column(name="is_unlocked", type="boolean")
  71.      */
  72.     protected $unlocked false;
  73.     
  74.     /**
  75.      * @ORM\Column(name="unlock_causal", type="text", nullable=true)
  76.      */
  77.     protected $unlockCausal;
  78.     
  79.     /**
  80.      * @ORM\Column(name="refuse_motivation", type="text", nullable=true)
  81.      */
  82.     protected $refuseMotivation;
  83.     // OneToOne
  84.         /**
  85.          * @ORM\OneToOne(targetEntity="App\Entity\Slave\Intervention", inversedBy="suspension")
  86.          * @ORM\JoinColumn(name="intervention_id", referencedColumnName="id")
  87.          */
  88.         private $intervention;
  89.     //
  90.     // ManyToOne
  91.         /**
  92.          * @ORM\ManyToOne(targetEntity="App\Entity\Slave\Ticket", inversedBy="suspensions")
  93.          * @ORM\JoinColumn(name="ticket_id", referencedColumnName="id")
  94.          */
  95.         private $ticket;
  96.     //
  97.     public function getId(): ?string
  98.     {
  99.         return $this->id;
  100.     }
  101.     public function getDatetimeFrom(): ?\DateTimeInterface
  102.     {
  103.         return $this->datetimeFrom;
  104.     }
  105.     public function setDatetimeFrom(\DateTimeInterface $datetimeFrom): static
  106.     {
  107.         $this->datetimeFrom $datetimeFrom;
  108.         return $this;
  109.     }
  110.     public function getDatetimeTo(): ?\DateTimeInterface
  111.     {
  112.         return $this->datetimeTo;
  113.     }
  114.     public function setDatetimeTo(?\DateTimeInterface $datetimeTo): static
  115.     {
  116.         $this->datetimeTo $datetimeTo;
  117.         return $this;
  118.     }
  119.     public function isApproved(): ?bool
  120.     {
  121.         return $this->approved;
  122.     }
  123.     public function setApproved(?bool $approved): static
  124.     {
  125.         $this->approved $approved;
  126.         return $this;
  127.     }
  128.     public function isManaged(): ?bool
  129.     {
  130.         return $this->managed;
  131.     }
  132.     public function setManaged(bool $managed): static
  133.     {
  134.         $this->managed $managed;
  135.         return $this;
  136.     }
  137.     public function getUnlockCausal(): ?string
  138.     {
  139.         return $this->unlockCausal;
  140.     }
  141.     public function setUnlockCausal(?string $unlockCausal): static
  142.     {
  143.         $this->unlockCausal $unlockCausal;
  144.         return $this;
  145.     }
  146.     public function getRefuseMotivation(): ?string
  147.     {
  148.         return $this->refuseMotivation;
  149.     }
  150.     public function setRefuseMotivation(?string $refuseMotivation): static
  151.     {
  152.         $this->refuseMotivation $refuseMotivation;
  153.         return $this;
  154.     }
  155.     public function getIntervention(): ?Intervention
  156.     {
  157.         return $this->intervention;
  158.     }
  159.     public function setIntervention(?Intervention $intervention): static
  160.     {
  161.         $this->intervention $intervention;
  162.         return $this;
  163.     }
  164.     public function getTicket(): ?Ticket
  165.     {
  166.         return $this->ticket;
  167.     }
  168.     public function setTicket(?Ticket $ticket): static
  169.     {
  170.         $this->ticket $ticket;
  171.         return $this;
  172.     }
  173.     public function isUnlocked(): ?bool
  174.     {
  175.         return $this->unlocked;
  176.     }
  177.     public function setUnlocked(bool $unlocked): static
  178.     {
  179.         $this->unlocked $unlocked;
  180.         return $this;
  181.     }
  182. }