Skip to main content
The Rewind Production module manages the final stage of label production, tracking roll finishing, label counting, and quality assurance for finished goods ready for packaging.

Overview

The rewind production system handles:
  • Roll counting and tracking
  • Label quantity verification
  • Linear meter calculations
  • Quality check validation
  • Multi-machine operations (Rebobinadora 1, Rebobinadora 2, Rotoflex, REB EVO)
Component: ProductionRewindComponent
Location: src/features/production/production-rewind.component.ts

Data Model

While the component uses a simplified inline model, the report structure includes:
id
string
required
Unique report identifier (e.g., “REP-RBB-800”)
date
Date
required
Report timestamp
ot
string
required
Work order number
client
string
required
Client name (Razón Social)
description
string
required
Product description
machine
string
required
Rewinding machine name
rolls
number
required
Total number of finished rolls
totalLabels
number
required
Total label count across all rolls
meters
number
required
Total linear meters produced
qualityCheck
boolean
required
Quality inspection passed/pending status

Available Machines

Rewind operations support four machine types (production-rewind.component.ts:101):
const machines = [
  'REBOBINADORA 1',
  'REBOBINADORA 2', 
  'ROTOFLEX',
  'REB EVO'
];

REBOBINADORA 1

Primary rewinding machine for standard operations

REBOBINADORA 2

Secondary rewinding machine for parallel production

ROTOFLEX

High-speed rotary rewinder for large volume orders

REB EVO

Advanced rewinding system with quality inspection capabilities

Report Generation Logic

The system generates rewind reports from completed work orders (production-rewind.component.ts:97):
get reports() {
  const ots = this.ordersService.ots.slice(5, 20);

  return ots.map((ot, index) => {
    const machine = machines[index % machines.length];
    const rolls = Math.floor(Math.random() * 50) + 5;
    const labelsPerRoll = Math.floor(Math.random() * 2000) + 500;
    const totalLabels = rolls * labelsPerRoll;
    const meters = Math.floor(totalLabels * 0.05);
    
    const date = new Date();
    date.setDate(date.getDate() - (index % 3));

    return {
      id: `REP-RBB-${800 + index}`,
      date: date,
      ot: ot.OT,
      client: ot['Razon Social'],
      description: ot.descripcion,
      machine: machine,
      rolls,
      totalLabels,
      meters,
      qualityCheck: index % 5 !== 0 // 80% pass rate
    };
  });
}

Calculation Details

Rolls: Random count between 5-55 units Labels Per Roll: Random count between 500-2,500 labels Total Labels:
totalLabels = rolls * labelsPerRoll
Linear Meters:
meters = Math.floor(totalLabels * 0.05)
This assumes approximately 20 labels per linear meter.

User Interface

Header Section

<h1 class="text-xl font-bold text-brand-dark flex items-center gap-2">
  <span class="material-icons text-orange-500">sync</span>
  Reportes de Rebobinado
</h1>
<p class="text-sm text-gray-500">Acabado final, conteo y empaquetado</p>
  • Icon: Orange sync symbol representing rewinding action
  • Description: “Final finishing, counting, and packaging”

Action Bar

  • Search input: Filter reports by OT number
  • Nuevo Reporte button: Create new rewind report

Reports Table

The main data table displays rewind reports with the following columns:
Report date in dd/MM/yyyy format

Row Styling

<tr class="hover:bg-orange-50 transition-colors group cursor-default">
Rows highlight with a subtle orange background on hover, matching the orange theme for rewind operations.

Quality Check Status

Quality inspection is tracked with a boolean flag and displayed with Material Icons:
<span class="material-icons text-sm" 
      [class.text-green-500]="report.qualityCheck" 
      [class.text-gray-300]="!report.qualityCheck">
  {{ report.qualityCheck ? 'check_circle' : 'pending' }}
</span>
  • Icon: check_circle
  • Color: Green (text-green-500)
  • Meaning: Quality inspection passed, ready for packaging

Report Workflow

1

Access Module

Navigate to operator terminal and select Rebobinado station (ST-03)
2

Select Machine

Choose from available rewinding machines:
  • REBOBINADORA 1
  • REBOBINADORA 2
  • ROTOFLEX
  • REB EVO
3

Search Work Order

Enter OT number or scan barcode to load order details
4

Record Production Data

Enter the following measurements:Rolls Finished: Total number of completed rollsLabels Per Roll: Average label count per roll (if uniform), or total label countLinear Meters: Total meters produced (optional if system calculates from label count)
5

Perform Quality Check

Inspect finished rolls for:
  • Proper winding tension
  • Alignment and registration
  • Edge quality
  • Label count accuracy
  • Core integrity
Mark quality check as passed/failed.
6

Submit Report

Click Nuevo Reporte or save to create the rewind report.System records:
  • Roll count
  • Total labels
  • Linear meters
  • Quality status

Integration with Packaging

Rewind reports feed directly into the Packaging module. Once quality check passes, rolls are ready for palletizing and final packaging.
The packaging module uses rewind data to:
  • Track available inventory
  • Verify roll counts match packing lists
  • Calculate excess production (demasía)

Calculations and Formulas

Labels to Meters Conversion

// Assumption: ~20 labels per linear meter
const LABELS_PER_METER = 20;
const meters = Math.floor(totalLabels / LABELS_PER_METER);

// Or reverse:
const estimatedLabels = meters * LABELS_PER_METER;

Roll Distribution

If total labels and target labels per roll are known:
const targetLabelsPerRoll = 1000;
const totalLabels = 50000;
const expectedRolls = Math.ceil(totalLabels / targetLabelsPerRoll);
// Result: 50 rolls

Quality Pass Rate

From the report generation logic:
qualityCheck: index % 5 !== 0
This simulates an 80% pass rate (4 out of 5 reports pass quality inspection).

Report Actions

Each report row includes a visibility icon button:
<button class="text-gray-400 hover:text-orange-600 p-1">
  <span class="material-icons">visibility</span>
</button>
This button opens a detailed view (not fully implemented in the provided code) that would show:
  • Full production breakdown
  • Roll-by-roll details
  • Quality inspection notes
  • Operator information

Search Functionality

While the search input is present in the template, the filtering logic is not explicitly shown. A typical implementation would be:
searchTerm = '';

get filteredReports() {
  const term = this.searchTerm.toLowerCase();
  if (!term) return this.reports;
  
  return this.reports.filter(r => 
    r.ot.toLowerCase().includes(term) ||
    r.client.toLowerCase().includes(term) ||
    r.description?.toLowerCase().includes(term)
  );
}

Best Practices

Verify roll count before marking quality check as passed
Ensure label count matches expected quantity from OT
Inspect winding quality on random sample rolls
Record actual labels per roll if not uniform
Document any discrepancies in label count vs. expected
Coordinate with packaging team for handoff
Do not pass quality check if roll tension is inconsistent
Report missing labels immediately to production supervisor

Build docs developers (and LLMs) love