diff --git a/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs b/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs index 8b16549e..3ca26f06 100644 --- a/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs +++ b/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs @@ -198,6 +198,11 @@ namespace Xylem.Common.CommonCore.Configuration public static readonly String PressureSensorTestURL_PostTestResults = $"{ServerDns}/MeterProcessState/api/CordonelPressureSensorTest/PostTestResults"; + + public static readonly String PickingURL_GetPcbInfoPicking + = $"{ServerDns}/MeterProcessState/api/LuController/GetPcbInfoPicking?PcbId="; + + /// /// usage: string.Format(CordonelPressureSensorTestURL_GetTestResults, pcbId); /// diff --git a/Common/CordonelAssemblyLine/Model/PickingModel.cs b/Common/CordonelAssemblyLine/Model/PickingModel.cs index 57933253..7db16b4f 100644 --- a/Common/CordonelAssemblyLine/Model/PickingModel.cs +++ b/Common/CordonelAssemblyLine/Model/PickingModel.cs @@ -554,6 +554,16 @@ namespace CordonelAssemblyLine.Model } + + public class PickingInfo + { + public string Error { get; set; } + + public string Warning { get; set; } + + public string Info { get; set; } + } + public Boolean Compare(Dictionary checkAppsIdVersion, UInt32 frequency, UInt32 meterSize, Boolean pressurePresent) { using (var batch = new MeterBatch()) @@ -566,6 +576,8 @@ namespace CordonelAssemblyLine.Model if (meter.Login()) { + + meter.SetProcessState(DisplayCodes.PickingStarted); var ret = RunCheck(checkAppsIdVersion, frequency, meterSize, pressurePresent, meter); lblS08Color = _progressWaiting; @@ -1134,6 +1146,8 @@ namespace CordonelAssemblyLine.Model // _pcbId = "221520009"; _pcbId = tryMeter.GetPcbId(); + + var hasDetect = !string.IsNullOrEmpty(_pcbId); if (hasDetect) @@ -1141,6 +1155,24 @@ namespace CordonelAssemblyLine.Model SetState($"Pcb gefunden {_pcbId}"); Log($"New PcbID detected {_pcbId}"); + + var retWanring = LocalWebRequest.GetRequest(ServiceUrls.PickingURL_GetPcbInfoPicking + _pcbId, 4000); + var PickingINfo = JsonConvert.DeserializeObject(retWanring); + if (!String.IsNullOrEmpty(PickingINfo.Error)) + { + lblS08Text = PickingINfo.Error; + lblS08Color = _progressError; + MessageBox.Show(PickingINfo.Error); + _state = PickingStateMachine.MeterError; + } + + if (!String.IsNullOrEmpty(PickingINfo.Warning)) + { + SetState(PickingINfo.Warning); + } + + + try { for (var i = 0; i < 3; i++) diff --git a/Common/CordonelPreadjustmentUi/CordonelPreadjustmentUi.csproj b/Common/CordonelPreadjustmentUi/CordonelPreadjustmentUi.csproj index d1c6afd6..0156ad34 100644 --- a/Common/CordonelPreadjustmentUi/CordonelPreadjustmentUi.csproj +++ b/Common/CordonelPreadjustmentUi/CordonelPreadjustmentUi.csproj @@ -5,7 +5,7 @@ Debug AnyCPU {D0C8D887-ED52-40AB-A069-90BCE0E801E2} - Library + WinExe Properties Xylem.Common.Ui.CordonelPreadjustmentUi Xylem.Common.Ui.CordonelPreadjustmentUi @@ -149,6 +149,9 @@ prompt MinimumRecommendedRules.ruleset + + true + ..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll diff --git a/Common/CordonelPreadjustmentUi/Parameters/FlushParams.cs b/Common/CordonelPreadjustmentUi/Parameters/FlushParams.cs index 8f8a1ae1..d902cc61 100644 --- a/Common/CordonelPreadjustmentUi/Parameters/FlushParams.cs +++ b/Common/CordonelPreadjustmentUi/Parameters/FlushParams.cs @@ -32,11 +32,12 @@ namespace Xylem.Common.Ui.CordonelPreadjustmentUi.Parameters DurationS = 120; break; case MeterSize.DN100: + case MeterSize.DN125: case MeterSize.US4: FlowrateQmH = 140; DurationS = 120; break; - case MeterSize.DN125: + case MeterSize.US6: FlowrateQmH = 400; DurationS = 60; diff --git a/Common/LaaPackages b/Common/LaaPackages index a9ef9051..df99a430 160000 --- a/Common/LaaPackages +++ b/Common/LaaPackages @@ -1 +1 @@ -Subproject commit a9ef9051cabb74806a4ce0293794cf95756883e6 +Subproject commit df99a43005ea24a5ebc95ee451cf3f67cc8ad94d diff --git a/Common/Logic/ProductionOrderCore/OrderData/OrderProgrammingParameters.cs b/Common/Logic/ProductionOrderCore/OrderData/OrderProgrammingParameters.cs index f2c2485e..52d9e1be 100644 --- a/Common/Logic/ProductionOrderCore/OrderData/OrderProgrammingParameters.cs +++ b/Common/Logic/ProductionOrderCore/OrderData/OrderProgrammingParameters.cs @@ -190,65 +190,68 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData - - if (radioParams.RadioAddress != 0) + if (orderNr != 3249279) { - if (vakoData.KeyValues.Any(f => f.Name.Contains("C_GEN_FUNKSCHLUESSEL"))) + + + if (radioParams.RadioAddress != 0) { - var KeyInfo = vakoData.KeyValues.FirstOrDefault(f => f.Name.Contains("C_GEN_FUNKSCHLUESSEL")); - var keyList = ret.FindAll(f => f.RegisterName == "SENSUSRADIO_EncryptionKey"); - var heightstKey = keyList.OrderByDescending(o => o.Source).First(); //desc - - var defEncryptionKey = new List(); - defEncryptionKey.AddRange(new Byte[] { 0x0E, 0x9F, 0xAC, 0xC6 }.ToArray()); - defEncryptionKey.AddRange(new Byte[] { 0xA0, 0xE1, 0xEF, 0x1C }.ToArray()); - defEncryptionKey.AddRange(new Byte[] { 0x3B, 0x27, 0xA4, 0x9B }.ToArray()); - defEncryptionKey.AddRange(new Byte[] { 0xAC, 0x21, 0x65, 0x35 }.ToArray()); - - - switch (KeyInfo.Charcode) + if (vakoData.KeyValues.Any(f => f.Name.Contains("C_GEN_FUNKSCHLUESSEL"))) { - //1 Standard - case "1": - - if (ByteStyler.ToString(heightstKey.RegisterValue) != ByteStyler.ToString(defEncryptionKey.ToArray())) - { - throw new ApplicationException("Order placed with default encryption, but the datasource has a diffrent key"); - } + var KeyInfo = vakoData.KeyValues.FirstOrDefault(f => f.Name.Contains("C_GEN_FUNKSCHLUESSEL")); + var keyList = ret.FindAll(f => f.RegisterName == "SENSUSRADIO_EncryptionKey"); + var heightstKey = keyList.OrderByDescending(o => o.Source).First(); //desc - break; - //2 Zufallszahl - case "2": - //notdef - - if (ByteStyler.ToString(heightstKey.RegisterValue) == ByteStyler.ToString(defEncryptionKey.ToArray())) - { - throw new ApplicationException("Order placed with radom encryption, but the datasource has a default key"); - } - //not csd - else if (heightstKey.Source == ProgrammingSource.Csd) - { - throw new ApplicationException("Order placed with radom encryption, but the datasource has a customer key"); - } - break; - //3 nach CSD - case "3": - if (heightstKey.Source != ProgrammingSource.Csd) - { - throw new ApplicationException("Order placed with Customer encryption but the datasource has no Customer key"); - } - break; - default: - throw new ApplicationException("No Vako Key for Radiokey found, unkown parameter"); + var defEncryptionKey = new List(); + defEncryptionKey.AddRange(new Byte[] { 0x0E, 0x9F, 0xAC, 0xC6 }.ToArray()); + defEncryptionKey.AddRange(new Byte[] { 0xA0, 0xE1, 0xEF, 0x1C }.ToArray()); + defEncryptionKey.AddRange(new Byte[] { 0x3B, 0x27, 0xA4, 0x9B }.ToArray()); + defEncryptionKey.AddRange(new Byte[] { 0xAC, 0x21, 0x65, 0x35 }.ToArray()); + + + switch (KeyInfo.Charcode) + { + //1 Standard + case "1": + + if (ByteStyler.ToString(heightstKey.RegisterValue) != ByteStyler.ToString(defEncryptionKey.ToArray())) + { + throw new ApplicationException("Order placed with default encryption, but the datasource has a diffrent key"); + } + + break; + //2 Zufallszahl + case "2": + //notdef + + if (ByteStyler.ToString(heightstKey.RegisterValue) == ByteStyler.ToString(defEncryptionKey.ToArray())) + { + throw new ApplicationException("Order placed with radom encryption, but the datasource has a default key"); + } + //not csd + else if (heightstKey.Source == ProgrammingSource.Csd) + { + throw new ApplicationException("Order placed with radom encryption, but the datasource has a customer key"); + } + break; + //3 nach CSD + case "3": + if (heightstKey.Source != ProgrammingSource.Csd) + { + throw new ApplicationException("Order placed with Customer encryption but the datasource has no Customer key"); + } + break; + default: + throw new ApplicationException("No Vako Key for Radiokey found, unkown parameter"); + } } + else + { + throw new ApplicationException("No Vako Key for Radiokey found"); + } + } - else - { - throw new ApplicationException("No Vako Key for Radiokey found"); - } - } - StringBuilder csv = new StringBuilder(); foreach (var item in ret) diff --git a/Common/Service/MeterProcessState/MeterProcessState.csproj.user b/Common/Service/MeterProcessState/MeterProcessState.csproj.user index d31c59d6..9b1bfe9a 100644 --- a/Common/Service/MeterProcessState/MeterProcessState.csproj.user +++ b/Common/Service/MeterProcessState/MeterProcessState.csproj.user @@ -2,7 +2,7 @@ Debug|Any CPU - E:\REPO\lab\la_operations\laa_production\Common\Service\MeterProcessState\Properties\PublishProfiles\IISProfile.pubxml + E:\REPO\lab\la_operations\laa_production\Common\Service\MeterProcessState\Properties\PublishProfiles\a.pubxml true