modifiche a servizio di task
This commit is contained in:
@@ -852,72 +852,31 @@ public class ActivityService {
|
||||
isPersonaRif = UtilityHashMap.getValueIfExists(datiUtente, "isPersonaRif");
|
||||
}
|
||||
|
||||
sql = "WITH escludi_commesse AS (SELECT value_string cod_jcom\n" +
|
||||
" FROM dbo.parsestringintoarray((SELECT value\n" +
|
||||
sql = "WITH escludi_commesse AS (SELECT value cod_jcom\n" +
|
||||
" FROM string_split((SELECT value\n" +
|
||||
" FROM stb_gest_setup\n" +
|
||||
" WHERE gest_name = 'STB_ACTIVITY'\n" +
|
||||
" AND section = 'SETUP'\n" +
|
||||
" AND key_section = 'ESCLUDI_COMMESSE'), '|') s),\n" +
|
||||
" sottoattivita AS (SELECT stb_activity.parent_activity_id,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date <= CAST(GETDATE() AS DATE) THEN effective_date\n" +
|
||||
" ELSE NULL END) AS last_activity_date,\n" +
|
||||
" MIN(CASE\n" +
|
||||
" WHEN estimated_date >= CAST(GETDATE() AS DATE) THEN estimated_date\n" +
|
||||
" ELSE NULL END) AS next_activity_date,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN ((estimated_date BETWEEN dbo.f_getfirstdayofweek(GETDATE()) AND dbo.f_getlastdayofweek(GETDATE()) OR\n" +
|
||||
" estimated_date IS NULL) and effective_date is null) \n" +
|
||||
" THEN stb_activity.activity_description\n" +
|
||||
" ELSE NULL END) AS activity_description,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN IsNull(effective_date, estimated_date) BETWEEN dbo.f_getfirstdayofweek(GETDATE()) AND dbo.f_getlastdayofweek(GETDATE())\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS planned_this_week,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN IsNull(effective_date, estimated_date) between dbo.f_getfirstdayofweek(DateAdd(week, -1, GETDATE())) AND dbo.f_getLastDayOfWeek(DateAdd(week, -1, GETDATE())) THEN 1\n" +
|
||||
" ELSE 0 END) AS planned_previous_week,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN IsNull(effective_date, estimated_date) between dbo.f_getfirstdayofweek(DateAdd(week, 1, GETDATE())) AND dbo.f_getLastDayOfWeek(DateAdd(week, 1, GETDATE())) THEN 1\n" +
|
||||
" ELSE 0 END) AS planned_next_week,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date is not null AND effective_date BETWEEN dbo.f_getfirstdayofmonth(GETDATE()) AND EOMONTH(GETDATE())\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS done_this_month,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date is not null AND effective_date BETWEEN dbo.f_getfirstdayofmonth(DateAdd(MONTH, -1, GETDATE())) AND EOMONTH(DateAdd(MONTH, -1, GETDATE())) THEN 1\n" +
|
||||
" ELSE 0 END) AS done_previous_month,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date is not null AND DATEPART(QUARTER, effective_date) = DATEPART(QUARTER, GETDATE())\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS done_this_quarter,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date is not null AND DATEPART(QUARTER, effective_date) = Datepart(quarter, dateadd(month, -3, getdate())) THEN 1\n" +
|
||||
" ELSE 0 END) AS done_previous_quarter,\n" +
|
||||
" SUM(jtb_rlavr.ore) AS ore\n" +
|
||||
" FROM stb_activity\n" +
|
||||
" INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name\n" +
|
||||
" LEFT OUTER JOIN jtb_rlavr ON stb_activity.activity_id = jtb_rlavr.activity_id\n" +
|
||||
" WHERE stb_activity.flag_tipologia = 'A'\n" +
|
||||
(isTable || daInstallare ? "" : " AND stb_activity.user_name = '" + username + "'") +
|
||||
" GROUP BY stb_activity.parent_activity_id),\n" +
|
||||
" processi AS (SELECT stb_activity.cod_jcom,\n" +
|
||||
" AND key_section = 'ESCLUDI_COMMESSE'), '|') s)\n" +
|
||||
" SELECT stb_activity.cod_jcom as 'Commessa',\n" +
|
||||
" stb_activity.user_name,\n" +
|
||||
" stb_activity.activity_id,\n" +
|
||||
" stb_activity.activity_id as 'Id_Attivita',\n" +
|
||||
" stb_activity.parent_activity_id,\n" +
|
||||
" stb_activity.activity_description,\n" +
|
||||
" stb_activity.estimated_time,\n" +
|
||||
" stb_activity.estimated_endtime,\n" +
|
||||
" stb_activity.effective_time,\n" +
|
||||
" stb_activity.effective_endtime,\n" +
|
||||
" stb_activity.activity_description as 'Descrizione',\n" +
|
||||
" stb_activity.estimated_time as 'Data_Inizio_prev',\n" +
|
||||
" stb_activity.estimated_endtime as 'data_fine_prev',\n" +
|
||||
" stb_activity.effective_time as 'Data_Inizio_Effettiva',\n" +
|
||||
" stb_activity.effective_endtime as 'Data_Fine_Effettiva',\n" +
|
||||
" stb_activity.flag_risolto,\n" +
|
||||
" stb_activity.estimated_hours,\n" +
|
||||
" stb_activity.activity_result_id AS 'esito',\n" +
|
||||
" stb_activity.estimated_hours as 'Ore_Stimate',\n" +
|
||||
" CAST(CASE WHEN stb_activity.effective_endtime IS NULL THEN 0 ELSE 1 END AS BIT) AS 'attivita_chiusa', \n" +
|
||||
" stb_activity.activity_result_id AS 'Esito',\n" +
|
||||
" stb_activity.result_description AS 'descr_esito',\n" +
|
||||
" ISNULL(stb_activity.priorita, 0) AS 'priorita',\n" +
|
||||
" stb_activity.activity_type_id AS 'tipo_attivita',\n" +
|
||||
" IsNull(stb_activity.ora_ins_act, stb_activity.data_ins_act) AS 'data_inserimento',\n" +
|
||||
" stb_activity.ora_mod_act AS 'ultima_modifica',\n" +
|
||||
" stb_activity.ora_mod_act AS 'ultima_modifica'," +
|
||||
" CAST(CASE WHEN estimated_enddate < CAST(GETDATE() AS DATE) THEN 1 ELSE 0 END AS BIT) AS scaduta,\n" +
|
||||
" stb_activity.persona_rif AS 'richiedente',\n" +
|
||||
" stb_activity.estimated_enddate,\n" +
|
||||
" stb_activity.cod_mart AS cod_mart,\n" +
|
||||
@@ -926,11 +885,11 @@ public class ActivityService {
|
||||
" ELSE ISNULL(mtb_aart.descr_cassa, mtb_aart.descrizione) END AS descr_prodotto,\n" +
|
||||
" stb_activity.user_creator,\n" +
|
||||
" stb_activity.note,\n" +
|
||||
" stb_user.full_name,\n" +
|
||||
" stb_user.full_name as 'Responsabile',\n" +
|
||||
" parent.responabile_progetto,\n" +
|
||||
" ISNULL(parent.project_description, '') AS 'project_description',\n" +
|
||||
" ISNULL(parent.activity_description, 'Altre Attività') AS 'parent_activity_description',\n" +
|
||||
" creator.full_name AS 'user_creator_name',\n" +
|
||||
" creator.full_name AS 'creata_da',\n" +
|
||||
" parent.activity_type_id AS 'parent_activity_type',\n" +
|
||||
" CASE\n" +
|
||||
" WHEN stb_activity_result.flag_stato_attivita IS NULL THEN 0 --backlog\n" +
|
||||
@@ -944,33 +903,17 @@ public class ActivityService {
|
||||
" CAST(ISNULL(integry_tag.is_bug, 0) AS BIT) AS is_bug,\n" +
|
||||
" integry_tag.tags,\n" +
|
||||
" DENSE_RANK() OVER (ORDER BY parent.project_description, parent.activity_description) AS 'id_processo',\n" +
|
||||
" gtb_anag.rag_soc";
|
||||
|
||||
" gtb_anag.rag_soc,\n " +
|
||||
" task.dapagare AS da_pagare,\n " +
|
||||
" task.acanone AS a_canone\n ";
|
||||
if (daInstallare) {
|
||||
sql += ", lastUpdt.data \n";
|
||||
sql += ", lastUpdt.data AS 'ultimo_aggiornamento'\n";
|
||||
} else {
|
||||
sql += ", null AS 'data' \n";
|
||||
sql += ", null AS 'ultimo_aggiornamento'\n";
|
||||
}
|
||||
|
||||
sql += " FROM stb_activity\n" +
|
||||
" INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name\n";
|
||||
|
||||
if (year == null && activityId == null) {
|
||||
sql += " INNER JOIN (SELECT *\n" +
|
||||
" FROM jtb_comt\n" +
|
||||
" WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA')) jtb_comt\n" +
|
||||
" ON stb_activity.cod_jcom = jtb_comt.cod_jcom\n";
|
||||
} else if (activityId == null) {
|
||||
sql += " INNER JOIN (SELECT *\n" +
|
||||
" FROM jtb_comt\n" +
|
||||
" WHERE stato_commessa = 'CHIUSA'\n" +
|
||||
" AND (YEAR(data_inizi_lav) = " + year + " OR YEAR(data_cons) = " + year + ")) jtb_comt\n" +
|
||||
" ON stb_activity.cod_jcom = jtb_comt.cod_jcom\n";
|
||||
} else {
|
||||
sql += " INNER JOIN jtb_comt ON stb_activity.cod_jcom = jtb_comt.cod_jcom\n";
|
||||
}
|
||||
|
||||
sql += " INNER JOIN stb_user creator ON stb_activity.user_creator = creator.user_name\n" +
|
||||
" INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name\n" +
|
||||
" INNER JOIN stb_user creator ON stb_activity.user_creator = creator.user_name\n" +
|
||||
" LEFT OUTER JOIN pvw_clienti_prospect gtb_anag on stb_activity.cod_anag = gtb_anag.cod_ppro and stb_activity.tipo_anag = gtb_anag.tipologia\n" +
|
||||
" AND gtb_anag.flag_stato = 'A'\n" +
|
||||
" LEFT OUTER JOIN mtb_aart ON stb_activity.cod_mart = mtb_aart.cod_mart\n" +
|
||||
@@ -987,7 +930,10 @@ public class ActivityService {
|
||||
" ON stb_activity.parent_activity_id = parent.activity_id\n" +
|
||||
" LEFT OUTER JOIN stb_activity_result\n" +
|
||||
" ON stb_activity.activity_result_id = stb_activity_result.activity_result_id\n" +
|
||||
" LEFT OUTER JOIN integry_tag ON stb_activity.activity_id = integry_tag.activity_id\n";
|
||||
" LEFT OUTER JOIN integry_tag ON stb_activity.activity_id = integry_tag.activity_id \n" +
|
||||
" OUTER APPLY ( SELECT CAST(MAX(CASE WHEN task.cod_jfas <> 'C01' THEN 0 ELSE 1 END) AS BIT) AS daPagare,\n" +
|
||||
" CAST(MAX(CASE WHEN task.cod_jfas = 'C01' THEN 0 ELSE 1 END) AS BIT) AS aCanone \n" +
|
||||
" FROM stb_activity task WHERE stb_activity.activity_id = task.parent_activity_id) task ";
|
||||
|
||||
if (daInstallare) {
|
||||
sql += " LEFT OUTER JOIN integry_last_upd_clie lastUpdt ON stb_activity.cod_anag = lastUpdt.cod_anag\n";
|
||||
@@ -997,103 +943,47 @@ public class ActivityService {
|
||||
" AND NOT EXISTS(SELECT *\n" +
|
||||
" FROM escludi_commesse\n" +
|
||||
" WHERE stb_activity.cod_jcom = escludi_commesse.cod_jcom)\n" +
|
||||
" AND stb_activity.activity_type_id IN (SELECT activity_type_id\n" +
|
||||
" FROM srl_activity_type\n" +
|
||||
" WHERE activity_type_id IN\n" +
|
||||
" (SELECT srl_activity_type.activity_type_id\n" +
|
||||
" FROM srl_activity_type,\n" +
|
||||
" stb_activity_type\n" +
|
||||
" WHERE srl_activity_type.flag_tipologia = 'P'\n" +
|
||||
" AND srl_activity_type.activity_type_id_next =\n" +
|
||||
" stb_activity_type.activity_type_id\n" +
|
||||
" AND srl_activity_type.flag_tipologia_next =\n" +
|
||||
" stb_activity_type.flag_tipologia\n" +
|
||||
" AND stb_activity_type.flag_attiva = 'S'\n" +
|
||||
" GROUP BY srl_activity_type.activity_type_id\n" +
|
||||
" HAVING COUNT(DISTINCT flag_tipologia_next) = 1)\n";
|
||||
|
||||
" AND EXISTS (SELECT *\n" +
|
||||
" FROM srl_activity_type inner join stb_activity_type a on srl_activity_type.activity_type_id_next = a.activity_type_id\n" +
|
||||
" WHERE stb_activity.activity_type_id = srl_activity_type.activity_type_id\n" +
|
||||
" and srl_activity_type.flag_tipologia = 'P' \n";
|
||||
if (activityId == null) {
|
||||
sql += " AND flag_tipologia_next = 'A'\n";
|
||||
sql += " and srl_activity_type.flag_tipologia_next = 'A' \n";
|
||||
}
|
||||
sql += " and a.flag_attiva = 's'\n" +
|
||||
" GROUP BY srl_activity_type.activity_type_id\n" +
|
||||
" HAVING sum(IIF(flag_tipologia_next = 'A',0,1)) = 0 )\n " ;
|
||||
|
||||
if (year == null && activityId == null) {
|
||||
sql += " AND EXISTS (SELECT *\n" +
|
||||
" FROM jtb_comt\n" +
|
||||
" WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA')\n" +
|
||||
" AND stb_activity.cod_jcom = jtb_comt.cod_jcom) \n";
|
||||
} else if (activityId == null) {
|
||||
sql += " AND EXISTS (SELECT *\n" +
|
||||
" FROM jtb_comt\n" +
|
||||
" WHERE stato_commessa = 'CHIUSA'\n" +
|
||||
" AND (YEAR(data_inizi_lav) = " + year + " OR YEAR(data_cons) = " + year + ")\n" +
|
||||
" AND stb_activity.cod_jcom = jtb_comt.cod_jcom )\n";
|
||||
}
|
||||
|
||||
sql += " ))\n" +
|
||||
"\n" +
|
||||
"SELECT processi.cod_jcom AS 'Commessa',\n" +
|
||||
" processi.user_name,\n" +
|
||||
" processi.full_name AS 'Responsabile',\n" +
|
||||
" processi.cod_mart,\n" +
|
||||
" processi.descr_prodotto,\n" +
|
||||
" processi.project_description,\n" +
|
||||
" processi.parent_activity_description,\n" +
|
||||
" processi.parent_activity_type,\n" +
|
||||
" processi.tipo_attivita,\n" +
|
||||
" processi.data_inserimento,\n" +
|
||||
" processi.ultima_modifica,\n" +
|
||||
" processi.activity_id AS 'Id_Attivita',\n" +
|
||||
" processi.activity_description AS 'Descrizione',\n" +
|
||||
" processi.effective_time AS 'Data_Inizio_Effettiva',\n" +
|
||||
" processi.effective_endtime AS 'Data_Fine_Effettiva',\n" +
|
||||
" processi.estimated_hours 'Ore_Stimate',\n" +
|
||||
" processi.esito AS 'Esito',\n" +
|
||||
" processi.priorita,\n" +
|
||||
" CAST(CASE WHEN processi.effective_endtime IS NULL THEN 0 ELSE 1 END AS BIT) AS 'attivita_chiusa',\n" +
|
||||
" processi.estimated_time AS 'Data_Inizio_prev',\n" +
|
||||
" processi.estimated_endtime AS 'data_fine_prev',\n" +
|
||||
" processi.descr_esito,\n" +
|
||||
" id_processo,\n" +
|
||||
" processi.parent_activity_id,\n" +
|
||||
" processi.richiedente,\n" +
|
||||
" processi.responabile_progetto,\n" +
|
||||
" CAST(ISNULL(sottoattivita.planned_previous_week, 0) AS BIT) AS planned_previous_week,\n" +
|
||||
" CAST(ISNULL(sottoattivita.planned_next_week, 0) AS BIT) AS planned_next_week,\n" +
|
||||
" CAST(ISNULL(sottoattivita.planned_this_week, 0) AS BIT) AS planned_this_week,\n" +
|
||||
" CAST(ISNULL(sottoattivita.done_this_month, 0) AS BIT) AS done_this_month,\n" +
|
||||
" CAST(ISNULL(sottoattivita.done_previous_month, 0) AS BIT) AS done_previous_month,\n" +
|
||||
" CAST(ISNULL(sottoattivita.done_this_quarter, 0) AS BIT) AS done_this_quarter,\n" +
|
||||
" CAST(ISNULL(sottoattivita.done_previous_quarter, 0) AS BIT) AS done_previous_quarter,\n" +
|
||||
" stato_attivita,\n" +
|
||||
" is_bug,\n" +
|
||||
" tags,\n" +
|
||||
" CAST(CASE WHEN estimated_enddate < CAST(GETDATE() AS DATE) THEN 1 ELSE 0 END AS BIT) AS scaduta,\n" +
|
||||
" processi.user_creator,\n" +
|
||||
" processi.user_creator_name AS 'creata_da',\n" +
|
||||
" processi.note,\n" +
|
||||
" sottoattivita.last_activity_date AS 'data_ult_attivita',\n" +
|
||||
" ISNULL(sottoattivita.ore, 0) AS 'Ore_tot',\n" +
|
||||
" sottoattivita.next_activity_date AS 'data_prossima_attivita',\n" +
|
||||
" processi.rag_soc,\n" +
|
||||
" processi.data AS 'ultimo_aggiornamento',\n" +
|
||||
" processi.flag_risolto,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN sottoattivita.activity_description <> processi.activity_description\n" +
|
||||
" THEN sottoattivita.activity_description\n" +
|
||||
" ELSE\n" +
|
||||
" '' END AS 'descrizione_sottoattivita',\n" +
|
||||
" task.daPagare as da_pagare,\n" +
|
||||
" task.aCanone as a_canone " +
|
||||
"FROM processi\n" +
|
||||
" LEFT OUTER JOIN sottoattivita ON processi.activity_id = sottoattivita.parent_activity_id\n" +
|
||||
" OUTER APPLY ( SELECT CAST(MAX(CASE WHEN task.cod_jfas <> 'C01' THEN 0 ELSE 1 END) AS BIT) AS daPagare,\n" +
|
||||
" CAST(MAX(CASE WHEN task.cod_jfas = 'C01' THEN 0 ELSE 1 END) AS BIT) AS aCanone \n" +
|
||||
" FROM stb_activity task WHERE processi.activity_id = task.parent_activity_id) task ";
|
||||
|
||||
if (!isTable) {
|
||||
sql += " WHERE processi.effective_endtime IS NULL " +
|
||||
" AND processi.tipo_attivita <> 'AGGIORNAMENTI SOFTWARE'";
|
||||
sql += " AND stb_activity.effective_endtime IS NULL " +
|
||||
" AND stb_activity.activity_type_id <> 'AGGIORNAMENTI SOFTWARE'";
|
||||
|
||||
if (daInstallare) {
|
||||
sql += " AND esito = 'DA INSTALLARE' AND cod_jcom not like 'INTEGRY%'";
|
||||
sql += " AND stb_activity.activity_result_id = 'DA INSTALLARE' AND cod_jcom not like 'INTEGRY%'";
|
||||
}
|
||||
} else if (activityId != null) {
|
||||
sql += " WHERE processi.activity_id = " + UtilityDB.valueToString(activityId);
|
||||
sql += " AND stb_activity.activity_id = " + UtilityDB.valueToString(activityId);
|
||||
} else if (isCliente) {
|
||||
sql += " WHERE esito NOT IN ('ANNULLATA', 'SOSPESA')";
|
||||
sql += " AND stb_activity.activity_result_id NOT IN ('ANNULLATA', 'SOSPESA')";
|
||||
|
||||
if (isPersonaRif) {
|
||||
String whereCondPersRif =
|
||||
Query.format(" AND EXISTS( SELECT *\n" +
|
||||
" from stb_user s inner join vtb_clie_pers_rif on s.e_mail = vtb_clie_pers_rif.e_mail\n" +
|
||||
" where S.USER_NAME = %s and vtb_clie_pers_rif.persona_rif = processi.richiedente )",
|
||||
" where S.USER_NAME = %s and vtb_clie_pers_rif.persona_rif = stb_activity.richiedente )",
|
||||
requestDataDTO.getUsername());
|
||||
sql += whereCondPersRif;
|
||||
}
|
||||
@@ -1101,12 +991,62 @@ public class ActivityService {
|
||||
|
||||
List<ActivityDTO> activityDTOS = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityDTO.class);
|
||||
List<String> elencoId = Stream.of(activityDTOS).map(ActivityDTO::getIdAttivita).toList();
|
||||
|
||||
sql = "select parent_activity_id, stb_activity.user_name, full_name, ISNULL(SUM(jtb_rlavr.ore), 0) as 'ore_fatte'\n" +
|
||||
"FROM stb_activity \n" +
|
||||
"INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name LEFT OUTER JOIN jtb_rlavr ON stb_activity.activity_id = jtb_rlavr.activity_id\n" +
|
||||
"where stb_activity.parent_activity_id in (" + UtilityDB.listValueToString(elencoId) + ")\n" +
|
||||
"group by parent_activity_id, stb_activity.user_name, full_name";
|
||||
sql =
|
||||
"SELECT stb_activity.parent_activity_id,\n" +
|
||||
" stb_activity.user_name,\n" +
|
||||
" stb_user.full_name,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date <= CAST(GETDATE() AS DATE) THEN effective_date\n" +
|
||||
" ELSE NULL END) AS last_activity_date,\n" +
|
||||
" MIN(CASE\n" +
|
||||
" WHEN estimated_date >= CAST(GETDATE() AS DATE) THEN estimated_date\n" +
|
||||
" ELSE NULL END) AS next_activity_date,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN (\n" +
|
||||
" (estimated_date BETWEEN dbo.f_getfirstdayofweek(GETDATE()) AND dbo.f_getlastdayofweek(GETDATE()) OR\n" +
|
||||
" estimated_date IS NULL) AND effective_date IS NULL)\n" +
|
||||
" THEN stb_activity.activity_description\n" +
|
||||
" ELSE NULL END) AS activity_description,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN ISNULL(effective_date, estimated_date) BETWEEN dbo.f_getfirstdayofweek(GETDATE()) AND dbo.f_getlastdayofweek(GETDATE())\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS planned_this_week,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN ISNULL(effective_date, estimated_date) BETWEEN dbo.f_getfirstdayofweek(DATEADD(WEEK, -1, GETDATE())) AND dbo.f_getlastdayofweek(DATEADD(WEEK, -1, GETDATE()))\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS planned_previous_week,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN ISNULL(effective_date, estimated_date) BETWEEN dbo.f_getfirstdayofweek(DATEADD(WEEK, 1, GETDATE())) AND dbo.f_getlastdayofweek(DATEADD(WEEK, 1, GETDATE()))\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS planned_next_week,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date IS NOT NULL AND\n" +
|
||||
" effective_date BETWEEN dbo.f_getfirstdayofmonth(GETDATE()) AND EOMONTH(GETDATE())\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS done_this_month,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date IS NOT NULL AND\n" +
|
||||
" effective_date BETWEEN dbo.f_getfirstdayofmonth(DATEADD(MONTH, -1, GETDATE())) AND EOMONTH(DATEADD(MONTH, -1, GETDATE()))\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS done_previous_month,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date IS NOT NULL AND\n" +
|
||||
" DATEPART(QUARTER, effective_date) = DATEPART(QUARTER, GETDATE()) THEN 1\n" +
|
||||
" ELSE 0 END) AS done_this_quarter,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN effective_date IS NOT NULL AND DATEPART(QUARTER, effective_date) =\n" +
|
||||
" DATEPART(QUARTER, DATEADD(MONTH, -3, GETDATE()))\n" +
|
||||
" THEN 1\n" +
|
||||
" ELSE 0 END) AS done_previous_quarter,\n" +
|
||||
" SUM(jtb_rlavr.ore) AS ore\n" +
|
||||
"FROM stb_activity\n" +
|
||||
" INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name\n" +
|
||||
" LEFT OUTER JOIN jtb_rlavr ON stb_activity.activity_id = jtb_rlavr.activity_id\n" +
|
||||
"WHERE stb_activity.flag_tipologia = 'A'\n" +
|
||||
" AND stb_activity.parent_activity_id IN (" + UtilityDB.listValueToString(elencoId) + ")\n" +
|
||||
"GROUP BY stb_activity.parent_activity_id,\n" +
|
||||
" stb_activity.user_name,\n" +
|
||||
" stb_user.full_name";
|
||||
|
||||
List<ActivityDTO.WorkedHours> activityResponseDtoWorkedHours = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityDTO.WorkedHours.class);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user