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;
To embed this project on your website, copy the following code and paste it into your website's HTML: