Quality Panel Web Interface

From Commander4j

The Quality Panel Web Interface is a web application that runs alongside the main Commander4j desktop application. It provides a browser-based interface, designed for use on tablets or desktop browsers, through which quality technicians and panellists can manage and record the results of panel-based quality inspections.

The web service is deployed to Apache Tomcat as c4j_web_WS.war and communicates with the same database as the Commander4j desktop application. It exposes a REST API that returns JSON, allowing it to be driven from any browser without requiring a locally installed application.

Purpose

Panel inspections are used in food and drink manufacturing to assess the sensory quality of products — appearance, texture, taste, aroma, and similar attributes. A panel typically involves several trained assessors evaluating samples drawn from a production run. The Quality Panel Web Interface supports the full lifecycle of a panel session, from initial setup through to result recording and closure.

Panel Lifecycle

A panel moves through three states:

Status Meaning
Panel The panel is open and in progress. Samples and results can be added.
Complete Assessment is finished but results have not yet been posted back to the main QM module.
Closed Results have been posted. The panel record is read-only.

Structure

The system organises panel data in a hierarchy:

  • Panel — the top-level record, associated with a process order, date, and shift
    • Tray — a physical tray of samples presented to the panel; a panel may have multiple trays
      • Sample — an individual product sample within a tray
        • Result — one or more scored results recorded against each sample

REST API Endpoints

The web service provides the following endpoints. All responses are JSON.

Panels

Method Path Description
GET /Panels?panelID={id} Retrieve a single panel by ID
GET /Panels?status={status} Retrieve all panels with a given status (Panel, Complete, Closed)
POST /Panels Create a new panel
PUT /Panels Update an existing panel (e.g. change status)

Trays

Method Path Description
GET /Trays?panelID={id} Retrieve all trays for a panel
GET /Trays?panelID={id}&queryType=TrayID&trayID={id} Retrieve a specific tray by ID
GET /Trays?panelID={id}&queryType=TraySequence&traySequence={n} Retrieve a tray by its sequence number within the panel
POST /Trays Create a new tray
PUT /Trays Update a tray

Tray Samples

Method Path Description
GET /TraySamples?panelID={id} Retrieve all samples for a panel
POST /TraySamples Add a sample to a tray
PUT /TraySamples Update a sample record

Results

Method Path Description
POST /TrayResults Record a result against a sample
PUT /TrayResults Update a previously recorded result

Supporting Endpoints

Method Path Description
GET /Users Retrieve the list of active Commander4j users (used to populate operator dropdowns)
GET /Controls Retrieve system control values
GET /SelectLists Retrieve selection list values used for grading dropdowns

Configuration

The web application reads its database connection from a hosts.xml file located in the application's xml/hosts/ folder within the deployed WAR. This file is in the same format as the hosts.xml used by the Commander4j desktop and Setup4j. The credentials stored in this file are AES-encrypted.

The selectedHostID setting in the application determines which database connection entry is used at runtime.

Relationship to the Desktop QM Module

The Quality Panel Web Interface works alongside the desktop Quality Management module. Inspection definitions, test dictionaries, and select lists are configured through the desktop application. Panel results recorded via the web interface are stored in the same database tables and are visible in the desktop Results Analysis and Reporting screen once a panel is closed.

See also: Inspections, Dictionary, Update Samples, Results Analysis and Reporting, Quality Control Sample