Skip to main content

Overview

The Quality Tracking system provides real-time monitoring of production tooling (clises and dies), usage accumulation, and maintenance status. Proactive tracking prevents equipment failures and ensures consistent product quality.
Tooling status is automatically updated during production runs and can be manually adjusted through the inventory management interface.

Tooling Categories

Photopolymer printing plates used in flexographic printing.Key Metrics:
  • Accumulated linear meters (mtl_acum)
  • Color usage tracking per plate
  • Version history and maintenance records
  • Linked dies for coordinated tracking
From inventory.models.ts:16-43:
export interface CliseItem {
  id: string;
  item: string;              // Plate code
  ubicacion: string;         // Storage location
  descripcion: string;
  cliente: string;
  z: string;                 // Z-axis depth
  linkedDies: string[];      // Associated dies
  ancho: number | null;      // Width
  avance: number | null;     // Advance
  col: number | null;        // Columns
  rep: number | null;        // Repetitions
  n_clises: number | null;   // Number of plates
  mtl_acum: number | null;   // Accumulated meters
  colorUsage?: CliseColorUsage[];
  history: CliseHistory[];
}

Die Status Tracking

Status States

From inventory-die.component.ts:454-460:
get stats() {
  const total = this.dieItems.length;
  const available = this.dieItems.filter(d => d.estado === 'OK').length;
  const maintenance = this.dieItems.filter(d => 
    d.estado === 'Reparacion' || d.estado === 'Mantenimiento'
  ).length;
  const critical = this.dieItems.filter(d => 
    d.estado === 'Dañado' || d.estado === 'Desgaste'
  ).length;
  return { total, available, maintenance, critical };
}

OK (Available)

Die is in good condition and ready for production use

Desgaste (Wear)

Die showing signs of wear, requires monitoring or preventive maintenance

Reparacion (Maintenance)

Die currently undergoing maintenance or repair

Dañado (Damaged)

Die damaged and unavailable for production

Usage History Tracking

History Event Types

From inventory.models.ts:2-9:
export interface CliseHistory {
  date: string;
  type: 'Producción' | 'Mantenimiento' | 'Reparación' | 
        'Cambio Versión' | 'Creación' | 'Baja' | 'Otro';
  description: string;
  user: string;
  machine?: string;   // Machine used
  amount?: number;    // Meters/units processed
}
Records each production run with:
  • Date and time
  • Machine used
  • Linear meters processed
  • Operating user
  • Work order reference
Automatically increments mtl_acum counter.
Scheduled or preventive maintenance activities:
  • Cleaning and inspection
  • Minor adjustments
  • Lubrication and care
Corrective maintenance and repairs:
  • Damage assessment
  • Part replacement
  • Condition restoration
  • Return to service validation
Plate revisions and modifications:
  • Design updates
  • Customer specification changes
  • Quality improvements

Color Usage Tracking (Clises)

From inventory.models.ts:11-14:
export interface CliseColorUsage {
  name: string;     // Color name (e.g., "Cyan", "Magenta")
  meters: number;   // Meters printed with this color
}
Color usage enables:
  • Ink consumption forecasting
  • Color-specific wear analysis
  • Plate replacement planning
  • Cost allocation per color

Critical Tooling Alerts

Die Wear Detection

From inventory-die.component.ts:56-60:
<div class="bg-[#1A222C] rounded-xl p-5 border border-[#2D3748] 
            hover:border-[#EF4444]/50 transition-colors">
  <p class="text-[10px] font-bold text-slate-400 uppercase">Uso Crítico</p>
  <span class="text-3xl font-bold text-white">{{ stats.critical | number }}</span>
</div>
Dies with status Desgaste or Dañado should be replaced before scheduling production runs to avoid quality defects and unplanned downtime.

Multi-Criteria Filtering

From inventory-die.component.ts:418-441:
get filteredAndSortedList() {
  let list = this.baseList;
  
  // Apply Filters
  if (this.filterZ) 
    list = list.filter(i => i.z == this.filterZ);
  if (this.filterMaterial) 
    list = list.filter(i => i.material === this.filterMaterial);
  if (this.filterShape) 
    list = list.filter(i => i.forma === this.filterShape);
  
  // Apply Sort
  if (this.sortColumn) {
    list = [...list].sort((a, b) => {
      const valA = (a as any)[this.sortColumn];
      const valB = (b as any)[this.sortColumn];
      return this.sortDirection === 'asc' 
        ? strA.localeCompare(strB, undefined, {numeric: true})
        : strB.localeCompare(strA, undefined, {numeric: true});
    });
  }
  
  return list;
}

Searchable Fields

  • Serie/Code - Die serial number
  • Cliente - Customer name
  • Medida - Die measurements
  • Ubicacion - Storage location

Storage Location Management

Rack Configuration

From inventory.models.ts:90-108:
export interface RackConfig {
  id: string;
  name: string;
  type: 'clise' | 'die';
  levels: RackLevel[];        // Vertical storage levels
  orientation: 'vertical' | 'horizontal';
}

export interface RackLevel {
  levelNumber: number;
  boxes: RackBox[];           // Storage compartments
}

export interface RackBox {
  label: string;              // Box identifier
  min?: number;               // Size range minimum
  max?: number;               // Size range maximum
  items: (CliseItem | DieItem)[];  // Stored tooling
}
The rack system supports visual 3D location mapping for rapid tooling retrieval and optimized storage density.

Tooling Import and Validation

Data Normalization

From inventory-die.component.ts:530-538:
const { valid, conflicts } = this.inventoryService.normalizeDieData(rawData);

// Valid items have required fields
this.previewData = valid;

// Conflicts flagged for manual review
this.conflictsData = conflicts;  // Missing serie or cliente

Import Validation Rules

1

Required Fields

  • serie (Serial Number) - Must be unique
  • cliente (Customer) - Must be specified
2

Conflict Detection

Records missing required fields are flagged as conflicts and highlighted in the preview
3

Manual Resolution

Conflicts can be imported and resolved later through the edit interface

Production Report Integration

Automatic Usage Updates

From production reports, tooling usage is automatically logged:
// Print report example
export interface PrintReport {
  clise: { code: string; status: string };
  die: { status: string };
  totalMeters: number;        // Auto-increments mtl_acum
}

// Die-cut report example
export interface DiecutReport {
  dieSeries: string;
  goodUnits: number;
  waste: number;
  dieStatus: 'OK' | 'Desgaste' | 'Dañado';
}

Print Reports

Updates clise usage and condition from flexo operations

Die-Cut Reports

Tracks die performance and wear from cutting operations

KPI Dashboard Metrics

From inventory-die.component.ts:39-61:
<!-- Total Troqueles -->
<span class="text-3xl font-bold">{{ stats.total | number }}</span>

<!-- Disponibles (Available) -->
<span class="text-3xl font-bold text-white">{{ stats.available | number }}</span>

<!-- En Mantenimiento (Maintenance) -->
<span class="text-3xl font-bold text-white">{{ stats.maintenance | number }}</span>

<!-- Uso Crítico (Critical) -->
<span class="text-3xl font-bold text-white">{{ stats.critical | number }}</span>

Sorting Capabilities

From inventory-die.component.ts:463-470:
toggleSort(column: string) {
  if (this.sortColumn === column) {
    this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
  } else {
    this.sortColumn = column;
    this.sortDirection = 'asc';
  }
}
Sortable Columns:
  • Medida (Measurement)
  • Ubicacion (Location)
  • Z (Depth)
  • Material
  • Cliente (Customer)
  • Serie (Serial)
  • Estado (Status)

Best Practices

Replace dies showing Desgaste status before they reach Dañado to avoid production quality issues and emergency downtime.
Review mtl_acum (accumulated meters) regularly against manufacturer recommendations to schedule preventive maintenance.
Maintain accurate ubicacion data to minimize tooling retrieval time during changeovers.
Record all maintenance, repairs, and version changes in the history log for warranty tracking and quality audits.

Incident Management

Report tooling failures and track CAPA actions

Inventory Management

Manage clise and die master data

Analytics Reports

Analyze tooling utilization and lifecycle costs

Build docs developers (and LLMs) love