feat: blindagem de peso em dashboards e kit completo de corte para solda
This commit is contained in:
@@ -171,16 +171,11 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
||||
const processoCorteId = processoCorte.data?.id;
|
||||
const pecasInfoMap = new Map((pecasData || []).map(p => [p.id, p]));
|
||||
|
||||
// 1. Somar peças com componentes apontadas na Solda
|
||||
// 1. Somar peças com componentes apontadas na Solda (apenas tipo peca)
|
||||
if (processoSoldaId) {
|
||||
const apontamentosSolda = apontamentosData.filter(a => a.processo_id === processoSoldaId);
|
||||
const apontamentosSolda = apontamentosData.filter(a => a.processo_id === processoSoldaId && a.tipo_apontamento === 'peca');
|
||||
apontamentosSolda.forEach(apontamento => {
|
||||
let pesoUnitario = 0;
|
||||
if (apontamento.tipo_apontamento === 'componente' && apontamento.componente?.peso_unitario) {
|
||||
pesoUnitario = Number(apontamento.componente.peso_unitario);
|
||||
} else if (apontamento.tipo_apontamento === 'peca' && apontamento.peca?.peso_unitario) {
|
||||
pesoUnitario = Number(apontamento.peca.peso_unitario);
|
||||
}
|
||||
const pesoUnitario = Number(apontamento.peca?.peso_unitario || 0);
|
||||
const pesoApontamento = pesoUnitario * Number(apontamento.quantidade_produzida || 0);
|
||||
pesoTotalFabricado += pesoApontamento;
|
||||
});
|
||||
@@ -357,15 +352,10 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
||||
|
||||
let pesoFabricadoProcesso = 0;
|
||||
apontamentosProcesso.forEach(a => {
|
||||
let pesoUnitario = 0;
|
||||
|
||||
if (a.tipo_apontamento === 'componente' && a.componente?.peso_unitario) {
|
||||
pesoUnitario = Number(a.componente.peso_unitario);
|
||||
} else if (a.tipo_apontamento === 'peca' && a.peca?.peso_unitario) {
|
||||
pesoUnitario = Number(a.peca.peso_unitario);
|
||||
// Apenas apontamentos de peça mestre somam peso no processo para evitar dupla contagem com subcomponentes
|
||||
if (a.tipo_apontamento === 'peca' && a.peca?.peso_unitario) {
|
||||
pesoFabricadoProcesso += Number(a.peca.peso_unitario) * Number(a.quantidade_produzida);
|
||||
}
|
||||
|
||||
pesoFabricadoProcesso += pesoUnitario * Number(a.quantidade_produzida);
|
||||
});
|
||||
|
||||
const isProcessoSolda = processo.nome.toLowerCase().includes('solda');
|
||||
@@ -507,17 +497,12 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
||||
return dataAptStr <= dataStr;
|
||||
});
|
||||
let realizado = 0;
|
||||
apontamentosAteData.forEach(a => {
|
||||
let pesoUnitario = 0;
|
||||
|
||||
if (a.tipo_apontamento === 'componente' && a.componente?.peso_unitario) {
|
||||
pesoUnitario = Number(a.componente.peso_unitario);
|
||||
} else if (a.tipo_apontamento === 'peca' && a.peca?.peso_unitario) {
|
||||
pesoUnitario = Number(a.peca.peso_unitario);
|
||||
}
|
||||
|
||||
realizado += pesoUnitario * Number(a.quantidade_produzida);
|
||||
});
|
||||
apontamentosAteData.forEach(a => {
|
||||
// Apenas peças mestres computam peso realizado no gráfico
|
||||
if (a.tipo_apontamento === 'peca' && a.peca?.peso_unitario) {
|
||||
realizado += Number(a.peca.peso_unitario) * Number(a.quantidade_produzida);
|
||||
}
|
||||
});
|
||||
|
||||
dadosGrafico.push({
|
||||
data: dataStr,
|
||||
|
||||
Reference in New Issue
Block a user