From e9f1f9ad4104250c7cbb0e072487143da935e3b2 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Wed, 17 Jun 2015 13:47:52 -0400 Subject: [PATCH 1/4] Delete graphic task status --- workflow/engine/js/strategicDashboard/viewDashboardView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/js/strategicDashboard/viewDashboardView.js b/workflow/engine/js/strategicDashboard/viewDashboardView.js index 68bc584db..c69a67957 100644 --- a/workflow/engine/js/strategicDashboard/viewDashboardView.js +++ b/workflow/engine/js/strategicDashboard/viewDashboardView.js @@ -505,7 +505,7 @@ var loadIndicator = function (indicatorId, initDate, endDate) { fillSpecialIndicatorFirstView(viewModel); break; case "1050": - fillStatusIndicatorFirstView(viewModel); + //fillStatusIndicatorFirstView(viewModel); break; default: fillGeneralIndicatorFirstView(viewModel); From 2e0198622d8ce9517c368d392c5c18aa995f8a05 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Thu, 18 Jun 2015 10:09:38 -0400 Subject: [PATCH 2/4] NND-74 Agregar un total queue - Se agrego la columna en usr_reporting, schema.xml, schema.sql --- workflow/engine/config/schema.xml | 33 ++++++++++--------- workflow/engine/data/mysql/schema.sql | 33 ++++++++++--------- .../setupSchemas/triggerFillReportByUser.sql | 2 ++ 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index f2c40ce46..c3c7e0d14 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -4852,22 +4852,23 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index f54fdb02c..aba16cf92 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -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'; diff --git a/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql b/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql index dc468398f..a630c7b43 100644 --- a/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql +++ b/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql @@ -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, From e8258b2e635d38e345aee18bd33ad06df0167eec Mon Sep 17 00:00:00 2001 From: Dante Date: Thu, 18 Jun 2015 10:25:57 -0400 Subject: [PATCH 3/4] NDD70, 66, 73 --- .../strategicDashboard/timeSeriesPresenter.js | 50 ++++++++++++++++++- .../strategicDashboard/viewDashboard.html | 10 ++-- workflow/public_html/css/sb-admin-2.css | 4 +- 3 files changed, 55 insertions(+), 9 deletions(-) diff --git a/workflow/engine/js/strategicDashboard/timeSeriesPresenter.js b/workflow/engine/js/strategicDashboard/timeSeriesPresenter.js index e274443c0..7f2efcc3e 100644 --- a/workflow/engine/js/strategicDashboard/timeSeriesPresenter.js +++ b/workflow/engine/js/strategicDashboard/timeSeriesPresenter.js @@ -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) { diff --git a/workflow/engine/templates/strategicDashboard/viewDashboard.html b/workflow/engine/templates/strategicDashboard/viewDashboard.html index 0c6d51ef7..0ad1b3b74 100644 --- a/workflow/engine/templates/strategicDashboard/viewDashboard.html +++ b/workflow/engine/templates/strategicDashboard/viewDashboard.html @@ -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"}> -
+