Fix colli tosca

This commit is contained in:
2024-06-05 10:36:22 +02:00
parent e98bf98a3b
commit 129e52a116

View File

@@ -34,7 +34,9 @@ import it.integry.ems.system.exception.NotValidLicenseException;
import it.integry.ems.system.request.SystemChangePasswordRequest;
import it.integry.ems.system.request.SystemLoginRequest;
import it.integry.ems.system.service.SystemService;
import it.integry.ems.utility.UtilityEntity;
import it.integry.ems.utility.UtilityPrinter;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.db.ResultSetMapper;
import it.integry.ems_model.entity.*;
@@ -1664,4 +1666,52 @@ public class SystemController {
return ServiceRestResponse.createPositiveResponse(systemService.implodeWordDoc());
}
@RequestMapping(value = "tosca/fix", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse fixTosca(
HttpServletRequest request,
@RequestParam(CommonConstants.PROFILE_DB) String configuration
) throws Exception {
//dataOrd != dataCollo
//dataVers > query
//prendo ordine L con codJfas Collo e dataOrd = dataCollo
String queryRetrieveColli = "SELECT *\n" +
"FROM mtb_colt\n" +
"WHERE data_ord <> data_collo\n" +
" AND data_vers > (SELECT CONVERT(DATETIME, CONCAT(CAST(GETDATE() AS DATE), ' ', LEFT(MIN(CAST(ora AS TIME)), 8)), 121) AS ora\n" +
" FROM stb_calr_ore_gg\n" +
" WHERE cod_cal = 'DEFAULT'\n" +
" AND flag_tipo_ora = 'L')\n" +
"ORDER BY data_collo DESC";
final List<MtbColt> mtbColtsToFix = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), queryRetrieveColli, MtbColt.class);
if(mtbColtsToFix == null || mtbColtsToFix.isEmpty())
return ServiceRestResponse.createPositiveResponse();
for (MtbColt mtbColtToFix : mtbColtsToFix) {
mtbColtToFix.setOperation(OperationType.UPDATE);
String queryRetrieveOrder = Query.format("SELECT cod_jfas, gestione, data_ord, num_ord\n" +
"FROM dtb_ordt\n" +
"WHERE cod_jfas = %s\n" +
"AND data_ord = %s", mtbColtToFix.getCodJfas(), mtbColtToFix.getDataCollo());
final HashMap<String, Object> orderToSet = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBTransactionManager.getPrimaryConnection(), queryRetrieveOrder);
mtbColtToFix.setDataOrd(UtilityHashMap.getValueIfExists(orderToSet, "data_ord"));
mtbColtToFix.setNumOrd(UtilityHashMap.getValueIfExists(orderToSet, "num_ord"));
}
final List<EntityBase> processedEntities = entityProcessor.processEntityList(mtbColtsToFix, true);
UtilityEntity.throwEntitiesException(processedEntities);
return ServiceRestResponse.createPositiveResponse("Fixate " + processedEntities + " entity");
}
}