AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/public_html/lrsys_apps/imobles/application/plugins/module_pcp/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_apps/imobles/application/plugins/module_pcp/models/Maintenance.php
<?php

/**
 * Maintenance class.
 * 07/03/2017 - Ataide Bastos
 */
class Maintenance extends Model
{

  public static $_table = 'module_pcp_equipament_maintenance';

  private $_user;
  private $_maintenance;
  private $_equipament;

  public function __construct()
  {
    $this->_user          = ORM::for_table('crm_accounts');
    $this->_equipament    = ORM::for_table('module_pcp_equipaments');
  }


  public static function has_backlogs($id)
  {
    $count = Model::factory('Backlog')->where('active', '1')->where('id_maintenance',$id)->find_one();
    return $count;
  }

  public static function has_any_backlogs($id)
  {
    $count = Model::factory('Backlog')->where('id_maintenance',$id)->find_one();
    return $count;
  }

  public function equipament()
  {
    return $this->belongs_to('Equipament','id_equipament' ,'id');
  }

  public function backlogs()
  {
    return $this->has_many('Backlog', 'id_maintenance', 'id');
  }

  public static function getSumary() {

    $sumary = array();
    $sumary['qtd_open'] = 0;
    $sumary['qtd_total'] = 0;
    $sumary['qtd_done'] = 0;
    $sumary['qtd_equip'] = 0;
    $sumary['qtd_inprogress'] = 0;

    $maintenance = Model::factory('Maintenance')->findArray();

    $equips = Model::factory('Maintenance')->where_not_equal('status','1')->group_by('id_equipament')->findMany();

    $sumary['qtd_equip'] = count($equips);
    $sumary['qtd_total'] = count($maintenance);


    foreach ($maintenance as $maintenance) {

      if($maintenance['status'] == 0)
        $sumary['qtd_open']++;

      if($maintenance['status'] == 1)
        $sumary['qtd_done']++;

      if($maintenance['status'] == 2)
        $sumary['qtd_inprogress']++;
    }

    return $sumary;
  }



  /**
   * Function to add a new maintenance to the equipment maintenance list
   */
  public function save() {

    try {

      //store maintenance to maintenance table to get a unique id.
      parent::save();

      if($this->status == 1 ) {
        $equipament = $this->equipament()->find_one();
        $equipament->changeSituation('1');
        $equipament->save();
      }else {
        $equipament = $this->equipament()->find_one();
        $equipament->changeSituation('4');
        $equipament->save();
      }

      return true;

    } catch (Exception $e) {
      die($e->getMessage());
      return false;
    }

  }


  /**
   *
   * Function that returns an array object with all the necessary data about the pending
   * @param type var Description
   * @return {11:return array}
   */
  public function getBacklogs()
  {
    $equipament    = ORM::for_table('module_pcp_equipaments')->select(array('id', 'name'))->findOne($this->id_equipament);
    $backlogs_list = $this->backlogs()->order_by_desc('id')->findArray();

    $result = array(
      'maintenance'         => array('id' => $this->id, 'title' => $this->title),
      'equipament'          => array('id' => $equipament->id, 'name' => $equipament->name),
      'backlogs'            => $backlogs_list
    );
    return $result;
  }

  /**
   * Extract correct format date from DB.
   * @return { formated_date string}
   */
  public static function formatDate($start_date = null)
  {
    if (is_null($start_date)) {
      return false;
    }

    //get format date from system.
    $date_format = get_option('df');

    $date = strtotime($start_date);
    return date($date_format.' H:i', $date);
  }

  /**
   * Extract correct format date from DB.
   * @return { formated_date string}
   */
  public function getStartDate()
  {
    //get format date from system.
    $date_format = get_option('df');

    $date = strtotime($this->start_date);
    return date($date_format.' H:i', $date);
  }

  /**
   * Extract correct format end date from DB.
   * @return { formated_date string}
   */
  public function getEndDate()
  {
    //get format date from system.
    $date_format = get_option('df');

    $date = strtotime($this->end_date);
    return date($date_format.' H:i', $date);
  }

  /**
   * Extract correct format currency from DB.
   * @return { formated_currency string}
   */
  public function getCost()
  {
    //get format date from system.
    $currency = get_option('currency_code');
    $currency = get_option('currency_code');
    $thousands_sep = get_option('thousands_sep');
    $dec_point = get_option('dec_point');

    $cost = isset($this->value) ? $this->value : 0;
    $formated_cost = $currency.' '.number_format($cost, 2, $dec_point, $thousands_sep);;
    return $formated_cost;
  }

  /**
   * Function to close current maintenance.
   *
   * @return {boolean}
   */
  public function closeMaintenace($data)
  {
    $this->end_date     = $data['end_date'];
    $this->end_message  = $date['end_message'];
    $this->status = '1';

    if($this->save()) {
      return true;

    }else{
      return false;
    }
  }


  public function showBootstrapTr()
  {
    switch ($this->status) {
      case '0':
          $td_status_label = '<td class="text-center"><span class="label label-danger">Pendente</span></td>';
        break;

      case '1':
          $td_status_label = '<td class="text-center"><span class="label label-success">Finalizado</span></td>';
        break;

      case '2':
          $td_status_label = '<td class="text-center"><span class="label label-primary">Em andamento</span></td>';
        break;

      default:
          $td_status_label = '<td class="text-center"><span class="label label-warnning">Desconhecido</span></td>';
        break;
    }

    $manager =   '<td class="text-center">
                      <a href="#" id="open-modal-close-maintenace" data-toggle="modal" data-target="#modal_close_maintenance" class="btn btn-inverse btn-xs">
                        <i class="fa fa-pencil"></i>
                      </a>
                      <a href="#" class="btn btn-danger btn-xs cdelete">
                        <i class="fa fa-trash"></i>
                      </a>
                  </td>';


    $tr = '<tr><td>'.$this->id.'</td><td>'.$this->title.'</td><td>'.$this->getStartDate().'</td><td></td><td class="amount">'.$this->getCost().'</td>'.$td_status_label.$manager.'</tr>';

    return $tr;

  }


}

Anon7 - 2022
AnonSec Team