Correction of errors and start of implementation of projects in execution

This commit is contained in:
ygbanzato 2023-07-20 10:02:53 +01:00
parent 9d510ab765
commit fdbb662fba
19 changed files with 497 additions and 173 deletions

View File

@ -249,6 +249,20 @@ public function createWorkStations(Request $request)
$workstation->save();
}
preg_match('/workstation(\d+)-/', $workstation->name_workstations, $matches);
$receiveNumberWorkstation = $matches[1];
$receveProjectCompanyNumber = CompanyProject::where('company_projects_id',$numberProject)->first();
//Apos criar a Workstation vamos criar um login para pode aceder os postos de trabalho na obra
$loginWorkStation = new User;
$loginWorkStation->user_name = $workstation->name_workstations;
$loginWorkStation->email = $receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation.'@isptgroup.com';
$loginWorkStation->password = bcrypt($receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation) ;
$loginWorkStation->type_users = 5;
$loginWorkStation->user_nif = $receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation;
$loginWorkStation->save();
// Redireciona para onde você quiser após a criação das workstations
return redirect()->route('test3', ['id' => $request->numberProject])
->with('success', $numberWorkstations . ' Postos de Trabalho criados !!!')
@ -324,6 +338,8 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
$newEquipmentAssociationAmbits->equipment_id = $receiveEquipmentID;
$newEquipmentAssociationAmbits->save();
$checkPendingEquipment->delete();
return back()->with('success', 'Equipamento ' . $newEquipment->equipment_tag . ' criado com sucesso');
@ -332,7 +348,6 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
public function processStep1(Request $request)
{
// dd($request);
// Validação...
$installationId = $request->input('installation_id');
@ -345,7 +360,7 @@ public function processStep1(Request $request)
$newInstallation->plant_address = $request->input('new_company_address');
$newInstallation->user_id = $request->input('user_id');
// $newInstallation->save();
$newInstallation->save();
// Use o id da nova instalação.
$installationId = $newInstallation->plant_id;
@ -422,6 +437,7 @@ public function showStep2($company_projects_id)
->where('company_projects_id', $company_projects_id)
->get();
$pendingEquipments = PendingEquipment::where('pending_company_projects_id', $numberProject)->get();
if (!$pendingEquipments->isEmpty()) {
@ -617,15 +633,12 @@ public function processStep2(Request $request)
$checkFactory = Unit::where('unit_name', $datas['fabrica'])->first();
// Antes de criar o novo equipamento, verifique se já existe um equipamento
// com o mesmo factory_id e tag.
$existingEquipment = Equipment::where('unit_id', $checkFactory->unit_id)
->where('equipment_tag', $datas['tag'])
->first();
if ($existingEquipment) {
// Se o equipamento existir, crie o novo equipamento na tabela pending_equipaments.
@ -660,6 +673,7 @@ public function processStep2(Request $request)
$newEquipament->save();
$countNewEquipment++;
// Guardo os valores de 'id' e do 'tipo de equipamento' que nosso novo equipamento acabado de criar

View File

@ -5,7 +5,9 @@
use Illuminate\Http\Request;
use App\Models\CompanyProject;
use App\Models\ConstructionWorkstation;
use App\Models\ControlEquipmentWorkstation;
use App\Models\Equipment;
use App\Models\EquipmentComments;
use App\Models\EquipmentType;
use App\Models\OrderEquipmentTasks;
@ -13,9 +15,13 @@
class ExecutionProjectController extends Controller
{
public function enterWorkstation()
{
return view('enterWorkstation');
}
public function receiveExecutionProject($ProjectId)
{
$DatasProject = CompanyProject::find($ProjectId);
$equipmentsTypes = EquipmentType::all();
@ -27,65 +33,79 @@ public function receiveExecutionProject($ProjectId)
public function receiveWorkstationExecutionProject($receiveNumberProject)
{
$model = ConstructionWorkstation::where('company_projects_id', $receiveNumberProject)->with('workstationsAssociationTasks');
return DataTables::of($model)
// ->addColumn('workstations_Association_Tasks', function ($row) {
// return $row->workstationsAssociationTasks->pluck('elemental_tasks_id')->implode('-');
// })
->addColumn('workstations_Association_Tasks', function ($row) {
return $row->workstationsAssociationTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code;
})->implode('-');
})
->toJson();
}
public function receiveEquipmentIdForShowModal($EquipmentID)
{
// Recebe e encontra os dados do Equipamento indicada na Tabela.
$equipment = Equipment::find($EquipmentID);
// Recebe todas as tarefas e devolve em um Array
$task_codes = $equipment->orderEquipmentTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code;
})->toArray();
return response()->json(['task_codes' => $task_codes]);
$receveControlEquipment = ControlEquipmentWorkstation::where('equipment_id',$EquipmentID)->get();
$receiveCommentsEquipment = EquipmentComments::where('equipment_id',$EquipmentID)->get();
// return view('projectsClients/executionProject',['receveControlEquipment'=>$receveControlEquipment]);
return response()->json(['task_codes' => $task_codes,'receveControlEquipment' => $receveControlEquipment, 'receiveCommentsEquipment' => $receiveCommentsEquipment]);
}
public function receiveEquipmentsExecutionProject($receiveNumberProject)
{
// Recebe os dados vindos da funcao 'data' criada na view
$equipment_type_id = request('equipment_type_id');
$ambits_id = request('ambits_id');
// public function receiveEquipmentsExecutionProject($receiveNumberProject)
// {
// // Recebe os dados vindos da funcao 'data' criada na view
// $equipment_type_id = request('equipment_type_id');
// $ambits_id = request('ambits_id');
//Recebe sempre apenas os equipamentos relacionados a obra
$model = Equipment::where('company_projects_id', $receiveNumberProject);
// //Recebe sempre apenas os equipamentos relacionados a obra
// $model = Equipment::where('company_projects_id', $receiveNumberProject);
// Caso 'equipment_type_id' seja '#', mostra todos os equipamentos
if ($equipment_type_id == '#') {
$model = Equipment::query()->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
}
// Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e ambito (caso 'ambits_id' não seja '#')
else {
$equipment_type_id = intval($equipment_type_id);
$model = Equipment::where('equipments.equipment_type_id', $equipment_type_id)
->join('equipment_association_ambits', 'equipments.equipment_id', '=', 'equipment_association_ambits.equipment_id')
->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
// // Caso 'equipment_type_id' seja '#', mostra todos os equipamentos
// if ($equipment_type_id == '#') {
// $model = Equipment::query()->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
// }
// // Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e ambito (caso 'ambits_id' não seja '#')
// else {
// $equipment_type_id = intval($equipment_type_id);
// $model = Equipment::where('equipments.equipment_type_id', $equipment_type_id)
// ->join('equipment_association_ambits', 'equipments.equipment_id', '=', 'equipment_association_ambits.equipment_id')
// ->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
if ($ambits_id != '#') {
$ambits_id = intval($ambits_id);
$model->where('equipment_association_ambits.ambits_id', $ambits_id);
}
}
// if ($ambits_id != '#') {
// $ambits_id = intval($ambits_id);
// $model->where('equipment_association_ambits.ambits_id', $ambits_id);
// }
// }
return DataTables::of($model)
->addColumn('equipment_type', function ($row) {
return $row->equipmentType->equipment_type_name;
})
->addColumn('Ambits', function ($row) {
return $row->equipmentAssociationAmbit->ambitsEquipment->ambits_description;
})
->addColumn('order_tasks', function ($row) {
return $row->orderEquipmentTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code;
})->implode('-');
})
->toJson();
}
// return DataTables::of($model)
// ->addColumn('equipment_type', function ($row) {
// return $row->equipmentType->equipment_type_name;
// })
// ->addColumn('Ambits', function ($row) {
// return $row->equipmentAssociationAmbit->ambitsEquipment->ambits_description;
// })
// ->addColumn('order_tasks', function ($row) {
// return $row->orderEquipmentTasks->map(function ($task) {
// return $task->elementalTask->elemental_tasks_code;
// })->implode('-');
// })
// ->addColumn('current_task', function ($row) {
// return $row->controlEquipmentWorkstation->map(function ($task) {
// return $task->elementalTask->elemental_tasks_code;
// })->implode('-');
// })
// ->toJson();
// }
}

View File

@ -2,22 +2,33 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Yajra\DataTables\Facades\DataTables;
use App\Models\Equipment;
use App\Models\Plant;
use App\Models\CompanyProject;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Models\ConstructionWorkstation;
class ProjectoDatacontroller extends Controller
{
public function HomePage(){
public function HomePage()
{
$CompanyProject = CompanyProject::all();
return view('Admin/index')
// return view('codePronto');
->with("CompanyProject", $CompanyProject);
// return view('codePronto');
->with("CompanyProject", $CompanyProject);
}
public function ManageAssets()
@ -36,7 +47,7 @@ public function ManageAssets()
// ->get();
// return view('Admin/DataManagement/manageassets', compact('units','equipaments'));
return view('Admin/DataManagement/manageassets', compact('units','equipments'));
return view('Admin/DataManagement/manageassets', compact('units', 'equipments'));
}
public function showUnit($id)
@ -45,4 +56,77 @@ public function showUnit($id)
$equipaments = Equipment::where('equipment_id', $id)->firstOrFail();
return view('Admin/DataManagement/showEquipament', compact('equipaments'));
}
public function receiveEquipmentsProject($receiveNumberProject)
{
// Recebe os dados vindos da funcao 'data' criada na view
$equipment_type_id = request('equipment_type_id');
$ambits_id = request('ambits_id');
//Recebe sempre apenas os equipamentos relacionados a obra
// $model = Equipment::where('company_projects_id', $receiveNumberProject);
// Caso 'equipment_type_id' seja '#', mostra todos os equipamentos
if ($equipment_type_id == '#') {
$model = Equipment::query()
->where('company_projects_id', $receiveNumberProject)
->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
}
// Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e ambito (caso 'ambits_id' não seja '#')
else {
$equipment_type_id = intval($equipment_type_id);
$model = Equipment::where('equipments.equipment_type_id', $equipment_type_id)
->where('company_projects_id', $receiveNumberProject)
->join('equipment_association_ambits', 'equipments.equipment_id', '=', 'equipment_association_ambits.equipment_id')
->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
if ($ambits_id != '#') {
$ambits_id = intval($ambits_id);
$model->where('equipment_association_ambits.ambits_id', $ambits_id)
->where('company_projects_id', $receiveNumberProject);
}
}
return DataTables::of($model)
->addColumn('equipment_type', function ($row) {
return $row->equipmentType->equipment_type_name;
})
->addColumn('Unit', function ($row) {
return $row->unit->unit_name;
})
->addColumn('Ambits', function ($row) {
return $row->equipmentAssociationAmbit->ambitsEquipment->ambits_description;
})
->addColumn('order_tasks', function ($row) {
return $row->orderEquipmentTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code;
})->implode('-');
})
->addColumn('current_task', function ($row) {
return $row->controlEquipmentWorkstation->map(function ($task) {
return $task->elementalTask->elemental_tasks_code;
})->implode('-');
})
->addColumn('Inspec', function ($row) {
return $row->hasInspectionYes() ? 'Sim' : 'Nao';
})
->toJson();
}
public function receiveWorkstationProject($receiveNumberProject)
{
$model = ConstructionWorkstation::where('company_projects_id', $receiveNumberProject)->with('workstationsAssociationTasks');
return DataTables::of($model)
->addColumn('workstations_Association_Tasks', function ($row) {
return $row->workstationsAssociationTasks->map(function ($task) {
return $task->elementalTask->elemental_tasks_code;
})->implode('-');
})
->toJson();
}
}

View File

@ -54,6 +54,7 @@ class Kernel extends HttpKernel
*/
protected $middlewareAliases = [
'checksuperadmin' => \App\Http\Middleware\CheckSuperAdmin::class,
'checkUserType' => \App\Http\Middleware\CheckUserType::class,
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,

View File

@ -20,6 +20,5 @@ public function handle(Request $request, Closure $next): Response
}
return abort(403, 'Acesso não autorizado.');
// return $next($request);
}
}

View File

@ -0,0 +1,33 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
class CheckUserType
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next)
{
if (auth()->user()) {
$currentRoute = Route::currentRouteName();
$userType = auth()->user()->userType->type_user;
if ($userType == 'Super_Administrador' && $currentRoute != 'home') {
return redirect()->route('home');
} elseif ($userType == 'Tecnicos' && $currentRoute != 'enterWorkstation') {
return redirect()->route('enterWorkstation');
}
}
return $next($request);
}
}

View File

@ -15,12 +15,8 @@ class ConstructionWorkstation extends Model
protected $primaryKey = 'id_workstations';
// public function workstationsAssociationTasks()
// {
// return $this->hasMany(WorkstationsAssociationTasks::class, 'id_workstations', 'id_workstations');
// }
public function workstationsAssociationTasks()
{
return $this->hasMany(WorkstationsAssociationTasks::class, 'id_workstations');
return $this->hasMany(WorkstationsAssociationTasks::class, 'id_workstations','id_workstations');
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class ControlEquipmentWorkstation extends Model
{
use HasFactory;
public $timestamps = false;
protected $table = 'control_equipment_workstation';
// protected $primaryKey = 'id';
public function equipment()
{
return $this->belongsTo(Equipment::class, 'equipment_id', 'equipment_id');
}
public function elementalTask()
{
return $this->belongsTo(ElementalTasks::class,'elemental_tasks_id','elemental_tasks_id');
}
}

View File

@ -18,4 +18,14 @@ public function orderEquipmentTasks()
{
return $this->hasMany(OrderEquipmentTasks::class,'elemental_tasks_id','elemental_tasks_id');
}
public function controlEquipmentWorkstation()
{
return $this->hasMany(ControlEquipmentWorkstation::class, 'elemental_tasks_id', 'elemental_tasks_id');
}
public function workstationsAssociationTasks()
{
return $this->hasMany(WorkstationsAssociationTasks::class,'elemental_tasks_id','elemental_tasks_id');
}
}

View File

@ -48,8 +48,20 @@ public function orderEquipmentTasks()
return $this->hasMany(OrderEquipmentTasks::class, 'equipment_id', 'equipment_id');
}
public function equipmentComments()
{
return $this->hasMany(EquipmentComments::class, 'equipment_id', 'equipment_id');
}
public function controlEquipmentWorkstation()
{
return $this->hasMany(ControlEquipmentWorkstation::class, 'equipment_id', 'equipment_id');
}
public function hasInspectionYes()
{
return $this->orderEquipmentTasks()->where('inspection', 'Sim')->exists();
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class EquipmentComments extends Model
{
use HasFactory;
public $timestamps = false;
protected $table = 'equipment_comments';
protected $primaryKey = 'equipment_comment_id';
public function equipment()
{
return $this->belongsTo(Equipment::class, 'equipment_id', 'equipment_id');
}
}

View File

@ -14,12 +14,12 @@ class WorkstationsAssociationTasks extends Model
protected $table = 'workstations_association_tasks';
// public function constructionWorkstation()
// {
// return $this->belongsTo(ConstructionWorkstation::class, 'equipment_id', 'equipment_id');
// }
public function constructionWorkstation()
{
return $this->belongsTo(ConstructionWorkstation::class, 'id_workstations');
return $this->belongsTo(ConstructionWorkstation::class, 'id_workstations','id_workstations');
}
public function elementalTask()
{
return $this->belongsTo(ElementalTasks::class,'elemental_tasks_id','elemental_tasks_id');
}
}

View File

@ -20,9 +20,6 @@
use App\Http\Controllers\Auth\ResetPasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
use Laravel\Fortify\Fortify;
class FortifyServiceProvider extends ServiceProvider

View File

@ -0,0 +1,7 @@
@extends('Templates/templateAdmin')
@section('Main-content')
<h1>Bem Vindo ...</h1>
@endsection

View File

@ -1216,6 +1216,7 @@ class="fas fa-plus"></i>
</tr>
</thead>
<tbody>
@foreach ($listEquipmentsProjects as $listEquipmentsProject)
<tr>
<td>{{ $listEquipmentsProject->unit->unit_name ?? 'Sem Fabrica Associada!!!' }}
@ -1224,7 +1225,7 @@ class="fas fa-plus"></i>
</td>
<td>{{ $listEquipmentsProject->equipment_tag }}</td>
<td>{{ $listEquipmentsProject->equipment_description }}</td>
<td>{{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description ?? 'Sem Descrição Ambit Associada!!!' }}
<td>{{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description ?? 'Sem Descrição Ambit Associada!!!' }}
</td>
<td class="text-center d-flex justify-content-around">
<a href="#" class="open-modal"
@ -1625,7 +1626,7 @@ class="form-control card_inputs"
<div class="card card-secondary collapsed-card">
<div class="card-header">
<h3 class="card-title">Ambito :
{{ $listEquipmentsProject->equipmentAssociationAmbit->first()->ambitsEquipment->ambits_description }}
{{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool"

View File

@ -64,7 +64,7 @@
<div class="form-group col-sm-6" id="companyField">
<label>Empresa</label>
<select class="form-control" name="user_id" id="company_select">
<select class="form-control" name="user_id" id="company_select" required>
<option value="#">Selecione uma Empresa...</option>
@foreach ($companies as $company)
<option value="{{ $company->user_id }}">{{ $company->user_name }}</option>

View File

@ -95,10 +95,10 @@ class="btn btn-block bg-gradient-primary btn-lg">Articulado</a>
<div class="float-right">
{{-- <a href="#" type="button" class="btn btn-primary">Editar</a> --}}
<h1>test</h1>
<ul id="myList">
<!-- Itens da lista serão gerados dinamicamente aqui -->
</ul>
{{-- <h1>test</h1>
<ul id="myList"> --}}
<!-- Itens da lista serão gerados dinamicamente aqui -->
{{-- </ul> --}}
</div>
</div>
</div>
@ -114,8 +114,8 @@ class="btn btn-block bg-gradient-primary btn-lg">Articulado</a>
<h3 class="card-title">Articulado</h3>
<div class="card-tools">
<!-- <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
class="fas fa-plus"></i>
</button> -->
class="fas fa-plus"></i>
</button> -->
</div>
<!-- /.card-tools -->
</div>
@ -168,7 +168,8 @@ class="form-control">
</div>
<br>
<table id="TableExecutionProject" class="table table-bordered table-striped">
<table id="TableExecutionProjectEquipments"
class="table table-bordered table-striped">
<thead>
<tr>
<th>Tag</th>
@ -208,8 +209,8 @@ class="form-control">
<div class="card-tools">
<!-- <button type="button" class="btn btn-tool" data-card-widget="collapse">
<i class="fas fa-plus"></i>
</button> -->
<i class="fas fa-plus"></i>
</button> -->
</div>
<!-- /.card-tools -->
</div>
@ -289,7 +290,7 @@ class="table table-bordered table-striped">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="ModalTransferForArticulatedLabel">Mudar Projeto para Articulado</h5>
<h5 class="modal-title" id="ModalTransferForArticulatedLabel">Progresso Equipamento</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@ -332,12 +333,52 @@ class="table table-bordered table-striped">
</div>
</div>
</section>
<br>
<!-- Registro de Trabalho da Válvula -->
<div class="card card-primary collapsed-card">
<div class="card-header">
<h3 class="card-title">Registros</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i
class="fas fa-plus"></i>
</button>
</div>
<!-- /.card-tools -->
</div>
<!-- /.card-header -->
<div class="card-body">
<h4 class="text-center">Historico de registro :</h4>
<div class="row">
<div class="col-sm-6">Work Entry:</div>
<div class="col-sm-6"></div>
</div>
<br>
<div id="containerEquipmentComment"></div>
<br>
<div class="card card-success" id="CardShowCommetsEquipment">
<div class="card-header">
<h4>Comments</h3>
</div>
<br>
<div id="containerShowCommetsEquipment"></div>
</div>
</div>
<!-- /.card-body -->
</div>
<!-- /Registro de Trabalho da Válvula -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fechar</button>
</div>
</div>
</div>
</div>
{{-- ./Modal-showProgressEquipment --}}
@endsection
@ -346,12 +387,19 @@ class="table table-bordered table-striped">
<script type="text/javascript">
$(document).ready(function() {
$("#CardShowCommetsEquipment").hide();
$("#ShowCommetsEquipment").click(function() {
$("#CardShowCommetsEquipment").toggle();
});
//Cards das div : Destricao - Articulado - Postos de Trabalho
$("#CardArticuladoObra").hide();
$("#CardPostosDeTrabalhoObra").hide();
//Botoes : Destricao - Articulado - Postos de Trabalho
$('#BotaoDetalhesObra').hide();
// $('#BotaoArticulado').hide();
@ -394,41 +442,41 @@ class="table table-bordered table-striped">
<script type="Text/javascript">
$(document).ready(function() {
$('#TableExecutionProjectWorkstation').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveWorkstationExecutionProject/' + $('#receiveNumberProject').val()
},
columns: [{
data: 'name_workstations',
name: 'name_workstations'
},
{
data: 'nomenclature_workstation',
name: 'nomenclature_workstation'
}
// {
// data: 'workstations_Association_Tasks',
// name: 'workstations_Association_Tasks'
// }
$('#TableExecutionProjectWorkstation').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveWorkstationProject/' + $('#receiveNumberProject').val()
},
columns: [{
data: 'name_workstations',
name: 'name_workstations'
},
{
data: 'nomenclature_workstation',
name: 'nomenclature_workstation'
},
{
data: 'workstations_Association_Tasks',
name: 'workstations_Association_Tasks'
}
]
})
})
</script>
]
})
})
</script>
<script>
$(document).ready(function() {
$('#TableExecutionProject').DataTable({
$('#TableExecutionProjectEquipments').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveEquipmentsExecutionProject/' + $('#receiveNumberProject').val(),
url: '/api/receiveEquipmentsProject/' + $('#receiveNumberProject').val(),
data: function(d) {
d.equipment_type_id = $('#tipo_valvulasList').val();
d.ambits_id = $('#AmbitsEquipments_list').val();
@ -451,6 +499,18 @@ class="table table-bordered table-striped">
data: 'order_tasks',
name: 'order_tasks'
},
{
data: 'current_task',
name: 'current_task'
},
{
data: 'Inspec',
name: 'Inspec'
},
// {
// data: 'entry_date',
// name: 'entry_date'
// },
{
data: 'equipment_id',
name: 'equipment_id',
@ -465,11 +525,11 @@ class="table table-bordered table-striped">
// Scripts para que com base no recebido , ele atualiza a pagina automaticamente
$('#tipo_valvulasList').on('change', function() {
// Atualiza a tabela quando o valor selecionado no select de tipo de válvulas for alterado
$('#TableExecutionProject').DataTable().ajax.reload();
$('#TableExecutionProjectEquipments').DataTable().ajax.reload();
});
$('#AmbitsEquipments_list').on('change', function() {
// Atualiza a tabela quando o valor selecionado no select de tipo de válvulas for alterado
$('#TableExecutionProject').DataTable().ajax.reload();
$('#TableExecutionProjectEquipments').DataTable().ajax.reload();
});
$(document).on('click', '[data-toggle="modal"]', function() {
@ -527,12 +587,58 @@ class="table table-bordered table-striped">
$('#equipmentId').text(data.id);
var task_codes = data.task_codes;
console.log(task_codes);
createListItems(task_codes);
// console.log(data.receiveCommentsEquipment);
// Limpa o container que irá receber os novos elementos
$('#containerEquipmentComment').empty();
// Percorre os equipamentos recebidos
data.receveControlEquipment.forEach(function(equipment) {
// Cria o HTML para cada equipamento
var html = `
<div class="row">
<div class="col-sm-6">Workstation ${equipment.id_workstations}:</div>
<div class="col-sm-6">${equipment.entry_date}</div>
</div>
<div class="row">
<div class="col-sm-6">Elementary task(s):</div>
<div class="col-sm-6">${equipment.elemental_tasks_id}</div>
</div>
<div class="row">
<div class="col-sm-6">Exit Workstation ${equipment.id_workstations}:</div>
<div class="col-sm-6">${equipment.departure_date}</div>
<div class="col-sm-6"></div>
<div class="col-sm-6">
<button class="btn btn-outline-primary" id="ShowCommetsEquipment" data-workstation-id='${equipment.id_workstations}' data-equipment-id='${equipment.equipment_id}'>Comments (0)</button>
</div>
</div>`;
// Adiciona o HTML ao container
$('#containerEquipmentComment').append(html);
});
data.receiveCommentsEquipment.forEach(function(equipmentComment) {
var html = ` <div class="row">
<div class="col-sm-6">Cometarios :</div>
<div class="col-sm-6">${equipmentComment.comments}</div>
</div>
<div class="row">
<div class="col-sm-6">Data :</div>
<div class="col-sm-6">${equipmentComment.data}</div>
</div>`;
// Adiciona o HTML ao container
$('#containerShowCommetsEquipment').append(html);
});
}
});
});
$('#modal-showProgressEquipment').on('hide.bs.modal', function(event) {
$('#containerEquipmentComment').empty();
$('#containerShowCommetsEquipment').empty();
});
</script>
<script>
function createListItems(task_codes) {
// Limpar quaisquer itens de lista anteriores

View File

@ -7,7 +7,7 @@
<div class="row mb-2">
<div class="col-sm-6">
<h1>{{ $numberProject->company_project_description }}</h1>
{{-- <input type="hidden" value="{{$numberProject->company_projects_id}}" id="receiveNumberProject"> --}}
<input type="hidden" value="{{$numberProject->company_projects_id}}" id="receiveNumberProject">
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
@ -274,7 +274,7 @@ class="form-control">
<div class="card-body">
<div class="table-responsive">
<table id="TableReceiveWorkstationsPrepared" class="table table-bordered table-striped">
<table id="TablePreparedProjectWorkstation" class="table table-bordered table-striped">
<thead>
<tr>
<th>Postos de Trabalho</th>
@ -556,22 +556,46 @@ class="checkboxChoseTasksOficesCV"
});
</script>
<script type="Text/javascript">
$(document).ready(function() {
$('#TablePreparedProjectWorkstation').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: '/api/receiveWorkstationProject/' + $('#receiveNumberProject').val()
},
columns: [{
data: 'name_workstations',
name: 'name_workstations'
},
{
data: 'nomenclature_workstation',
name: 'nomenclature_workstation'
},
{
data: 'workstations_Association_Tasks',
name: 'workstations_Association_Tasks'
}
]
})
})
</script>
<script>
$(document).ready(function() {
$('#myTable').DataTable({
autoWidth: false,
processing: true,
serverSide: true,
ajax: {
url: "{{ route('getData') }}",
url: '/api/receiveEquipmentsProject/' + $('#receiveNumberProject').val(),
data: function(d) {
// Adiciona o 'equipment_type_id' selecionado aos parâmetros da solicitação
d.equipment_type_id = $('#tipo_valvulasList').val();
d.unit_id = $('#UnitsList').val();
d.ambits_id = $('#AmbitsEquipments_list').val();
d.inspec = $('#inspecValvula').val();
},
},
columns: [{
data: 'equipment_tag',
name: 'equipment_tag'
@ -684,3 +708,14 @@ class="checkboxChoseTasksOficesCV"
</script>
@endsection
{{-- // ajax: {
// url: "{{ route('getData') }}",
// data: function(d) {
// // Adiciona o 'equipment_type_id' selecionado aos parâmetros da solicitação
// d.equipment_type_id = $('#tipo_valvulasList').val();
// d.unit_id = $('#UnitsList').val();
// d.ambits_id = $('#AmbitsEquipments_list').val();
// d.inspec = $('#inspecValvula').val();
// },
// }, --}}

View File

@ -29,13 +29,16 @@
use App\Http\Controllers\ExecutionProjectController;
Route::get('ExecutionProject/{ProjectId}',[ExecutionProjectController::class,'receiveExecutionProject'])->name('ExecutionProject');
Route::get('/ReceiveEquipmentIdForShowModal/{EquipmentID}',[ExecutionProjectController::class,'receiveEquipmentIdForShowModal'])->name('ReceiveEquipmentIdForShowModal ');
Route::get('/api/receiveEquipmentsExecutionProject/{receiveNumberProject}',[ExecutionProjectController::class,'receiveEquipmentsExecutionProject'])->name('receiveEquipmentsExecutionProject');
// Route::get('/api/receiveEquipmentsExecutionProject/{receiveNumberProject}',[ExecutionProjectController::class,'receiveEquipmentsExecutionProject'])->name('receiveEquipmentsExecutionProject');
Route::get('/api/receiveEquipmentsProject/{receiveNumberProject}',[ProjectoDatacontroller::class,'receiveEquipmentsProject']);
Route::get('/api/receiveWorkstationProject/{receiveNumberProject}',[ProjectoDatacontroller::class,'receiveWorkstationProject' ]);
Route::get('/api/receiveWorkstationExecutionProject/{receiveNumberProject}',[ExecutionProjectController::class,'receiveWorkstationExecutionProject' ]);
Route::get('user-data', [PreparedProjectController::class, 'getData1'])->name('getData');
Route::get('/api/ambits/prepared{equipmentType}', [PreparedProjectController::class,'getAmbits']);
@ -159,7 +162,6 @@
});
/*
|--------------------------------------------------------------------------
| Create Users with Super Admin
@ -170,10 +172,17 @@
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::middleware(['auth', 'verified'])->group(function () {
// Rotas protegidas que exigem verificação de e-mail
Route::get('/', [ProjectoDatacontroller::class,('HomePage')])->name('home');
});
// Route::middleware(['auth', 'verified','checkUserType'])->group(function () {
// // Rotas protegidas que exigem verificação de e-mail
// Route::get('/', [ProjectoDatacontroller::class,('HomePage')])->name('home');
// Route::get('enterWorkstation',[ExecutionProjectController::class,'enterWorkstation'])->name('enterWorkstation');
// });
Route::middleware(['auth','checkUserType'])->group(function () {
// Rotas protegidas que exigem verificação de e-mail
Route::get('/', [ProjectoDatacontroller::class,('HomePage')])->name('home');
Route::get('enterWorkstation',[ExecutionProjectController::class,'enterWorkstation'])->name('enterWorkstation');
});
@ -316,53 +325,3 @@
// Route::get('/email/notice', function (EmailVerificationRequest $request) {
// return view('auth.verify-email');
// })->middleware(['auth'])->name('verification.notice');
// <table class="table table-bordered">
// <thead>
// <tr>
// <th>Equipment ID</th>
// <th>Factory ID</th>
// <th>Equipament Type ID</th>
// <th>Tag</th>
// <th>equipment_description</th>
// <th>Serial Number</th>
// <th>Brand</th>
// <th>Model</th>
// <th>Is Active</th>
// <th>Attribute Description</th>
// <th>Attribute Value</th>
// </tr>
// </thead>
// <tbody>
// @foreach ($equipments as $equipment)
// <tr>
// <td>{{ $equipment->equipment_id }}</td>
// <td>{{ $equipment->factory_id }}</td>
// <td>{{ $equipment->equipament_type_id }}</td>
// <td>{{ $equipment->tag }}</td>
// <td>{{ $equipment->equipment_description }}</td>
// <td>{{ $equipment->serial_number }}</td>
// <td>{{ $equipment->brand }}</td>
// <td>{{ $equipment->model }}</td>
// <td>{{ $equipment->Is_active }}</td>
// @if (isset($equipment->specific_attributes))
// @foreach ($equipment->specific_attributes as $attribute)
// @if ($loop->first)
// <td>{{ $attribute['description'] }}</td>
// <td>{{ $attribute['value'] }}</td>
// @else
// </tr><tr>
// <td colspan="9"></td>
// <td>{{ $attribute['description'] }}</td>
// <td>{{ $attribute['value'] }}</td>
// @endif
// @endforeach
// @else
// <td colspan="2"></td>
// @endif
// </tr>
// @endforeach
// </tbody>
// </table>