Files
matlab-python/ATD/DBwriteMPBEL.m

73 lines
3.7 KiB
Matlab
Executable File

function DBwriteMPBEL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
DTcatena,NumBasi,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';
if NumBasi == 1
colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
'EventTime','XShift','calcerr'};
data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
DATAinsert(ii,7)];
elseif NumBasi == 2
colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
'EventTime','XShift','YShift','calcerr'};
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)];
elseif NumBasi == 3
colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
'EventTime','XShift','YShift','ZShift','calcerr'};
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)];
elseif NumBasi == 4
colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
'EventTime','XShift','YShift','ZShift','X','calcerr'};
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)];
elseif NumBasi == 5
colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
'EventTime','XShift','YShift','ZShift','X','Y','calcerr'};
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))];
end
fastinsert(conn,tablename,colnames,data);
else % altrimenti li aggiorno
tablename = 'ELABDATADISP';
if NumBasi == 1
colnames = {'XShift','calcerr'};
data = [DATAinsert(ii,6),DATAinsert(ii,7)];
elseif NumBasi == 2
colnames = {'XShift','YShift','calcerr'};
data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8)];
elseif NumBasi == 3
colnames = {'XShift','YShift','ZShift','calcerr'};
data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8),...
DATAinsert(ii,9)];
elseif NumBasi == 4
colnames = {'XShift','YShift','ZShift','X','calcerr'};
data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8),...
DATAinsert(ii,9),DATAinsert(ii,10)];
elseif NumBasi == 5
colnames = {'XShift','YShift','ZShift','X','Y','calcerr'};
data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8),...
DATAinsert(ii,9),DATAinsert(ii,10,DATAinsert(ii,11))];
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