Skip to main content
The Diecut Production module manages die-cutting and conversion operations, tracking unit production, waste rates, die series usage, and multi-activity workflows for both rotary and flatbed die-cutters.

Overview

The diecut production system handles:
  • Multi-activity tracking for diverse conversion processes
  • Die series management and tooling status
  • Unit-based production tracking
  • Waste/scrap monitoring and rates
  • Frequency tracking for flatbed die-cutters
  • KPI dashboard with real-time metrics
Component: ProductionDiecutComponent
Location: src/features/production/production-diecut.component.ts

Data Models

DiecutActivity Interface

Represents individual activities within a diecut report:
type
string
required
Activity type (e.g., “TROQUELADO”, “SETUP”, “REPUJADO”)
startTime
string
required
Activity start time in HH:mm format
endTime
string
required
Activity end time in HH:mm format
qty
number
required
Quantity produced during this activity (0 for non-productive activities)
observations
string
Activity-specific observations or notes

DiecutReport Interface

Main report structure for diecut production:
id
string
required
Unique report identifier (e.g., “REP-TRQ-1000”)
date
Date
required
Report timestamp
ot
string
required
Work order number
client
string
required
Client name (Razón Social)
product
string
required
Product description
machine
string
required
Machine name (e.g., “Plana 1”, “Rotativa 2”)
operator
string
required
Operator responsible for the shift
shift
string
required
Shift identifier (e.g., “Día - A”, “Noche - B”)
dieSeries
string
required
Die series/number used (e.g., “TR-8245”)
frequency
string
Frequency setting (flatbed die-cutters only)
goodUnits
number
required
Total good units produced
waste
number
required
Total waste/scrap units
dieStatus
'OK' | 'Desgaste' | 'Dañado'
required
Die tooling condition status
activities
DiecutActivity[]
required
Array of production activities
productionStatus
'PARCIAL' | 'TOTAL'
required
Production completion status
observations
string
General observations for the report

Activity Types

The system supports multiple conversion operations (operator-form.component.ts:557):
diecutActivityTypes = [
  'SETUP',
  'TROQUELADO',
  'ESTAMPADO',
  'LAMINADO',
  'REPUJADO',
  'TROQUELADO + PREPICADO',
  'PREPICADO',
  'PARADA-MANTENIMIENTO',
  'PARADA-TROQUEL DAÑADO',
  'PARADA-FALLA DE MÁQUINA',
  'PARADA-OTROS'
];

Activity Classification

  • TROQUELADO: Standard die-cutting operation
  • ESTAMPADO: Hot foil stamping
  • LAMINADO: Lamination process
  • REPUJADO: Embossing operation
  • TROQUELADO + PREPICADO: Die-cutting with pre-perforation
  • PREPICADO: Pre-perforation only

KPI Metrics

The dashboard displays four key performance indicators (production-diecut.component.ts:420):

Unidades Producidas

const totalUnits = this.reports.reduce((acc, r) => acc + r.goodUnits, 0);
  • Sum of all good units produced
  • Displayed with comparison (e.g., “+8% vs semana anterior”)

Tasa de Mermas

const totalWaste = this.reports.reduce((acc, r) => acc + r.waste, 0);
const wasteRate = totalUnits > 0 ? (totalWaste / totalUnits) * 100 : 0;
  • Percentage of waste relative to total units
  • Lower percentages indicate better efficiency

Horas Operativas

const totalHours = this.reports.length * 8; // Estimated hours per report
  • Total operational hours across all machines
  • Estimated based on report count

Desgaste Herramental

const toolingIssues = this.reports.filter(r => r.dieStatus !== 'OK').length;
  • Number of reports with die issues (Desgaste or Dañado)
  • Indicates maintenance requirements

Die Status Management

Status Values

Die condition tracking (production-diecut.component.ts:442):
  • Color: Emerald (green)
  • Meaning: Die in good condition, normal operation
  • Class: bg-emerald-500/10 text-emerald-400 border-emerald-500/20

Status Logic Example

// From production-diecut.component.ts:380
const dieStatus = index % 5 === 0 ? 'Desgaste' : 
                  (index % 20 === 0 ? 'Dañado' : 'OK');

Flatbed vs Rotary Die-Cutters

Machine Type Detection

The system automatically detects machine type (operator-form.component.ts:617):
get isFlatbed(): boolean {
  return (this.machineName || '').toUpperCase().includes('PLANA');
}

Flatbed-Specific Features

Flatbed die-cutters require frequency tracking, which specifies the number of strokes or cycles per operation.
// Flatbed frequency input (operator-form.component.ts:299)
<div *ngIf="isFlatbed" class="bg-purple-500/10 border border-purple-500/20 rounded-xl p-4">
  <label>Frecuencia (Troqueladora Plana)</label>
  <input type="text" [(ngModel)]="formData.frequency" 
         placeholder="Ingrese frecuencia...">
</div>

Report Workflow

1

Access Module

Navigate to operator terminal and select Troquelado station (ST-02)
2

Select Machine

Choose die-cutting machine from available equipment:
  • Rotary die-cutters (Rotativa 1, Rotativa 2)
  • Flatbed die-cutters (Plana 1, Plana 2)
3

Search Work Order

Enter OT number or use autocomplete to find:
  • Work order number
  • Client name
  • Product details
4

Enter Die Series

Record the die series/number being used (e.g., “TR-8245”)The system may auto-populate from OT data:
dieSeries: ot.troquel || `TR-${ot.OT.slice(-4)}`
5

Set Frequency (Flatbed Only)

If using a flatbed die-cutter, enter the frequency setting
6

Add Activities

For each activity during the shift:
  1. Select activity type
  2. Enter start time
  3. Enter end time
  4. Enter meters produced
  5. Add activity-specific observations
  6. Click Agregar
System tracks total meters across all activities.
7

Record Die Status

Inspect and select die condition:
  • OK: Continue normal operation
  • Desgaste: Note for maintenance scheduling
  • Dañado: Requires immediate attention
8

Set Production Status

Choose:
  • PARCIAL: Shift closure, work order incomplete
  • TOTAL: Work order fully completed
9

Add Observations

Document:
  • Die performance issues
  • Quality concerns (e.g., “Troquel presenta rebabas en bordes derechos”)
  • Material issues
  • Handoff notes
10

Submit Report

Click Confirmar y Guardar ReporteSystem creates audit log:
details = `Op: ${operator}, Troquel: ${dieSeries}, ` +
          `Actividades: [${activitySummary}], Total Mts: ${totalMeters}`;

Activity Tracking Example

Typical diecut shift activities (production-diecut.component.ts:383):
const activities: DiecutActivity[] = [
  { 
    type: 'SETUP', 
    startTime: '08:00', 
    endTime: '09:00', 
    qty: 0 
  },
  { 
    type: 'TROQUELADO', 
    startTime: '09:00', 
    endTime: '12:00', 
    qty: Math.floor(goodUnits * 0.4) 
  },
  { 
    type: 'REPUJADO', 
    startTime: '12:00', 
    endTime: '14:00', 
    qty: Math.floor(goodUnits * 0.3) 
  },
  { 
    type: 'TROQUELADO', 
    startTime: '14:00', 
    endTime: '16:00', 
    qty: Math.floor(goodUnits * 0.3) 
  }
];

Report Detail Modal

Clicking a report row opens detailed view showing:

Product Information Section

  • Client name
  • Product description
  • Machine assigned
  • Operator name

Production Metrics Section

Unidades Buenas

Total good units produced (large emerald display)

Mermas

Total waste units (large red display)
Troquel Usado badge shows die series with status indicator

Activities Table

Columns:
  • Actividad: Activity name with status dot
  • Horario: Time range
  • Duración: Calculated duration
  • Cant. Prod.: Quantity produced
  • Obs: Activity-specific observations
Footer displays Total Producción sum.

Search and Filtering

Real-time search across multiple fields (production-diecut.component.ts:410):
get filteredReports() {
  const term = this.searchTerm.toLowerCase();
  return this.reports.filter(r => 
    r.ot.toLowerCase().includes(term) ||
    r.machine.toLowerCase().includes(term) ||
    r.dieSeries.toLowerCase().includes(term) ||
    r.client.toLowerCase().includes(term)
  );
}
Searchable fields:
  • OT number
  • Machine name
  • Die series
  • Client name

Waste Rate Analysis

Calculation

const totalWaste = reports.reduce((acc, r) => acc + r.waste, 0);
const totalUnits = reports.reduce((acc, r) => acc + r.goodUnits, 0);
const wasteRate = (totalWaste / totalUnits) * 100;

Visual Indicator

Waste rate is displayed with a progress bar:
<div class="w-full bg-slate-700/50 h-1.5 rounded-full">
  <div class="bg-red-500 h-full rounded-full" 
       [style.width.%]="kpis.wasteRate * 10">
  </div>
</div>
Interpretation:
  • < 2%: Excellent
  • 2-4%: Good
  • 4-6%: Acceptable
  • > 6%: Requires investigation

Best Practices

Inspect die condition before starting production
Record exact die series number for traceability
Document any die wear immediately when noticed
For flatbed machines, always record frequency setting
Track waste by activity to identify problem areas
Add observations for any quality issues or die performance
Never continue production with damaged dies - mark as “Dañado”
Schedule maintenance when die status is “Desgaste”
Verify unit counts match expected quantities for the OT

Build docs developers (and LLMs) love