Branch ruff-linted was renamed to main-optimized.

Files
matlab-python/Tilt/DBwriteHD.m

110 lines
6.9 KiB
Matlab
Executable File

function DBwriteHD(DATAinsert,idElabData,idElabData_RIS,ListaDate,NodeNum,IDcentralina,DTcatena,conn)
nNodo = num2str(NodeNum);
l = ListaDate;
tablenameRIS = 'ELABDATARISUL';
tablename = 'ELABDATADISP';
for ii=1:l
idData = idElabData(ii,1);
if idData == 0 % Se la data non č su DB (=0), scrivo i dati
checkA = isnan(cell2mat(DATAinsert(ii,19)));
if checkA == 1 % il vettore accelerazione č NaN
checkV = isnan(cell2mat(DATAinsert(ii,17)));
if checkV == 1 % il vettore velocitŕ č NaN
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
'X','Y','Z','XShift','YShift','ZShift','HShift','HShift_local',...
'HShiftDir','T_node','calcerr','AlfaX','AlfaY'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
DATAinsert(ii,10),DATAinsert(ii,11),DATAinsert(ii,12),...
DATAinsert(ii,13),DATAinsert(ii,14),DATAinsert(ii,15),...
DATAinsert(ii,20),DATAinsert(ii,21),DATAinsert(ii,22)];
else % velocitŕ č un numero, accelerazione NaN
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
'X','Y','Z','XShift','YShift','ZShift','HShift','HShift_local',...
'HShiftDir','T_node','speed','speed_local','calcerr','AlfaX','AlfaY'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
DATAinsert(ii,10),DATAinsert(ii,11),DATAinsert(ii,12),...
DATAinsert(ii,13),DATAinsert(ii,14),DATAinsert(ii,15),...
DATAinsert(ii,16),DATAinsert(ii,17),DATAinsert(ii,20),...
DATAinsert(ii,21),DATAinsert(ii,22)];
end
else % scrivo tutto
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
'X','Y','Z','XShift','YShift','ZShift','HShift','HShift_local',...
'HShiftDir','T_node','speed','speed_local','acceleration',...
'acceleration_local','calcerr','AlfaX','AlfaY'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
DATAinsert(ii,10),DATAinsert(ii,11),DATAinsert(ii,12),...
DATAinsert(ii,13),DATAinsert(ii,14),DATAinsert(ii,15),...
DATAinsert(ii,16),DATAinsert(ii,17),DATAinsert(ii,18),...
DATAinsert(ii,19),DATAinsert(ii,20),DATAinsert(ii,21),DATAinsert(ii,22)];
end
fastinsert(conn,tablename,colnames,data);
else % altrimenti li aggiorno
checkA = isnan(cell2mat(DATAinsert(ii,19)));
if checkA == 1 % il vettore accelerazione č NaN
checkV = isnan(cell2mat(DATAinsert(ii,17)));
if checkV == 1 % il vettore velocitŕ č NaN
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
'X','Y','Z','XShift','YShift','ZShift','HShift','HShift_local',...
'HShiftDir','T_node','calcerr','AlfaX','AlfaY'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
DATAinsert(ii,10),DATAinsert(ii,11),DATAinsert(ii,12),...
DATAinsert(ii,13),DATAinsert(ii,14),DATAinsert(ii,15),...
DATAinsert(ii,20),DATAinsert(ii,21),DATAinsert(ii,22)];
else % velocitŕ č un numero, accelerazione NaN
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
'X','Y','Z','XShift','YShift','ZShift','HShift','HShift_local',...
'HShiftDir','T_node','speed','speed_local','calcerr','AlfaX','AlfaY'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
DATAinsert(ii,10),DATAinsert(ii,11),DATAinsert(ii,12),...
DATAinsert(ii,13),DATAinsert(ii,14),DATAinsert(ii,15),...
DATAinsert(ii,16),DATAinsert(ii,17),DATAinsert(ii,20),...
DATAinsert(ii,21),DATAinsert(ii,22)];
end
else % aggiorno tutto
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
'X','Y','Z','XShift','YShift','ZShift','HShift','HShift_local',...
'HShiftDir','T_node','speed','speed_local','acceleration',...
'acceleration_local','calcerr','AlfaX','AlfaY'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
DATAinsert(ii,10),DATAinsert(ii,11),DATAinsert(ii,12),...
DATAinsert(ii,13),DATAinsert(ii,14),DATAinsert(ii,15),...
DATAinsert(ii,16),DATAinsert(ii,17),DATAinsert(ii,18),...
DATAinsert(ii,19),DATAinsert(ii,20),DATAinsert(ii,21),DATAinsert(ii,22)];
end
whereclause = ['WHERE UnitName = ''' IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' ...
nNodo ''' and EventDate = ''' cell2mat(DATAinsert(ii,4)) ''' and EventTime = ''' cell2mat(DATAinsert(ii,5)) ''' '];
update(conn,tablename,colnames,data,whereclause)
end
idDataRIS = idElabData_RIS(ii,1);
if idDataRIS == 0 % Se la data non č su DB (=0), scrivo i dati
colnamesRIS = {'UnitName','ToolNameID','NodeNum','EventTimestamp',...
'ris_acc','ris_mag'};
dataRIS = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,25),DATAinsert(ii,23),DATAinsert(ii,24)];
fastinsert(conn,tablenameRIS,colnamesRIS,dataRIS);
else
colnamesRIS = {'ris_acc','ris_mag'};
dataRIS = [DATAinsert(ii,23),DATAinsert(ii,24)];
whereclauseRIS = ['WHERE UnitName = ''' IDcentralina ''' and ToolNameID = ''' DTcatena ''' and NodeNum = ''' ...
nNodo ''' and EventTimestamp = ''' cell2mat(DATAinsert(ii,25)) ''' '];
update(conn,tablenameRIS,colnamesRIS,dataRIS,whereclauseRIS)
end
end
end