<?php
// ─── POST /api/pumps/install-create.php ─────────────────────────────────
define('ROOT', dirname(__DIR__, 2));
require_once ROOT . '/core/DB.php';
require_once ROOT . '/core/Response.php';
require_once ROOT . '/core/Auth.php';

Auth::require();
$db = DB::get();

$drilling_invoice = trim($_POST['drilling_invoice'] ?? '');
$drilling_team_id = (int) ($_POST['drilling_team_id'] ?? 0);
$pump_slip        = trim($_POST['pump_slip']        ?? '');
$client_name      = trim($_POST['client_name']      ?? '');
$area             = trim($_POST['area']             ?? '');
$contact_number   = trim($_POST['contact_number']   ?? '');
$installed_by     = trim($_POST['installed_by']     ?? '');
$date_attended    = trim($_POST['date_attended']    ?? '');
$pump_depth       = (int) ($_POST['pump_depth']     ?? 0);
$cable_meters     = (int) ($_POST['cable_meters']   ?? 0);
$hdpe_meters      = (int) ($_POST['hdpe_meters']    ?? 0);
$crack            = (int) ($_POST['crack']           ?? 0);
$borehole_meters  = (int) ($_POST['borehole_meters'] ?? 0);
$pack_no          = trim($_POST['pack_no']          ?? '');
$pump_no          = trim($_POST['pump_no']          ?? '');
$map_coords       = trim($_POST['map_co_ordinates'] ?? '');
$problem_desc     = trim($_POST['problem_description'] ?? '');
$problem_sol      = trim($_POST['problem_solution']    ?? '');

if (!$drilling_team_id) Response::error('Team is required.');

// Generate jobcard_no: PI_X
$last = (int) $db->scalar("SELECT COALESCE(MAX(record_id), 0) FROM pump_installation");
$jobcard_no = 'PI_' . ($last + 1);

$db->run(
    "INSERT INTO pump_installation
        (jobcard_no, drilling_invoice, drilling_team_id, pump_slip,
         client_name, area, contact_number, installed_by, date_attended,
         pump_depth, cable_meters, hdpe_meters,
         crack, borehole_meters, pack_no, pump_no, map_co_ordinates,
         problem_description, problem_solution, status, jc_current_status)
     VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,'ACTIVE')",
    [$jobcard_no, $drilling_invoice, $drilling_team_id, $pump_slip,
     $client_name, $area, $contact_number, $installed_by, $date_attended,
     $pump_depth, $cable_meters, $hdpe_meters,
     $crack, $borehole_meters, $pack_no, $pump_no, $map_coords,
     $problem_desc, $problem_sol]
);

$record_id = (int) $db->lastId();

Response::ok([
    'record_id'  => $record_id,
    'jobcard_no' => $jobcard_no,
], 'Pump installation created.');