Atualização automática - 2026-06-24 13:47:42

This commit is contained in:
2026-06-24 13:47:42 +00:00
parent f75e25e799
commit 4c86721c75
4 changed files with 51 additions and 5 deletions
+16
View File
@@ -0,0 +1,16 @@
import fs from 'fs';
import { validateCertificateAgainstStandard } from './services/validationEngine.js'; // Need to mock or transpile
const std = JSON.parse(fs.readFileSync('./data/standards.json', 'utf8'))[0];
const report = {
identification: { product: "PERFIL I" },
compliance: {
mechanical: [
{ property: "Yield Strength (Limite de Escoamento)", certificate: "415 MPa", status: "OK" },
{ property: "Tensile Strength", certificate: "547 MPa", status: "OK" }
],
chemical: []
}
};
// We can't import typescript directly in node easily without tsx or ts-node.
+17
View File
@@ -0,0 +1,17 @@
import fs from 'fs';
import { validateCertificateAgainstStandard } from './services/validationEngine';
const std = JSON.parse(fs.readFileSync('./data/standards.json', 'utf8'))[0];
const report: any = {
identification: { product: "PERFIL I", standards: "ASTM A572 GR50" },
compliance: {
mechanical: [
{ property: "Yield Strength (Limite de Escoamento)", certificate: "415 MPa", status: "OK" },
{ property: "Tensile Strength (Limite de Resistência)", certificate: "547 MPa", status: "OK" }
],
chemical: []
}
};
const result = validateCertificateAgainstStandard(report, std);
console.log(JSON.stringify(result.compliance.mechanical, null, 2));
+15 -5
View File
@@ -198,19 +198,29 @@ export function validateCertificateAgainstStandard(extractedReport: ReportData,
let status: 'OK' | 'FALHA' = 'OK';
let normStr = [];
if (minLimit !== null) {
if (minLimit !== null && maxLimit !== null) {
normStr.push(`Min: ${minLimit} - Max: ${maxLimit}`);
if (val < minLimit) {
status = 'FALHA';
item.differencePercentage = `${(((val - minLimit) / minLimit) * 100).toFixed(1)}%`;
} else if (val > maxLimit) {
status = 'FALHA';
item.differencePercentage = `+${(((val - maxLimit) / maxLimit) * 100).toFixed(1)}%`;
} else {
item.differencePercentage = `+${(((val - minLimit) / minLimit) * 100).toFixed(1)}%`;
}
} else if (minLimit !== null) {
normStr.push(`Min: ${minLimit}`);
if (val < minLimit) status = 'FALHA';
item.differencePercentage = `${val >= minLimit ? '+' : ''}${(((val - minLimit) / minLimit) * 100).toFixed(1)}%`;
}
if (maxLimit !== null) {
} else if (maxLimit !== null) {
normStr.push(`Max: ${maxLimit}`);
if (val > maxLimit) status = 'FALHA';
item.differencePercentage = `${val <= maxLimit ? '-' : '+'}${Math.abs(((val - maxLimit) / maxLimit) * 100).toFixed(1)}%`;
}
if (normStr.length > 0) {
item.norm = normStr.join(' - ');
item.norm = normStr.join(' | ');
} else {
item.norm = '-';
}
+3
View File
@@ -8,6 +8,9 @@ export default defineConfig(({ mode }) => {
server: {
port: 3000,
host: '0.0.0.0',
proxy: {
'/api': 'http://localhost:8081'
}
},
plugins: [react()],
define: {