change template, receive units and lock sheet 'list' so it can't be changed
This commit is contained in:
parent
fa669b7419
commit
fb4612fd15
|
|
@ -6,6 +6,9 @@
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Models\CompanyProject;
|
use App\Models\CompanyProject;
|
||||||
|
|
@ -30,10 +33,58 @@
|
||||||
|
|
||||||
class CreateProjectController extends Controller
|
class CreateProjectController extends Controller
|
||||||
{
|
{
|
||||||
|
// public function receiveUnitsForExcelTemplate($numberProject)
|
||||||
|
// {
|
||||||
|
// $receveCompanyProject = CompanyProject::where('company_projects_id',$numberProject)->first();
|
||||||
|
// $recevePlant = Plant::where('plant_id', $receveCompanyProject->plant_id)->first();
|
||||||
|
// $receveUnits = Unit::where('plant_id',$recevePlant->plant_id)->get();
|
||||||
|
// // dd($receveUnits);
|
||||||
|
// $filePath = public_path('templateExcel/TestTemplate.xlsx');
|
||||||
|
// $fileName = 'Valves_Template.xlsx';
|
||||||
|
// return response()->download($filePath, $fileName);
|
||||||
|
// }
|
||||||
|
|
||||||
|
public function receiveUnitsForExcelTemplate($numberProject)
|
||||||
|
{
|
||||||
|
$receveCompanyProject = CompanyProject::where('company_projects_id', $numberProject)->first();
|
||||||
|
$recevePlant = Plant::where('plant_id', $receveCompanyProject->plant_id)->first();
|
||||||
|
$receveUnits = Unit::where('plant_id', $recevePlant->plant_id)->get();
|
||||||
|
$filePath = public_path('templateExcel/TestTemplate.xlsx');
|
||||||
|
// Load the spreadsheet
|
||||||
|
$spreadsheet = IOFactory::load($filePath);
|
||||||
|
// Get the second sheet
|
||||||
|
$sheet = $spreadsheet->getSheet(1); // Sheet index starts from 0
|
||||||
|
$row = 1; // Row number where you want to start inserting data
|
||||||
|
foreach ($receveUnits as $unit) {
|
||||||
|
// Set value for column D
|
||||||
|
$sheet->setCellValue('D' . $row, $unit->unit_name);
|
||||||
|
$row++;
|
||||||
|
}
|
||||||
|
// Generate and return the download response
|
||||||
|
return $this->createDownloadResponse($spreadsheet, 'Valves_Template.xlsx');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function createDownloadResponse($spreadsheet, $filename)
|
||||||
|
{
|
||||||
|
// Create a writer object
|
||||||
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
// Create a StreamedResponse with a callback
|
||||||
|
$response = new StreamedResponse(
|
||||||
|
function () use ($writer) {
|
||||||
|
$writer->save('php://output');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// Set headers to indicate we're sending an Excel file
|
||||||
|
$response->headers->set('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
||||||
|
$response->headers->set('Content-Disposition', 'attachment;filename="' . $filename . '"');
|
||||||
|
$response->headers->set('Cache-Control', 'max-age=0');
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function finishCreatingProject($numberProject)
|
public function finishCreatingProject($numberProject)
|
||||||
{
|
{
|
||||||
|
|
||||||
$project = CompanyProject::find($numberProject);
|
$project = CompanyProject::find($numberProject);
|
||||||
$project->order_project = 2;
|
$project->order_project = 2;
|
||||||
$project->save();
|
$project->save();
|
||||||
|
|
@ -86,11 +137,6 @@ public function deleteWorkstation($name)
|
||||||
return back()->with('danger', 'Posto de Trabalho não encontrado!');
|
return back()->with('danger', 'Posto de Trabalho não encontrado!');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function AddNomenclatureWorkstation(Request $request)
|
public function AddNomenclatureWorkstation(Request $request)
|
||||||
{
|
{
|
||||||
foreach ($request->nameWorkstations as $key => $value) {
|
foreach ($request->nameWorkstations as $key => $value) {
|
||||||
|
|
|
||||||
BIN
public/templateExcel/TestTemplate.xlsx
Normal file
BIN
public/templateExcel/TestTemplate.xlsx
Normal file
Binary file not shown.
|
|
@ -1165,8 +1165,8 @@ class="fas fa-plus"></i>
|
||||||
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
|
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-4 d-flex justify-content-center">
|
<div class="col-sm-4 d-flex justify-content-center">
|
||||||
<a id="btn-download-template" href="{{ route('download') }}" class="btn btn-info">Baixar
|
<a href="{{ route('download',['numberProject'=>$numberProject]) }}" class="btn btn-info">Baixar Template</a>
|
||||||
Template</a>
|
{{-- <a id="btn-download-template" href="{{ route('download1',['numberProject'=>$numberProject]) }}" class="btn btn-info">Baixar Template</a> --}}
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-4">
|
<div class="form-group col-sm-4">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|
|
||||||
|
|
@ -198,12 +198,18 @@
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Route::get('/template', function () {
|
// Route::get('/template', function () {
|
||||||
$filePath = public_path('templateExcel/FinalTemplate1.xlsx');
|
// $filePath = public_path('templateExcel/FinalTemplate1.xlsx');
|
||||||
$fileName = 'Valves_Template.xlsx';
|
// $fileName = 'Valves_Template.xlsx';
|
||||||
|
|
||||||
|
// return response()->download($filePath, $fileName);
|
||||||
|
// })->name('download');
|
||||||
|
|
||||||
|
// Route::get('/Template/{numberProject}')->name('download');
|
||||||
|
Route::get('/template1/{numberProject}',[CreateProjectController::class,'receiveUnitsForExcelTemplate'])->name('download');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return response()->download($filePath, $fileName);
|
|
||||||
})->name('download');
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user