From 1c0bca3539c350a7864a987acdcad071a79ee1e6 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Tue, 25 Apr 2023 07:33:08 -0700 Subject: [PATCH] Delay for RAMS --- .../FileHandlers/OpenInsight/FromIQS.cs | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/Adaptation/FileHandlers/OpenInsight/FromIQS.cs b/Adaptation/FileHandlers/OpenInsight/FromIQS.cs index 8c2bbe2..1766ed1 100644 --- a/Adaptation/FileHandlers/OpenInsight/FromIQS.cs +++ b/Adaptation/FileHandlers/OpenInsight/FromIQS.cs @@ -20,25 +20,38 @@ public class FromIQS { StringBuilder result = new(); _ = result + .AppendLine(" select iq.ev_count, iq.cl_count, iq.sl_count, iq.se_sgrp, iq.se_sgtm, iq.se_tsno, iq.td_test, iq.pr_name, iq.jd_name, iq.pl_name, iq.pd_name, iq.td_name, iq.se_val ") + .AppendLine(" from ( ") .AppendLine(" select ") .AppendLine(" se.f_sgrp se_sgrp, ") .AppendLine(" se.f_sgtm se_sgtm, ") .AppendLine(" se.f_tsno se_tsno, ") .AppendLine(" se.f_val se_val, ") - .AppendLine(" rd.f_name rd_name, ") + .AppendLine(" pr.f_name pr_name, ") .AppendLine(" jd.f_name jd_name, ") .AppendLine(" pl.f_name pl_name, ") .AppendLine(" pd.f_name pd_name, ") .AppendLine(" td.f_test td_test, ") .AppendLine(" td.f_name td_name, ") + .AppendLine(" (select count(cl.f_part) ") + .AppendLine(" from [spcepiworld].[dbo].[ctrl_lim] cl ") + .AppendLine(" where cl.f_part = pd.f_part ") + .AppendLine(" and cl.f_test = td.f_test ") + .AppendLine(" ) cl_count, ") + .AppendLine(" (select count(sl.f_part) ") + .AppendLine(" from [spcepiworld].[dbo].[spec_lim] sl ") + .AppendLine(" where sl.f_part = pd.f_part ") + .AppendLine(" and sl.f_test = td.f_test ") + .AppendLine(" ) sl_count, ") .AppendLine(" (select count(ev.f_evnt) ") .AppendLine(" from [spcepiworld].[dbo].[evnt_inf] ev ") - .AppendLine(" where ev.f_prcs = rd.f_prcs ") + .AppendLine(" where ev.f_prcs = pr.f_prcs ") .AppendLine(" and ev.f_part = pd.f_part ") - .AppendLine(" and ev.f_sgtm = se.f_sgtm) ev_count ") + .AppendLine(" and ev.f_sgtm = se.f_sgtm ") + .AppendLine(" ) ev_count ") .AppendLine(" from [spcepiworld].[dbo].[sgrp_ext] se ") - .AppendLine(" join [spcepiworld].[dbo].[prcs_dat] rd ") - .AppendLine(" on se.f_prcs = rd.f_prcs ") + .AppendLine(" join [spcepiworld].[dbo].[prcs_dat] pr ") + .AppendLine(" on se.f_prcs = pr.f_prcs ") .AppendLine(" join [spcepiworld].[dbo].[job_dat] jd ") .AppendLine(" on se.f_job = jd.f_job ") .AppendLine(" join [spcepiworld].[dbo].[part_lot] pl ") @@ -53,11 +66,13 @@ public class FromIQS if (!string.IsNullOrEmpty(description.RDS)) _ = result.Append(" and pl.f_name = '").Append(description.RDS).AppendLine("' "); _ = result - .Append(" and rd.f_name = '").Append(description.Reactor).AppendLine("' ") + .Append(" and pr.f_name = '").Append(description.Reactor).AppendLine("' ") .Append(" and pd.f_name = '").Append(description.PSN).AppendLine("' ") .AppendLine(" and jd.f_name in ('BIORAD2', 'BIORAD3', 'BIORAD4', 'BIORAD5') ") .Append(" and jd.f_name = '").Append(logistics.MesEntity).AppendLine("' ") .Append(" and dateadd(HH, -7, (dateadd(SS, convert(bigint, se.f_sgtm), '19700101'))) = '").Append(dateTime).AppendLine("' ") + .AppendLine(" ) as iq ") + .AppendLine(" order by iq.ev_count desc, iq.cl_count desc, iq.sl_count desc, iq.se_sgrp, iq.se_tsno, iq.td_test ") .AppendLine(" for json path "); return result.ToString(); } @@ -99,7 +114,17 @@ public class FromIQS { stringBuilder = GetForJsonPath(connectionString, commandText); if (stringBuilder.Length > 0) + { + long postBreakAfter = DateTime.Now.AddSeconds(5).Ticks; + for (short y = 0; y < short.MaxValue; y++) + { + if (DateTime.Now.Ticks > postBreakAfter) + break; + Thread.Sleep(250); + } + stringBuilder = GetForJsonPath(connectionString, commandText); break; + } if (DateTime.Now.Ticks > breakAfter) // throw new Exception($"After {breakAfterSeconds} seconds, didn't find sub group id!"); break; @@ -115,13 +140,12 @@ public class FromIQS else { JsonProperty[] jsonProperties = jsonElements[0].EnumerateObject().ToArray(); - if (!jsonProperties.Any() || jsonProperties[0].Name != "se_sgrp" || !long.TryParse(jsonProperties[0].Value.ToString(), out long subGroupId)) + if (!jsonProperties.Any() || jsonProperties[3].Name != "se_sgrp" || !long.TryParse(jsonProperties[3].Value.ToString(), out long subGroupId)) commandText = stringBuilder.ToString(); else { result = subGroupId; - commandText = GetCommandText(logistics, description, dateTime, subGroupId); - if (jsonProperties.Any() && jsonProperties[10].Name == "ev_count" && int.TryParse(jsonProperties[10].Value.ToString(), out int evCount)) + if (jsonProperties.Any() && jsonProperties[0].Name == "ev_count" && int.TryParse(jsonProperties[0].Value.ToString(), out int evCount)) count = evCount; } }