Initial commit: JDE Scoping Tool migration project
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
This commit is contained in:
Executable
+67
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.Data.SqlClient;
|
||||
using Dapper;
|
||||
|
||||
namespace DataModel.Process
|
||||
{
|
||||
/// <summary>
|
||||
/// MIS data tracking functions for LotFinderDB interface
|
||||
/// </summary>
|
||||
public partial class LotFinderDB
|
||||
{
|
||||
/// <summary>
|
||||
/// Post-processing script to set obsoletion dates
|
||||
/// </summary>
|
||||
private const string SQL_POSTPROCESS_MISDATA = @"
|
||||
SET ANSI_WARNINGS OFF;
|
||||
|
||||
WITH cte AS (
|
||||
SELECT md.MisNumber, md.RevID, md.Status, MIN(md.ReleaseDate) Released
|
||||
FROM dbo.MisData AS md
|
||||
GROUP BY md.MisNumber, md.RevID, md.Status
|
||||
)
|
||||
UPDATE dbo.MisData
|
||||
SET ObsoleteDate = bl.Released
|
||||
FROM cte bl
|
||||
WHERE MisData.MisNumber = bl.MisNumber AND
|
||||
MisData.RevID = bl.RevID AND
|
||||
MisData.Status = 'Current' AND
|
||||
bl.Status = 'BackLevel';
|
||||
|
||||
WITH cte AS (
|
||||
SELECT md.MisNumber, md.RevID, md.Status, MIN(md.ReleaseDate) Released
|
||||
FROM dbo.MisData AS md
|
||||
GROUP BY md.MisNumber, md.RevID, md.Status
|
||||
)
|
||||
UPDATE dbo.MisData
|
||||
SET ObsoleteDate = (SELECT TOP 1 nl.Released
|
||||
FROM cte nl
|
||||
WHERE MisData.MisNumber = nl.MisNumber AND
|
||||
MisData.RevID < nl.RevID AND
|
||||
MisData.Status = nl.Status
|
||||
ORDER BY nl.RevID)
|
||||
WHERE ObsoleteDate IS NULL;
|
||||
|
||||
ALTER INDEX [PK_MisData] ON [dbo].[MisData] REBUILD;";
|
||||
|
||||
/// <summary>
|
||||
/// Performs post processing on imported Mis data
|
||||
/// </summary>
|
||||
public static void PostProcessMisData()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (SqlConnection connection = GetConnection())
|
||||
{
|
||||
connection.Execute(SQL_POSTPROCESS_MISDATA);
|
||||
}
|
||||
}
|
||||
catch (Exception error)
|
||||
{
|
||||
//Log and forward exception
|
||||
logger.Error("PostProcessMisData: failed to post process MIS data: {0}.", error.Message);
|
||||
throw new Exception($"Failed to post process MIS data from LotFinderDB.", error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user