Sync from remote server: 2025-10-12 18:56:41

This commit is contained in:
2025-10-12 18:56:59 +02:00
commit 7e8ee264aa
553 changed files with 161447 additions and 0 deletions

157
ATD/report_BL.m Executable file
View File

@@ -0,0 +1,157 @@
function [ATTIVA,FIG,FIG_ENG] = report_BL(rBL,m,NodoBaroLink,toolrif,unitrif,datarif,...
Font_caption,Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,status,ATTIVA,activeEN,...
conn,FileName)
fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'report_BL function started';
fprintf(fileID,fmt,text);
import mlreportgen.dom.*
import mlreportgen.report.*
% Make sure DOM is compilable
makeDOMCompilable()
titolo = 1;
if status(m,1) == 1
if ATTIVA == 1
testo = Paragraph('Catena non ancora installata o inattiva.');
ATTIVA = 0;
add(DT,testo);
if activeEN == 1
testo = Paragraph('Array not installed or inactive.');
add(DT_ENG,testo);
end
end
elseif status(m,1) == 3
if ATTIVA == 1
testo = Paragraph(['Monitoraggio completato. Invitiamo a visitare la '...
'piattaforma web per la visione dei dati storici.']);
ATTIVA = 0;
add(DT,testo);
if activeEN == 1
testo = Paragraph(['Monitoring completed. Please log into the web-based platform '...
'to access the complete dataset.']);
add(DT_ENG,testo);
end
end
else
SE = Section();
if activeEN == 1
SE_ENG = Section();
end
for b = 1:rBL(m,1)
NodeNum = num2str(NodoBaroLink(b,m));
comando = ['select EventDate, EventTime, pressure from ElabDataView where EventDate >= ''' ...
datarif ''' and ToolNameID = ''' char(toolrif) ''' and UnitName = ''' char(unitrif) ...
''' and NodeNum = ''' NodeNum ''' '];
curs = exec(conn,comando);
curs = fetch(curs);
Dati = curs.Data;
% Modifico il formato di data e ora
[rD,rC] = size(Dati);
if rC ~= 1
T = [cell2mat(Dati(:,1)) repmat(' ', [rD,1]) cell2mat(Dati(:,2))];
Date = datenum(T); % Data
pressatm = cell2mat(Dati(:,3)); % pressione atmosferica
% grafico pressione atmosferica NELL'ULTIMO MESE
figure(4)
atm = plot(Date,pressatm);
title('Pressione atmosferica');
xlabel('Data [gg/mm/aaaa]');
ylabel('Pressione [Pa]');
h = gca;
h.XAxis.MinorTick = 'on';
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
xtickangle(15);
grid on
grid minor
hold off
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-Baro.png'));
saveas(atm,TempName);
ChartBL = Image(TempName);
ChartBL.Style = {Height('8cm'),HAlign('center')};
ChartBL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Andamento della '...
'pressione atmosferica misurata dal barometro nel periodo temporale di riferimento']);
FIG = FIG+1;
ChartBL_cap.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
testo = Paragraph('Il grafico seguente riporta i valori relativi alla pressione atmosferica misurati dal sensore barometrico nel periodo temporale di riferimento.');
testo.HAlign = 'justify';
if titolo == 1
sezBaro = Heading3('Baro Link');
sezBaro.Style = {OuterMargin('0in','0in','0.15in','0in'),FontSize(Font_tools),Bold(1),Italic(1)};
SE.Title = sezBaro;
add(DT,sezBaro);
if activeEN == 0
titolo = 0;
end
end
add(DT,testo);
add(DT,ChartBL);
add(DT,ChartBL_cap);
add(DT,br);
close(figure(4));
if activeEN == 1
figure(4)
atm = plot(Date,pressatm);
title('Atmospheric pressure');
xlabel('Date [dd/mm/yyyy]');
ylabel('Pressure [Pa]');
h = gca;
h.XAxis.MinorTick = 'on';
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
xtickangle(15);
grid on
grid minor
hold off
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-Baro_ENG.png'));
saveas(atm,TempName);
ChartBL = Image(TempName);
ChartBL.Style = {Height('8cm'),HAlign('center')};
ChartBL_cap = Paragraph(['Fig. ' num2str(FIG_ENG) ' - Atmospheric pressure recorded during '...
'the reference time period']);
FIG_ENG = FIG_ENG+1;
ChartBL_cap.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
testo = Paragraph(['The following graph shows the atmospheric pressure recorded by the '...
'Barometer sensor during the reference monitoring period.']);
testo.HAlign = 'justify';
if titolo == 1
sezBaro = Heading3('Baro Link');
sezBaro.Style = {OuterMargin('0in','0in','0.15in','0in'),FontSize(Font_tools),Bold(1),Italic(1)};
SE_ENG.Title = sezBaro;
add(DT_ENG,sezBaro);
titolo = 0;
end
add(DT_ENG,testo);
add(DT_ENG,ChartBL);
add(DT_ENG,ChartBL_cap);
add(DT_ENG,br);
close(figure(4));
end
%pulisco variabili da riutilizzare per catena successiva
clear pressatm;
else
if ATTIVA == 1
testo = Paragraph('Non sono presenti dati relativi al periodo temporale considerato.');
ATTIVA = 0;
add(DT,testo);
if activeEN == 1
testo = Paragraph('No data available for the reference time period.');
add(DT_ENG,testo);
end
end
end
end
end
text = 'report_BL function executed correctly';
fprintf(fileID,fmt,text);
fclose(fileID);
end