208 lines
7.7 KiB
C#
208 lines
7.7 KiB
C#
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;
|
|
|
|
namespace Xylem.Common.Ui.GenesisToolBox
|
|
{
|
|
public partial class FrmMasterMapping : Form
|
|
{
|
|
public FrmMasterMapping()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void button1_Click(Object sender, EventArgs e)
|
|
{
|
|
var ret = LocalWebRequest.GetRequest("http://10.49.40.25/MeterProcessState/api/Marriage/GetSerialNumberFromOrderDataUnMapped?OrderNumber=" + txtOrder.Text, 80000);
|
|
Int32 tmp = 0;
|
|
if (int.TryParse(ret.ToString().Trim('\"'), out tmp))
|
|
{
|
|
|
|
|
|
|
|
QRCodeGenerator qrGenerator = new QRCodeGenerator();
|
|
QRCodeData qrCodeData = qrGenerator.CreateQrCode(tmp.ToString(), QRCodeGenerator.ECCLevel.L);
|
|
QRCode qrCode = new QRCode(qrCodeData);
|
|
Bitmap qrCodeImage = qrCode.GetGraphic(10);
|
|
|
|
piBoQr.Image = qrCodeImage;
|
|
lblSrn.Text = tmp.ToString();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(@"error");
|
|
|
|
}
|
|
}
|
|
|
|
private void button1_Click_1(Object sender, EventArgs e)
|
|
{
|
|
var ret = LocalWebRequest.PostRequestAsync("http://10.49.40.25/MeterProcessState/api/ProccesState/SetPickingState?PcbId=" + txtFastPcbid.Text + "&FertigungsauftragsNr=" + txtFastOrder.Text, 80000);
|
|
if (ret)
|
|
{
|
|
var url = ServiceUrls.MeterProcessStateUrl();
|
|
url = url + $"SetPressureStateDetailed";
|
|
|
|
|
|
|
|
var mutedResult = new PressureResultData()
|
|
{
|
|
Passed = true,
|
|
LeakRate = "",
|
|
PcbId = txtFastPcbid.Text,
|
|
Remark = "fast Map",
|
|
Rev = 0,
|
|
TesterName = "pc",
|
|
TestPressure = "0",
|
|
TestPoints = new System.Collections.Generic.List<PressureTestPoints>() { new PressureTestPoints() { Ident = 1, Input = "0" } }
|
|
};
|
|
ret = LocalWebRequest.PostRequestAsync(url, json: mutedResult);
|
|
|
|
if (ret)
|
|
{
|
|
url = $"{ServiceUrls.MarriageServiceUrl()}SetPcbToSerial?PcbId={txtFastPcbid.Text}&SerialNumber={txtFastSerialnumber.Text}&returnMetroData=0";
|
|
var retSeri = LocalWebRequest.GetRequest(url, 18000);
|
|
if (retSeri.Contains("store"))
|
|
{
|
|
MessageBox.Show(@"hat geklappt");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Root
|
|
{
|
|
public String PcbId { get; set; }
|
|
public Int32? CordonelAssignedPicking_FertigungsAuftragsNr { get; set; }
|
|
public Int32? CordonelPressureTest_FertigungsAuftragsNr { get; set; }
|
|
public Int32? 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");
|
|
}
|
|
}
|
|
}
|
|
|
|
private void FrmMasterMapping_FormClosing(Object sender, FormClosingEventArgs e)
|
|
{
|
|
_currentGenesis?.Logout();
|
|
_meterBatch?.RemoveAllMeters();
|
|
_meterBatch?.Dispose();
|
|
Dispose();
|
|
|
|
}
|
|
|
|
private void button2_Click(Object sender, EventArgs e)
|
|
{
|
|
|
|
var ret = LocalWebRequest.PostRequestAsync("http://10.49.40.25/MeterProcessState/api/ProccesState/SetPressureStateHydralic?PcbId=" + txtHyMapPcb.Text + "&FertigungsauftragsNr=" + txtHyMapOrder.Text, 80000);
|
|
if (ret)
|
|
{
|
|
MessageBox.Show(@"Erfogreich");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(@"Fehler");
|
|
}
|
|
}
|
|
}
|
|
}
|