CREATE TABLE faturamento (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    data TEXT,
    ticket TEXT,
    transportadora TEXT,
    produto TEXT,
    peso REAL,
    tempo_faturamento TEXT
);

CREATE TABLE pesagem (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    data TEXT,
    placa TEXT,
    peso_entrada REAL,
    peso_saida REAL,
    tempo_no_patio TEXT
);

CREATE TABLE biometria (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    colaborador TEXT,
    turno TEXT,
    entrada TEXT,
    saida TEXT
);
INSERT INTO faturamento (data, ticket, transportadora, produto, peso, tempo_faturamento)
VALUES
('2025-01-01', 'T001', 'Transvale', 'Etanol', 28000, '00:06:30'),
('2025-01-01', 'T002', 'Rodomax', 'Diesel', 32000, '00:05:20'),
('2025-01-02', 'T003', 'Transvale', 'Gasolina', 29500, '00:07:10'),
('2025-01-03', 'T004', 'LogBR', 'Etanol', 31000, '00:06:50');

INSERT INTO pesagem (data, placa, peso_entrada, peso_saida, tempo_no_patio)
VALUES
('2025-01-01', 'ABC1234', 12000, 40500, '01:20:00'),
('2025-01-01', 'XYZ9090', 15000, 44500, '01:05:00'),
('2025-01-02', 'QWE2222', 11000, 39000, '01:32:00'),
('2025-01-03', 'KLM4455', 13000, 42000, '01:10:00');

INSERT INTO biometria (colaborador, turno, entrada, saida)
VALUES
('João Silva', '1º turno', '2025-01-01 06:02:00', '2025-01-01 14:01:00'),
('Maria Souza', '1º turno', '2025-01-01 05:59:00', '2025-01-01 14:03:00'),
('Pedro Santos', '2º turno', '2025-01-01 14:05:00', '2025-01-01 22:11:00');

SELECT
    printf(
        '%02d:%02d:%02d',
        AVG((substr(tempo_faturamento,1,2) * 3600) +
            (substr(tempo_faturamento,4,2) * 60) +
            (substr(tempo_faturamento,7,2))) / 3600,
        (AVG((substr(tempo_faturamento,1,2) * 3600) +
             (substr(tempo_faturamento,4,2) * 60) +
             (substr(tempo_faturamento,7,2))) % 3600) / 60,
        AVG((substr(tempo_faturamento,1,2) * 3600) +
            (substr(tempo_faturamento,4,2) * 60) +
            (substr(tempo_faturamento,7,2))) % 60
    ) AS tempo_medio
FROM faturamento;

SELECT 
    transportadora,
    COUNT(*) AS total_tickets
FROM faturamento
GROUP BY transportadora
ORDER BY total_tickets DESC;

SELECT
    printf(
        '%02d:%02d:%02d',
        AVG((substr(tempo_no_patio,1,2) * 3600) +
            (substr(tempo_no_patio,4,2) * 60) +
            (substr(tempo_no_patio,7,2))) / 3600,
        (AVG((substr(tempo_no_patio,1,2) * 3600) +
             (substr(tempo_no_patio,4,2) * 60) +
             (substr(tempo_no_patio,7,2))) % 3600) / 60,
        AVG((substr(tempo_no_patio,1,2) * 3600) +
            (substr(tempo_no_patio,4,2) * 60) +
            (substr(tempo_no_patio,7,2))) % 60
    ) AS tempo_medio
FROM pesagem;

SELECT 
    produto,
    SUM(peso) AS total_peso
FROM faturamento
GROUP BY produto
ORDER BY total_peso DESC;

SELECT
    colaborador,
    printf('%02d:%02d',
        CAST(((julianday(saida) - julianday(entrada)) * 24) AS INTEGER),
        CAST((((julianday(saida) - julianday(entrada)) * 24 * 60) 
               % 60) AS INTEGER)
    ) AS horas_formatadas
FROM biometria;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: