Yet more MainWnd, MainSeq, etc. changes,ver. 3.1.1811

This commit is contained in:
Milan Hanajik
2021-11-18 14:53:12 +01:00
parent 587f6dffd0
commit 0494054171
10 changed files with 259 additions and 209 deletions
+2 -2
View File
@@ -70,8 +70,8 @@ namespace Common
[Description("None")] None,
[Description("Local procedures")] FromLocalDB,
[Description("Shared procedures")] FromSharedDB,
[Description("Orders from Oracle DB")] OrderNrFromOracleDB,
[Description("Orders from Tracing DB")] OrderNrFromTracingDB,
[Description("Orders from Oracle DB")] OrderFromOracleDB,
[Description("Orders from Tracing DB")] OrderFromTracingDB,
#endif
Count
}
+26 -11
View File
@@ -13,47 +13,62 @@ namespace Common
public class ProcedureInfo
{
public readonly ProcedureSelection Source;
public readonly string Signature;
public readonly int ItemNr;
public int ItemNr;
public readonly string Name;
public readonly string Signature;
public string Variant;
public string Order;
public string Workflow;
public bool IsNative;
public ProcedureSelection ResolvedSource; /// ProcedureSelection.FromLocalDB or ProcedureSelection.FromSharedDB when Resolved==true
public string ResolvedName;
public string Order;
public string Variant;
public ProcedureInfo(ProcedureSelection source, int itemNr, string name, string signature = null, string variant = null)
public ProcedureInfo(ProcedureSelection source, int itemNr, string name, string signature = null,
string variant = null, string order = null, string workflow = null)
{
Source = source;
Signature = (signature == null) ? string.Empty : signature;
ItemNr = itemNr;
Name = name;
Signature = (signature == null) ? string.Empty : signature;
Variant = (variant == null) ? string.Empty : variant;
Order = order;
Workflow = workflow;
if (source == ProcedureSelection.FromLocalDB || source == ProcedureSelection.FromSharedDB)
{
IsNative = true;
ResolvedSource = source;
ResolvedName = name;
}
else
{
IsNative = false;
ResolvedSource = ProcedureSelection.None;
ResolvedName = string.Empty;
}
Variant = (variant == null) ? string.Empty : variant;
}
public static string GetSignature(ProcedureSelection source, ICollection<ProcedureSelection> allSources)
{
return (source == ProcedureSelection.OrderNrFromOracleDB) ? ""
: (source == ProcedureSelection.OrderNrFromTracingDB) ? ""
return (source == ProcedureSelection.OrderFromOracleDB) ? ""
: (source == ProcedureSelection.OrderFromTracingDB) ? ""
: (source == ProcedureSelection.FromSharedDB) ? "R"
: (allSources != null && allSources.Contains(ProcedureSelection.FromSharedDB)) ? "L" : "";
}
public bool IsValid
{
get {
return (ResolvedSource != ProcedureSelection.None) && !string.IsNullOrEmpty(ResolvedName);
}
}
public override string ToString()
{
switch (Source)
{
case ProcedureSelection.OrderNrFromOracleDB:
case ProcedureSelection.OrderNrFromTracingDB:
case ProcedureSelection.OrderFromOracleDB:
case ProcedureSelection.OrderFromTracingDB:
return Name;
case ProcedureSelection.FromSharedDB:
case ProcedureSelection.FromLocalDB:
+3 -2
View File
@@ -44,7 +44,7 @@ namespace Results
public static BatchResults NewFromProcedure(int batchNr, int benchId, string benchName, string a1, string a2, string a3, string a4, string a5,
string user, int userNr, string programVer, Config.Entities.Procedure procedure,
WaterMeterData[] waterMeterDatas, int[] waterMeterParts, string variant, string order,
WaterMeterData[] waterMeterDatas, int[] waterMeterParts, string variant, string order, string workflow,
double realDensity, double atTemperature, double buoyancy)
{
BatchResults d = new BatchResults(waterMeterDatas.Length);
@@ -66,8 +66,9 @@ namespace Results
UserNumber = userNr,
ProcedureName = procedure.Name,
ProcedureDescription = procedure.Description,
WatermetersStr = variant,
WatermetersStr = (variant != null) ? variant : string.Empty,
PurchaseOrder = order,
Workflow = workflow,
ProcedureRevision = procedure.Revision,
StartTime = DateTime.Now,
SampleDensity = realDensity,
+1
View File
@@ -24,6 +24,7 @@ namespace Results.Entities
public virtual string ProcedureName { get; set; }
public virtual bool IsRemoteProcedure { get; set; } /// Stara Tura, not mapped to DB
public virtual string PurchaseOrder { get; set; } /// Stara Tura, Nanjing, not mapped to DB
public virtual string Workflow { get; set; } /// Stara Tura, Nanjing, not mapped to DB
public virtual string ProcedureDescription { get; set; } /// CEVAK, not mapped to DB
public virtual int ProcedureRevision { get; set; }
public virtual string WatermetersStr { get; set; } /// CEVAK, not mapped to DB
+2 -2
View File
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("3.1.1810.0")]
[assembly: AssemblyFileVersion("3.1.1810.0")]
[assembly: AssemblyVersion("3.1.1811.0")]
[assembly: AssemblyFileVersion("3.1.1811.0")]
+5 -3
View File
@@ -377,7 +377,7 @@ namespace TBF.Rig.Sequences
if (selection == Selection.RestoreBatch)
{
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure, string.Empty, null);
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure);
RestoreBatchResults(TBF.UiBridge.Bridge.BatchNr, ref BatchRslts); /// pass the original batch number of the batch to be restored
}
else if (selection == Selection.RestoreAndFixBatch)
@@ -385,7 +385,7 @@ namespace TBF.Rig.Sequences
///
/// Restore and fix a batch - part 1 (fix "Previous workstep is missing" error)
///
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure, string.Empty, null);
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure);
RestoreBatchResults(TBF.UiBridge.Bridge.BatchNr, ref BatchRslts); /// pass the original batch number of the batch to be restored
for (int i = 0; i < BatchRslts.Batch.WaterMeters.Count; i++)
@@ -426,7 +426,9 @@ namespace TBF.Rig.Sequences
else if (selection != Selection.RestoreInterruptedSession)
{
/// This is a regular session => initialize BatchRslts
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure, Bridge.SelectedProcedure.Variant, Bridge.SelectedProcedure.Order);
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure, Bridge.SelectedProcedure.Variant,
Bridge.SelectedProcedure.Order,
Bridge.SelectedProcedure.Workflow);
}
+2 -1
View File
@@ -534,7 +534,7 @@ namespace TBF.Rig.Sequences
/// <param name="newBatchNr">New batch number</param>
/// <param name="procedure">Selected procedure</param>
/// <returns>Created BatchResults</returns>
Results.BatchResults CreateNewBatchResults(int newBatchNr, Procedure procedure, string variant, string order)
Results.BatchResults CreateNewBatchResults(int newBatchNr, Procedure procedure, string variant = null, string order = null, string workflow = null)
{
///
/// Prepare new water meters
@@ -621,6 +621,7 @@ namespace TBF.Rig.Sequences
waterMeterParts,
variant,
order,
workflow,
Formulas.RealDensity(),
Formulas.AtTemperature(),
Formulas.Buoyancy());
+1
View File
@@ -221,6 +221,7 @@ namespace TBF.UI
this.procedureComboBox.FormattingEnabled = true;
this.procedureComboBox.Name = "procedureComboBox";
this.procedureComboBox.SelectedIndexChanged += new System.EventHandler(this.procedureComboBox_SelectedIndexChanged);
this.procedureComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.procedureComboBox_KeyPress);
//
// progressGroupBox
//
+190 -161
View File
@@ -32,11 +32,21 @@ namespace TBF.UI
const string ProcSeparator = " "; /// string separating procedure number and procedure name
public BenchControlPanel BenchControlPanel;
public ProcedureInfo SelectedProcedure;
public Procedure CurrentProcedure;
public bool IsShutdownDisabled;
public bool IsShutdownPCAfterClosingTbf;
///
/// Procedure selection
///
IList<Procedure> localProcedures; /// procedures loaded form the local DB
IList<Procedure> remoteProcedures; /// Procedures loaded from thr remote/shared DB
IList<SharedDatabase.Entities.OrderInfo> mySqlOrders; /// Production orders loaded from the production tracing DB
IList<TBF.Rig.Output.DB.SensusOracle.OrderDetails> oracleOrders; /// Production orders loaded from the Oracle DB
IList<ProcedureInfo> procedureInfos; /// Composed procedure infos
///
public ProcedureInfo SelectedProcedure;
public Procedure CurrentProcedure;
/// <summary>
/// This dialog is shown when TBF program is shutting down
/// </summary>
@@ -105,16 +115,18 @@ namespace TBF.UI
Program.Version,
TBF.DB.CurrentBench.BenchName,
TBF.DB.CurrentBench.IsRealBench ? "" : Strings._offline);
///
localProcedures = new List<Procedure>();
remoteProcedures = new List<Procedure>();
mySqlOrders = new List<SharedDatabase.Entities.OrderInfo>();
oracleOrders = new List<Rig.Output.DB.SensusOracle.OrderDetails>();
procedureInfos = new List<ProcedureInfo>();
SelectedProcedure = null;
CurrentProcedure = null;
///
/// Customize menu items
///
graphsToolStripMenuItem.Text = Strings.Graphs;
eventLogsTSMenuItem.Text = Strings.Event_logs;
calendarTSMenuItem.Text = Strings.Calendar;
settingsTSMenuItem.Text = Strings.Settings;
optoHeadsToolStripMenuItem.Text = Strings.Optical_heads;
clearCountersToolStripMenuItem.Text = Strings.Clear_counters;
helpTSMenuItem.Text = Strings.Help;
#if CAMERA
/// Add 'Camera' menu item
cameraTSMItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -138,6 +150,27 @@ namespace TBF.UI
/// Load the list of components from the database
var session = TBF.DB.CreateSession(DBKind.Config);
cmpntEntities = session.QueryOver<Config.Entities.Component>().OrderBy(x => x.ItemNr).Asc.List();
///
/// Set TBF.Data members when there is a BenchInfo or an iPerlBenchInfo component
///
foreach (var cmpnt in cmpntEntities)
{
if (cmpnt.ClassName == "DataContainer.BenchInfo")
{
var cfg = new TBF.Rig.DataContainer.BenchInfo.Factory().CmpntCfgFromCmpntEntity(cmpnt)
as TBF.Rig.DataContainer.BenchInfo.ComponentCfg;
TBF.Data.SetData(cfg.WaterMetersCount, cfg.CompoundMetersCount, cfg.LinesCount);
break;
}
else if (cmpnt.ClassName == "DataContainer.iPerlBenchInfo")
{
var cfg = new TBF.Rig.DataContainer.iPerlBenchInfo.Factory().CmpntCfgFromCmpntEntity(cmpnt)
as TBF.Rig.DataContainer.iPerlBenchInfo.ComponentCfg;
TBF.Data.SetData(cfg.WaterMetersCount, cfg.CompoundMetersCount, cfg.LinesCount);
break;
}
}
}
catch (Exception)
{
@@ -145,27 +178,6 @@ namespace TBF.UI
cmpntEntities = new List<Config.Entities.Component>();
}
///
/// Set TBF.Data members when there is a BenchInfo or an iPerlBenchInfo component
///
foreach (var cmpnt in cmpntEntities)
{
if (cmpnt.ClassName == "DataContainer.BenchInfo")
{
var cfg = new TBF.Rig.DataContainer.BenchInfo.Factory().CmpntCfgFromCmpntEntity(cmpnt)
as TBF.Rig.DataContainer.BenchInfo.ComponentCfg;
TBF.Data.SetData(cfg.WaterMetersCount, cfg.CompoundMetersCount, cfg.LinesCount);
break;
}
else if (cmpnt.ClassName == "DataContainer.iPerlBenchInfo")
{
var cfg = new TBF.Rig.DataContainer.iPerlBenchInfo.Factory().CmpntCfgFromCmpntEntity(cmpnt)
as TBF.Rig.DataContainer.iPerlBenchInfo.ComponentCfg;
TBF.Data.SetData(cfg.WaterMetersCount, cfg.CompoundMetersCount, cfg.LinesCount);
break;
}
}
Rig.StateMachine.MachineState = TBF.DB.CurrentBench.IsRealBench ? Rig.MachineState.StartingUp : Rig.MachineState.Disabled;
///
if (Rig.StateMachine.MachineState == Rig.MachineState.StartingUp)
@@ -179,8 +191,8 @@ namespace TBF.UI
string msg;
Rig.GenericDevices.IBenchInfo benchInfo = Rig.Sequences.ProcessData.BenchInfo;
bool sharedDBUsed = benchInfo != null ? benchInfo.Sources.Contains(ProcedureSelection.FromSharedDB) : false;
bool oracleDBUsed = benchInfo != null ? benchInfo.Sources.Contains(ProcedureSelection.OrderNrFromOracleDB) : false;
bool tracingDBUsed = benchInfo != null ? benchInfo.Sources.Contains(ProcedureSelection.OrderNrFromTracingDB) : false;
bool oracleDBUsed = benchInfo != null ? benchInfo.Sources.Contains(ProcedureSelection.OrderFromOracleDB) : false;
bool tracingDBUsed = benchInfo != null ? benchInfo.Sources.Contains(ProcedureSelection.OrderFromTracingDB) : false;
if (sharedDBUsed && !Rig.StateMachine.IsRemoteDBCompatible(out msg))
{
@@ -228,7 +240,15 @@ namespace TBF.UI
void Localize()
{
procedureGroupBox.Text = Strings.Procedure;
graphsToolStripMenuItem.Text = Strings.Graphs;
eventLogsTSMenuItem.Text = Strings.Event_logs;
calendarTSMenuItem.Text = Strings.Calendar;
settingsTSMenuItem.Text = Strings.Settings;
optoHeadsToolStripMenuItem.Text = Strings.Optical_heads;
clearCountersToolStripMenuItem.Text = Strings.Clear_counters;
helpTSMenuItem.Text = Strings.Help;
procedureGroupBox.Text = Strings.Procedure;
activityGroupBox.Text = Strings.Activity;
progressGroupBox.Text = Strings.Progress;
}
@@ -450,18 +470,18 @@ namespace TBF.UI
/// </summary>
private void MainWnd_KeyPress(object sender, KeyPressEventArgs e)
{
#if BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || GENESIS || CEVAK_200 || TURA_SPECIAL
#if BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT || GENESIS || CEVAK_200 || TURA_SPECIAL || TURA_IPERL || TURA_IPERL_NEW
/// Do nothing = do not process keys
#else
//if (BenchControlPanel != null && BenchControlPanel.ProcessKey(e.KeyChar))
//{
// e.Handled = true;
// log.WarnFormat("'{0}' key pressed, handled by BenchControlPanel", e.KeyChar);
//}
//else
//{
// log.WarnFormat("'{0}' key pressed, not handled", e.KeyChar);
//}
if (BenchControlPanel != null && BenchControlPanel.ProcessKey(e.KeyChar))
{
e.Handled = true;
log.WarnFormat("'{0}' key pressed, handled by BenchControlPanel", e.KeyChar);
}
else
{
log.WarnFormat("'{0}' key pressed, not handled", e.KeyChar);
}
#endif
}
@@ -587,9 +607,15 @@ namespace TBF.UI
procedureComboBox.Enabled = ((args.Flags & ButtonsEtc.ProcedureCmbBoxEn) != 0);
optoHeadsToolStripMenuItem.Enabled = ((args.Flags & ButtonsEtc.ProcedureCmbBoxEn) != 0);
if (procedureComboBox.Enabled && ProceduresUpdated)
if (procedureComboBox.Enabled)
{
ReloadProcedureComboBoxItems();
if (ProceduresUpdated) ReloadProcedureComboBoxItems();
procedureGroupBox.BackColor = Color.Yellow;
procedureComboBox.Focus();
}
else
{
procedureGroupBox.BackColor = SystemColors.Control;
}
IsShutdownDisabled = ((args.Flags & ButtonsEtc.ProcedureCmbBoxEn) == 0);
@@ -703,65 +729,79 @@ namespace TBF.UI
ReloadProcedureComboBoxItems(procName);
}
IList<SharedDatabase.Entities.OrderInfo> mySqlOrders = new List<SharedDatabase.Entities.OrderInfo>();
IList<Rig.Output.DB.SensusOracle.OrderDetails> oracleOrders = new List<Rig.Output.DB.SensusOracle.OrderDetails>();
public void ReloadProcedureComboBoxItems(string procedureNameToSelect)
{
/// Ensure there is at least one way to select a procedure
ICollection<ProcedureSelection> sources;
if (Rig.Sequences.ProcessData.BenchInfo == null)
if (!procedureComboBox.Enabled)
{
sources = new ProcedureSelection[] { ProcedureSelection.FromLocalDB };
/// Test cycle in progress, reload combo box items when the session is finished
ProceduresUpdated = true;
}
else
{
bool noneOnly = true;
foreach (var s in Rig.Sequences.ProcessData.BenchInfo.Sources) if (s != ProcedureSelection.None) { noneOnly = false; break; }
///
/// Ensure there is at least one source = one way to select a procedure
///
ICollection<ProcedureSelection> sources;
if (Rig.Sequences.ProcessData.BenchInfo == null)
{
sources = new ProcedureSelection[] { ProcedureSelection.FromLocalDB };
}
else
{
bool noneOnly = true;
foreach (var s in Rig.Sequences.ProcessData.BenchInfo.Sources) if (s != ProcedureSelection.None) { noneOnly = false; break; }
sources = noneOnly
? new ProcedureSelection[] { ProcedureSelection.FromLocalDB }
: Rig.Sequences.ProcessData.BenchInfo.Sources;
}
sources = noneOnly
? new ProcedureSelection[] { ProcedureSelection.FromLocalDB }
: Rig.Sequences.ProcessData.BenchInfo.Sources;
}
if (procedureComboBox.Enabled)
{
bool procedureSet = false;
procedureComboBox.Items.Clear();
IList<ProcedureInfo> procInfos = new List<ProcedureInfo>();
IList<Procedure> nativeProcedures = new List<Procedure>();
IList<ProcedureSelection> nativeSources = new List<ProcedureSelection>();
procedureInfos.Clear();
foreach (var src in sources)
{
string signature = ProcedureInfo.GetSignature(src, sources);
int itemNr = 1;
if (src == ProcedureSelection.FromLocalDB || src == ProcedureSelection.FromSharedDB)
if (src == ProcedureSelection.FromLocalDB)
{
var procedures = TBF.DB.CreateSession((src == ProcedureSelection.FromSharedDB) ? DBKind.RemoteConfig : DBKind.Config)
.QueryOver<Procedure>()
.Where(x => (x.ProcedureState == ProcedureState.Active))
.OrderBy(x => x.ItemNr).Asc
.List();
localProcedures = TBF.DB.CreateSession(DBKind.Config)
.QueryOver<Procedure>()
.Where(x => (x.ProcedureState == ProcedureState.Active))
.OrderBy(x => x.ItemNr).Asc
.List();
foreach (var proc in procedures)
foreach (var proc in localProcedures)
{
nativeProcedures.Add(proc);
nativeSources.Add(src);
procInfos.Add(new ProcedureInfo(src, itemNr++, proc.Name, signature, proc.Watermeters));
procedureInfos.Add(new ProcedureInfo(src, itemNr++, proc.Name, signature, proc.Watermeters));
}
}
else if (src == ProcedureSelection.OrderNrFromOracleDB)
else if (src == ProcedureSelection.FromSharedDB)
{
remoteProcedures = TBF.DB.CreateSession(DBKind.RemoteConfig)
.QueryOver<Procedure>()
.Where(x => (x.ProcedureState == ProcedureState.Active))
.OrderBy(x => x.ItemNr).Asc
.List();
foreach (var proc in remoteProcedures)
{
procedureInfos.Add(new ProcedureInfo(src, itemNr++, proc.Name, signature, proc.Watermeters));
}
}
else if (src == ProcedureSelection.OrderFromOracleDB)
{
oracleOrders = Rig.Sequences.ProcessData.OracleDB.ReadOrderNumbers();
foreach (var order in oracleOrders)
{
procInfos.Add(new ProcedureInfo(src, itemNr++, order.AuftragsNummer.ToString(), signature, order.VariantenCode));
procedureInfos.Add(new ProcedureInfo(src, 0, order.AuftragsNummer.ToString(), signature, order.VariantenCode, order.AuftragsNummer));
}
}
else if (src == ProcedureSelection.OrderNrFromTracingDB)
else if (src == ProcedureSelection.OrderFromTracingDB)
{
try
{
@@ -777,19 +817,24 @@ namespace TBF.UI
foreach (var order in mySqlOrders)
{
procInfos.Add(new ProcedureInfo(src, itemNr++, order.POName, signature, order.VariantCode));
procedureInfos.Add(new ProcedureInfo(src, 0, order.POName, signature, order.VariantCode, order.POName, order.Workflow));
}
}
}
foreach (var pInfo in procInfos)
ResolveOrders(procedureInfos);
foreach (var procInfo in procedureInfos)
{
procedureComboBox.Items.Add(pInfo);
if (!procedureSet && (procedureNameToSelect == pInfo.Name))
if (procInfo.IsValid)
{
procedureSet = true;
procedureComboBox.Text = pInfo.ToString();
SelectedProcedure = pInfo;
procedureComboBox.Items.Add(procInfo);
if (!procedureSet && (procedureNameToSelect == procInfo.Name))
{
procedureSet = true;
procedureComboBox.Text = procInfo.ToString();
SelectedProcedure = procInfo;
}
}
}
@@ -799,15 +844,9 @@ namespace TBF.UI
SelectedProcedure = null;
}
ResolveOrders(procInfos, nativeProcedures, nativeSources);
ProceduresUpdated = false;
if (SelectedProcedure != null) BenchControlPanel.ReloadTests();
}
else
{
ProceduresUpdated = true;
}
}
@@ -817,30 +856,49 @@ namespace TBF.UI
/// <param name="procInfos">ProcedureInfo-s that contain unresolved, as well as resolved (native) procedures</param>
/// <param name="nativeProcedures">Native procedures</param>
/// <param name="nativeSources">ProcedureSelection sources of native procedures (the same list items count as nativeProcedures)</param>
void ResolveOrders(IList<ProcedureInfo> procInfos, IList<Procedure> nativeProcedures, IList<ProcedureSelection> nativeSources)
void ResolveOrders(IList<ProcedureInfo> procInfos)
{
foreach (var pi in procInfos)
{
if (pi.ResolvedSource == ProcedureSelection.None)
if (!pi.IsNative)
{
for (int i = 0; i < nativeProcedures.Count; i++)
if (pi.Source == ProcedureSelection.OrderFromTracingDB)
{
var np = nativeProcedures[i];
if (IsMatch(pi, np))
/// pi.Name is the order name (the production order number)
/// Production orders in the tracing DB contain test procedure names
var order = mySqlOrders.FirstOrDefault(x => x.POName == pi.Name);
var procInfo = (order == null) ? null : procInfos.FirstOrDefault(x => x.IsNative && x.Name == order.TestProcedure);
if (procInfo != null)
{
pi.ResolvedName = np.Name;
pi.ResolvedSource = nativeSources[i];
break;
pi.ItemNr = procInfo.ItemNr;
pi.ResolvedName = procInfo.Name;
pi.ResolvedSource = procInfo.Source;
}
}
else if (pi.Source == ProcedureSelection.OrderFromOracleDB)
{
/// pi.Name is the order name (the production order number)
/// Production orders in Oracle DB contain varian codes
var order = oracleOrders.FirstOrDefault(x => x.AuftragsNummer == pi.Name);
var vaco = (order == null) ? null : order.VariantenCode;
foreach (var pi2 in procInfos)
{
if (pi2.IsNative && IsMatch(pi, pi2))
{
pi.ItemNr = pi2.ItemNr;
pi.ResolvedName = pi2.Name;
pi.ResolvedSource = pi2.Source;
}
}
}
}
}
}
bool IsMatch(ProcedureInfo procInfo, Procedure nativeProcedure)
bool IsMatch(ProcedureInfo procInfoToBeResolved, ProcedureInfo nativeProcedure)
{
string var1 = procInfo.Variant;
string var2 = nativeProcedure.Watermeters;
string var1 = procInfoToBeResolved.Variant;
string var2 = nativeProcedure.Variant;
if (var2.Length == 0 || var1.Length != var2.Length) return false;
@@ -854,75 +912,46 @@ namespace TBF.UI
private void procedureComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
var benchInfo = TBF.Rig.Sequences.ProcessData.BenchInfo;
int separPos = procedureComboBox.Text.IndexOf(ProcSeparator);
int orderNumber;
foreach (var item in procedureComboBox.Items)
{
var procInfo = item as ProcedureInfo;
if (procInfo != null && procInfo.IsValid && procInfo.ToString() == procedureComboBox.Text)
{
SelectedProcedure = procInfo;
if (benchInfo == null)
{
int procNr = int.Parse(procedureComboBox.Text.Substring(0, separPos));
string procName = procedureComboBox.Text.Substring(separPos + ProcSeparator.Length);
UpdateProcedure(procNr, procName, ProcedureSelection.FromLocalDB);
}
else if (int.TryParse(procedureComboBox.Text, out orderNumber))
{
if (benchInfo.Sources.Contains(ProcedureSelection.OrderNrFromTracingDB))
{
var orderInfo = mySqlOrders.FirstOrDefault(x => x.POName == procedureComboBox.Text);
if (orderInfo != null)
BenchControlPanel.ReloadTests();
if (CurrentProcedure != null && CurrentProcedure.Description != null)
{
UpdateProcedure(0, orderInfo.TestProcedure, ProcedureSelection.OrderNrFromTracingDB, procedureComboBox.Text);
descriptionLabel.Text = CurrentProcedure.Description;
}
}
else if (benchInfo.Sources.Contains(ProcedureSelection.OrderNrFromOracleDB))
{
var orderDetails = oracleOrders.FirstOrDefault(x => x.AuftragsNummer == procedureComboBox.Text);
if (orderDetails != null)
if (CurrentProcedure != null && testProgressControls != null)
{
UpdateProcedure(0, orderDetails.AuftragsNummer, ProcedureSelection.OrderNrFromOracleDB, procedureComboBox.Text);
testProgressControls.ProcedureSelectedInUI(this, new UiBridge.ProcedureSelectedEventArgs(CurrentProcedure));
}
if (!string.IsNullOrEmpty(procInfo.ResolvedName))
{
Program.LocalSettings.LastProcedureName = procInfo.ResolvedName;
Program.LocalSettings.LastProcedureSource = procInfo.ResolvedSource;
Program.LocalSettings.LastProcedureNr = procInfo.ItemNr;
Program.LocalSettings.Save();
}
}
}
else if (!string.IsNullOrEmpty(procedureComboBox.Text) && (procedureComboBox.Text[0] == 'L' || procedureComboBox.Text[0] == 'R'))
{
int procNr = int.Parse(procedureComboBox.Text.Substring(1, separPos));
string procName = procedureComboBox.Text.Substring(separPos + ProcSeparator.Length);
var source = (procedureComboBox.Text[0] == 'R') ? ProcedureSelection.FromSharedDB : ProcedureSelection.FromLocalDB;
UpdateProcedure(procNr, procName, source);
}
else
{
int procNr = int.Parse(procedureComboBox.Text.Substring(0, separPos));
string procName = procedureComboBox.Text.Substring(separPos + ProcSeparator.Length);
UpdateProcedure(procNr, procName, ProcedureSelection.FromLocalDB);
}
}
public void UpdateProcedure(int procedureNr, string procedureName, ProcedureSelection source, string order = null)
{
SelectedProcedure = new ProcedureInfo(source, 0, procedureName,
ProcedureInfo.GetSignature(source, (Rig.Sequences.ProcessData.BenchInfo != null) ? Rig.Sequences.ProcessData.BenchInfo.Sources : null));
SelectedProcedure.ResolvedSource = ProcedureSelection.FromLocalDB;
SelectedProcedure.ResolvedName = procedureName;
SelectedProcedure.Order = order;
BenchControlPanel.ReloadTests();
if (CurrentProcedure != null && CurrentProcedure.Description != null)
{
descriptionLabel.Text = CurrentProcedure.Description;
}
if (CurrentProcedure != null && testProgressControls != null)
{
testProgressControls.ProcedureSelectedInUI(this, new UiBridge.ProcedureSelectedEventArgs(CurrentProcedure));
}
if (!string.IsNullOrEmpty(procedureName))
{
Program.LocalSettings.LastProcedureName = procedureName;
Program.LocalSettings.LastProcedureSource = source;
Program.LocalSettings.LastProcedureNr = procedureNr;
Program.LocalSettings.Save();
}
}
private void procedureComboBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r' && procedureComboBox.Enabled)
{
/// Enter key was pressed ...
procedureComboBox_SelectedIndexChanged(sender, e as EventArgs);
if (SelectedProcedure != null && SelectedProcedure.IsValid)
{
/// and according to procedureComboBox.Text a valid procedure was selected => start a test cycle
Bridge.Ui2Bench(UI2BenchCmd.StartCycle);
}
}
}
/// <summary>
/// Save UI settings to Program.LocalSettings and save them to a file.
+27 -27
View File
@@ -643,7 +643,7 @@
<value>4, 4, 4, 4</value>
</data>
<data name="processTabPageCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="processTabPageCtrl.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -652,7 +652,7 @@
<value>processTabPageCtrl</value>
</data>
<data name="&gt;&gt;processTabPageCtrl.Type" xml:space="preserve">
<value>TBF.UI.Process.ProcessTabPageCtrl24, TBF, Version=3.1.1656.0, Culture=neutral, PublicKeyToken=null</value>
<value>TBF.UI.Process.ProcessTabPageCtrl, TBF, Version=3.1.1810.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;processTabPageCtrl.Parent" xml:space="preserve">
<value>processTabPage</value>
@@ -664,7 +664,7 @@
<value>4, 5</value>
</data>
<data name="processTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="processTabPage.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
@@ -688,7 +688,7 @@
<value>4, 5</value>
</data>
<data name="insertTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="insertTabPage.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
@@ -721,7 +721,7 @@
<value>4, 4, 4, 4</value>
</data>
<data name="resultsTabPageCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="resultsTabPageCtrl.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -730,7 +730,7 @@
<value>resultsTabPageCtrl</value>
</data>
<data name="&gt;&gt;resultsTabPageCtrl.Type" xml:space="preserve">
<value>TBF.UI.ResultsMI.ResultsTabPageCtrl, TBF, Version=3.1.1656.0, Culture=neutral, PublicKeyToken=null</value>
<value>TBF.UI.ResultsMI.ResultsTabPageCtrl, TBF, Version=3.1.1810.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;resultsTabPageCtrl.Parent" xml:space="preserve">
<value>resultsTabPage</value>
@@ -742,7 +742,7 @@
<value>4, 5</value>
</data>
<data name="resultsTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="resultsTabPage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
@@ -772,7 +772,7 @@
<value>0, 0</value>
</data>
<data name="graphsTabPageCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="graphsTabPageCtrl.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -781,7 +781,7 @@
<value>graphsTabPageCtrl</value>
</data>
<data name="&gt;&gt;graphsTabPageCtrl.Type" xml:space="preserve">
<value>TBF.UI.Graphs.GraphsTabPageCtrl, TBF, Version=3.1.1656.0, Culture=neutral, PublicKeyToken=null</value>
<value>TBF.UI.Graphs.GraphsTabPageCtrl, TBF, Version=3.1.1810.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;graphsTabPageCtrl.Parent" xml:space="preserve">
<value>graphsTabPage</value>
@@ -793,7 +793,7 @@
<value>4, 5</value>
</data>
<data name="graphsTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="graphsTabPage.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
@@ -826,7 +826,7 @@
<value>4, 4, 4, 4</value>
</data>
<data name="eventLogsTabPageCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="eventLogsTabPageCtrl.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -835,7 +835,7 @@
<value>eventLogsTabPageCtrl</value>
</data>
<data name="&gt;&gt;eventLogsTabPageCtrl.Type" xml:space="preserve">
<value>TBF.UI.EventLogs.EventLogsTabPageCtrl, TBF, Version=3.1.1656.0, Culture=neutral, PublicKeyToken=null</value>
<value>TBF.UI.EventLogs.EventLogsTabPageCtrl, TBF, Version=3.1.1810.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;eventLogsTabPageCtrl.Parent" xml:space="preserve">
<value>eventLogsTabPage</value>
@@ -847,7 +847,7 @@
<value>4, 5</value>
</data>
<data name="eventLogsTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="eventLogsTabPage.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
@@ -877,7 +877,7 @@
<value>0, 0</value>
</data>
<data name="calendarTabPageCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="calendarTabPageCtrl.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -886,7 +886,7 @@
<value>calendarTabPageCtrl</value>
</data>
<data name="&gt;&gt;calendarTabPageCtrl.Type" xml:space="preserve">
<value>TBF.UI.Calendar.CalendarTabPageCtrl, TBF, Version=3.1.1656.0, Culture=neutral, PublicKeyToken=null</value>
<value>TBF.UI.Calendar.CalendarTabPageCtrl, TBF, Version=3.1.1810.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;calendarTabPageCtrl.Parent" xml:space="preserve">
<value>calendarTabPage</value>
@@ -898,7 +898,7 @@
<value>4, 5</value>
</data>
<data name="calendarTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="calendarTabPage.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
@@ -928,7 +928,7 @@
<value>0, 0</value>
</data>
<data name="picturesTabPageCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="picturesTabPageCtrl.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -937,7 +937,7 @@
<value>picturesTabPageCtrl</value>
</data>
<data name="&gt;&gt;picturesTabPageCtrl.Type" xml:space="preserve">
<value>TBF.UI.Camera.PicturesTabPageCtrl, TBF, Version=3.1.1656.0, Culture=neutral, PublicKeyToken=null</value>
<value>TBF.UI.Camera.PicturesTabPageCtrl, TBF, Version=3.1.1810.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;picturesTabPageCtrl.Parent" xml:space="preserve">
<value>picturesTabPage</value>
@@ -949,7 +949,7 @@
<value>4, 5</value>
</data>
<data name="picturesTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>1012, 523</value>
<value>1012, 582</value>
</data>
<data name="picturesTabPage.TabIndex" type="System.Int32, mscorlib">
<value>31</value>
@@ -1291,19 +1291,19 @@
<value>Event logs</value>
</data>
<data name="usersTSMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="usersTSMenuItem.Text" xml:space="preserve">
<value>Users</value>
</data>
<data name="languageTSMItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="languageTSMItem.Text" xml:space="preserve">
<value>Language</value>
</data>
<data name="databaseSettingsTSMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="databaseSettingsTSMenuItem.Text" xml:space="preserve">
<value>Profiles</value>
@@ -1321,31 +1321,31 @@
<value>Test results</value>
</data>
<data name="backUpTSMItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="backUpTSMItem.Text" xml:space="preserve">
<value>Back up</value>
</data>
<data name="passwdTSMItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="passwdTSMItem.Text" xml:space="preserve">
<value>Password</value>
</data>
<data name="upgradeTSMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="upgradeTSMenuItem.Text" xml:space="preserve">
<value>Upgrade</value>
</data>
<data name="optoHeadsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="optoHeadsToolStripMenuItem.Text" xml:space="preserve">
<value>Optical heads</value>
</data>
<data name="clearCountersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
<value>150, 22</value>
</data>
<data name="clearCountersToolStripMenuItem.Text" xml:space="preserve">
<value>Clear counters</value>