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:
@@ -0,0 +1,94 @@
|
||||
using JdeScoping.Core.Helpers;
|
||||
|
||||
namespace JdeScoping.Core.Models.WorkOrders;
|
||||
|
||||
/// <summary>
|
||||
/// JDE work order entity
|
||||
/// </summary>
|
||||
public class WorkOrder
|
||||
{
|
||||
/// <summary>
|
||||
/// Work order unique number
|
||||
/// </summary>
|
||||
public long WorkOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order branch code
|
||||
/// </summary>
|
||||
public string BranchCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Work order assigned lot number
|
||||
/// </summary>
|
||||
public string? LotNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order item number
|
||||
/// </summary>
|
||||
public string ItemNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Work order short item number
|
||||
/// </summary>
|
||||
public long ShortItemNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order's parent unique number
|
||||
/// </summary>
|
||||
public string? ParentWorkOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Order quantity
|
||||
/// </summary>
|
||||
public decimal OrderQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Quantity on hold
|
||||
/// </summary>
|
||||
public decimal HeldQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Quantity shipped
|
||||
/// </summary>
|
||||
public decimal ShippedQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order status code
|
||||
/// </summary>
|
||||
public string StatusCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Date of last update to status code
|
||||
/// </summary>
|
||||
public DateTime? StatusCodeUpdateDt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Date work order was issued
|
||||
/// </summary>
|
||||
public DateTime IssueDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Date work order was started
|
||||
/// </summary>
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order routing type
|
||||
/// </summary>
|
||||
public string RoutingType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// JDE date of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE time of day of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp of last update to record (computed from JDE date/time)
|
||||
/// </summary>
|
||||
public DateTime? LastUpdateDt => JdeDateConverter.ToDateTime(LastUpdateDate, LastUpdateTime);
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using JdeScoping.Core.Helpers;
|
||||
|
||||
namespace JdeScoping.Core.Models.WorkOrders;
|
||||
|
||||
/// <summary>
|
||||
/// Work order component usage entity
|
||||
/// </summary>
|
||||
public class WorkOrderComponent
|
||||
{
|
||||
/// <summary>
|
||||
/// Record unique / PK ID
|
||||
/// </summary>
|
||||
public long UniqueId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order unique number
|
||||
/// </summary>
|
||||
public long WorkOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Lot number of component
|
||||
/// </summary>
|
||||
public string? LotNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Component issuance branch code
|
||||
/// </summary>
|
||||
public string BranchCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Component item short number
|
||||
/// </summary>
|
||||
public long? ShortItemNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Transaction quantity
|
||||
/// </summary>
|
||||
public decimal Quantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE date of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE time of day of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp of last update to record (computed from JDE date/time)
|
||||
/// </summary>
|
||||
public DateTime? LastUpdateDt => JdeDateConverter.ToDateTime(LastUpdateDate, LastUpdateTime);
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
using JdeScoping.Core.Helpers;
|
||||
|
||||
namespace JdeScoping.Core.Models.WorkOrders;
|
||||
|
||||
/// <summary>
|
||||
/// Work order step transaction (routing) entity
|
||||
/// </summary>
|
||||
public class WorkOrderRouting
|
||||
{
|
||||
/// <summary>
|
||||
/// Transaction user ID
|
||||
/// </summary>
|
||||
public string UserId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Transaction batch number
|
||||
/// </summary>
|
||||
public string BatchNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Transaction number
|
||||
/// </summary>
|
||||
public string TransactionNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Transaction line number
|
||||
/// </summary>
|
||||
public int LineNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Operation sequence number
|
||||
/// </summary>
|
||||
public decimal StepNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unique code for work center
|
||||
/// </summary>
|
||||
public string WorkCenterCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Unique number for work order
|
||||
/// </summary>
|
||||
public long WorkOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Work order routing type
|
||||
/// </summary>
|
||||
public string RoutingType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Unique code for branch
|
||||
/// </summary>
|
||||
public string BranchCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Operation sequence description
|
||||
/// </summary>
|
||||
public string? StepDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Operation function code
|
||||
/// </summary>
|
||||
public string FunctionCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// JDE date representation of transaction original date (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int TransactionDateDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Transaction original date (computed from JDE date)
|
||||
/// </summary>
|
||||
public DateTime? TransactionDate => JdeDateConverter.ToDateTime(TransactionDateDate);
|
||||
|
||||
/// <summary>
|
||||
/// JDE date of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE time of day of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp of last update to record (computed from JDE date/time)
|
||||
/// </summary>
|
||||
public DateTime? LastUpdateDt => JdeDateConverter.ToDateTime(LastUpdateDate, LastUpdateTime);
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
using JdeScoping.Core.Helpers;
|
||||
|
||||
namespace JdeScoping.Core.Models.WorkOrders;
|
||||
|
||||
/// <summary>
|
||||
/// JDE work order operation step entity
|
||||
/// </summary>
|
||||
public class WorkOrderStep
|
||||
{
|
||||
/// <summary>
|
||||
/// Unique number for work order
|
||||
/// </summary>
|
||||
public long WorkOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unique code for branch
|
||||
/// </summary>
|
||||
public string BranchCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Unique code for work center
|
||||
/// </summary>
|
||||
public string WorkCenterCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Operation sequence number
|
||||
/// </summary>
|
||||
public decimal StepNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Operation sequence description
|
||||
/// </summary>
|
||||
public string? StepDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Function operation description (long text)
|
||||
/// </summary>
|
||||
public string? FunctionOperationDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Operation sequence type code
|
||||
/// </summary>
|
||||
public string StepTypeCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp when work step began
|
||||
/// </summary>
|
||||
public DateTime? StartDt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp when work step ended
|
||||
/// </summary>
|
||||
public DateTime? EndDt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Operation function code
|
||||
/// </summary>
|
||||
public string FunctionCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Quantity scrapped/cancelled
|
||||
/// </summary>
|
||||
public decimal ScrappedQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE date of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE time of day of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp of last update to record (computed from JDE date/time)
|
||||
/// </summary>
|
||||
public DateTime? LastUpdateDt => JdeDateConverter.ToDateTime(LastUpdateDate, LastUpdateTime);
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
using JdeScoping.Core.Helpers;
|
||||
|
||||
namespace JdeScoping.Core.Models.WorkOrders;
|
||||
|
||||
/// <summary>
|
||||
/// F31122 work order time transaction record
|
||||
/// </summary>
|
||||
public class WorkOrderTime
|
||||
{
|
||||
/// <summary>
|
||||
/// Unique ID for record
|
||||
/// </summary>
|
||||
public long UniqueId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unique number for work order
|
||||
/// </summary>
|
||||
public long WorkOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unique code for branch
|
||||
/// </summary>
|
||||
public string BranchCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Unique code for work center
|
||||
/// </summary>
|
||||
public string WorkCenterCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Operation sequence number
|
||||
/// </summary>
|
||||
public decimal StepNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unique address number for user/operator
|
||||
/// </summary>
|
||||
public long AddressNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// G/L date entry was processed
|
||||
/// </summary>
|
||||
public DateTime? GlDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE date of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// JDE time of day of last update to record (private backing field for Dapper mapping)
|
||||
/// </summary>
|
||||
private int LastUpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp of last update to record (computed from JDE date/time)
|
||||
/// </summary>
|
||||
public DateTime? LastUpdateDt => JdeDateConverter.ToDateTime(LastUpdateDate, LastUpdateTime);
|
||||
}
|
||||
Reference in New Issue
Block a user