26ff8d9b4f
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
181 lines
6.0 KiB
C#
Executable File
181 lines
6.0 KiB
C#
Executable File
using System;
|
|
|
|
namespace WorkerService.Models.Reporting
|
|
{
|
|
/// <summary>
|
|
/// JDE search result reporting model
|
|
/// </summary>
|
|
[OutputTable(TabName = "Search Results", TableName = "Search_Results")]
|
|
public class SearchResult
|
|
{
|
|
/// <summary>
|
|
/// Order unique number
|
|
/// </summary>
|
|
[OutputColumn(Order = 10, HeaderText = "Work Order Number")]
|
|
public long WorkOrderNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// Order branch code
|
|
/// </summary>
|
|
[OutputColumn(Order = 20, HeaderText = "Work Order Branch Code")]
|
|
public string WorkOrderBranchCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// Order lot number
|
|
/// </summary>
|
|
[OutputColumn(Order = 30, HeaderText = "Lot Number")]
|
|
public string LotNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// Order item number
|
|
/// </summary>
|
|
[OutputColumn(Order = 40, HeaderText = "Item Number")]
|
|
public string ItemNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// Item master planning family
|
|
/// </summary>
|
|
[OutputColumn(Order = 50, HeaderText = "Planning Family")]
|
|
public string PlanningFamily { get; set; }
|
|
|
|
/// <summary>
|
|
/// Item master stocking type
|
|
/// </summary>
|
|
[OutputColumn(Order = 55, HeaderText = "Stocking Type")]
|
|
public string StockingType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Order quantity
|
|
/// </summary>
|
|
[OutputColumn(Order = 60, HeaderText = "Order Quantity")]
|
|
public decimal OrderQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Quantity on hold
|
|
/// </summary>
|
|
[OutputColumn(Order = 70, HeaderText = "Held Quantity")]
|
|
public decimal HeldQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Quantity scrapped/cancelled
|
|
/// </summary>
|
|
[OutputColumn(Order = 80, HeaderText = "Scrapped Quantity")]
|
|
public decimal ScrappedQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Quantity shipped
|
|
/// </summary>
|
|
[OutputColumn(Order = 90, HeaderText = "Shipped Quantity")]
|
|
public decimal ShippedQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Operation branch code
|
|
/// </summary>
|
|
[OutputColumn(Order = 100, HeaderText = "Operation Step Branch Code")]
|
|
public string StepBranchCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// Operation step number
|
|
/// </summary>
|
|
[OutputColumn(Order = 110, HeaderText = "Operation Step")]
|
|
public decimal StepNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// Operation step description
|
|
/// </summary>
|
|
[OutputColumn(Order = 120, HeaderText = "Operation Step Description")]
|
|
public string StepDescription { get; set; }
|
|
|
|
/// <summary>
|
|
/// Function operation description (long text)
|
|
/// </summary>
|
|
[OutputColumn(Order = 130, HeaderText = "Function Operation Description")]
|
|
public string FunctionOperationDescription { get; set; }
|
|
|
|
/// <summary>
|
|
/// Timestamp of last update to operation step number
|
|
/// </summary>
|
|
[OutputColumn(Order = 140, HeaderText = "Operation Step Update Timestamp", Format = OutputColumnAttribute.TIMESTAMP_FORMAT)]
|
|
public DateTime StepUpdateDT { get; set; }
|
|
|
|
/// <summary>
|
|
/// Order status code
|
|
/// </summary>
|
|
[OutputColumn(Order = 150, HeaderText = "Status Code")]
|
|
public string StatusCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// Order status description
|
|
/// </summary>
|
|
[OutputColumn(Order = 160, HeaderText = "Status Description")]
|
|
public string StatusDescription { get; set; }
|
|
|
|
/// <summary>
|
|
/// Timestam of last update to order status
|
|
/// </summary>
|
|
[OutputColumn(Order = 170, HeaderText = "Status Update Timestamp", Format = OutputColumnAttribute.DATE_FORMAT)]
|
|
public DateTime? StatusUpdateDT { get; set; }
|
|
|
|
/// <summary>
|
|
/// Work order was included because it was manually specified
|
|
/// </summary>
|
|
public bool ManuallySpecified { get; set; }
|
|
|
|
/// <summary>
|
|
/// Work order was included because it was split from a from flagged work order
|
|
/// </summary>
|
|
public bool SplitOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// Work order was included because it received parts from a flagged work order (CARDEX / F4111)
|
|
/// </summary>
|
|
public bool CARDEX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Work order was included because it received parts from a flagged work order (parts list / F3111)
|
|
/// </summary>
|
|
public bool PartsList { get; set; }
|
|
|
|
/// <summary>
|
|
/// Work order was included because it met the filter criteria
|
|
/// </summary>
|
|
public bool Flagged { get; set; }
|
|
|
|
/// <summary>
|
|
/// Reason work order was included in results
|
|
/// </summary>
|
|
[OutputColumn(Order = 180, HeaderText = "Inclusion Reason")]
|
|
public string InclusionReason
|
|
{
|
|
get
|
|
{
|
|
if (ManuallySpecified)
|
|
{
|
|
return "ManuallySpecified";
|
|
}
|
|
if (Flagged)
|
|
{
|
|
return "Flagged";
|
|
}
|
|
if (CARDEX && PartsList)
|
|
{
|
|
return "ComponentUsage (CARDEX + Parts List)";
|
|
}
|
|
if (CARDEX && !PartsList)
|
|
{
|
|
return "ComponentUsage (CARDEX)";
|
|
}
|
|
if (!CARDEX && PartsList)
|
|
{
|
|
return "ComponentUsage (Parts List)";
|
|
}
|
|
if (SplitOrder)
|
|
{
|
|
return "Split order";
|
|
}
|
|
return "UNKNOWN";
|
|
}
|
|
}
|
|
}
|
|
}
|