| 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/regional/application/plugins/module_pcp/models/ |
Upload File : |
<?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;
}
}