Merged in dashboards2 (pull request #2365)

PM-2987 - Error en el Inbox si no están los KPIs habilitados en la licencia
This commit is contained in:
Julio Cesar Laura Avendaño
2015-06-18 11:44:46 -04:00
8 changed files with 101 additions and 44 deletions

View File

@@ -4852,22 +4852,23 @@
<parameter name="Create_options" value="" />
<parameter name="Comment" value="Data calculated users by task"/>
</vendor>
<column name="USR_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="TAS_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="PRO_UID" type="VARCHAR" size="32" required="true" />
<column name="MONTH" type="INTEGER" required="true" default="0" primaryKey="true" />
<column name="YEAR" type="INTEGER" required="true" default="0" primaryKey="true" />
<column name="TOTAL_TIME_BY_TASK" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_IN" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_OUT" type="DECIMAL" size="7,2" default="0" />
<column name="USER_HOUR_COST" type="DECIMAL" size="7,2" default="0" />
<column name="AVG_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="SDV_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="CONFIGURED_TASK_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_OVERDUE" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_ON_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="PRO_COST" type="DECIMAL" size="7,2" required="false" default="0"/>
<column name="PRO_UNIT_COST" type="VARCHAR" size="50" required="false" default=""/>
<column name="USR_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="TAS_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="PRO_UID" type="VARCHAR" size="32" required="true" />
<column name="MONTH" type="INTEGER" required="true" default="0" primaryKey="true" />
<column name="YEAR" type="INTEGER" required="true" default="0" primaryKey="true" />
<column name="TOTAL_QUEUE_TIME_BY_TASK" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_TIME_BY_TASK" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_IN" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_OUT" type="DECIMAL" size="7,2" default="0" />
<column name="USER_HOUR_COST" type="DECIMAL" size="7,2" default="0" />
<column name="AVG_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="SDV_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="CONFIGURED_TASK_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_OVERDUE" type="DECIMAL" size="7,2" default="0" />
<column name="TOTAL_CASES_ON_TIME" type="DECIMAL" size="7,2" default="0" />
<column name="PRO_COST" type="DECIMAL" size="7,2" required="false" default="0"/>
<column name="PRO_UNIT_COST" type="VARCHAR" size="50" required="false" default=""/>
<index name="indexReporting">
<index-column name="USR_UID"/>
<index-column name="TAS_UID"/>

View File

@@ -2702,22 +2702,23 @@ DROP TABLE IF EXISTS `USR_REPORTING`;
CREATE TABLE `USR_REPORTING`
(
`USR_UID` VARCHAR(32) NOT NULL,
`TAS_UID` VARCHAR(32) NOT NULL,
`PRO_UID` VARCHAR(32) NOT NULL,
`MONTH` INTEGER default 0 NOT NULL,
`YEAR` INTEGER default 0 NOT NULL,
`TOTAL_TIME_BY_TASK` DECIMAL(7,2) default 0,
`TOTAL_CASES_IN` DECIMAL(7,2) default 0,
`TOTAL_CASES_OUT` DECIMAL(7,2) default 0,
`USER_HOUR_COST` DECIMAL(7,2) default 0,
`AVG_TIME` DECIMAL(7,2) default 0,
`SDV_TIME` DECIMAL(7,2) default 0,
`CONFIGURED_TASK_TIME` DECIMAL(7,2) default 0,
`TOTAL_CASES_OVERDUE` DECIMAL(7,2) default 0,
`TOTAL_CASES_ON_TIME` DECIMAL(7,2) default 0,
`PRO_COST` DECIMAL(7,2) default 0,
`PRO_UNIT_COST` VARCHAR(50) default '',
`USR_UID` VARCHAR(32) NOT NULL,
`TAS_UID` VARCHAR(32) NOT NULL,
`PRO_UID` VARCHAR(32) NOT NULL,
`MONTH` INTEGER default 0 NOT NULL,
`YEAR` INTEGER default 0 NOT NULL,
`TOTAL_QUEUE_TIME_BY_TASK` DECIMAL(7,2) default 0,
`TOTAL_TIME_BY_TASK` DECIMAL(7,2) default 0,
`TOTAL_CASES_IN` DECIMAL(7,2) default 0,
`TOTAL_CASES_OUT` DECIMAL(7,2) default 0,
`USER_HOUR_COST` DECIMAL(7,2) default 0,
`AVG_TIME` DECIMAL(7,2) default 0,
`SDV_TIME` DECIMAL(7,2) default 0,
`CONFIGURED_TASK_TIME` DECIMAL(7,2) default 0,
`TOTAL_CASES_OVERDUE` DECIMAL(7,2) default 0,
`TOTAL_CASES_ON_TIME` DECIMAL(7,2) default 0,
`PRO_COST` DECIMAL(7,2) default 0,
`PRO_UNIT_COST` VARCHAR(50) default '',
PRIMARY KEY (`USR_UID`, `TAS_UID`,`MONTH`,`YEAR`),
KEY `indexReporting`(`USR_UID`, `TAS_UID`, `PRO_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Data calculated users by task';

View File

@@ -113,6 +113,7 @@ TimeSeriesPresenter.prototype.changePeriodicityToMonth = function (monthList) {
this.endPeriodState.list = monthList;
this.initPeriodState.visible = true;
this.endPeriodState.visible = true;
this.endPeriodState.selValue = this.periodEquivalentFromDate (this.helper.ReportingPeriodicityEnum.MONTH, new Date());
}
TimeSeriesPresenter.prototype.changePeriodicityToQuarter = function (quarterList) {
@@ -120,6 +121,7 @@ TimeSeriesPresenter.prototype.changePeriodicityToQuarter = function (quarterList
this.endPeriodState.list = quarterList;
this.initPeriodState.visible = true;
this.endPeriodState.visible = true;
this.endPeriodState.selValue = this.periodEquivalentFromDate (this.helper.ReportingPeriodicityEnum.QUARTER, new Date());
}
TimeSeriesPresenter.prototype.changePeriodicityToSemester = function (semesterList) {
@@ -127,6 +129,7 @@ TimeSeriesPresenter.prototype.changePeriodicityToSemester = function (semesterLi
this.endPeriodState.list = semesterList;
this.initPeriodState.visible = true;
this.endPeriodState.visible = true;
this.endPeriodState.selValue = this.periodEquivalentFromDate (this.helper.ReportingPeriodicityEnum.SEMESTER, new Date());
}
TimeSeriesPresenter.prototype.changePeriodicityToYear = function (yearList) {
@@ -134,6 +137,7 @@ TimeSeriesPresenter.prototype.changePeriodicityToYear = function (yearList) {
this.endPeriodState.list = [];
this.initPeriodState.visible = false;
this.endPeriodState.visible = false;
this.endPeriodState.selValue = this.periodEquivalentFromDate (this.helper.ReportingPeriodicityEnum.YEAR, new Date());
}
TimeSeriesPresenter.prototype.historicData = function (indicator, periodicity, initPeriod,
@@ -145,7 +149,7 @@ TimeSeriesPresenter.prototype.historicData = function (indicator, periodicity, i
this.model.historicData(indicator, periodicity, initDate, endDate).done(function (data) {
var graphData = [];
$.each(data, function(index, originalObject) {
var newObject = {datalabel: that.periodValue(periodicity, originalObject) + '/' + originalObject['YEAR'],
var newObject = {datalabel: that.periodColumnName(periodicity, originalObject) + '/' + originalObject['YEAR'],
value: originalObject.VALUE
}
graphData.push(newObject);
@@ -157,7 +161,7 @@ TimeSeriesPresenter.prototype.historicData = function (indicator, periodicity, i
}
TimeSeriesPresenter.prototype.periodValue = function (periodicity, object) {
TimeSeriesPresenter.prototype.periodColumnName = function (periodicity, object) {
var retval = "";
switch (periodicity*1) {
case this.helper.ReportingPeriodicityEnum.MONTH:
@@ -179,6 +183,48 @@ TimeSeriesPresenter.prototype.periodValue = function (periodicity, object) {
return retval;
}
TimeSeriesPresenter.prototype.periodEquivalentFromDate = function (periodicity, date) {
var retval = null;
var year = date.getFullYear();
switch (periodicity * 1) {
case this.helper.ReportingPeriodicityEnum.MONTH:
for (var i = 1; i < 12; i++) {
var periodInitDate = this.periodInitDate (periodicity, i, year);
var periodEndDate = this.periodEndDate (periodicity, i, year);
if (periodInitDate <= date && periodEndDate >= date) {
retval = i;
}
}
break;
case this.helper.ReportingPeriodicityEnum.QUARTER:
for (var i = 1; i < 4; i++) {
var periodInitDate = this.periodInitDate (periodicity, i, year);
var periodEndDate = this.periodEndDate (periodicity, i, year);
if (periodInitDate <= date && periodEndDate >= date) {
retval = i;
}
}
break;
case this.helper.ReportingPeriodicityEnum.SEMESTER:
for (var i = 1; i < 2; i++) {
var periodInitDate = this.periodInitDate (periodicity, i, year);
var periodEndDate = this.periodEndDate (periodicity, i, year);
if (periodInitDate <= date && periodEndDate >= date) {
retval = i;
}
}
break;
case this.helper.ReportingPeriodicityEnum.YEAR:
retval = year
break;
}
if (retval == null) {
throw new Error("The periodicity " + periodicity + " is not supported.");
}
return retval;
}
TimeSeriesPresenter.prototype.periodInitDate = function (periodicity, period, year) {
var retval = null;
switch (periodicity * 1) {

View File

@@ -505,7 +505,7 @@ var loadIndicator = function (indicatorId, initDate, endDate) {
fillSpecialIndicatorFirstView(viewModel);
break;
case "1050":
fillStatusIndicatorFirstView(viewModel);
//fillStatusIndicatorFirstView(viewModel);
break;
default:
fillGeneralIndicatorFirstView(viewModel);

View File

@@ -12,6 +12,7 @@ INSERT INTO USR_REPORTING (
PRO_UID,
MONTH,
YEAR,
TOTAL_QUEUE_TIME_BY_TASK,
TOTAL_TIME_BY_TASK,
TOTAL_CASES_IN,
TOTAL_CASES_OUT,
@@ -31,6 +32,7 @@ SELECT
ACV.PRO_UID,
DATE_FORMAT(ACV.DEL_INIT_DATE, '%m') AS `MONTH`,
DATE_FORMAT(ACV.DEL_INIT_DATE, '%Y') AS `YEAR`,
SUM(ACV.DEL_QUEUE_DURATION*24) AS TOTAL_QUEUE_TIME_BY_TASK,
SUM(ACV.DEL_DURATION*24) AS TOT_TIME_BY_TASK,
COUNT(ACV.DEL_INIT_DATE) AS TOT_CASES_IN,
COUNT(ACV.DEL_FINISH_DATE) AS TOT_CASES_OUT,

View File

@@ -1058,6 +1058,9 @@ Ext.onReady ( function() {
});
/*----------------------------------********---------------------------------*/
if (typeof filterStatus == 'undefined') {
filterStatus = [];
}
var comboFilterStatus = new Ext.form.ComboBox({
width : 180,
boxMaxWidth : 200,
@@ -1071,6 +1074,7 @@ Ext.onReady ( function() {
mode : 'local',
autocomplete : true,
triggerAction : 'all',
hidden : filterStatus.length == 0 ? true : false,
store : new Ext.data.ArrayStore({
fields : ['UID','NAME'],
data : filterStatus
@@ -1705,8 +1709,11 @@ Ext.onReady ( function() {
'-',
btnAll,
'->', // begin using the right-justified button container
_('ID_OVERDUE'),
comboFilterStatus,
filterStatus.length != 0 ?[
_('ID_OVERDUE'),
comboFilterStatus
] : [
],
_("ID_CATEGORY"),
comboCategory,
"-",

View File

@@ -79,7 +79,7 @@
data-indicator-type="<%- indicator.type %>"
data-gs-min-width="3" data-gs-min-height="2" data-gs-max-height="2"
data-toggle="tooltip" data-original-title={translate label="ID_DASH_HELP_INBOX_STATUS"}>
<div class="ind-container-selector panel grid-stack-item-content" style="min-width:200px;">
<div class="ind-container-selector panel grid-stack-item-content panel-status" style="min-width:200px;">
<a data-toggle="collapse" href="#efficiencyindex" aria-expanded="false" aria-controls="efficiencyindex">
<div class="panel-heading status-indicator-low"
style=" width:<%- indicator.percentageOverdueWidth %>%;
@@ -373,15 +373,15 @@
<div id="compareIndicators" class="row pull-left">
<div class="span4 pull-left">
<div class="span4 pull-left" style="margin:15px; ">
<span id="indicatorLabel"></span>
<select id="indicatorList"></select>
<span id="periodicityLabel"></span>
<span id="periodicityLabel" style="margin-left:15px;"></span>
<select id="periodicityList" style="width:auto;"></select>
<span id="initPeriodLabel"></span>
<span id="initPeriodLabel" style="margin-left:15px;"></span>
<select id="initPeriodList"></select>
<select id="initYearList"></select>
<span id="endPeriodLabel"></span>
<span id="endPeriodLabel" style="margin-left:15px;"></span>
<select id="endPeriodList"></select>
<select id="endYearList"></select>
</div>

View File

@@ -585,8 +585,8 @@ table.dataTable thead .sorting:after {
margin-bottom: 45px;
}
.panel-green:hover, .panel-red:hover, .panel-high:hover, .panel-low:hover{
box-shadow:0px 3px 2px #dfdfdf;
.panel-green:hover, .panel-red:hover, .panel-high:hover, .panel-low, .panel-status:hover{
box-shadow:0px 3px 2px #dfdfdf;
}
.small{