Final implementations for Project creation

This commit is contained in:
ygbanzato 2023-07-04 19:23:28 +01:00
parent 4e737a48bd
commit f622782eae
10 changed files with 1095 additions and 544 deletions

View File

@ -23,9 +23,36 @@
use App\Models\FurtherTasks; use App\Models\FurtherTasks;
use App\Models\WorkstationsAssociationTasks; use App\Models\WorkstationsAssociationTasks;
// use DataTables;
class CreateProjectController extends Controller class CreateProjectController extends Controller
{ {
public function finishCreatingProject($numberProject){
$project = CompanyProject::find($numberProject);
$project->order_project = 2 ;
$project->save();
return redirect()->route('home');
}
// public function testDataTables(Request $request){
// dd($request);
// if ($request->ajax()) {
// $data = User::select('id','name','email')->get();
// return Datatables::of($data)->addIndexColumn()
// ->addColumn('action', function($data){
// $button = '<button type="button" name="edit" id="'.$data->id.'" class="edit btn btn-primary btn-sm"> <i class="bi bi-pencil-square"></i>Edit</button>';
// $button .= ' <button type="button" name="edit" id="'.$data->id.'" class="delete btn btn-danger btn-sm"> <i class="bi bi-backspace-reverse-fill"></i> Delete</button>';
// return $button;
// })
// ->make(true);
// }
// return view('recebeIdiota');
// }
public function deleteWorkstation($name) public function deleteWorkstation($name)
{ {
@ -128,32 +155,32 @@ public function EditEquipmentsProjects(Request $request)
$executionOrder = 1; // Inicia a contagem da ordem de execução $executionOrder = 1; // Inicia a contagem da ordem de execução
foreach ($request->input('ordemTasks') as $key => $value) { // foreach ($request->input('ordemTasks') as $key => $value) {
// Procura o registro relevante em OrderEquipmentTasks // // Procura o registro relevante em OrderEquipmentTasks
$orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) // $orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
->where('elemental_tasks_id', $key) // ->where('elemental_tasks_id', $key)
->first(); // ->first();
// Se o valor é 'on' // // Se o valor é 'on'
if ($value === "on") { // if ($value === "on") {
// Se o registro não existir, cria um novo // // Se o registro não existir, cria um novo
if (!$orderEquipmentTask) { // if (!$orderEquipmentTask) {
$orderEquipmentTask = new OrderEquipmentTasks(); // $orderEquipmentTask = new OrderEquipmentTasks();
$orderEquipmentTask->equipment_id = $request->equipmentId; // $orderEquipmentTask->equipment_id = $request->equipmentId;
$orderEquipmentTask->elemental_tasks_id = $key; // $orderEquipmentTask->elemental_tasks_id = $key;
} // }
// Atualiza a ordem de execução independentemente do registro ser novo ou não // // Atualiza a ordem de execução independentemente do registro ser novo ou não
$orderEquipmentTask->execution_order = $executionOrder; // $orderEquipmentTask->execution_order = $executionOrder;
$orderEquipmentTask->save(); // $orderEquipmentTask->save();
// Incrementa a ordem de execução para o próximo 'on' // // Incrementa a ordem de execução para o próximo 'on'
$executionOrder++; // $executionOrder++;
} // }
// Se o valor é 'off' e o registro existir, o deleta // // Se o valor é 'off' e o registro existir, o deleta
elseif ($value === "off" && $orderEquipmentTask) { // elseif ($value === "off" && $orderEquipmentTask) {
$orderEquipmentTask->delete(); // $orderEquipmentTask->delete();
} // }
} // }
// Atualiza a ordem de execução dos restantes 'on' após as remoções // Atualiza a ordem de execução dos restantes 'on' após as remoções
$remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) $remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)

View File

@ -13,7 +13,8 @@
"laravel/tinker": "^2.8", "laravel/tinker": "^2.8",
"phpoffice/phpspreadsheet": "^1.28", "phpoffice/phpspreadsheet": "^1.28",
"symfony/http-client": "^6.2", "symfony/http-client": "^6.2",
"symfony/mailgun-mailer": "^6.2" "symfony/mailgun-mailer": "^6.2",
"yajra/laravel-datatables-oracle": "^10.3.1"
}, },
"require-dev": { "require-dev": {
"fakerphp/faker": "^1.9.1", "fakerphp/faker": "^1.9.1",

86
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "0792c882ef95d119142ebe7244699653", "content-hash": "51ebbc942093bdb678f8cecc025df588",
"packages": [ "packages": [
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",
@ -6333,6 +6333,90 @@
"source": "https://github.com/webmozarts/assert/tree/1.11.0" "source": "https://github.com/webmozarts/assert/tree/1.11.0"
}, },
"time": "2022-06-03T18:03:27+00:00" "time": "2022-06-03T18:03:27+00:00"
},
{
"name": "yajra/laravel-datatables-oracle",
"version": "v10.6.0",
"source": {
"type": "git",
"url": "https://github.com/yajra/laravel-datatables.git",
"reference": "66299d930c1dd626e9d264cd8b0cfa0ddee13366"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/66299d930c1dd626e9d264cd8b0cfa0ddee13366",
"reference": "66299d930c1dd626e9d264cd8b0cfa0ddee13366",
"shasum": ""
},
"require": {
"illuminate/database": "^9|^10",
"illuminate/filesystem": "^9|^10",
"illuminate/http": "^9|^10",
"illuminate/support": "^9|^10",
"illuminate/view": "^9|^10",
"php": "^8.0.2"
},
"require-dev": {
"nunomaduro/larastan": "^2.4",
"orchestra/testbench": "^8",
"yajra/laravel-datatables-html": "^9.3.4|^10"
},
"suggest": {
"yajra/laravel-datatables-buttons": "Plugin for server-side exporting of dataTables.",
"yajra/laravel-datatables-editor": "Plugin to use DataTables Editor (requires a license).",
"yajra/laravel-datatables-export": "Plugin for server-side exporting using livewire and queue worker.",
"yajra/laravel-datatables-fractal": "Plugin for server-side response using Fractal.",
"yajra/laravel-datatables-html": "Plugin for server-side HTML builder of dataTables."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "10.x-dev"
},
"laravel": {
"providers": [
"Yajra\\DataTables\\DataTablesServiceProvider"
],
"aliases": {
"DataTables": "Yajra\\DataTables\\Facades\\DataTables"
}
}
},
"autoload": {
"files": [
"src/helper.php"
],
"psr-4": {
"Yajra\\DataTables\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Arjay Angeles",
"email": "aqangeles@gmail.com"
}
],
"description": "jQuery DataTables API for Laravel 4|5|6|7|8|9|10",
"keywords": [
"datatables",
"jquery",
"laravel"
],
"support": {
"issues": "https://github.com/yajra/laravel-datatables/issues",
"source": "https://github.com/yajra/laravel-datatables/tree/v10.6.0"
},
"funding": [
{
"url": "https://github.com/sponsors/yajra",
"type": "github"
}
],
"time": "2023-06-29T10:05:01+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [

View File

@ -10820,7 +10820,7 @@ .animation__wobble {
.preloader { .preloader {
display: -ms-flexbox; display: -ms-flexbox;
display: flex; display: flex;
background-color: #f4f6f9; background-color: #ebf3f4;
height: 100vh; height: 100vh;
width: 100%; width: 100%;
transition: height 200ms linear; transition: height 200ms linear;

View File

@ -25,6 +25,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
{{-- Em Planeamento --}}
<div class="col-md-3"> <div class="col-md-3">
<div class="card card-row card-secondary"> <div class="card card-row card-secondary">
<!-- Card header --> <!-- Card header -->
@ -32,7 +33,7 @@
<span class="info-box-icon"><i class="fas fa-file-edit"></i></span> <span class="info-box-icon"><i class="fas fa-file-edit"></i></span>
<div class="info-box-content"> <div class="info-box-content">
<span class="info-box-text">Em planeamento</span> <span class="info-box-text">Em planeamento</span>
<span class="info-box-number">{{count($CompanyProject)}}</span> <span class="info-box-number">{{ count($CompanyProject) }}</span>
<div class="progress"> <div class="progress">
<div class="progress-bar" style="width: 100%"></div> <div class="progress-bar" style="width: 100%"></div>
@ -46,8 +47,8 @@
<!-- /.info-box --> <!-- /.info-box -->
<!-- /.Card header--> <!-- /.Card header-->
<div class="card-body"> <div class="card-body">
@foreach ($CompanyProject as $project) @foreach ($CompanyProject as $project)
@if ($project->order_project == 1)
<div class="card card-secondary card-outline"> <div class="card card-secondary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title">{{ $project->company_project_description }}</h5> <h5 class="card-title">{{ $project->company_project_description }}</h5>
@ -59,12 +60,13 @@ class="btn btn-tool">
</div> </div>
</div> </div>
</div> </div>
@endif
@endforeach @endforeach
</div>
</div>
</div>
{{-- Preparadas --}}
</div>
</div>
</div>
<div class="col-md-3"> <div class="col-md-3">
<div class="card card-row card-primary"> <div class="card card-row card-primary">
<!-- Card header --> <!-- Card header -->
@ -87,6 +89,8 @@ class="btn btn-tool">
<!-- /.info-box --> <!-- /.info-box -->
<!-- /.Card header--> <!-- /.Card header-->
<div class="card-body"> <div class="card-body">
@foreach ($CompanyProject as $project)
@if ($project->order_project == 2)
<div class="card card-primary card-outline"> <div class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title">Paragem Cliente 2 OUT2022</h5> <h5 class="card-title">Paragem Cliente 2 OUT2022</h5>
@ -97,39 +101,13 @@ class="btn btn-tool">
</div> </div>
</div> </div>
</div> </div>
<div class="card card-primary card-outline"> @endif
<div class="card-header"> @endforeach
<h5 class="card-title">Paragem Cliente 3 NOV2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
<div class="card card-primary card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 1 OUT2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
<div class="card card-primary card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 1 SET2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
{{-- Execucao --}}
<div class="col-md-3"> <div class="col-md-3">
<div class="card card-row card-default"> <div class="card card-row card-default">
<!-- Card header --> <!-- Card header -->
@ -152,6 +130,8 @@ class="btn btn-tool">
<!-- /.info-box --> <!-- /.info-box -->
<!-- /.Card header--> <!-- /.Card header-->
<div class="card-body"> <div class="card-body">
@foreach ($CompanyProject as $project)
@if ($project->order_project == 3)
<div class="card card-warning card-outline"> <div class="card card-warning card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title">Paragem Cliente 1 JUN2022</h5> <h5 class="card-title">Paragem Cliente 1 JUN2022</h5>
@ -162,19 +142,13 @@ class="btn btn-tool">
</div> </div>
</div> </div>
</div> </div>
<div class="card card-warning card-outline"> @endif
<div class="card-header"> @endforeach
<h5 class="card-title">Paragem Cliente 2 JUL2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
{{-- Concluidas --}}
<div class="col-md-3"> <div class="col-md-3">
<div class="card card-row card-success"> <div class="card card-row card-success">
<!-- Card header --> <!-- Card header -->
@ -197,6 +171,8 @@ class="btn btn-tool">
<!-- /.info-box --> <!-- /.info-box -->
<!-- /.Card header--> <!-- /.Card header-->
<div class="card-body"> <div class="card-body">
@foreach ($CompanyProject as $project)
@if ($project->order_project == 3)
<div class="card card-success card-outline"> <div class="card card-success card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title">Paragem Cliente 2 JAN2022</h5> <h5 class="card-title">Paragem Cliente 2 JAN2022</h5>
@ -207,30 +183,14 @@ class="btn btn-tool">
</div> </div>
</div> </div>
</div> </div>
<div class="card card-success card-outline"> @endif
<div class="card-header"> @endforeach
<h5 class="card-title">Paragem Cliente 1 FEV022</h5> </div>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
<div class="card card-success card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 2 MAIO2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
{{-- ./row --}}
</div> </div>
{{-- /.container-fluid --}} {{-- /.container-fluid --}}
</section> </section>

File diff suppressed because it is too large Load Diff

View File

@ -139,6 +139,12 @@ class="fas fa-plus"></i>
<!-- ./Card card-primary --> <!-- ./Card card-primary -->
<a href="{{ route('test2', ['id' => $numberProject]) }}" <a href="{{ route('test2', ['id' => $numberProject]) }}"
class="btn btn-primary previous float-left">Anterior</a> class="btn btn-primary previous float-left">Anterior</a>
<form action="{{route('finishCreatingProject', ['numberProject' => $numberProject]) }}">
@csrf
<input type="submit" class="btn btn-success previous float-right" value="Concluir">
</form>
</div> </div>
{{-- ./container-fluid --}} {{-- ./container-fluid --}}
</fieldset> </fieldset>

View File

@ -1,9 +1,9 @@
@extends('testIdiota') @extends('testIdiota')
@section('idiota') @section('idiota')
<h2>Teste idiota</h2> <h2>Teste </h2>
<table id="example" class="table table-striped table-bordered" style="width:100%"> <table id="example" class="table table-striped table-bordered example" style="width:100%">
<thead> <thead>
<tr> <tr>
<th>Name</th> <th>Name</th>
@ -33,11 +33,10 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
@endsection @endsection
@section('idiotaScripts') @section('idiotaScripts')
<script> {{-- <script>
$(function() { $(function() {
$("#example").DataTable({ $("#example").DataTable({
"responsive": true, "responsive": true,
@ -46,5 +45,33 @@
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"] "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
}).buttons().container().appendTo('#example_wrapper .col-md-6:eq(0)'); }).buttons().container().appendTo('#example_wrapper .col-md-6:eq(0)');
}); });
</script> --}}
<script>
$(document).ready(function() {
var table = $('.example').DataTable({
processing: true,
serverSide: true,
ajax: "{{ route('testDataTables') }}",
columns: [
{
data: 'id', name: 'id'
},
{
data: 'name',
name: 'name'
},
{
data: 'email',
name: 'email'
},
{
data: 'action',
name: 'action',
orderable: false,
searchable: false
},
]
});
});
</script> </script>
@endsection @endsection

View File

@ -15,41 +15,42 @@
<link rel="stylesheet" <link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"> href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome --> <!-- Font Awesome -->
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
<!-- Font Awesome 6.1.1 --> <!-- Font Awesome 6.1.1 -->
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
<!-- Ionicons --> <!-- Ionicons -->
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<!-- Tempusdominus Bootstrap 4 --> <!-- Tempusdominus Bootstrap 4 -->
<link rel="stylesheet" href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css')}}"> <link rel="stylesheet"
href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css') }}">
<!-- iCheck --> <!-- iCheck -->
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css') }}">
<!-- JQVMap --> <!-- JQVMap -->
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css') }}">
<!-- Theme style --> <!-- Theme style -->
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}"> <link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
<!-- overlayScrollbars --> <!-- overlayScrollbars -->
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css') }}">
<!-- Daterange picker --> <!-- Daterange picker -->
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
<!-- summernote --> <!-- summernote -->
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
<!-- daterange picker --> <!-- daterange picker -->
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
<!-- DataTables --> <!-- DataTables -->
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css') }}">

View File

@ -27,6 +27,10 @@
// Route::get('test',[CreateProjectController::class,'index'] )->name('test'); // Route::get('test',[CreateProjectController::class,'index'] )->name('test');
route::get('finishCreatingProject/{numberProject}',[CreateProjectController::class,'finishCreatingProject'])->name('finishCreatingProject');
route::get('testDataTables',[CreateProjectController::class,'testDataTables'])->name('testDataTables');
Route::get('workstationsAssociationTasks', [CreateProjectController::class,'workstationsAssociationTasks'])->name('workstationsAssociationTasks'); Route::get('workstationsAssociationTasks', [CreateProjectController::class,'workstationsAssociationTasks'])->name('workstationsAssociationTasks');