Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-10-30 12:26:21 +01:00
2 changed files with 66 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
package it.integry.ems.activity.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import it.integry.common.var.CommonConstants;
import it.integry.ems.activity.dto.SteUPEntryDTO;
import it.integry.ems.activity.dto.SteUpScoreDTO;
@@ -12,8 +13,11 @@ import it.integry.ems.response.StatusResponse;
import it.integry.ems.service.LoginService;
import it.integry.ems.service.dto.LoginAziendaDTO;
import it.integry.ems.status.ServiceChecker;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.StbActivity;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
import it.integry.ems_model.utility.UtilityHashMap;
import org.apache.logging.log4j.LogManager;
@@ -25,11 +29,15 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.lang.reflect.Method;
import java.nio.file.Files;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
@RestController
@Scope(value = "request")
@@ -46,6 +54,8 @@ public class SteUPController {
private ServiceChecker serviceChecker;
@Autowired
private RequestDataDTO requestDataDTO;
@Autowired
private MultiDBTransactionManager multiDBTransactionManager;
@RequestMapping(value = "/status", method = RequestMethod.GET)
public @ResponseBody
@@ -377,10 +387,61 @@ public class SteUPController {
public @ResponseBody
ServiceRestResponse deleteInspections(HttpServletRequest request,
@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd",fallbackPatterns = "yyyy/MM/dd") Date dataInizio,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd",fallbackPatterns = "yyyy/MM/dd") Date dataFine) throws Exception {
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd", fallbackPatterns = "yyyy/MM/dd") Date dataInizio,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd", fallbackPatterns = "yyyy/MM/dd") Date dataFine) throws Exception {
steUPService.deleteInspections(dataInizio, dataFine);
return ServiceRestResponse.createPositiveResponse();
}
@RequestMapping(value = "recuperoIspezioni", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse recuperoIspezioni(HttpServletRequest request,
@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
@RequestParam String pathFile,
@RequestParam String userName) throws Exception {
File fileInput = new File(pathFile);
Pattern pattern = Pattern.compile(".*json", Pattern.CASE_INSENSITIVE);
File[] filesList = fileInput.listFiles((dir, name) -> pattern.matcher(name).matches());
for (File file : filesList) {
try {
String json = new String(Files.readAllBytes(file.toPath()));
SteUPEntryDTO entry = new ObjectMapper().readValue(json, SteUPEntryDTO.class);
String query = "";
if (entry.getParentActivityId() == null) {
query = Query.format(
"update stb_activity \n" +
"set effective_time = %s \n" +
"where activity_type_id = %s\n" +
"AND cod_jfas = %s\n" +
"AND EXISTS (SELECT * FROM WTB_DEPO WHERE WTB_DEPO.cod_mdep = %s AND WTB_DEPO.user_name = stb_activity.user_name )\n" +
"AND user_creator = %s",
entry.getDataCreation(),
entry.getActivityTypeId(),
entry.getCodJfas(),
entry.getCodMdep(),
userName);
} else {
query = Query.format(
"update stb_activity \n" +
"set effective_time = %s \n" +
"where parent_activity_id = %s\n" +
"AND activity_type_id = %s\n" +
"AND cod_jfas = %s\n" +
"AND user_creator = %s",
entry.getDataCreation(),
entry.getParentActivityId(),
entry.getActivityTypeId(),
entry.getCodJfas(),
userName);
}
System.out.println(query);
UtilityDB.executeStatement(multiDBTransactionManager.getPrimaryConnection(), query);
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
}
}
return ServiceRestResponse.createPositiveResponse();
}
}

View File

@@ -456,7 +456,7 @@ public class SteUPService {
String codJfas = entry.getCodJfas();
String codCmac = entry.getCodCmac();
String md5User = entry.getMd5User();
LocalDate dataCreation = UtilityString.parseLocalDate(entry.getDataCreation());
LocalDateTime dataCreation = UtilityString.parseLocalDateTime(entry.getDataCreation());
if (UtilityString.isNullOrEmpty(activityTypeId))
@@ -494,7 +494,7 @@ public class SteUPService {
.setUserModifier(userNameCreator)
.setActivityTypeId(activityTypeIdIspezione)
.setOraInsAct(now)
.setEffectiveTime(dataCreation.atStartOfDay());
.setEffectiveTime(dataCreation);
flag_isNewIspezione = true;
} else { // AGGIORNO ORA ULTIMA MODIFICA
@@ -529,7 +529,7 @@ public class SteUPService {
}
activityItem.setPersonaRif(entry.getPersonaRif());
activityItem.setPriorita(entry.getPriorita());
activityItem.setEffectiveTime(dataCreation.atStartOfDay());
activityItem.setEffectiveTime(dataCreation);
List<String> barcodes = entry.getBarcodes();