ProductionUiCOrdonel: - generic requirement check
This commit is contained in:
+5
-27
@@ -647,6 +647,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr
|
||||
/// <remarks date="2025-Jan-21" author="Thomas Wiedebusch">
|
||||
/// - New IsSpecialApproved and IsStandardApproved.
|
||||
/// </remarks>
|
||||
/// <remarks date="2025-Jun-18" author="Thomas Wiedebusch">
|
||||
/// - Modified for generic checks.
|
||||
/// </remarks>
|
||||
private EOLStatus CheckRequirements(out String feedbackMsg)
|
||||
{
|
||||
feedbackMsg = "";
|
||||
@@ -658,26 +661,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr
|
||||
return EOLStatus.FAIL;
|
||||
}
|
||||
|
||||
// Check if requirement is active (free for production) and approved by a second person. Priority special
|
||||
// requirement.
|
||||
var isSpecialActive = false;
|
||||
var isStandardActive = false;
|
||||
if (ProductionRequirements.IsSpecialActive != null && (Boolean)ProductionRequirements.IsSpecialActive &&
|
||||
ProductionRequirements.IsSpecialApproved != null && (Boolean)ProductionRequirements.IsSpecialApproved)
|
||||
isSpecialActive = true;
|
||||
if (ProductionRequirements.IsStandardActive != null && (Boolean)ProductionRequirements.IsStandardActive &&
|
||||
ProductionRequirements.IsStandardApproved != null && (Boolean)ProductionRequirements.IsStandardApproved)
|
||||
isStandardActive = true;
|
||||
|
||||
// At least one requirement needs to be active and a requirement number and version has to be set
|
||||
if ((!isStandardActive && !isSpecialActive) ||
|
||||
// The standard Id and version have always to be set even if the special is active
|
||||
ProductionRequirements.StandardId == null || ProductionRequirements.StandardVersion == null ||
|
||||
// If the special is active the version and Id have to be defined
|
||||
(isSpecialActive && (ProductionRequirements.SpecialId == null ||
|
||||
ProductionRequirements.SpecialVersion == null)))
|
||||
var statusReturn = GenericChecks.CheckRequirements(ProductionRequirements, out feedbackMsg);
|
||||
if (StatusReturn.Failed == statusReturn)
|
||||
{
|
||||
feedbackMsg = Resources.StrErrorMsgRequirementInactive;
|
||||
EolProgress.RequirementRequestChecked = EOLStatus.FAIL;
|
||||
}
|
||||
else
|
||||
@@ -689,14 +675,6 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr
|
||||
EolProgress.SpecialRequirementId = ProductionRequirements.SpecialId;
|
||||
EolProgress.SpecialRequirementVersion = ProductionRequirements.SpecialVersion;
|
||||
|
||||
feedbackMsg = isSpecialActive &&
|
||||
ProductionRequirements.SpecialId != null &&
|
||||
ProductionRequirements.SpecialVersion != null ?
|
||||
Resources.StrWarningMsgSpecialRequirementActive +
|
||||
$" Id.Ver: {ProductionRequirements.SpecialId}.{ProductionRequirements.SpecialVersion}" :
|
||||
Resources.StrSuccessMsgRequirementActive +
|
||||
$" Id.Ver {ProductionRequirements.StandardId}.{ProductionRequirements.StandardVersion}";
|
||||
|
||||
EolProgress.RequirementRequestChecked = EOLStatus.OK;
|
||||
}
|
||||
|
||||
|
||||
+61
-1
@@ -3,6 +3,7 @@ using Logic.ProductionToProductMapper.Files.Fw;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using Newtonsoft.Json;
|
||||
using Xylem.Common.CommonCore.Configuration;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
@@ -18,6 +19,65 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
|
||||
{
|
||||
internal static class GenericChecks
|
||||
{
|
||||
/// <summary>
|
||||
/// Check for requirement permission special or standard or none:
|
||||
/// - If the special requirement is active all fields a filled with the according values from this "special"
|
||||
/// requirement,
|
||||
/// - Else those fields contain the "standard" requirements!
|
||||
///
|
||||
/// Software Requirement Specification:
|
||||
/// [SRS_TBF_PICK_PP_CHECK_PROD_STATE_001]_Check_Requirements
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="productionRequirements"></param>
|
||||
/// <param name="feedbackMsg"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2025-Mai-15" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
public static StatusReturn CheckRequirements(CordonelRequirements productionRequirements, out String feedbackMsg)
|
||||
{
|
||||
feedbackMsg = "";
|
||||
if (productionRequirements == null)
|
||||
{
|
||||
feedbackMsg = Resources.StrErrorMsgProductionRequirements;
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
|
||||
// Check if requirement is active (free for production) and approved by a second person. Priority special
|
||||
// requirement.
|
||||
var isSpecialActive = false;
|
||||
var isStandardActive = false;
|
||||
if (productionRequirements.IsSpecialActive != null && (Boolean)productionRequirements.IsSpecialActive &&
|
||||
productionRequirements.IsSpecialApproved != null && (Boolean)productionRequirements.IsSpecialApproved)
|
||||
isSpecialActive = true;
|
||||
if (productionRequirements.IsStandardActive != null && (Boolean)productionRequirements.IsStandardActive &&
|
||||
productionRequirements.IsStandardApproved != null && (Boolean)productionRequirements.IsStandardApproved)
|
||||
isStandardActive = true;
|
||||
|
||||
// At least one requirement needs to be active and a requirement number and version has to be set
|
||||
if ((!isStandardActive && !isSpecialActive) ||
|
||||
// The standard Id and version have always to be set even if the special is active
|
||||
productionRequirements.StandardId == null || productionRequirements.StandardVersion == null ||
|
||||
// If the special is active the version and Id have to be defined
|
||||
(isSpecialActive && (productionRequirements.SpecialId == null ||
|
||||
productionRequirements.SpecialVersion == null)))
|
||||
{
|
||||
feedbackMsg = Resources.StrErrorMsgRequirementInactive;
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
|
||||
feedbackMsg = isSpecialActive &&
|
||||
productionRequirements.SpecialId != null &&
|
||||
productionRequirements.SpecialVersion != null ?
|
||||
Resources.StrWarningMsgSpecialRequirementActive +
|
||||
$" Id.Ver: {productionRequirements.SpecialId}.{productionRequirements.SpecialVersion}" :
|
||||
Resources.StrSuccessMsgRequirementActive +
|
||||
$" Id.Ver {productionRequirements.StandardId}.{productionRequirements.StandardVersion}";
|
||||
|
||||
|
||||
return StatusReturn.Okay;
|
||||
}
|
||||
/// <summary>
|
||||
/// Check the measurements from Kitron for this specific Cordonel if it is an EMEA region.
|
||||
/// </summary>
|
||||
@@ -61,7 +121,7 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
|
||||
feedbackMsg = Resources.StrSuccessMsgRadioSignalLevels + ". " + meterInfo;
|
||||
feedbackMsg = Resources.StrSuccessMsgRadioSignalLevels + " - " + meterInfo;
|
||||
return StatusReturn.Okay;
|
||||
}
|
||||
|
||||
|
||||
+55
-55
@@ -154,14 +154,14 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
|
||||
/// - Remaining run time in years,
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2025-Mai-15" author="Roland Drahbesh">
|
||||
/// <remarks date="2025-Jun-18" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
public override StatusReturn ExecuteProcess()
|
||||
{
|
||||
#region ----------------------------------- Check Requirements --------------------------------------------
|
||||
|
||||
var statusReturn = CheckRequirements(out var feedbackMsg);
|
||||
var statusReturn = GenericChecks.CheckRequirements(ProductionRequirements, out var feedbackMsg);
|
||||
if (StatusReturn.Failed == statusReturn)
|
||||
{
|
||||
ErrorMsgDispatcher(feedbackMsg);
|
||||
@@ -337,64 +337,64 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check for requirement permission special or standard or none:
|
||||
/// - If the special requirement is active all fields a filled with the according values from this "special"
|
||||
/// requirement,
|
||||
/// - Else those fields contain the "standard" requirements!
|
||||
///
|
||||
/// Software Requirement Specification:
|
||||
/// [SRS_TBF_PICK_PP_CHECK_PROD_STATE_001]_Check_Requirements
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="feedbackMsg"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2025-Mai-15" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private StatusReturn CheckRequirements(out String feedbackMsg)
|
||||
{
|
||||
feedbackMsg = "";
|
||||
if (ProductionRequirements == null)
|
||||
{
|
||||
feedbackMsg = Resources.StrErrorMsgProductionRequirements;
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
///// <summary>
|
||||
///// Check for requirement permission special or standard or none:
|
||||
///// - If the special requirement is active all fields a filled with the according values from this "special"
|
||||
///// requirement,
|
||||
///// - Else those fields contain the "standard" requirements!
|
||||
/////
|
||||
///// Software Requirement Specification:
|
||||
///// [SRS_TBF_PICK_PP_CHECK_PROD_STATE_001]_Check_Requirements
|
||||
/////
|
||||
///// </summary>
|
||||
///// <param name="feedbackMsg"></param>
|
||||
///// <returns></returns>
|
||||
///// <remarks date="2025-Mai-15" author="Thomas Wiedebusch">
|
||||
///// - Initial.
|
||||
///// </remarks>
|
||||
//private StatusReturn CheckRequirements(out String feedbackMsg)
|
||||
//{
|
||||
// feedbackMsg = "";
|
||||
// if (ProductionRequirements == null)
|
||||
// {
|
||||
// feedbackMsg = Resources.StrErrorMsgProductionRequirements;
|
||||
// return StatusReturn.Failed;
|
||||
// }
|
||||
|
||||
// Check if requirement is active (free for production) and approved by a second person. Priority special
|
||||
// requirement.
|
||||
var isSpecialActive = false;
|
||||
var isStandardActive = false;
|
||||
if (ProductionRequirements.IsSpecialActive != null && (Boolean)ProductionRequirements.IsSpecialActive &&
|
||||
ProductionRequirements.IsSpecialApproved != null && (Boolean)ProductionRequirements.IsSpecialApproved)
|
||||
isSpecialActive = true;
|
||||
if (ProductionRequirements.IsStandardActive != null && (Boolean)ProductionRequirements.IsStandardActive &&
|
||||
ProductionRequirements.IsStandardApproved != null && (Boolean)ProductionRequirements.IsStandardApproved)
|
||||
isStandardActive = true;
|
||||
// // Check if requirement is active (free for production) and approved by a second person. Priority special
|
||||
// // requirement.
|
||||
// var isSpecialActive = false;
|
||||
// var isStandardActive = false;
|
||||
// if (ProductionRequirements.IsSpecialActive != null && (Boolean)ProductionRequirements.IsSpecialActive &&
|
||||
// ProductionRequirements.IsSpecialApproved != null && (Boolean)ProductionRequirements.IsSpecialApproved)
|
||||
// isSpecialActive = true;
|
||||
// if (ProductionRequirements.IsStandardActive != null && (Boolean)ProductionRequirements.IsStandardActive &&
|
||||
// ProductionRequirements.IsStandardApproved != null && (Boolean)ProductionRequirements.IsStandardApproved)
|
||||
// isStandardActive = true;
|
||||
|
||||
// At least one requirement needs to be active and a requirement number and version has to be set
|
||||
if ((!isStandardActive && !isSpecialActive) ||
|
||||
// The standard Id and version have always to be set even if the special is active
|
||||
ProductionRequirements.StandardId == null || ProductionRequirements.StandardVersion == null ||
|
||||
// If the special is active the version and Id have to be defined
|
||||
(isSpecialActive && (ProductionRequirements.SpecialId == null ||
|
||||
ProductionRequirements.SpecialVersion == null)))
|
||||
{
|
||||
feedbackMsg = Resources.StrErrorMsgRequirementInactive;
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
// // At least one requirement needs to be active and a requirement number and version has to be set
|
||||
// if ((!isStandardActive && !isSpecialActive) ||
|
||||
// // The standard Id and version have always to be set even if the special is active
|
||||
// ProductionRequirements.StandardId == null || ProductionRequirements.StandardVersion == null ||
|
||||
// // If the special is active the version and Id have to be defined
|
||||
// (isSpecialActive && (ProductionRequirements.SpecialId == null ||
|
||||
// ProductionRequirements.SpecialVersion == null)))
|
||||
// {
|
||||
// feedbackMsg = Resources.StrErrorMsgRequirementInactive;
|
||||
// return StatusReturn.Failed;
|
||||
// }
|
||||
|
||||
feedbackMsg = isSpecialActive &&
|
||||
ProductionRequirements.SpecialId != null &&
|
||||
ProductionRequirements.SpecialVersion != null ?
|
||||
Resources.StrWarningMsgSpecialRequirementActive +
|
||||
$" Id.Ver: {ProductionRequirements.SpecialId}.{ProductionRequirements.SpecialVersion}" :
|
||||
Resources.StrSuccessMsgRequirementActive +
|
||||
$" Id.Ver {ProductionRequirements.StandardId}.{ProductionRequirements.StandardVersion}";
|
||||
// feedbackMsg = isSpecialActive &&
|
||||
// ProductionRequirements.SpecialId != null &&
|
||||
// ProductionRequirements.SpecialVersion != null ?
|
||||
// Resources.StrWarningMsgSpecialRequirementActive +
|
||||
// $" Id.Ver: {ProductionRequirements.SpecialId}.{ProductionRequirements.SpecialVersion}" :
|
||||
// Resources.StrSuccessMsgRequirementActive +
|
||||
// $" Id.Ver {ProductionRequirements.StandardId}.{ProductionRequirements.StandardVersion}";
|
||||
|
||||
|
||||
return StatusReturn.Okay;
|
||||
}
|
||||
// return StatusReturn.Okay;
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// Check production order number between meter and requirements.
|
||||
|
||||
Reference in New Issue
Block a user