92 lines
5.2 KiB
Matlab
Executable File
92 lines
5.2 KiB
Matlab
Executable File
function DBwriteTLH(DATAinsert,idElabData,ListaDate,NodeNum,DTcatena,IDcentralina,Traversine,conn)
|
|
|
|
nNodo = num2str(NodeNum);
|
|
l = ListaDate;
|
|
for ii=1:l
|
|
idData = idElabData(ii,1);
|
|
if idData == 0 % Se la data non č su DB (=0), scrivo i dati
|
|
tablename = 'ELABDATADISP';
|
|
checkA = isnan(cell2mat(DATAinsert(ii,13)));
|
|
if checkA == 1 % il vettore accelerazione č NaN
|
|
checkV = isnan(cell2mat(DATAinsert(ii,11)));
|
|
if checkV == 1 % NON scrivo velocitŕ ed accelerazione
|
|
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
|
|
'Y','Z','YShift','ZShift','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,15),DATAinsert(ii,16),DATAinsert(ii,17)];
|
|
else % NON scrivo l'accelerazione
|
|
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
|
|
'Y','Z','YShift','ZShift','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,15),DATAinsert(ii,16),DATAinsert(ii,17)];
|
|
end
|
|
else % Scrivo tutto
|
|
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
|
|
'Y','Z','YShift','ZShift','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)];
|
|
end
|
|
if Traversine ~= 0 % Sghembo
|
|
[~,c] = size(colnames);
|
|
colnames(1,c+1) = {'XShift'};
|
|
data(1,18) = DATAinsert(ii,18);
|
|
end
|
|
fastinsert(conn,tablename,colnames,data);
|
|
else % altrimenti li aggiorno
|
|
tablename = 'ELABDATADISP';
|
|
checkA = isnan(cell2mat(DATAinsert(ii,13)));
|
|
if checkA == 1 % il vettore accelerazione č NaN
|
|
checkV = isnan(cell2mat(DATAinsert(ii,11)));
|
|
if checkV == 1 % NON aggiorno velocitŕ ed accelerazione
|
|
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
|
|
'Y','Z','YShift','ZShift','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,15),DATAinsert(ii,16),DATAinsert(ii,17)];
|
|
else % NON aggiorno l'accelerazione
|
|
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
|
|
'Y','Z','YShift','ZShift','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,15),DATAinsert(ii,16),DATAinsert(ii,17)];
|
|
end
|
|
else % Aggiorno tutto
|
|
colnames = {'UnitName','ToolNameID','NodeNum','EventDate','EventTime',...
|
|
'Y','Z','YShift','ZShift','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)];
|
|
end
|
|
if Traversine ~= 0 % Sghembo
|
|
[~,c] = size(colnames);
|
|
colnames(1,c+1) = {'XShift'};
|
|
data(1,18) = DATAinsert(ii,18);
|
|
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
|
|
end
|
|
|
|
end
|