Integration 2.2a3 :

- corretta gestione del parametro testo P15
- aggiunta gestione rotazioni ed errori da feature divise in più parti.
This commit is contained in:
Dario Sassi
2020-01-14 08:14:01 +00:00
parent e90b1b2cb8
commit f6e17f4733
3 changed files with 46 additions and 7 deletions
+2 -1
View File
@@ -99,7 +99,7 @@ namespace ib.essetre.integration.egaltech
if ( i != 15 || ! ( singleFeature.processKey.Contains( "060") || singleFeature.processKey.Contains( "061")))
tw.Write( "P" + i.ToString( "D2") + ":" + MultAndConvertTo8( singleParameter) + " ") ;
else
tw.Write( "P" + i.ToString( "D2") + ":" + "\"" + singleParameter + "\" ") ;
tw.Write( "P" + i.ToString( "D2") + ":" + "\"" + singleFeature.text + "\" ") ;
}
tw.WriteLine( "") ;
// Parametri speciali Q diversi da 0, preceduti da "USERATTRIBUTE:"
@@ -292,6 +292,7 @@ namespace ib.essetre.integration.egaltech
public string processIdent ;
public string process ;
public string sag1 ;
public string text ;
public string processId ;
}
}
+42 -4
View File
@@ -66,7 +66,7 @@ namespace ib.essetre.integration.egaltech
"P.flagDeleted, P.[group], [key], face, edge, des, " +
"p01, p02, p03, p04, p05, p06, p07, p08, p09, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, " +
"q01, q02, q03, q04, q05, q06, q07, q08, q09, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, " +
"priority, processIdent, processingQuality, sag1, P.projectId, P.elementId, P.processId, 0 cutStart, 0 cutEnd, " +
"priority, processIdent, processingQuality, sag1, text, P.projectId, P.elementId, P.processId, 0 cutStart, 0 cutEnd, " +
"E.inverted, E.rotated, 0 doneTime, 0 startAngle, 0 endAngle, -1 referenceCutId, E.length, E.width, E.height " +
"FROM dbo.vw_Process AS P " +
"INNER JOIN dbo.vw_Element AS E " +
@@ -80,7 +80,7 @@ namespace ib.essetre.integration.egaltech
"vw_Task.flagDeleted, [group], [key], face, edge, des, " +
"p01, p02, p03, p04, p05, p06, p07, p08, p09, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, " +
"q01, q02, q03, q04, q05, q06, q07, q08, q09, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, " +
"priority, processIdent, processingQuality, sag1, projectId, elementId, cutStart, cutEnd, " +
"priority, processIdent, processingQuality, sag1, text, projectId, elementId, cutStart, cutEnd, " +
"inverted, rotated, doneTime, startAngle, endAngle, referenceCutId, length, width, height " +
"FROM dbo.vw_Task " +
"INNER JOIN vw_Cut " +
@@ -175,10 +175,12 @@ namespace ib.essetre.integration.egaltech
}
}
// Recupero il risultato
// Recupero il risultato
bool bErrors = false ;
int nLastErr = 0 ;
string sLastMsg = "" ;
Dictionary<int,PatternInfo.Results> dctErr = new Dictionary<int, PatternInfo.Results>() ;
Dictionary<int,double> dctRot = new Dictionary<int, double>() ;
int nTotTime = 0 ;
if ( parameters.UIMode != InOutParameters.UIModes.SHOWUI &&
File.Exists( Path.ChangeExtension( BtlPath, ".txt"))) {
@@ -227,7 +229,41 @@ namespace ib.essetre.integration.egaltech
sLastMsg = sMsg ;
}
}
pattInfo.SetTaskState( cutId, taskId, resExe, sMsg) ;
// gestione errore per feature identificata
if ( taskId != 0) {
// verifiche per feature con più parti
if ( dctErr.TryGetValue( taskId, out PatternInfo.Results resCurrExe)) {
if ( resExe > resCurrExe) {
dctErr[taskId] = resExe ;
pattInfo.SetTaskState( cutId, taskId, resExe, sMsg) ;
}
}
else {
dctErr[taskId] = resExe ;
pattInfo.SetTaskState( cutId, taskId, resExe, sMsg) ;
}
}
// altrimenti per feature generica
else {
pattInfo.SetTaskState( cutId, taskId, resExe, sMsg) ;
}
// gestione rotazione per feature identificata
if ( taskId != 0) {
// verifiche per feature con più parti
if ( dctRot.TryGetValue( taskId, out double dCurrRot)) {
if ( Math.Abs( dRot) > 1) {
if ( Math.Abs( dCurrRot) < 1)
dctRot[taskId] = dRot ;
}
else {
dRot = dCurrRot ;
}
}
else {
dctRot.Add( taskId, dRot) ;
}
}
// imposto la rotazione
if ( pattInfo.IsFromProject)
pattInfo.SetProcessInfoChosen( cutId, taskId, dRot, 0, false) ;
else
@@ -386,6 +422,7 @@ namespace ib.essetre.integration.egaltech
designation = dRowF["des"].ToString(),
processIdent = dRowF["processIdent"].ToString(),
sag1 = dRowF["sag1"].ToString(),
text = dRowF["text"].ToString(),
process = ( Convert.ToInt16( dRowF["enabled"]) == 1) ? "YES" : "NO",
processParameters = new List<string>( 46) {
dRowF["p01"].ToString(),
@@ -499,6 +536,7 @@ namespace ib.essetre.integration.egaltech
designation = dRowF["des"].ToString(),
processIdent = dRowF["processIdent"].ToString(),
sag1 = dRowF["sag1"].ToString(),
text = dRowF["text"].ToString(),
process = ( Convert.ToInt16( dRowF["enabled"]) == 1) ? "YES" : "NO",
processParameters = new List<string>( 46) {
dRowF["p01"].ToString(),
@@ -36,5 +36,5 @@ using System.Runtime.InteropServices;
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.2.1.2")]
[assembly: AssemblyFileVersion("2.2.1.2")]
[assembly: AssemblyVersion("2.2.1.3")]
[assembly: AssemblyFileVersion("2.2.1.3")]