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\WorkstationsAssociationTasks;
// use DataTables;
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)
{
@ -128,32 +155,32 @@ public function EditEquipmentsProjects(Request $request)
$executionOrder = 1; // Inicia a contagem da ordem de execução
foreach ($request->input('ordemTasks') as $key => $value) {
// Procura o registro relevante em OrderEquipmentTasks
$orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
->where('elemental_tasks_id', $key)
->first();
// foreach ($request->input('ordemTasks') as $key => $value) {
// // Procura o registro relevante em OrderEquipmentTasks
// $orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
// ->where('elemental_tasks_id', $key)
// ->first();
// Se o valor é 'on'
if ($value === "on") {
// Se o registro não existir, cria um novo
if (!$orderEquipmentTask) {
$orderEquipmentTask = new OrderEquipmentTasks();
$orderEquipmentTask->equipment_id = $request->equipmentId;
$orderEquipmentTask->elemental_tasks_id = $key;
}
// Atualiza a ordem de execução independentemente do registro ser novo ou não
$orderEquipmentTask->execution_order = $executionOrder;
$orderEquipmentTask->save();
// // Se o valor é 'on'
// if ($value === "on") {
// // Se o registro não existir, cria um novo
// if (!$orderEquipmentTask) {
// $orderEquipmentTask = new OrderEquipmentTasks();
// $orderEquipmentTask->equipment_id = $request->equipmentId;
// $orderEquipmentTask->elemental_tasks_id = $key;
// }
// // Atualiza a ordem de execução independentemente do registro ser novo ou não
// $orderEquipmentTask->execution_order = $executionOrder;
// $orderEquipmentTask->save();
// Incrementa a ordem de execução para o próximo 'on'
$executionOrder++;
}
// Se o valor é 'off' e o registro existir, o deleta
elseif ($value === "off" && $orderEquipmentTask) {
$orderEquipmentTask->delete();
}
}
// // Incrementa a ordem de execução para o próximo 'on'
// $executionOrder++;
// }
// // Se o valor é 'off' e o registro existir, o deleta
// elseif ($value === "off" && $orderEquipmentTask) {
// $orderEquipmentTask->delete();
// }
// }
// Atualiza a ordem de execução dos restantes 'on' após as remoções
$remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)

View File

@ -13,7 +13,8 @@
"laravel/tinker": "^2.8",
"phpoffice/phpspreadsheet": "^1.28",
"symfony/http-client": "^6.2",
"symfony/mailgun-mailer": "^6.2"
"symfony/mailgun-mailer": "^6.2",
"yajra/laravel-datatables-oracle": "^10.3.1"
},
"require-dev": {
"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",
"This file is @generated automatically"
],
"content-hash": "0792c882ef95d119142ebe7244699653",
"content-hash": "51ebbc942093bdb678f8cecc025df588",
"packages": [
{
"name": "bacon/bacon-qr-code",
@ -6333,6 +6333,90 @@
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
"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": [

View File

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

View File

@ -25,6 +25,7 @@
<div class="container-fluid">
<div class="row">
{{-- Em Planeamento --}}
<div class="col-md-3">
<div class="card card-row card-secondary">
<!-- Card header -->
@ -32,7 +33,7 @@
<span class="info-box-icon"><i class="fas fa-file-edit"></i></span>
<div class="info-box-content">
<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-bar" style="width: 100%"></div>
@ -46,25 +47,26 @@
<!-- /.info-box -->
<!-- /.Card header-->
<div class="card-body">
@foreach ($CompanyProject as $project)
<div class="card card-secondary card-outline">
<div class="card-header">
<h5 class="card-title">{{ $project->company_project_description }}</h5>
<div class="card-tools">
<a href="{{ route('test2', ['id' => $project->company_projects_id]) }}"
class="btn btn-tool">
<i class="fa-solid fa-eye" style="color:rgb(62, 62, 62)"></i>
</a>
@if ($project->order_project == 1)
<div class="card card-secondary card-outline">
<div class="card-header">
<h5 class="card-title">{{ $project->company_project_description }}</h5>
<div class="card-tools">
<a href="{{ route('test2', ['id' => $project->company_projects_id]) }}"
class="btn btn-tool">
<i class="fa-solid fa-eye" style="color:rgb(62, 62, 62)"></i>
</a>
</div>
</div>
</div>
</div>
@endif
@endforeach
</div>
</div>
</div>
{{-- Preparadas --}}
<div class="col-md-3">
<div class="card card-row card-primary">
<!-- Card header -->
@ -87,49 +89,25 @@ class="btn btn-tool">
<!-- /.info-box -->
<!-- /.Card header-->
<div class="card-body">
<div class="card card-primary card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 2 OUT2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
@foreach ($CompanyProject as $project)
@if ($project->order_project == 2)
<div class="card card-primary card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 2 OUT2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card card-primary card-outline">
<div class="card-header">
<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>
@endif
@endforeach
</div>
</div>
</div>
{{-- Execucao --}}
<div class="col-md-3">
<div class="card card-row card-default">
<!-- Card header -->
@ -152,29 +130,25 @@ class="btn btn-tool">
<!-- /.info-box -->
<!-- /.Card header-->
<div class="card-body">
<div class="card card-warning card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 1 JUN2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
@foreach ($CompanyProject as $project)
@if ($project->order_project == 3)
<div class="card card-warning card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 1 JUN2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card card-warning card-outline">
<div class="card-header">
<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>
@endif
@endforeach
</div>
</div>
</div>
{{-- Concluidas --}}
<div class="col-md-3">
<div class="card card-row card-success">
<!-- Card header -->
@ -197,40 +171,26 @@ class="btn btn-tool">
<!-- /.info-box -->
<!-- /.Card header-->
<div class="card-body">
<div class="card card-success card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 2 JAN2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
@foreach ($CompanyProject as $project)
@if ($project->order_project == 3)
<div class="card card-success card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 2 JAN2022</h5>
<div class="card-tools">
<a href="#" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card card-success card-outline">
<div class="card-header">
<h5 class="card-title">Paragem Cliente 1 FEV022</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-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>
@endif
@endforeach
</div>
</div>
</div>
</div>
{{-- ./row --}}
</div>
{{-- /.container-fluid --}}
</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 -->
<a href="{{ route('test2', ['id' => $numberProject]) }}"
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>
{{-- ./container-fluid --}}
</fieldset>

View File

@ -1,9 +1,9 @@
@extends('testIdiota')
@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>
<tr>
<th>Name</th>
@ -33,11 +33,10 @@
</tr>
</tbody>
</table>
@endsection
@section('idiotaScripts')
<script>
{{-- <script>
$(function() {
$("#example").DataTable({
"responsive": true,
@ -46,5 +45,33 @@
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
}).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>
@endsection

View File

@ -13,50 +13,51 @@
<!-- Google Font: Source Sans Pro -->
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome -->
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css')}}">
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome -->
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
<!-- Font Awesome 6.1.1 -->
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css')}}">
<!-- Font Awesome 6.1.1 -->
<link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}">
<!-- Ionicons -->
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<!-- Tempusdominus Bootstrap 4 -->
<link rel="stylesheet" href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css')}}">
<!-- iCheck -->
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css')}}">
<!-- JQVMap -->
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css')}}">
<!-- Ionicons -->
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<!-- Tempusdominus Bootstrap 4 -->
<link rel="stylesheet"
href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css') }}">
<!-- iCheck -->
<link rel="stylesheet" href="{{ asset('plugins/icheck-bootstrap/icheck-bootstrap.min.css') }}">
<!-- JQVMap -->
<link rel="stylesheet" href="{{ asset('plugins/jqvmap/jqvmap.min.css') }}">
<!-- Theme style -->
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
<!-- Theme style -->
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/adminlte.css') }}">
<!-- overlayScrollbars -->
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css')}}">
<!-- overlayScrollbars -->
<link rel="stylesheet" href="{{ asset('plugins/overlayScrollbars/css/OverlayScrollbars.min.css') }}">
<!-- Daterange picker -->
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}">
<!-- Daterange picker -->
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
<!-- summernote -->
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css')}}">
<!-- summernote -->
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
<!-- daterange picker -->
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css')}}">
<!-- daterange picker -->
<link rel="stylesheet" href="{{ asset('plugins/daterangepicker/daterangepicker.css') }}">
<!-- DataTables -->
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')}}">
<!-- DataTables -->
<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') }}">
</head>
<body>
@yield('idiota')
@yield('idiota')
{{-- <script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
@ -71,7 +72,7 @@
<script src="{{ asset('plugins/jquery-ui/jquery-ui.min.js') }}"></script>
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
<script>
$.widget.bridge('uibutton', $.ui.button)
$.widget.bridge('uibutton', $.ui.button)
</script>
<!-- Bootstrap 4 -->
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
@ -101,24 +102,24 @@
<script src="{{ asset('js/pages/dashboard.js') }}"></script> --}}
<!-- jQuery Script fadeIn fadeOut for the dropdown -->
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script>
<script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script>
<script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script>
<script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script>
<script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
<script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
@yield('idiotaScripts')
</body>
</html>

View File

@ -27,6 +27,10 @@
// 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');