Modificato servizio getTreeView
This commit is contained in:
@@ -270,7 +270,7 @@ public class ActivityController {
|
|||||||
@RequestMapping(value = EmsRestConstants.PATH_ACTIVITY_GET_TREE_VIEW, method = RequestMethod.GET)
|
@RequestMapping(value = EmsRestConstants.PATH_ACTIVITY_GET_TREE_VIEW, method = RequestMethod.GET)
|
||||||
public ServiceRestResponse getTreeView(HttpServletRequest request,
|
public ServiceRestResponse getTreeView(HttpServletRequest request,
|
||||||
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||||
@RequestParam() String codJcom,
|
@RequestParam(required = false) String codJcom,
|
||||||
@RequestParam(required = false, defaultValue = "false") boolean loadTasks,
|
@RequestParam(required = false, defaultValue = "false") boolean loadTasks,
|
||||||
@RequestParam(required = false) String activityId) throws Exception {
|
@RequestParam(required = false) String activityId) throws Exception {
|
||||||
|
|
||||||
|
|||||||
@@ -4,19 +4,42 @@ import it.integry.ems_model.annotation.SqlField;
|
|||||||
|
|
||||||
public class TreeViewDTO {
|
public class TreeViewDTO {
|
||||||
|
|
||||||
|
@SqlField("cod_jcom")
|
||||||
|
private String codJcom;
|
||||||
|
|
||||||
@SqlField("livello")
|
@SqlField("livello")
|
||||||
private int livello;
|
private int livello;
|
||||||
|
|
||||||
@SqlField("activity_id")
|
@SqlField("activity_id")
|
||||||
private String activityId;
|
private String activityId;
|
||||||
|
|
||||||
@SqlField("activity_description")
|
@SqlField("activity_description")
|
||||||
private String activityDescription;
|
private String activityDescription;
|
||||||
|
|
||||||
@SqlField("parent_activity_id")
|
@SqlField("parent_activity_id")
|
||||||
private String parentActivityId;
|
private String parentActivityId;
|
||||||
|
|
||||||
@SqlField("activity_type_id")
|
@SqlField("activity_type_id")
|
||||||
private String activityTypeId;
|
private String activityTypeId;
|
||||||
|
|
||||||
@SqlField("row")
|
@SqlField("row")
|
||||||
private int row;
|
private int row;
|
||||||
|
|
||||||
|
@SqlField("isFinished")
|
||||||
|
private boolean isFinished;
|
||||||
|
|
||||||
|
@SqlField("esito")
|
||||||
|
private String esito;
|
||||||
|
|
||||||
|
public String getCodJcom() {
|
||||||
|
return codJcom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TreeViewDTO setCodJcom(String codJcom) {
|
||||||
|
this.codJcom = codJcom;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public int getRow() {
|
public int getRow() {
|
||||||
return row;
|
return row;
|
||||||
}
|
}
|
||||||
@@ -70,4 +93,22 @@ public class TreeViewDTO {
|
|||||||
this.parentActivityId = parentActivityId;
|
this.parentActivityId = parentActivityId;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFinished() {
|
||||||
|
return isFinished;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TreeViewDTO setFinished(boolean finished) {
|
||||||
|
isFinished = finished;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEsito() {
|
||||||
|
return esito;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TreeViewDTO setEsito(String esito) {
|
||||||
|
this.esito = esito;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -421,8 +421,8 @@ public class ActivityService {
|
|||||||
sql =
|
sql =
|
||||||
Query.format(
|
Query.format(
|
||||||
"SELECT jtb_rlavr.cod_jflav, jtb_rlavr.data_lav, jtb_rlavr.id_riga, %s as cod_jfas " +
|
"SELECT jtb_rlavr.cod_jflav, jtb_rlavr.data_lav, jtb_rlavr.id_riga, %s as cod_jfas " +
|
||||||
" FROM stb_activity INNER JOIN jtb_rlavr ON stb_activity.activity_id = jtb_rlavr.activity_id " +
|
" FROM stb_activity INNER JOIN jtb_rlavr ON stb_activity.activity_id = jtb_rlavr.activity_id " +
|
||||||
" WHERE parent_activity_id = %s AND stb_activity.cod_jfas <> %s\n" +
|
" WHERE parent_activity_id = %s AND stb_activity.cod_jfas <> %s\n" +
|
||||||
" AND NOT EXISTS(SELECT * from stb_activity_check WHERE stb_activity.cod_jcom = stb_activity_check.cod_jcom AND stb_activity.effective_date between stb_activity_check.data_iniz AND stb_activity_check.data_fine )",
|
" AND NOT EXISTS(SELECT * from stb_activity_check WHERE stb_activity.cod_jcom = stb_activity_check.cod_jcom AND stb_activity.effective_date between stb_activity_check.data_iniz AND stb_activity_check.data_fine )",
|
||||||
codjfas,
|
codjfas,
|
||||||
stbActivity.getActivityId(),
|
stbActivity.getActivityId(),
|
||||||
@@ -443,7 +443,7 @@ public class ActivityService {
|
|||||||
|
|
||||||
|
|
||||||
List<JtbRLavt> rapportini = new ArrayList<>();
|
List<JtbRLavt> rapportini = new ArrayList<>();
|
||||||
for (Map.Entry<JtbRLavt, List<JtbRLavr>> entry:list ) {
|
for (Map.Entry<JtbRLavt, List<JtbRLavr>> entry : list) {
|
||||||
rapportini.add(entry.getKey().setJtbRlavr(entry.getValue()));
|
rapportini.add(entry.getKey().setJtbRlavr(entry.getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,7 +512,7 @@ public class ActivityService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (processo.getEffectiveEnddate() != null &&
|
if (processo.getEffectiveEnddate() != null &&
|
||||||
processo.getEffectiveEnddate().before(stbActivity.getEffectiveEnddate())){
|
processo.getEffectiveEnddate().before(stbActivity.getEffectiveEnddate())) {
|
||||||
processo.setEffectiveEnddate(EmsRestConstants.DATE_NULL)
|
processo.setEffectiveEnddate(EmsRestConstants.DATE_NULL)
|
||||||
.setEffectiveEndtime(EmsRestConstants.DATE_NULL)
|
.setEffectiveEndtime(EmsRestConstants.DATE_NULL)
|
||||||
.setActivityResultId("DA COMPLETARE");
|
.setActivityResultId("DA COMPLETARE");
|
||||||
@@ -537,7 +537,7 @@ public class ActivityService {
|
|||||||
.setEffectiveTime(stbActivity.getEffectiveTime())
|
.setEffectiveTime(stbActivity.getEffectiveTime())
|
||||||
.setEffectiveEndtime(stbActivity.getEffectiveEndtime())
|
.setEffectiveEndtime(stbActivity.getEffectiveEndtime())
|
||||||
.setNote(stbActivity.getNote());
|
.setNote(stbActivity.getNote());
|
||||||
} catch (Exception e){
|
} catch (Exception e) {
|
||||||
multiDBTransactionManager.rollbackAll();
|
multiDBTransactionManager.rollbackAll();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -948,7 +948,7 @@ public class ActivityService {
|
|||||||
" INNER JOIN (SELECT *\n" +
|
" INNER JOIN (SELECT *\n" +
|
||||||
" FROM jtb_comt\n";
|
" FROM jtb_comt\n";
|
||||||
|
|
||||||
if (year == null){
|
if (year == null) {
|
||||||
sql += " WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA')) jtb_comt\n";
|
sql += " WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA')) jtb_comt\n";
|
||||||
} else {
|
} else {
|
||||||
sql += " WHERE stato_commessa = 'CHIUSA'\n" +
|
sql += " WHERE stato_commessa = 'CHIUSA'\n" +
|
||||||
@@ -995,8 +995,13 @@ public class ActivityService {
|
|||||||
" stb_activity_type.flag_tipologia\n" +
|
" stb_activity_type.flag_tipologia\n" +
|
||||||
" AND stb_activity_type.flag_attiva = 'S'\n" +
|
" AND stb_activity_type.flag_attiva = 'S'\n" +
|
||||||
" GROUP BY srl_activity_type.activity_type_id\n" +
|
" GROUP BY srl_activity_type.activity_type_id\n" +
|
||||||
" HAVING COUNT(DISTINCT flag_tipologia_next) = 1)\n" +
|
" HAVING COUNT(DISTINCT flag_tipologia_next) = 1)\n";
|
||||||
" AND flag_tipologia_next = 'A'))\n" +
|
|
||||||
|
if (activityId == null) {
|
||||||
|
sql += " AND flag_tipologia_next = 'A'\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
sql += " ))\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"SELECT processi.cod_jcom AS 'Commessa',\n" +
|
"SELECT processi.cod_jcom AS 'Commessa',\n" +
|
||||||
" processi.user_name,\n" +
|
" processi.user_name,\n" +
|
||||||
@@ -1051,7 +1056,7 @@ public class ActivityService {
|
|||||||
" task.daPagare as da_pagare,\n" +
|
" task.daPagare as da_pagare,\n" +
|
||||||
" task.aCanone as a_canone " +
|
" task.aCanone as a_canone " +
|
||||||
"FROM processi\n" +
|
"FROM processi\n" +
|
||||||
" LEFT OUTER JOIN sottoattivita ON processi.activity_id = sottoattivita.parent_activity_id\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" +
|
" 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" +
|
" 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 ";
|
" FROM stb_activity task WHERE processi.activity_id = task.parent_activity_id) task ";
|
||||||
@@ -1355,7 +1360,29 @@ public class ActivityService {
|
|||||||
public List<TreeViewDTO> getTreeView(String codJcom, String activityId, boolean loadTasks) throws Exception {
|
public List<TreeViewDTO> getTreeView(String codJcom, String activityId, boolean loadTasks) throws Exception {
|
||||||
String sql;
|
String sql;
|
||||||
|
|
||||||
if (activityId == null) {
|
if (codJcom == null) {
|
||||||
|
sql = "WITH commesse AS (SELECT cod_jcom FROM jtb_comt WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA'))\n" +
|
||||||
|
"SELECT t.cod_jcom,\n" +
|
||||||
|
" t.livello,\n" +
|
||||||
|
" t.activity_id,\n" +
|
||||||
|
" stb_activity.activity_description,\n" +
|
||||||
|
" t.parent_activity_id,\n" +
|
||||||
|
" stb_activity.activity_type_id,\n" +
|
||||||
|
" count_activity.row,\n" +
|
||||||
|
" CAST(IIF(stb_activity.effective_enddate IS NULL, 1, 0) AS BIT) AS isFinished,\n" +
|
||||||
|
" stb_activity.activity_result_id AS esito\n" +
|
||||||
|
"FROM commesse\n" +
|
||||||
|
" CROSS APPLY [dbo].[getTreeViewActivity](commesse.cod_jcom) t\n" +
|
||||||
|
" INNER JOIN stb_activity ON t.activity_id = stb_activity.activity_id\n" +
|
||||||
|
" OUTER APPLY (SELECT COUNT(*) AS row\n" +
|
||||||
|
" FROM stb_activity s\n" +
|
||||||
|
" WHERE stb_activity.activity_id = s.parent_activity_id) count_activity\n" +
|
||||||
|
"WHERE EXISTS (SELECT *\n" +
|
||||||
|
" FROM srl_activity_type\n" +
|
||||||
|
" WHERE flag_tipologia_next IN ('P', 'A')\n" +
|
||||||
|
" AND srl_activity_type.flag_tipologia = stb_activity.flag_tipologia\n" +
|
||||||
|
" AND srl_activity_type.activity_type_id = stb_activity.activity_type_id)";
|
||||||
|
} else if (activityId == null) {
|
||||||
sql = "SELECT t.livello,\n" +
|
sql = "SELECT t.livello,\n" +
|
||||||
" t.activity_id,\n" +
|
" t.activity_id,\n" +
|
||||||
" stb_activity.activity_description,\n" +
|
" stb_activity.activity_description,\n" +
|
||||||
@@ -1372,11 +1399,6 @@ public class ActivityService {
|
|||||||
"EXISTS (SELECT *\n" +
|
"EXISTS (SELECT *\n" +
|
||||||
" FROM srl_activity_type\n" +
|
" FROM srl_activity_type\n" +
|
||||||
" WHERE flag_tipologia_next IN ('P' " + (loadTasks ? ", 'A'" : "") + ")\n" +
|
" WHERE flag_tipologia_next IN ('P' " + (loadTasks ? ", 'A'" : "") + ")\n" +
|
||||||
"-- AND NOT EXISTS (SELECT *\n" +
|
|
||||||
"-- FROM srl_activity_type tipo_attivita\n" +
|
|
||||||
"-- WHERE tipo_attivita.flag_tipologia_next = 'A'\n" +
|
|
||||||
"-- AND tipo_attivita.activity_type_id = srl_activity_type.activity_type_id\n" +
|
|
||||||
"-- AND tipo_attivita.flag_tipologia = srl_activity_type.flag_tipologia)\n" +
|
|
||||||
" AND srl_activity_type.flag_tipologia = stb_activity.flag_tipologia\n" +
|
" AND srl_activity_type.flag_tipologia = stb_activity.flag_tipologia\n" +
|
||||||
" AND srl_activity_type.activity_type_id = stb_activity.activity_type_id)";
|
" AND srl_activity_type.activity_type_id = stb_activity.activity_type_id)";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user