CODE STYLE class.dashletOpenVSCompleted.php

This commit is contained in:
Fernando Ontiveros
2012-10-09 12:36:52 -04:00
parent 310ee85058
commit 9a683be6ae

View File

@@ -2,7 +2,8 @@
require_once 'classes/interfaces/dashletInterface.php'; require_once 'classes/interfaces/dashletInterface.php';
class dashletOpenVSCompleted implements DashletInterface { class dashletOpenVSCompleted implements DashletInterface
{
const version = '1.0'; const version = '1.0';
@@ -17,25 +18,29 @@ class dashletOpenVSCompleted implements DashletInterface {
private $greenFrom; private $greenFrom;
private $greenTo; private $greenTo;
public static function getAdditionalFields($className) { public static function getAdditionalFields ($className)
$additionalFields = array(); {
$additionalFields = array ();
$contextTimeStore = new stdclass(); $contextTimeStore = new stdclass();
$contextTimeStore->xtype = 'arraystore'; $contextTimeStore->xtype = 'arraystore';
$contextTimeStore->fields = array('id', 'value'); $contextTimeStore->fields = array ('id','value'
$contextTimeStore->data = array(array('TODAY', 'Today'), );
array('YESTERDAY', 'Yesterday'), $contextTimeStore->data = array (array ('TODAY','Today'
array('THIS_WEEK', 'This week'), ),array ('YESTERDAY','Yesterday'
array('PREVIOUS_WEEK', 'Previous Week'), ),array ('THIS_WEEK','This week'
array('THIS_MONTH', 'This Month'), ),array ('PREVIOUS_WEEK','Previous Week'
array('PREVIOUS_MONTH', 'Previous Month'), ),array ('THIS_MONTH','This Month'
array('THIS_YEAR', 'This Year'), ),array ('PREVIOUS_MONTH','Previous Month'
array('PREVIOUS_YEAR', 'Previous Year')); ),array ('THIS_YEAR','This Year'
),array ('PREVIOUS_YEAR','Previous Year'
)
);
$contextTime = new stdclass(); $contextTime = new stdclass();
$contextTime->xtype = 'combo'; $contextTime->xtype = 'combo';
$contextTime->name = 'DAS_INS_CONTEXT_TIME'; $contextTime->name = 'DAS_INS_CONTEXT_TIME';
$contextTime->fieldLabel = G::LoadTranslation('ID_PERIOD'); $contextTime->fieldLabel = G::LoadTranslation( 'ID_PERIOD' );
$contextTime->editable = false; $contextTime->editable = false;
$contextTime->width = 320; $contextTime->width = 320;
$contextTime->store = $contextTimeStore; $contextTime->store = $contextTimeStore;
@@ -49,7 +54,7 @@ class dashletOpenVSCompleted implements DashletInterface {
$redFrom = new stdclass(); $redFrom = new stdclass();
$redFrom->xtype = 'numberfield'; $redFrom->xtype = 'numberfield';
$redFrom->name = 'DAS_RED_FROM'; $redFrom->name = 'DAS_RED_FROM';
$redFrom->fieldLabel = G::LoadTranslation('ID_RED_STARTS_IN'); $redFrom->fieldLabel = G::LoadTranslation( 'ID_RED_STARTS_IN' );
$redFrom->width = 50; $redFrom->width = 50;
$redFrom->maxLength = 3; $redFrom->maxLength = 3;
$redFrom->maxValue = 100; $redFrom->maxValue = 100;
@@ -61,7 +66,7 @@ class dashletOpenVSCompleted implements DashletInterface {
$redTo = new stdclass(); $redTo = new stdclass();
$redTo->xtype = 'numberfield'; $redTo->xtype = 'numberfield';
$redTo->name = 'DAS_RED_TO'; $redTo->name = 'DAS_RED_TO';
$redTo->fieldLabel = G::LoadTranslation('ID_RED_ENDS_IN'); $redTo->fieldLabel = G::LoadTranslation( 'ID_RED_ENDS_IN' );
$redTo->width = 50; $redTo->width = 50;
$redTo->maxLength = 3; $redTo->maxLength = 3;
$redTo->maxValue = 100; $redTo->maxValue = 100;
@@ -73,7 +78,7 @@ class dashletOpenVSCompleted implements DashletInterface {
$yellowFrom = new stdclass(); $yellowFrom = new stdclass();
$yellowFrom->xtype = 'numberfield'; $yellowFrom->xtype = 'numberfield';
$yellowFrom->name = 'DAS_YELLOW_FROM'; $yellowFrom->name = 'DAS_YELLOW_FROM';
$yellowFrom->fieldLabel = G::LoadTranslation('ID_YELLOW_STARTS_IN'); $yellowFrom->fieldLabel = G::LoadTranslation( 'ID_YELLOW_STARTS_IN' );
$yellowFrom->width = 50; $yellowFrom->width = 50;
$yellowFrom->maxLength = 3; $yellowFrom->maxLength = 3;
$yellowFrom->maxValue = 100; $yellowFrom->maxValue = 100;
@@ -85,7 +90,7 @@ class dashletOpenVSCompleted implements DashletInterface {
$yellowTo = new stdclass(); $yellowTo = new stdclass();
$yellowTo->xtype = 'numberfield'; $yellowTo->xtype = 'numberfield';
$yellowTo->name = 'DAS_YELLOW_TO'; $yellowTo->name = 'DAS_YELLOW_TO';
$yellowTo->fieldLabel = G::LoadTranslation('ID_YELLOW_ENDS_IN'); $yellowTo->fieldLabel = G::LoadTranslation( 'ID_YELLOW_ENDS_IN' );
$yellowTo->width = 50; $yellowTo->width = 50;
$yellowTo->maxLength = 3; $yellowTo->maxLength = 3;
$yellowTo->maxValue = 100; $yellowTo->maxValue = 100;
@@ -97,7 +102,7 @@ class dashletOpenVSCompleted implements DashletInterface {
$greenFrom = new stdclass(); $greenFrom = new stdclass();
$greenFrom->xtype = 'numberfield'; $greenFrom->xtype = 'numberfield';
$greenFrom->name = 'DAS_GREEN_FROM'; $greenFrom->name = 'DAS_GREEN_FROM';
$greenFrom->fieldLabel = G::LoadTranslation('ID_GREEN_STARTS_IN'); $greenFrom->fieldLabel = G::LoadTranslation( 'ID_GREEN_STARTS_IN' );
$greenFrom->width = 50; $greenFrom->width = 50;
$greenFrom->maxLength = 3; $greenFrom->maxLength = 3;
$greenFrom->maxValue = 100; $greenFrom->maxValue = 100;
@@ -109,7 +114,7 @@ class dashletOpenVSCompleted implements DashletInterface {
$greenTo = new stdclass(); $greenTo = new stdclass();
$greenTo->xtype = 'numberfield'; $greenTo->xtype = 'numberfield';
$greenTo->name = 'DAS_GREEN_TO'; $greenTo->name = 'DAS_GREEN_TO';
$greenTo->fieldLabel = G::LoadTranslation('ID_GREEN_ENDS_IN'); $greenTo->fieldLabel = G::LoadTranslation( 'ID_GREEN_ENDS_IN' );
$greenTo->width = 50; $greenTo->width = 50;
$greenTo->maxLength = 3; $greenTo->maxLength = 3;
$greenTo->maxValue = 100; $greenTo->maxValue = 100;
@@ -121,65 +126,97 @@ class dashletOpenVSCompleted implements DashletInterface {
return $additionalFields; return $additionalFields;
} }
public static function getXTemplate($className) { public static function getXTemplate ($className)
{
return "<img src='{page}?w={width}&r={random}&DAS_INS_UID={id}'>"; return "<img src='{page}?w={width}&r={random}&DAS_INS_UID={id}'>";
} }
public function setup($config) { public function setup ($config)
$this->redFrom = isset($config['DAS_RED_FROM']) ? (int) $config['DAS_RED_FROM'] : 0; {
$this->redTo = isset($config['DAS_RED_TO']) ? (int) $config['DAS_RED_TO'] : 30; $this->redFrom = isset( $config['DAS_RED_FROM'] ) ? (int) $config['DAS_RED_FROM'] : 0;
$this->yellowFrom = isset($config['DAS_YELLOW_FROM']) ? (int) $config['DAS_YELLOW_FROM'] : 30; $this->redTo = isset( $config['DAS_RED_TO'] ) ? (int) $config['DAS_RED_TO'] : 30;
$this->yellowTo = isset($config['DAS_YELLOW_TO']) ? (int) $config['DAS_YELLOW_TO'] : 50; $this->yellowFrom = isset( $config['DAS_YELLOW_FROM'] ) ? (int) $config['DAS_YELLOW_FROM'] : 30;
$this->greenFrom = isset($config['DAS_GREEN_FROM']) ? (int) $config['DAS_GREEN_FROM'] : 50; $this->yellowTo = isset( $config['DAS_YELLOW_TO'] ) ? (int) $config['DAS_YELLOW_TO'] : 50;
$this->greenTo = isset($config['DAS_GREEN_TO']) ? (int) $config['DAS_GREEN_TO'] : 100; $this->greenFrom = isset( $config['DAS_GREEN_FROM'] ) ? (int) $config['DAS_GREEN_FROM'] : 50;
$this->greenTo = isset( $config['DAS_GREEN_TO'] ) ? (int) $config['DAS_GREEN_TO'] : 100;
$thisYear = date('Y'); $thisYear = date( 'Y' );
$lastYear = $thisYear -1; $lastYear = $thisYear - 1;
$thisMonth = date('M'); $thisMonth = date( 'M' );
$lastMonth = date('M', strtotime( "31 days ago") ); $lastMonth = date( 'M', strtotime( "31 days ago" ) );
$todayIni = date('Y-m-d H:i:s', strtotime( "today 00:00:00")); $todayIni = date( 'Y-m-d H:i:s', strtotime( "today 00:00:00" ) );
$todayEnd = date('Y-m-d H:i:s', strtotime( "today 23:59:59")); $todayEnd = date( 'Y-m-d H:i:s', strtotime( "today 23:59:59" ) );
$yesterdayIni = date('Y-m-d H:i:s', strtotime( "yesterday 00:00:00")); $yesterdayIni = date( 'Y-m-d H:i:s', strtotime( "yesterday 00:00:00" ) );
$yesterdayEnd = date('Y-m-d H:i:s', strtotime( "yesterday 23:59:59")); $yesterdayEnd = date( 'Y-m-d H:i:s', strtotime( "yesterday 23:59:59" ) );
$thisWeekIni = date('Y-m-d H:i:s', strtotime( "monday 00:00:00")); $thisWeekIni = date( 'Y-m-d H:i:s', strtotime( "monday 00:00:00" ) );
$thisWeekEnd = date('Y-m-d H:i:s', strtotime( "sunday 23:59:59")); $thisWeekEnd = date( 'Y-m-d H:i:s', strtotime( "sunday 23:59:59" ) );
$previousWeekIni = date('Y-m-d H:i:s', strtotime( "last monday 00:00:00")); $previousWeekIni = date( 'Y-m-d H:i:s', strtotime( "last monday 00:00:00" ) );
$previousWeekEnd = date('Y-m-d H:i:s', strtotime( "last sunday 23:59:59")); $previousWeekEnd = date( 'Y-m-d H:i:s', strtotime( "last sunday 23:59:59" ) );
$thisMonthIni = date('Y-m-d H:i:s', strtotime( "$thisMonth 1st 00:00:00")); $thisMonthIni = date( 'Y-m-d H:i:s', strtotime( "$thisMonth 1st 00:00:00" ) );
$thisMonthEnd = date('Y-m-d H:i:s', strtotime( "$thisMonth last day 23:59:59")); $thisMonthEnd = date( 'Y-m-d H:i:s', strtotime( "$thisMonth last day 23:59:59" ) );
$previousMonthIni = date('Y-m-d H:i:s', strtotime( "$lastMonth 1st 00:00:00")); $previousMonthIni = date( 'Y-m-d H:i:s', strtotime( "$lastMonth 1st 00:00:00" ) );
$previousMonthEnd = date('Y-m-d H:i:s', strtotime( "$lastMonth last day 23:59:59")); $previousMonthEnd = date( 'Y-m-d H:i:s', strtotime( "$lastMonth last day 23:59:59" ) );
$thisYearIni = date('Y-m-d H:i:s', strtotime( "jan $thisYear 00:00:00")); $thisYearIni = date( 'Y-m-d H:i:s', strtotime( "jan $thisYear 00:00:00" ) );
$thisYearEnd = date('Y-m-d H:i:s', strtotime( "Dec 31 $thisYear 23:59:59")); $thisYearEnd = date( 'Y-m-d H:i:s', strtotime( "Dec 31 $thisYear 23:59:59" ) );
$previousYearIni = date('Y-m-d H:i:s', strtotime( "jan $lastYear 00:00:00")); $previousYearIni = date( 'Y-m-d H:i:s', strtotime( "jan $lastYear 00:00:00" ) );
$previousYearEnd = date('Y-m-d H:i:s', strtotime( "Dec 31 $lastYear 23:59:59")); $previousYearEnd = date( 'Y-m-d H:i:s', strtotime( "Dec 31 $lastYear 23:59:59" ) );
if (!isset($config['DAS_INS_CONTEXT_TIME'])) { if (! isset( $config['DAS_INS_CONTEXT_TIME'] )) {
$config['DAS_INS_CONTEXT_TIME'] = 'TODAY'; $config['DAS_INS_CONTEXT_TIME'] = 'TODAY';
} }
switch ( $config['DAS_INS_CONTEXT_TIME'] ) { switch ($config['DAS_INS_CONTEXT_TIME']) {
case 'TODAY' : $dateIni = $todayIni; $dateEnd = $todayEnd; break; case 'TODAY':
case 'YESTERDAY' : $dateIni = $yesterdayIni; $dateEnd = $yesterdayEnd; break; $dateIni = $todayIni;
case 'THIS_WEEK' : $dateIni = $thisWeekIni; $dateEnd = $thisWeekEnd; break; $dateEnd = $todayEnd;
case 'PREVIOUS_WEEK' : $dateIni = $previousWeekIni; $dateEnd = $previousWeekEnd; break; break;
case 'THIS_MONTH' : $dateIni = $todayIni; $dateEnd = $todayEnd; break; case 'YESTERDAY':
case 'PREVIOUS_MONTH' : $dateIni = $todayIni; $dateEnd = $todayEnd; break; $dateIni = $yesterdayIni;
case 'THIS_QUARTER' : $dateIni = $todayIni; $dateEnd = $todayEnd; break; $dateEnd = $yesterdayEnd;
case 'PREVIOUS_QUARTER' : $dateIni = $todayIni; $dateEnd = $todayEnd; break; break;
case 'THIS_YEAR' : $dateIni = $thisYearIni; $dateEnd = $thisYearEnd; break; case 'THIS_WEEK':
case 'PREVIOUS_YEAR' : $dateIni = $previousYearIni; $dateEnd = $previousYearEnd; break; $dateIni = $thisWeekIni;
$dateEnd = $thisWeekEnd;
break;
case 'PREVIOUS_WEEK':
$dateIni = $previousWeekIni;
$dateEnd = $previousWeekEnd;
break;
case 'THIS_MONTH':
$dateIni = $todayIni;
$dateEnd = $todayEnd;
break;
case 'PREVIOUS_MONTH':
$dateIni = $todayIni;
$dateEnd = $todayEnd;
break;
case 'THIS_QUARTER':
$dateIni = $todayIni;
$dateEnd = $todayEnd;
break;
case 'PREVIOUS_QUARTER':
$dateIni = $todayIni;
$dateEnd = $todayEnd;
break;
case 'THIS_YEAR':
$dateIni = $thisYearIni;
$dateEnd = $thisYearEnd;
break;
case 'PREVIOUS_YEAR':
$dateIni = $previousYearIni;
$dateEnd = $previousYearEnd;
break;
} }
$con = Propel::getConnection("workflow"); $con = Propel::getConnection( "workflow" );
$stmt = $con->createStatement(); $stmt = $con->createStatement();
$sql = "select count(*) as CANT from APPLICATION where APP_STATUS in ( 'DRAFT', 'TO_DO' ) "; $sql = "select count(*) as CANT from APPLICATION where APP_STATUS in ( 'DRAFT', 'TO_DO' ) ";
$sql .= "and APP_CREATE_DATE > '$dateIni' and APP_CREATE_DATE <= '$dateEnd' "; $sql .= "and APP_CREATE_DATE > '$dateIni' and APP_CREATE_DATE <= '$dateEnd' ";
$rs = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); $rs = $stmt->executeQuery( $sql, ResultSet::FETCHMODE_ASSOC );
$rs->next(); $rs->next();
$row = $rs->getRow(); $row = $rs->getRow();
$casesTodo = $row['CANT']; $casesTodo = $row['CANT'];
@@ -187,36 +224,58 @@ class dashletOpenVSCompleted implements DashletInterface {
$stmt = $con->createStatement(); $stmt = $con->createStatement();
$sql = "select count(*) as CANT from APPLICATION where APP_STATUS = 'COMPLETED' "; $sql = "select count(*) as CANT from APPLICATION where APP_STATUS = 'COMPLETED' ";
$sql .= "and APP_CREATE_DATE > '$dateIni' and APP_CREATE_DATE <= '$dateEnd' "; $sql .= "and APP_CREATE_DATE > '$dateIni' and APP_CREATE_DATE <= '$dateEnd' ";
$rs = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); $rs = $stmt->executeQuery( $sql, ResultSet::FETCHMODE_ASSOC );
$rs->next(); $rs->next();
$row = $rs->getRow(); $row = $rs->getRow();
$casesCompleted = $row['CANT']; $casesCompleted = $row['CANT'];
if ( $casesCompleted + $casesTodo != 0 ) { if ($casesCompleted + $casesTodo != 0) {
$this->value = $casesCompleted / ($casesCompleted + $casesTodo)*100; $this->value = $casesCompleted / ($casesCompleted + $casesTodo) * 100;
} } else {
else {
$this->value = 0; $this->value = 0;
} }
$this->open = $casesCompleted; $this->open = $casesCompleted;
$this->completed = $casesCompleted + $casesTodo; $this->completed = $casesCompleted + $casesTodo;
switch ( $config['DAS_INS_CONTEXT_TIME'] ) { switch ($config['DAS_INS_CONTEXT_TIME']) {
case 'TODAY' : $this->centerLabel = 'Today'; break; case 'TODAY':
case 'YESTERDAY' : $this->centerLabel = 'Yesterday'; break; $this->centerLabel = 'Today';
case 'THIS_WEEK' : $this->centerLabel = 'This week'; break; break;
case 'PREVIOUS_WEEK' : $this->centerLabel = 'Previous week'; break; case 'YESTERDAY':
case 'THIS_MONTH' : $this->centerLabel = 'This month'; break; $this->centerLabel = 'Yesterday';
case 'PREVIOUS_MONTH' : $this->centerLabel = 'Previous month'; break; break;
case 'THIS_QUARTER' : $this->centerLabel = 'This quarter'; break; case 'THIS_WEEK':
case 'PREVIOUS_QUARTER' : $this->centerLabel = 'Previous quarter'; break; $this->centerLabel = 'This week';
case 'THIS_YEAR' : $this->centerLabel = 'This year'; break; break;
case 'PREVIOUS_YEAR' : $this->centerLabel = 'Previous year'; break; case 'PREVIOUS_WEEK':
default : $this->centerLabel = '';break; $this->centerLabel = 'Previous week';
break;
case 'THIS_MONTH':
$this->centerLabel = 'This month';
break;
case 'PREVIOUS_MONTH':
$this->centerLabel = 'Previous month';
break;
case 'THIS_QUARTER':
$this->centerLabel = 'This quarter';
break;
case 'PREVIOUS_QUARTER':
$this->centerLabel = 'Previous quarter';
break;
case 'THIS_YEAR':
$this->centerLabel = 'This year';
break;
case 'PREVIOUS_YEAR':
$this->centerLabel = 'Previous year';
break;
default:
$this->centerLabel = '';
break;
} }
return true; return true;
} }
public function render ($width = 300) { public function render ($width = 300)
G::LoadClass('pmGauge'); {
G::LoadClass( 'pmGauge' );
$g = new pmGauge(); $g = new pmGauge();
$g->w = $width; $g->w = $width;
$g->value = $this->value; $g->value = $this->value;