diff --git a/Common/CordonelAssemblyLine/Model/PickingModel.cs b/Common/CordonelAssemblyLine/Model/PickingModel.cs
index fbbbc5cc..1efd84f5 100644
--- a/Common/CordonelAssemblyLine/Model/PickingModel.cs
+++ b/Common/CordonelAssemblyLine/Model/PickingModel.cs
@@ -821,7 +821,7 @@ namespace CordonelAssemblyLine.Model
meter.ReLogin();
}
meter.SetProcessState(DisplayCodes.PickingTested);
- var url = $"{ServiceUrls.MeterProcessStateUrl()}SetPickingState?PcbID={meter.PcbId}&FertigungsauftragsNr={_order}";
+ var url = $"{ServiceUrls.MeterProcessStateUrl()}SetPickingState?PcbID={meter.PcbId}&FertigungsauftragsNr={_order}&successful=1";
var retString = LocalWebRequest.PostRequestAsyncAndGetContent(url);
if (bool.TryParse(retString, out var result))
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
index 7a397501..a14a2316 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
@@ -2114,7 +2114,10 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
{
WriteRegister("SENSUSRADIO_PersistenceGroup5", new Byte[] { 0x00, 0xff, 0x00, 0xff });
}
-
+ if (GetRegistersDic().Any(a => a.Key.RegisterName == "PersistenceGroup6"))
+ {
+ WriteRegister("SENSUSRADIO_PersistenceGroup6", new Byte[] { 0x00, 0xff, 0x00, 0xff });
+ }
WriteRegister("CUSTOMER_AlarmEnableMask", beforeCancelAlarmEnableMask);
WriteRegister("CUSTOMER_AlarmBroadcastMask", beforeCancelAlarmBroadcastMask);
}
diff --git a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache
index 8865d283..39b3fdf8 100644
--- a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache
+++ b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-89102b0142e574de38a9f47d370f3334e5e6c268
+b03dfbada453427a2bb1275645a5f1b525f29900
diff --git a/Common/Service/MeterProcessState/Controllers/FinalCheckController.cs b/Common/Service/MeterProcessState/Controllers/FinalCheckController.cs
index 79c4791a..b3529bc3 100644
--- a/Common/Service/MeterProcessState/Controllers/FinalCheckController.cs
+++ b/Common/Service/MeterProcessState/Controllers/FinalCheckController.cs
@@ -833,7 +833,7 @@ namespace Xylem.Common.Service.MeterProcessState.Controllers
var startInex = St.IndexOf("\"StartDT\":\"") + "\"StartDT\":\"".Length;
var datestring = St.Substring(startInex, "29.07.2022 06:47:27".Length);
- lastProdDate = DateTime.ParseExact(datestring, "dd.MM.yyyy hh:mm:ss", CultureInfo.CreateSpecificCulture("de-DE"));
+ lastProdDate = DateTime.ParseExact(datestring, "dd.MM.yyyy HH:mm:ss", CultureInfo.CreateSpecificCulture("de-DE"));
}
diff --git a/Common/Service/MeterProcessState/Controllers/LUControler.cs b/Common/Service/MeterProcessState/Controllers/LUControler.cs
index da05d3af..5baaa6b9 100644
--- a/Common/Service/MeterProcessState/Controllers/LUControler.cs
+++ b/Common/Service/MeterProcessState/Controllers/LUControler.cs
@@ -1,12 +1,20 @@
-using Oracle.ManagedDataAccess.Client;
+using LaaPackages.Features.Cordonel.Models;
+using Newtonsoft.Json.Linq;
+using Oracle.ManagedDataAccess.Client;
+using Service.MeterProcessState;
+using Service.MeterProcessState.Data;
using System;
using System.Collections.Generic;
+using System.Data;
+using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder;
using System.Globalization;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
+using System.Web.Helpers;
using System.Web.Http;
+using Xylem.Common.Hardware.WaterMeter.Genesis.Registers.Json;
using Xylem.Common.Logic.ServiceCore;
@@ -121,7 +129,105 @@ namespace Xylem.Common.Service.MeterProcessState.Controllers
return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.ToString() + "
" + ex.InnerException.ToString());
}
}
+ [Route("SyncKitronData")]
+ public async Task SyncKitronData()
+ {
+ StringBuilder query = new StringBuilder();
+ query.AppendLine("SELECT TOP (1) ID, Jobname, ActionDate, DoneDate, LastID, DataCount FROM KitronSync where DoneDate is null order by ID ");
+ using (var dataAccess = new SqlDataAccess(GlobalConfig.connectionString.Value))
+ {
+ var dt = dataAccess.ExecuteQuery(query.ToString());
+ foreach (DataRow item in dt.Rows)
+ {
+ var LastID = (int)item["LastID"];
+
+ var DataCount = (int)item["DataCount"];
+ var UpdateTillLasID = LastID + DataCount;
+ var kitronFinals = dataAccess.ExecuteQuery($" sELECT * FROM OPENQUERY (MyOraDB, ' SELECT DS_ID,ID_PCB,ID_TEST,JSON FROM DELTACHEF.GENESIS_PCBFUNCTIONALTEST_PD WHERE DS_ID >= {LastID + 1} and DS_ID <= {LastID+ 1 + DataCount} order by DS_ID asc ');");
+ foreach (DataRow kitronItem in kitronFinals.Rows)
+ {
+ try
+ {
+ var DS_ID = (double)kitronItem["DS_ID"];
+ var ID_PCB = kitronItem["ID_PCB"].ToString();
+ var ID_TEST = (double)kitronItem["ID_TEST"];
+ var JSON = kitronItem["JSON"].ToString();
+ var oo = JObject.Parse(JSON);
+ UpdateTillLasID = (int)DS_ID;
+ var TestResultPass = false;
+ var IrDALogonSkeleton = "";
+ var FWVersion = "";
+ var MaterialNumber = "";
+ var StartDT = DateTime.MinValue;
+ foreach (var oItem in oo.Children().Values())
+ {
+ foreach (JProperty ChildValues in oItem.Children())
+ {
+ switch (ChildValues.Name)
+ {
+ case "TestResult":
+ TestResultPass = (ChildValues.Value.ToString().ToUpper() == "PASS");
+ break;
+ case "IrDA Logon Skeleton":
+ IrDALogonSkeleton = ChildValues.Value.ToString();
+ break;
+ case "FW Version":
+ FWVersion = ChildValues.Value.ToString();
+ break;
+ case "MaterialNumber":
+ MaterialNumber = ChildValues.Value.ToString();
+ break;
+ case "StartDT":
+ DateTime.TryParseExact(ChildValues.Value.ToString(), "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out StartDT);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ if (TestResultPass)
+ {
+ int matr = -1;
+ string remark = "";
+ if (!int.TryParse(MaterialNumber, out matr))
+ {
+ matr = -1;
+ remark = MaterialNumber;
+ }
+
+
+
+
+ dataAccess.ExecuteQuery($"" +
+ $" IF not EXISTS (SELECT 1 FROM dbo.[Cordonel_KitronData] WHERE KitronDSId = {DS_ID}) " +
+ $" Begin" +
+ $" INSERT INTO [dbo].[Cordonel_KitronData] ([PcbId] ,[KitronDSId] ,[Skeleton] ,[FW] ,[MaterialNumber] ,[ProdDate], [Remark]) " +
+ $" VALUES ( {ID_PCB},{DS_ID}, '{IrDALogonSkeleton}','{FWVersion}', {matr} , '{StartDT.ToString("yyyyMMdd HH:mm:ss")}', '{remark}')" +
+ $" end");
+
+
+
+ }
+
+
+ }
+ catch (Exception ex)
+ {
+
+ throw;
+ }
+ }
+ dataAccess.ExecuteQuery($"Update [dbo].KitronSync set LastID = {UpdateTillLasID} ");
+ }
+
+ }
+
+
+
+
+ return Request.CreateResponse(HttpStatusCode.OK, await Task.Run(() => { return true; }));
+ }
[Route("GetProddate")]
public async Task GetProddate(string Seriennumer = "")
{
@@ -145,7 +251,7 @@ namespace Xylem.Common.Service.MeterProcessState.Controllers
-
+
// create connection
@@ -173,7 +279,7 @@ namespace Xylem.Common.Service.MeterProcessState.Controllers
var St = ((string)reader["JSON"]);
var startInex = St.IndexOf("\"StartDT\":\"") + "\"StartDT\":\"".Length;
var datestring = St.Substring(startInex, "29.07.2022 06:47:27".Length);
- DateTime.ParseExact(datestring, "dd.MM.yyyy hh:mm:ss", CultureInfo.InvariantCulture);
+ DateTime.ParseExact(datestring, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
diff --git a/Common/Service/MeterProcessState/Controllers/PushControler.cs b/Common/Service/MeterProcessState/Controllers/PushControler.cs
index 02007f2c..43c6ba30 100644
--- a/Common/Service/MeterProcessState/Controllers/PushControler.cs
+++ b/Common/Service/MeterProcessState/Controllers/PushControler.cs
@@ -115,7 +115,7 @@ namespace Xylem.Common.Service.MeterProcessState.Controllers
}
else
{
- retC.kitronDate = DateTime.ParseExact(datestring, "dd.MM.yyyy hh:mm:ss", CultureInfo.InvariantCulture);
+ retC.kitronDate = DateTime.ParseExact(datestring, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
}
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
diff --git a/Common/Ui/GenesisToolBox/FrmLowLevelTools.cs b/Common/Ui/GenesisToolBox/FrmLowLevelTools.cs
index 62aaf728..39c51a51 100644
--- a/Common/Ui/GenesisToolBox/FrmLowLevelTools.cs
+++ b/Common/Ui/GenesisToolBox/FrmLowLevelTools.cs
@@ -303,7 +303,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
MeterPwdDb _pwdContainer = new MeterPwdDb();
var ret = MeterPwdHandlerDb.RequestPwdFileFromDb(_currentGenesis.GetPcbId(), out _pwdContainer);
-
+ //
if (_currentGenesis.Login(_pwdContainer.Skeleton))
{