Commit c915a007 authored by Alenso Lopes's avatar Alenso Lopes
Browse files

feat:API insert palanquee in DB

parent dfcb651e
Loading
Loading
Loading
Loading
+26 −8
Changes for app/Http/Controllers/ManualPalanqueeController.php: 26 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -3,9 +3,11 @@
namespace App\Http\Controllers;

use App\Models\DivingGroup;
use App\Models\DivingSignUpModel;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;

class ManualPalanqueeController extends Controller
{
@@ -20,16 +22,32 @@ public function index(){

    public function store(Request $request){
        try {
            $data = $request->json()->all();
            DB::insert('insert into CAR_DIVING_GROUP (DS_CODE, DG_NUMBER) values (?,?)', ['200', '200']);
            $responseData = ['message' => 'Data received successfully', 'additionalData' => $data[count($data) - 1]];
            $divingGroups = $request->json()->all();
            $ds_code = end($divingGroups);
            $maxDG = DivingGroup::select()->where('DS_CODE', $ds_code)->max('DG_NUMBER');
            if($maxDG == null)
                $maxDG = 1;
            else
                $maxDG += 1;
            
            for($i = 0; $i < count($divingGroups) - 1; $i++) {
                $divingNumber = $i + 1;
                if($divingNumber >= $maxDG){
                    Log::info('Creating diving group ' . $maxDG . ' for diving session ' . $ds_code);
                    DivingGroup::insert(['DS_CODE' => $ds_code, 'DG_NUMBER' => $maxDG]);
                    $maxDG += 1;
                }
                
                foreach($divingGroups[$i] as $diver){
                    Log::info('Adding diver ' . $diver . ' to diving group ' . $divingNumber . ' for diving session ' . $ds_code);
                    $update = DivingSignUpModel::where('US_ID', $diver)
                        ->where('DS_CODE', $ds_code)->update(['DG_NUMBER' => $divingNumber]);
                }
            }
            $responseData = ['message' => 'Data received successfully', 'additionalData' => $divingGroups];
            return response()->json($responseData);
        } catch (\Illuminate\Database\QueryException $e) {
            return response()->json(['error' => 'Internal Server Error'], 500);
            return response()->json(['error' => 'Internal Server Error', 'errData' => $e], 500);
        }
    }

    public function test(){
        
    }
}
+1 −1
Changes for app/Models/DivingGroup.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
class DivingGroup extends Model
{
    protected $table = 'CAR_DIVING_GROUP';
    protected $fillable = 'DS_CODE';
    protected $fillable = ['DS_CODE', 'DG_NUMBER'];

    use HasFactory;

+6 −1
Changes for app/Models/DivingSignUpModel.php: 6 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -9,6 +9,11 @@ class DivingSignUpModel extends Model
{
    protected $table = 'car_registration';
    
    protected $fillable = ['US_ID', 'DS_CODE'];
    protected $fillable = ['US_ID', 'DS_CODE', 'DG_NUMBER', 'REG_ACTIVE'];

    protected $primaryKey = 'DS_CODE';

    public $timestamps = false;

    use HasFactory;
}
+11 −7
Changes for public/js/Palanque/manualPalanque.js: 11 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -160,8 +160,16 @@ function validateAllCombination(){
    }
  });
}


let interval = setInterval(() => {
  validateAllCombination();
}, 5000);


validatePalanque.addEventListener("click", function(){
  sendPalanque();
  clearInterval(interval);
});

function returnValueToPhp(ds_code) {
@@ -182,7 +190,7 @@ function returnValueToPhp(ds_code) {
}

function sendPalanque() {
  let palanqueList = returnValueToPhp('DS10');
  let palanqueList = returnValueToPhp("DS1");
  let palanqueListJson = JSON.stringify(palanqueList);
  let csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');

@@ -199,7 +207,8 @@ function sendPalanque() {
        // Log the additional data in the console
        console.log("Additional Data:", responseData.additionalData);
      } else {
        console.error("Request failed");
        const responseData = JSON.parse(xhr.responseText);
        console.error("Request failed", responseData.errData);
      }
    }
  };
@@ -207,9 +216,4 @@ function sendPalanque() {
  console.log("send");
}


setInterval(() => {
  validateAllCombination();
}, 5000);

getDiver('DS1');