|
|
|
|
@@ -395,7 +395,7 @@ public class ActivityService {
|
|
|
|
|
.setDataChk(new Date());
|
|
|
|
|
|
|
|
|
|
stbActivityCheck.setOperation(OperationType.INSERT);
|
|
|
|
|
return entityProcessor.processEntity(stbActivityCheck, multiDBTransactionManager);
|
|
|
|
|
return entityProcessor.processEntity(stbActivityCheck, multiDBTransactionManager);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -404,17 +404,17 @@ public class ActivityService {
|
|
|
|
|
StbActivity stbActivity = economyStatusDTO.getStbActivity();
|
|
|
|
|
stbActivity.setOperation(OperationType.UPDATE);
|
|
|
|
|
entityBaseList.add(stbActivity);
|
|
|
|
|
String codjfas ="C02";
|
|
|
|
|
String codjfas = "C02";
|
|
|
|
|
if (economyStatusDTO.getDaPagare())
|
|
|
|
|
codjfas = "C01";
|
|
|
|
|
codjfas = "C01";
|
|
|
|
|
|
|
|
|
|
String sql =
|
|
|
|
|
Query.format(
|
|
|
|
|
"SELECT activity_id, %s as cod_jfas FROM stb_activity WHERE parent_activity_id = %s AND 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 )",
|
|
|
|
|
codjfas,
|
|
|
|
|
stbActivity.getActivityId(),
|
|
|
|
|
codjfas);
|
|
|
|
|
Query.format(
|
|
|
|
|
"SELECT activity_id, %s as cod_jfas FROM stb_activity WHERE parent_activity_id = %s AND 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 )",
|
|
|
|
|
codjfas,
|
|
|
|
|
stbActivity.getActivityId(),
|
|
|
|
|
codjfas);
|
|
|
|
|
|
|
|
|
|
List<StbActivity> sottoAttivita = new ResultSetMapper().mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, StbActivity.class, OperationType.UPDATE);
|
|
|
|
|
if (!sottoAttivita.isEmpty())
|
|
|
|
|
@@ -430,13 +430,13 @@ public class ActivityService {
|
|
|
|
|
public ActivityTaskDTO insSubactivity(StbActivity stbActivity) throws Exception {
|
|
|
|
|
String sql =
|
|
|
|
|
Query.format(
|
|
|
|
|
"SELECT activity_id " +
|
|
|
|
|
" FROM stb_activity " +
|
|
|
|
|
" WHERE stb_activity.parent_activity_id = %s AND " +
|
|
|
|
|
"stb_activity.user_name = %s AND " +
|
|
|
|
|
"stb_activity.effective_date is null ",
|
|
|
|
|
stbActivity.getParentActivityId(),
|
|
|
|
|
stbActivity.getUserName());
|
|
|
|
|
"SELECT activity_id " +
|
|
|
|
|
" FROM stb_activity " +
|
|
|
|
|
" WHERE stb_activity.parent_activity_id = %s AND " +
|
|
|
|
|
"stb_activity.user_name = %s AND " +
|
|
|
|
|
"stb_activity.effective_date is null ",
|
|
|
|
|
stbActivity.getParentActivityId(),
|
|
|
|
|
stbActivity.getUserName());
|
|
|
|
|
|
|
|
|
|
String activityId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
|
|
|
|
|
|
|
|
|
@@ -447,7 +447,7 @@ public class ActivityService {
|
|
|
|
|
stbActivity.setEffectiveEndtime(endTime);
|
|
|
|
|
if (UtilityString.isNullOrEmpty(activityId)) {
|
|
|
|
|
stbActivity.setOperation(OperationType.INSERT);
|
|
|
|
|
if ( UtilityString.isNullOrEmpty(stbActivity.getActivityDescription())) {
|
|
|
|
|
if (UtilityString.isNullOrEmpty(stbActivity.getActivityDescription())) {
|
|
|
|
|
sql = Query.format("SELECT activity_description FROM stb_activity WHERE stb_activity.activity_id = %s", stbActivity.getParentActivityId());
|
|
|
|
|
String activityDescr = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
|
|
|
|
stbActivity.setActivityDescription(activityDescr);
|
|
|
|
|
@@ -588,7 +588,7 @@ public class ActivityService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String description = planActivityDTO.getDescription();
|
|
|
|
|
if (description == null || description.isEmpty()){
|
|
|
|
|
if (description == null || description.isEmpty()) {
|
|
|
|
|
description = parentStbActivity.getActivityDescription();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -683,7 +683,6 @@ public class ActivityService {
|
|
|
|
|
UtilityEntity.throwEntitiesException(entityList);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EntityBase entityBase = Stream.of(entityList)
|
|
|
|
|
.filter(e -> e instanceof StbActivity && ((StbActivity) e).getCodJcom().equalsIgnoreCase(codJcom))
|
|
|
|
|
.findFirst().orElse(null);
|
|
|
|
|
@@ -699,7 +698,7 @@ public class ActivityService {
|
|
|
|
|
stbActivity
|
|
|
|
|
.setCodJcom(codJcom)
|
|
|
|
|
.setActivityId(activityId)
|
|
|
|
|
.setParentActivityId(parentActivityId ==null?EmsRestConstants.NULL: parentActivityId)
|
|
|
|
|
.setParentActivityId(parentActivityId == null ? EmsRestConstants.NULL : parentActivityId)
|
|
|
|
|
.setEstimatedTime(EmsRestConstants.DATE_NULL)
|
|
|
|
|
.setEstimatedDate(EmsRestConstants.DATE_NULL)
|
|
|
|
|
.setEstimatedEnddate(EmsRestConstants.DATE_NULL)
|
|
|
|
|
@@ -791,7 +790,7 @@ public class ActivityService {
|
|
|
|
|
" 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?"":" AND stb_activity.user_name = '" + username + "'") +
|
|
|
|
|
(isTable ? "" : " AND stb_activity.user_name = '" + username + "'") +
|
|
|
|
|
" GROUP BY stb_activity.parent_activity_id),\n" +
|
|
|
|
|
" processi AS (SELECT stb_activity.cod_jcom,\n" +
|
|
|
|
|
" stb_activity.user_name,\n" +
|
|
|
|
|
@@ -802,6 +801,7 @@ public class ActivityService {
|
|
|
|
|
" stb_activity.estimated_endtime,\n" +
|
|
|
|
|
" stb_activity.effective_time,\n" +
|
|
|
|
|
" stb_activity.effective_endtime,\n" +
|
|
|
|
|
" stb_activity.flag_risolto,\n" +
|
|
|
|
|
" stb_activity.estimated_hours,\n" +
|
|
|
|
|
" stb_activity.activity_result_id AS 'esito',\n" +
|
|
|
|
|
" stb_activity.result_description AS 'descr_esito',\n" +
|
|
|
|
|
@@ -836,13 +836,13 @@ public class ActivityService {
|
|
|
|
|
" DENSE_RANK() OVER (ORDER BY parent.project_description, parent.activity_description) AS 'id_processo',\n" +
|
|
|
|
|
" gtb_anag.rag_soc";
|
|
|
|
|
|
|
|
|
|
if (daInstallare){
|
|
|
|
|
sql += ", lastUpdt.data \n";
|
|
|
|
|
} else {
|
|
|
|
|
sql += ", null AS 'data' \n";
|
|
|
|
|
}
|
|
|
|
|
if (daInstallare) {
|
|
|
|
|
sql += ", lastUpdt.data \n";
|
|
|
|
|
} else {
|
|
|
|
|
sql += ", null AS 'data' \n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sql += " FROM stb_activity\n" +
|
|
|
|
|
sql += " FROM stb_activity\n" +
|
|
|
|
|
" INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name\n" +
|
|
|
|
|
" INNER JOIN (SELECT *\n" +
|
|
|
|
|
" FROM jtb_comt\n" +
|
|
|
|
|
@@ -865,11 +865,11 @@ public class ActivityService {
|
|
|
|
|
" 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";
|
|
|
|
|
|
|
|
|
|
if (daInstallare){
|
|
|
|
|
sql += " LEFT OUTER JOIN integry_last_upd_clie lastUpdt ON stb_activity.cod_anag = lastUpdt.cod_anag\n";
|
|
|
|
|
}
|
|
|
|
|
if (daInstallare) {
|
|
|
|
|
sql += " LEFT OUTER JOIN integry_last_upd_clie lastUpdt ON stb_activity.cod_anag = lastUpdt.cod_anag\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sql += " WHERE stb_activity.flag_tipologia = 'P'\n" +
|
|
|
|
|
sql += " WHERE stb_activity.flag_tipologia = 'P'\n" +
|
|
|
|
|
" AND NOT EXISTS(SELECT *\n" +
|
|
|
|
|
" FROM escludi_commesse\n" +
|
|
|
|
|
" WHERE stb_activity.cod_jcom = escludi_commesse.cod_jcom)\n" +
|
|
|
|
|
@@ -929,6 +929,7 @@ public class ActivityService {
|
|
|
|
|
" 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" +
|
|
|
|
|
@@ -937,13 +938,13 @@ public class ActivityService {
|
|
|
|
|
"FROM processi\n" +
|
|
|
|
|
" LEFT OUTER JOIN sottoattivita ON processi.activity_id = sottoattivita.parent_activity_id\n";
|
|
|
|
|
|
|
|
|
|
if (!isTable){
|
|
|
|
|
if (!isTable) {
|
|
|
|
|
sql += " where processi.effective_endtime IS NULL";
|
|
|
|
|
|
|
|
|
|
if (daInstallare){
|
|
|
|
|
if (daInstallare) {
|
|
|
|
|
sql += " AND esito = 'DA INSTALLARE' AND cod_jcom not like 'INTEGRY%'";
|
|
|
|
|
}
|
|
|
|
|
}else if (activityId != null){
|
|
|
|
|
} else if (activityId != null) {
|
|
|
|
|
sql += " where processi.activity_id = " + UtilityDB.valueToString(activityId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -961,7 +962,7 @@ public class ActivityService {
|
|
|
|
|
|
|
|
|
|
List<ActivityDTO.WorkedHours> activityResponseDtoWorkedHours = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityDTO.WorkedHours.class);
|
|
|
|
|
|
|
|
|
|
if(activityResponseDtoWorkedHours != null){
|
|
|
|
|
if (activityResponseDtoWorkedHours != null) {
|
|
|
|
|
final HashMap<String, List<ActivityDTO.WorkedHours>> subActivityList = activityResponseDtoWorkedHours.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(
|
|
|
|
|
ActivityDTO.WorkedHours::getParentActivityId,
|
|
|
|
|
@@ -1009,7 +1010,7 @@ public class ActivityService {
|
|
|
|
|
|
|
|
|
|
if (activityId != null && !activityId.isEmpty()) {
|
|
|
|
|
conditions.add("stb_activity.parent_activity_id = " + UtilityDB.valueToString(activityId));
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
conditions.add("stb_activity.user_name LIKE " + UtilityDB.valueToString(username));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1049,6 +1050,7 @@ public class ActivityService {
|
|
|
|
|
|
|
|
|
|
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityTypeDTO.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<ActivityTypeDTO> getActivityTypeTask(String username) throws Exception {
|
|
|
|
|
String sql = "SELECT srl_activity_type.activity_type_id,\n" +
|
|
|
|
|
" srl_activity_type.activity_type_id_next,\n" +
|
|
|
|
|
@@ -1102,7 +1104,7 @@ public class ActivityService {
|
|
|
|
|
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityCommessaDTO.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void insertOrUpdateActivity(ActivityDTO activity) throws Exception{
|
|
|
|
|
public void insertOrUpdateActivity(ActivityDTO activity) throws Exception {
|
|
|
|
|
StbActivity stbActivity = new StbActivity();
|
|
|
|
|
stbActivity.setOperation(OperationType.INSERT_OR_UPDATE);
|
|
|
|
|
|
|
|
|
|
@@ -1125,7 +1127,7 @@ public class ActivityService {
|
|
|
|
|
entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void updateActivityTask(ActivityTaskDTO activity) throws Exception{
|
|
|
|
|
public void updateActivityTask(ActivityTaskDTO activity) throws Exception {
|
|
|
|
|
StbActivity stbActivity = new StbActivity();
|
|
|
|
|
stbActivity.setOperation(OperationType.UPDATE);
|
|
|
|
|
|
|
|
|
|
@@ -1149,7 +1151,7 @@ public class ActivityService {
|
|
|
|
|
entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<ActivityDTO> getAllActivitiesByActiveCustomers() throws Exception{
|
|
|
|
|
public List<ActivityDTO> getAllActivitiesByActiveCustomers() throws Exception {
|
|
|
|
|
String sql = "SELECT DISTINCT stb_activity.activity_id as Id_Attivita,\n" +
|
|
|
|
|
" stb_activity.data_ins_act as data_insermento,\n" +
|
|
|
|
|
" stb_activity.activity_type_id as tipo_attivita,\n" +
|
|
|
|
|
@@ -1177,7 +1179,7 @@ public class ActivityService {
|
|
|
|
|
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityDTO.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<PersoneRifDTO> getPersoneRif() throws Exception{
|
|
|
|
|
public List<PersoneRifDTO> getPersoneRif() throws Exception {
|
|
|
|
|
String sql = "SELECT DISTINCT vtb_clie_pers_rif.persona_rif, jtb_comt.cod_jcom, e_mail, vtb_clie_pers_rif.cod_anag, vtb_clie_pers_rif.persona_rif AS persona_cod_jcom\n" +
|
|
|
|
|
"FROM vtb_clie_pers_rif, jtb_comt, vtb_clie\n" +
|
|
|
|
|
"WHERE vtb_clie_pers_rif.cod_anag = vtb_clie.cod_anag AND\n" +
|
|
|
|
|
@@ -1189,10 +1191,10 @@ public class ActivityService {
|
|
|
|
|
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, PersoneRifDTO.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
if(activityId == null){
|
|
|
|
|
if (activityId == null) {
|
|
|
|
|
sql = "SELECT t.livello,\n" +
|
|
|
|
|
" t.activity_id,\n" +
|
|
|
|
|
" stb_activity.activity_description,\n" +
|
|
|
|
|
@@ -1216,7 +1218,7 @@ public class ActivityService {
|
|
|
|
|
"-- 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.activity_type_id = stb_activity.activity_type_id)";
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
sql = "select activity_id, activity_description, parent_activity_id, stb_activity.activity_type_id\n" +
|
|
|
|
|
"from stb_activity where parent_activity_id = " + UtilityDB.valueToString(activityId) +
|
|
|
|
|
" and effective_enddate is null";
|
|
|
|
|
@@ -1225,7 +1227,7 @@ public class ActivityService {
|
|
|
|
|
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, TreeViewDTO.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<ActivityTaskDTO> getActivityCalendar(String username, String startDate, String endDate) throws Exception{
|
|
|
|
|
public List<ActivityTaskDTO> getActivityCalendar(String username, String startDate, String endDate) throws Exception {
|
|
|
|
|
String sql = "WITH sottoattivita AS (SELECT stb_activity.activity_id, stb_activity.activity_type_id\n" +
|
|
|
|
|
" FROM stb_activity\n" +
|
|
|
|
|
" INNER JOIN stb_user ON stb_activity.user_name = stb_user.user_name\n" +
|
|
|
|
|
@@ -1273,11 +1275,11 @@ public class ActivityService {
|
|
|
|
|
activity.setActivityId(activityId);
|
|
|
|
|
activity.setOperation(OperationType.DELETE);
|
|
|
|
|
|
|
|
|
|
if (deleteSubActivity){
|
|
|
|
|
if (deleteSubActivity) {
|
|
|
|
|
List<StbActivity> stbActivityList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
List<ActivityTaskDTO> activityTasks = getActivityTasks(activityId, null, null, null);
|
|
|
|
|
for (ActivityTaskDTO activityTask : activityTasks){
|
|
|
|
|
for (ActivityTaskDTO activityTask : activityTasks) {
|
|
|
|
|
StbActivity stbActivity = new StbActivity();
|
|
|
|
|
stbActivity.setActivityId(activityTask.getActivityId());
|
|
|
|
|
stbActivity.setOperation(OperationType.DELETE);
|
|
|
|
|
@@ -1305,7 +1307,7 @@ public class ActivityService {
|
|
|
|
|
return UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<ActivityHistoryDTO> getActivityHistory(String activityId) throws Exception{
|
|
|
|
|
public List<ActivityHistoryDTO> getActivityHistory(String activityId) throws Exception {
|
|
|
|
|
MultiDBTransactionManager m = new MultiDBTransactionManager();
|
|
|
|
|
DataSource ds = new DataSource();
|
|
|
|
|
|
|
|
|
|
@@ -1314,7 +1316,7 @@ public class ActivityService {
|
|
|
|
|
|
|
|
|
|
List<ActivityHistoryDTO> returnList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
try {
|
|
|
|
|
m.addConnection(historyProfileDb, ds);
|
|
|
|
|
m.setPrimaryDs(historyProfileDb);
|
|
|
|
|
|
|
|
|
|
@@ -1340,11 +1342,20 @@ public class ActivityService {
|
|
|
|
|
"AND log_created_operation LIKE '%UPDATE'";
|
|
|
|
|
|
|
|
|
|
returnList = UtilityDB.executeSimpleQueryDTO(m.getPrimaryConnection(), sql, ActivityHistoryDTO.class);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
m.rollbackAll();
|
|
|
|
|
}
|
|
|
|
|
m.closeAll();
|
|
|
|
|
|
|
|
|
|
return returnList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setActivitySolved(String activityId) throws Exception {
|
|
|
|
|
StbActivity stbActivity = new StbActivity();
|
|
|
|
|
stbActivity.setActivityId(activityId)
|
|
|
|
|
.setFlagRisolto("S")
|
|
|
|
|
.setOperation(OperationType.UPDATE);
|
|
|
|
|
|
|
|
|
|
entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager);
|
|
|
|
|
}
|
|
|
|
|
}
|