diff --git a/app.py b/app.py index 7cd80d8..b4af1f0 100644 --- a/app.py +++ b/app.py @@ -1324,9 +1324,18 @@ def planning(): conn = get_db() printers = [dict(r) for r in conn.execute('SELECT * FROM printers ORDER BY id').fetchall()] unscheduled = conn.execute(''' - SELECT j.*, c.name as client_name + SELECT j.*, c.name as client_name, + COALESCE((SELECT COUNT(*) FROM print_slots ps + WHERE ps.job_id=j.id + AND ps.status NOT IN ('cancelled','failed')), 0) as scheduled_plates, + (COALESCE(j.order_qty,1) + COALESCE(j.pieces_per_plate,1) - 1) + / COALESCE(j.pieces_per_plate,1) as total_plates_needed FROM jobs j LEFT JOIN clients c ON j.client_id=c.id - WHERE j.id NOT IN (SELECT DISTINCT job_id FROM print_slots WHERE status NOT IN ('cancelled','failed')) + WHERE (COALESCE(j.order_qty,1) + COALESCE(j.pieces_per_plate,1) - 1) + / COALESCE(j.pieces_per_plate,1) + > COALESCE((SELECT COUNT(*) FROM print_slots ps + WHERE ps.job_id=j.id + AND ps.status NOT IN ('cancelled','failed')), 0) ORDER BY j.created_at DESC LIMIT 20''').fetchall() blocks = conn.execute( "SELECT * FROM calendar_blocks" diff --git a/templates/planning.html b/templates/planning.html index 3f050e0..94b23a7 100644 --- a/templates/planning.html +++ b/templates/planning.html @@ -49,6 +49,7 @@ {% if unscheduled %}
{% for j in unscheduled %} + {% set missing = j.total_plates_needed - j.scheduled_plates %}
@@ -58,6 +59,15 @@ {% if j.order_qty > 1 %} · ×{{ j.order_qty }} pièces{% endif %} {% if j.client_name %} · {{ j.client_name }}{% endif %}
+ {% if j.total_plates_needed > 1 %} +
+ + + Plateau {{ j.scheduled_plates + 1 }}/{{ j.total_plates_needed }} + {% if missing > 1 %} · {{ missing }} restants{% endif %} + +
+ {% endif %}