0% found this document useful (0 votes)
3 views

ModifyCodeForSafwan

Uploaded by

nivolal773
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

ModifyCodeForSafwan

Uploaded by

nivolal773
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 11

// Example JSON data structure for boardFilesData

const jsonData = {
"Step1": [
{
"FileInformation": {
"FileRevision": "2.0",
"FileCreationDate": "06 / 04 / 2024 19: 20:29"
},
"TestInformation": {
"SerialNumber": "114",
"JabilFLSerialNumber": "",
"TesterName": "ATM-DSKTP6",
"TestName": "ATM",
"BoardName": "SCR",
"TestStatus": "Fail",
"AssemblyNumber": "114",
"TestStartTime": "06/04/2024 19:20:29",
"TestEndTime": "06/04/2024 19:36:08",
"TotalTestCasesCount": 13,
"PassedTestCasesCount": 11,
"FailedTestCasesCount": 2,
"PassedTestCasesNames": [
"SCR Trigger Power Up",
"SCR FIRING At Optical Trigger",
"Power Supply A.",
"Power Supply B.",
"SCR Channel 1 Under External Disturbance",
"SCR Channel 2 Under External Disturbance",
"SCR Channel 3 Under External Disturbance",
"SCR Channel 5 Under External Disturbance",
"Status FB No SCR Firing",
"Status FB All SCR Firing",
"Common Cathode"
],
"FailedTestCasesNames": [
"SCR Channel 4 Under External Disturbance",
"SCR Firing Surge Event Cold Side"
],
"SoftwareInformation": {
"SoftwareRevision": "v5.4.6",
"FirmwareRevision": "N/A",
"SoftwareRevisionReleaseDate": null,
"FirmwareRevisionReleaseDate": null
},
"Status": "Complete",
"UserRole": "Admin"
},
"TestCaseData": [
{
"testCaseName": "SCR Trigger Power Up",
"TestStatus": "Pass",
"TestSteps": [
{
"TestDescription": "1: Apply logic High at optical signals U48
(SCR_PAIR_1-3 Enable) and U75 (SCR_PAIR_4-5 Enable)",
"ResultValue": "Successfully applied ",
"ResultUnit": null,
"Status": "Pass",
"CriteriaType": "1",
"CriteriaUpperLimit": "Successfully applied",
"CriteriaLowerLimit": "Successfully applied",
"CriteriaTolerance": null
},
{
"TestDescription": "2: Apply 30 V at input connectors of SCR driver
board CONN1 and CONN2 using Power Supply and capture the SCR gate signal waveforms
at each SCR channel",
"ResultValue": "Successfully applied ",
"ResultUnit": null,
"Status": "Pass",
"CriteriaType": "1",
"CriteriaUpperLimit": "Successfully applied",
"CriteriaLowerLimit": "Successfully applied",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 1 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "1.97",
"ResultUnit": "",
"Status": "Fail",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 2 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.67",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 3 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.76",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 4 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "1.98",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 5 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.68",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 1 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.15",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 2 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.187",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 3 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.299",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 4 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.152",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 5 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.151",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 1 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "32.8",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 2 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "33.6",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 3 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "33.6",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 4 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "33.6",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 5 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "35.2",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "6: Verify the frequency of Gate Current Feedback
signal in case of SCR Channels 1-3 firing",
"ResultValue": "1065 ",
"ResultUnit": "Hz",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "1128 ",
"CriteriaLowerLimit": "920 ",
"CriteriaTolerance": null
},
{
"TestDescription": "7: Verify the frequency of Gate Current Feedback
signal in case of SCR Channels 4-5 firing",
"ResultValue": "467 ",
"ResultUnit": "Hz",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "511 ",
"CriteriaLowerLimit": "418 ",
"CriteriaTolerance": null
}
]
}
]
},
{
"FileInformation": {
"FileRevision": "2.0",
"FileCreationDate": "05 / 15 / 2024 15: 42:17"
},
"TestInformation": {
"SerialNumber": "FBNW06223410030",
"JabilFLSerialNumber": "",
"TesterName": "ATM-DSKTP2",
"TestName": "ATM",
"BoardName": "SCR",
"TestStatus": "Fail",
"AssemblyNumber": "FBNW06223410030",
"TestStartTime": "05/15/2024 15:42:17",
"TestEndTime": "05/15/2024 15:57:33",
"TotalTestCasesCount": 13,
"PassedTestCasesCount": 12,
"FailedTestCasesCount": 1,
"PassedTestCasesNames": [
"SCR Trigger Power Up",
"SCR FIRING At Optical Trigger",
"Power Supply A.",
"Power Supply B.",
"SCR Channel 1 Under External Disturbance",
"SCR Channel 2 Under External Disturbance",
"SCR Channel 3 Under External Disturbance",
"SCR Channel 4 Under External Disturbance",
"SCR Channel 5 Under External Disturbance",
"Status FB No SCR Firing",
"Status FB All SCR Firing",
"Common Cathode"
],
"FailedTestCasesNames": ["SCR Firing Surge Event Hot Side"],
"SoftwareInformation": {
"SoftwareRevision": "v5.4.5",
"FirmwareRevision": "N/A",
"SoftwareRevisionReleaseDate": null,
"FirmwareRevisionReleaseDate": null
},
"Status": "Complete",
"UserRole": "Admin"
},
"TestCaseData": [
{
"testCaseName": "SCR Trigger Power Up",
"TestStatus": "Pass",
"TestSteps": [
{
"TestDescription": "1: Apply logic High at optical signals U48
(SCR_PAIR_1-3 Enable) and U75 (SCR_PAIR_4-5 Enable)",
"ResultValue": "Successfully applied ",
"ResultUnit": null,
"Status": "Pass",
"CriteriaType": "1",
"CriteriaUpperLimit": "Successfully applied",
"CriteriaLowerLimit": "Successfully applied",
"CriteriaTolerance": null
},
{
"TestDescription": "2: Apply 30 V at input connectors of SCR driver
board CONN1 and CONN2 using Power Supply and capture the SCR gate signal waveforms
at each SCR channel",
"ResultValue": "Successfully applied ",
"ResultUnit": null,
"Status": "Pass",
"CriteriaType": "1",
"CriteriaUpperLimit": "Successfully applied",
"CriteriaLowerLimit": "Successfully applied",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 1 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.01",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 2 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.7",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 3 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.75",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 4 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.03",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 5 3: Verify the slope of peak current region
in SCR gate signal waveform",
"ResultValue": "2.08",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "6",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 1 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.149",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 2 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.186",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 3 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.296",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 4 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.151",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 5 4: Verify the minimum current value in SCR
gate signal waveform",
"ResultValue": "2.151",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "2.5",
"CriteriaLowerLimit": "1.8",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 1 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "32.8",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 2 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "33.6",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 3 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "33.6",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 4 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "34.4",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "SCR 5 5: Verify the high pulse time duration in
SCR gate signal waveform",
"ResultValue": "34.4",
"ResultUnit": "",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "40",
"CriteriaLowerLimit": "24",
"CriteriaTolerance": null
},
{
"TestDescription": "6: Verify the frequency of Gate Current Feedback
signal in case of SCR Channels 1-3 firing",
"ResultValue": "1062 ",
"ResultUnit": "Hz",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "1128 ",
"CriteriaLowerLimit": "920 ",
"CriteriaTolerance": null
},
{
"TestDescription": "7: Verify the frequency of Gate Current Feedback
signal in case of SCR Channels 4-5 firing",
"ResultValue": "466 ",
"ResultUnit": "Hz",
"Status": "Pass",
"CriteriaType": "3",
"CriteriaUpperLimit": "511 ",
"CriteriaLowerLimit": "418 ",
"CriteriaTolerance": null
}
]
}
]
}
]
}
function handleTestSteps(jsonData, testCaseName) {
const DataStepsArrayForChart = [];
const SerialNumberArrayForChart = [];
const FailDateFlagForChart = []; // New array for failure flags

// Initialize arrays with empty arrays for each test step


for (let i = 0; i < jsonData.Step1[0].TestCaseData[0].TestSteps.length; i++) {
DataStepsArrayForChart.push([]);
SerialNumberArrayForChart.push([]);
FailDateFlagForChart.push([]); // Initialize FailDateFlagForChart
}

// Iterate through each item in jsonData.Step1


jsonData.Step1.forEach(item => {
const testCaseData = item.TestCaseData.find(tc => tc.testCaseName ===
testCaseName);
const testEndTime = item.TestInformation?.TestEndTime;
const serialNumber = item.TestInformation?.SerialNumber;

// Convert TestEndTime to timestamp if available


const testEndTimeTimestamp = testEndTime ? new
Date(testEndTime).getTime() : null;

// Only proceed if the testCaseData matches the specified testCaseName


if (testCaseData) {
// Process each TestStep
testCaseData.TestSteps.forEach((step, index) => {
const resultValue = step.ResultValue;

// Check if resultValue is valid for DataStepsArrayForChart


if (resultValue && !isNaN(resultValue) && resultValue !== "NaN" &&
resultValue !== "Successfully applied") {
DataStepsArrayForChart[index].push([resultValue, testEndTime]);
if (serialNumber) {
SerialNumberArrayForChart[index].push([serialNumber]);
}
} else {
if (DataStepsArrayForChart[index].length === 0) {
DataStepsArrayForChart[index] = [];
}
SerialNumberArrayForChart[index] = [];
}

// Add to FailDateFlagForChart if the step status is "Fail"


if (step.Status === "Fail" && testEndTimeTimestamp) {
FailDateFlagForChart[index].push({
x: testEndTimeTimestamp,
title: "F"
});
}
});
}
});

let ChartDisplay = [];


Object.keys(DataStepsArrayForChart).map((x) => {
ChartDisplay.push(DataStepsArrayForChart[x].length === 0 ? 0 : 1);
});
return { DataStepsArrayForChart, SerialNumberArrayForChart,
FailDateFlagForChart, ChartDisplay };
}

// Sample usage with test case name


const testCaseName = "SCR Trigger Power Up"; // Specify your test case name
const output = handleTestSteps(jsonData, testCaseName);

// Output results
console.log("DataStepsArrayForChart:",
JSON.stringify(output.DataStepsArrayForChart, null, 2));
console.log("SerialNumberArrayForChart:",
JSON.stringify(output.SerialNumberArrayForChart, null, 2));
console.log("FailDateFlagForChart:", JSON.stringify(output.FailDateFlagForChart,
null, 2)); // Output FailDateFlagForChart
console.log("ChartDisplay:", JSON.stringify(output.ChartDisplay, null, 2)); //
Output the ChartDisplay results

You might also like