diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckProductionState.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckProductionState.cs index 3f203e66..a96975d6 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckProductionState.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckProductionState.cs @@ -647,6 +647,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr /// /// - New IsSpecialApproved and IsStandardApproved. /// + /// + /// - Modified for generic checks. + /// 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; } diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericModules/GenericChecks.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericModules/GenericChecks.cs index 37a1a667..08a69bbe 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericModules/GenericChecks.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericModules/GenericChecks.cs @@ -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; @@ -19,6 +20,65 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener internal static class GenericChecks { /// + /// 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 + /// + /// + /// + /// + /// + /// + /// - Initial. + /// + 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; + } + /// /// Check the measurements from Kitron for this specific Cordonel if it is an EMEA region. /// /// @@ -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; } diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckProductionState.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckProductionState.cs index 7e4efa18..c53d57ff 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckProductionState.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckProductionState.cs @@ -154,14 +154,14 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki /// - Remaining run time in years, /// /// - /// + /// /// - Initial. /// 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; } - /// - /// 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 - /// - /// - /// - /// - /// - /// - Initial. - /// - private StatusReturn CheckRequirements(out String feedbackMsg) - { - feedbackMsg = ""; - if (ProductionRequirements == null) - { - feedbackMsg = Resources.StrErrorMsgProductionRequirements; - return StatusReturn.Failed; - } + ///// + ///// 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 + ///// + ///// + ///// + ///// + ///// + ///// - Initial. + ///// + //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; + //} /// /// Check production order number between meter and requirements.