This commit is contained in:
Roland Drabesch
2022-08-12 15:18:51 +02:00
parent 4d3f2779a0
commit 0b9f98aa1f
5 changed files with 407 additions and 74 deletions
+108 -2
View File
@@ -1,8 +1,13 @@
using QRCoder;
using Newtonsoft.Json;
using QRCoder;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Xylem.Common.CommonCore.Configuration;
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
using Xylem.Common.Logic.ProductionOrderCore.TestResults;
using Xylem.Common.Logic.SoftwareAccessHelper;
@@ -73,6 +78,107 @@ namespace Xylem.Common.Ui.GenesisToolBox
}
}
}
public class Root
{
public string PcbId { get; set; }
public int? CordonelAssignedPicking_FertigungsAuftragsNr { get; set; }
public int? CordonelPressureTest_FertigungsAuftragsNr { get; set; }
public int? MapPcbIdToSerialNumber_SerialNumber { get; set; }
}
private void btnConnect_Click(object sender, EventArgs e)
{
if (cbComSlot.SelectedItem != null) // && cbComSlot.SelectedValue is ListBoxItem)
{
Int32 slotNR = 0;
lblPcbId.Text = "-";
if (!string.IsNullOrEmpty(cbComSlot.SelectedItem.ToString()) &&
int.TryParse(cbComSlot.SelectedItem.ToString(), out slotNR))
{
var pcb = getPcbId(slotNR);
try
{
var url = $"http://10.49.40.25/MeterProcessState/api/Order/GetCordonelMapping?PcbId={pcb}";
var retSeri = LocalWebRequest.GetRequest(url, 18000);
Root myDeserializedClass = JsonConvert.DeserializeObject<List<Root>>(retSeri).First();
lblPcbId.Text = myDeserializedClass.PcbId;
lblPickingOrder.Text = myDeserializedClass.CordonelAssignedPicking_FertigungsAuftragsNr.HasValue ? myDeserializedClass.CordonelAssignedPicking_FertigungsAuftragsNr.Value.ToString() : "-";
lblPressureOrder.Text = myDeserializedClass.CordonelPressureTest_FertigungsAuftragsNr.HasValue ? myDeserializedClass.CordonelPressureTest_FertigungsAuftragsNr.Value.ToString() : "-";
label8.Text = myDeserializedClass.MapPcbIdToSerialNumber_SerialNumber.HasValue? myDeserializedClass.MapPcbIdToSerialNumber_SerialNumber.Value.ToString() : "-";
//[{"PcbId":"210520272","CordonelAssignedPicking_FertigungsAuftragsNr":3200192,"CordonelPressureTest_FertigungsAuftragsNr":3200192,"MapPcbIdToSerialNumber_SerialNumber":22799122}]
btnRemove.Visible = true;
}
catch (Exception)
{
throw;
}
//load
}
}
}
private GenesisMeter _currentGenesis;
private String _currentPcbId;
private MeterBatch _meterBatch = new MeterBatch();
private string getPcbId(Int32 slotNR)
{
try
{
_meterBatch.RemoveAllMeters();
_currentGenesis = new GenesisMeter();
try
{
_currentGenesis.SetupFromConfigFile(slotNR);
_meterBatch.AddMeter(_currentGenesis);
}
catch (Exception ex)
{
MessageBox.Show($"Slot #{slotNR} failed: {ex.Message}");
}
return _currentGenesis.GetPcbId();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return "-";
}
private void btnRemove_Click(object sender, EventArgs e)
{
btnRemoveSure.Visible = true;
btnRemoveSure.Text = "Are you sure to delete mapping for PCB " + lblPcbId.Text + "?";
btnRemove.Visible = false;
}
private void btnRemoveSure_Click(object sender, EventArgs e)
{
var ipcb = 0;
if (int.TryParse(lblPcbId.Text, out ipcb))
{
var ret = LocalWebRequest.PostRequestAsync($"http://10.49.40.25/MeterProcessState/api/Order/DeleteCordonelMapping?PcbId={ipcb}", 80000);
if (ret)
{
MessageBox.Show("succeed. mapping is deleted ");
btnRemoveSure.Visible = false;
}
else
{
MessageBox.Show("something went wrong");
}
}
}
}
}