IMMREX7
<?php
namespace App\Http\Controllers\School\Library;
use Illuminate\Http\Request;
use App\Http\Controllers\School\SchoolController;
use DB;
use Auth;
use App\Http\Requests\LibraryBookRequest;
use Carbon\Carbon;
use Session;
class BookEntryController extends SchoolController {
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request) {
$today_date = Carbon::today()->format('Y-m-d');
if ($request->has('fromDate') && $request->fromDate != null) {
$from_date = Carbon::createFromFormat('d-m-Y', $request->fromDate);
}
if ($request->has('toDate') && $request->toDate != null) {
$to_date = Carbon::createFromFormat('d-m-Y', $request->toDate);
}
$subjects = ['' => '---Select--'] + \App\BookSubject::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('subjectName', 'idBookSubject')->toArray();
$publishers = ['' => '---Select--'] + \App\BookPublisher::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('publisherName', 'idPublisher')->toArray();
$vendors = ['' => '---Select--'] + \App\BookVendor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('vendorName', 'idVendor')->toArray();
$faculties = ['' => '---Select--'] + \App\BookFaculty::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('facultyName', 'idFaculty')->toArray();
$languages = ['' => '---Select--'] + \App\BookLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('languageName', 'idLanguage')->toArray();
$booktypes = ['' => '---Select--'] + \App\BookType::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('typeName', 'idBookType')->toArray();
$authors = ['' => '---Select--'] + \App\BookAuthor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('authorName', 'idAuthor')->toArray();
$series = ['' => '---Select--'] + \App\BookSeries::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('seriesName', 'idBookSeries')->toArray();
$locations = ['' => '---Select--'] + \App\BookLocation::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('locName', 'idBookLocation')->toArray();
$subclassesone = ['' => '---Select--'] + \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '1')
->pluck('classNo', 'idSubclass')->toArray();
$books = DB::table('books')
->leftjoin('book_subjects', 'books.idBookSubject', '=', 'book_subjects.idBookSubject')
->leftjoin('book_publisher', 'books.idPublisher', '=', 'book_publisher.idPublisher')
->leftjoin('book_vendors', 'books.idVendor', '=', 'book_vendors.idVendor')
->leftjoin('book_faculty', 'books.idFaculty', '=', 'book_faculty.idFaculty')
->leftjoin('language', 'books.idLanguage', '=', 'language.idLanguage')
->leftjoin('book_types', 'books.idBookType', '=', 'book_types.idBookType')
->leftjoin('book_authors', 'books.idAuthor', '=', 'book_authors.idAuthor')
->leftjoin('book_editors', 'books.idEditor', '=', 'book_editors.idEditor')
->leftjoin('book_series', 'books.idBookSeries', '=', 'book_series.idBookSeries')
->leftjoin('book_location', 'books.idBookLocation', '=', 'book_location.idBookLocation')
->leftjoin('book_subclass', 'books.idSubClassno', '=', 'book_subclass.idSubclass')
->where('books.idSchool', '=', Auth::guard('school')->user()->idSchool)
->select('bookStatus', 'title', 'books.idSchool', 'idBook', 'bookImage', 'rfid', 'accessionNo', 'authorName', 'publisherName', 'publicationYear', 'seriesName', 'locName', 'editorName', 'classNo');
//->get();
if ($request->has('idBookType') && $request->idBookType != null) {
$books = $books->where('idBookType', '=', $request->idBookType)->get();
}
if ($request->has('idSeries') && $request->idSeries != null) {
$books = $books->where('idSeries', '=', $request->idSeries)->get();
}
if ($request->has('idLocation') && $request->idLocation != null) {
$books = $books->where('idLocation', '=', $request->idLocation)->get();
}
if ($request->has('idPublisher') && $request->idPublisher != null) {
$books = $books->where('idPublisher', '=', $request->idPublisher)->get();
}
if ($request->has('idAuthor') && $request->idAuthor != null) {
$books = $books->where('idAuthor', '=', $request->idAuthor)->get();
}
if ($request->has('idVendor') && $request->idVendor != null) {
$books = $books->where('idVendor', '=', $request->idVendor)->get();
}
if ($request->has('idLanguage') && $request->idLanguage != null) {
$books = $books->where('idLanguage', '=', $request->idLanguage)->get();
}
if ($request->has('idBookSubject') && $request->idBookSubject != null) {
$books = $books->where('idBookSubject', '=', $request->idBookSubject)->get();
}
if ($request->has('idFaculty') && $request->idFaculty != null) {
$books = $books->where('idFaculty', '=', $request->idFaculty)->get();
}
if ($request->toDate != null && $request->fromDate != null) {
$books = $books->whereBetween('books.billDate', [$from_date->format('Y-m-d'), $to_date->format('Y-m-d')])->get();
} else if ($request->has('fromDate') && $request->fromDate != null) {
$books = $books->whereBetween('books.billDate', [$from_date->format('Y-m-d'), $today_date])->get();
} else if ($request->has('toDate') && $request->toDate != null) {
$books = $books->whereDate('books.billDate', '<=', $to_date)->get();
} else {
$books = $books->get();
}
return view('schools.library.booklist', compact('books', 'subjects', 'publishers', 'vendors', 'faculties', 'languages', 'booktypes', 'authors', 'series', 'locations', 'subclassesone', 'editors'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create() {
$booktypes = ['' => '---Select--'] + \App\BookType::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('typeName', 'idBookType')->toArray();
$sizes = \App\BookSize::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('sizeName', 'idBookSize')->toArray();
$publishers = \App\BookPublisher::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('publisherName', 'idPublisher')->toArray();
$places = \App\BookPublicationPlace::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('placeName', 'idPublicationPlace')->toArray();
$languages = \App\BookLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('languageName', 'idLanguage')->toArray();
$sourcelangs = \App\BookSourceLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('sourcelangName', 'idSourceLanguage')->toArray();
$authors = \App\BookAuthor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('authorName', 'idAuthor')->toArray();
$editors = \App\BookEditor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('editorName', 'idEditor')->toArray();
$series = \App\BookSeries::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('seriesName', 'idBookSeries')->toArray();
$faculties = \App\BookFaculty::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('facultyName', 'idFaculty')->toArray();
$subjects = \App\BookSubject::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('subjectName', 'idBookSubject')->toArray();
$bindings = \App\BindingType::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('typeName', 'idBindingType')->toArray();
$materials = \App\AccompanyMaterial::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('materialName', 'idMaterial')->toArray();
$corporates = \App\BookCorporate::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('corporateName', 'idCorporate')->toArray();
$vendors = \App\BookVendor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('vendorName', 'idVendor')->toArray();
$classifications = \App\BookClassification::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('classificationName', 'idClassification')->toArray();
$subclassesone = \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '1')
->pluck('classNo', 'idSubclass')->toArray();
$subclassestwo = \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '2')
->pluck('classNo', 'idSubclass')->toArray();
$locations = \App\BookLocation::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('locName', 'idBookLocation')->toArray();
return view('schools.library.book_entry', compact('sizes', 'locations', 'booktypes', 'authors', 'publishers', 'editors', 'places', 'languages', 'sourcelangs'
, 'series', 'faculties', 'subjects', 'bindings', 'materials', 'corporates', 'vendors', 'classifications', 'subclassesone', 'subclassestwo'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(LibraryBookRequest $request) {
//dd($request->all());
// If New Publisher is Added
if ($request->has('Publisher') && $request->Publisher != null) {
$publisher = \App\BookPublisher::where('publisherName', '=', $request->Publisher)
->where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->first();
if (!empty($publisher)) {
$idPublisher = $publisher->idPublisher;
} else {
$publisher = new \App\BookPublisher;
$publisher->fill($request->all());
$publisher->idSchool = Auth::guard('school')->user()->idSchool;
$publisher->publisherName = $request->Publisher;
$publisher->save();
$idPublisher = $publisher->idPublisher;
}
} else {
$idPublisher = null;
}
// If New Publication Place is Added
if ($request->has('Publicationplace') && $request->Publicationplace != null) {
$pubplace = \App\BookPublicationPlace::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('placeName', '=', $request->Publicationplace)
->first();
if (!empty($pubplace)) {
$idPublicationPlace = $pubplace->idPublicationPlace;
} else {
$pubplace = new \App\BookPublicationPlace;
$pubplace->fill($request->all());
$pubplace->idSchool = Auth::guard('school')->user()->idSchool;
$pubplace->placeName = $request->Publicationplace;
$pubplace->save();
$idPublicationPlace = $pubplace->idPublicationPlace;
}
} else {
$idPublicationPlace = null;
}
//If New Author is Added
if ($request->has('Author') && $request->Author != null) {
$author = \App\BookAuthor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('authorName', '=', $request->Author)
->first();
if (!empty($author)) {
$idAuthor = $author->idAuthor;
} else {
$author = new \App\BookAuthor;
$author->fill($request->all());
$author->idSchool = Auth::guard('school')->user()->idSchool;
$author->authorName = $request->Author;
$author->save();
$idAuthor = $author->idAuthor;
}
} else {
$idAuthor = null;
}
//If New Language is Added
if ($request->has('Language') && $request->Language != null) {
$language = \App\BookLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('languageName', '=', $request->Language)
->first();
if (!empty($language)) {
$idLanguage = $language->idLanguage;
} else {
$language = new \App\BookLanguage;
$language->fill($request->all());
$language->idSchool = Auth::guard('school')->user()->idSchool;
$language->languageName = $request->Language;
$language->save();
$idLanguage = $language->idLanguage;
}
} else {
$idLanguage = null;
}
//If New SourceLanguage is Added
if ($request->has('SourceLanguage') && $request->SourceLanguage != null) {
$slanguage = \App\BookSourceLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('sourcelangName', '=', $request->SourceLanguage)
->first();
if (!empty($slanguage)) {
$idSourceLanguage = $slanguage->idSourceLanguage;
} else {
$slanguage = new \App\BookSourceLanguage();
$slanguage->fill($request->all());
$slanguage->idSchool = Auth::guard('school')->user()->idSchool;
$slanguage->sourcelangName = $request->SourceLanguage;
$slanguage->save();
$idSourceLanguage = $slanguage->idSourceLanguage;
}
} else {
$idSourceLanguage = null;
}
//If New Classification is Added
if ($request->has('Classification') && $request->Classification != null) {
$classification = \App\BookClassification::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('classificationName', '=', $request->Classification)
->first();
if (!empty($classification)) {
$idClassification = $classification->idClassification;
} else {
$classification = new \App\BookClassification();
$classification->fill($request->all());
$classification->idSchool = Auth::guard('school')->user()->idSchool;
$classification->classificationName = $request->Classification;
$classification->save();
$idClassification = $classification->idClassification;
}
} else {
$idClassification = null;
}
//If New Book Location is Added
if ($request->has('BookLocation') && $request->BookLocation != null) {
$location = \App\BookLocation::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('locName', '=', $request->BookLocation)
->first();
if (!empty($location)) {
$idBookLocation = $location->idBookLocation;
} else {
$location = new \App\BookLocation;
$location->fill($request->all());
$location->idSchool = Auth::guard('school')->user()->idSchool;
$location->locName = $request->BookLocation;
$location->save();
$idBookLocation = $location->idBookLocation;
}
} else {
$idBookLocation = null;
}
//If New SubClass one is Added
if ($request->has('SubClassno') && $request->SubClassno != null) {
$subclassone = \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '1')
->where('classNo', '=', $request->SubClassno)
->first();
if (!empty($subclassone)) {
$idSubclassone = $subclassone->idSubclass;
} else {
$subclassone = new \App\BookSubclass;
$subclassone->fill($request->all());
$subclassone->idSchool = Auth::guard('school')->user()->idSchool;
$subclassone->level = 1;
$subclassone->classNo = $request->SubClassno;
$subclassone->save();
$idSubclassone = $subclassone->idSubclass;
}
} else {
$idSubclassone = null;
}
//If New SubClass TWO is Added
if ($request->has('SubClasstwo') && $request->SubClasstwo != null) {
$subclasstwo = \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '2')
->where('classNo', '=', $request->SubClasstwo)
->first();
if (!empty($subclasstwo)) {
$idSubclasstwo = $subclasstwo->idSubclass;
} else {
$subclasstwo = new \App\BookSubclass;
$subclasstwo->fill($request->all());
$subclasstwo->idSchool = Auth::guard('school')->user()->idSchool;
$subclasstwo->classNo = $request->SubClasstwo;
$subclasstwo->level = 2;
$subclasstwo->save();
$idSubclasstwo = $subclasstwo->idSubclass;
}
} else {
$idSubclasstwo = null;
}
//If New Editor is Added
if ($request->has('Editor') && $request->Editor != null) {
$editor = \App\BookEditor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('editorName', '=', $request->Editor)
->first();
if (!empty($editor)) {
$idEditor = $editor->idEditor;
} else {
$editor = new \App\BookEditor();
$editor->fill($request->all());
$editor->idSchool = Auth::guard('school')->user()->idSchool;
$editor->editorName = $request->Editor;
$editor->save();
$idEditor = $editor->idEditor;
}
} else {
$idEditor = null;
}
//If New BookSeries is Added
if ($request->has('BookSeries') && $request->BookSeries != null) {
$series = \App\BookSeries::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('seriesName', '=', $request->BookSeries)
->first();
if (!empty($series)) {
$idBookSeries = $series->idBookSeries;
} else {
$series = new \App\BookSeries();
$series->fill($request->all());
$series->idSchool = Auth::guard('school')->user()->idSchool;
$series->seriesName = $request->BookSeries;
$series->save();
$idBookSeries = $series->idBookSeries;
}
} else {
$idBookSeries = null;
}
//If New Vendor is Added
if ($request->has('Vendor') && $request->Vendor != null) {
$vendor = \App\BookVendor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('vendorName', '=', $request->Vendor)
->first();
if (!empty($vendor)) {
$idVendor = $vendor->idVendor;
} else {
$vendor = new \App\BookVendor();
$vendor->fill($request->all());
$vendor->idSchool = Auth::guard('school')->user()->idSchool;
$vendor->vendorName = $request->Vendor;
$vendor->save();
$idVendor = $vendor->idVendor;
}
} else {
$idVendor = null;
}
//If New Book Subject is Added
if ($request->has('BookSubject') && $request->BookSubject != null) {
$subject = \App\BookSubject::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('subjectName', '=', $request->BookSubject)
->first();
if (!empty($subject)) {
$idBookSubject = $subject->idBookSubject;
} else {
$subject = new \App\BookSubject();
$subject->fill($request->all());
$subject->idSchool = Auth::guard('school')->user()->idSchool;
$subject->subjectName = $request->BookSubject;
$subject->save();
$idBookSubject = $subject->idBookSubject;
}
} else {
$idBookSubject = null;
}
//If New Faculty is Added
if ($request->has('Faculty') && $request->Faculty != null) {
$faculty = \App\BookFaculty::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('facultyName', '=', $request->Faculty)
->first();
if (!empty($faculty)) {
$idFaculty = $faculty->idFaculty;
} else {
$faculty = new \App\BookFaculty();
$faculty->fill($request->all());
$faculty->idSchool = Auth::guard('school')->user()->idSchool;
$faculty->facultyName = $request->Faculty;
$faculty->save();
$idFaculty = $faculty->idFaculty;
}
} else {
$idFaculty = null;
}
//If New BindingType is Added
if ($request->has('BindingType') && $request->BindingType != null) {
$binding = \App\BindingType::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('typeName', '=', $request->BindingType)
->first();
if (!empty($binding)) {
$idBindingType = $binding->idBindingType;
} else {
$binding = new \App\BindingType();
$binding->fill($request->all());
$binding->idSchool = Auth::guard('school')->user()->idSchool;
$binding->typeName = $request->BindingType;
$binding->save();
$idBindingType = $binding->idBindingType;
}
} else {
$idBindingType = null;
}
//If New Book Size is Added
if ($request->has('BookSize') && $request->BookSize != null) {
$size = \App\BookSize::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('sizeName', '=', $request->BookSize)
->first();
if (!empty($size)) {
$idBookSize = $size->idBookSize;
} else {
$size = new \App\BookSize();
$size->fill($request->all());
$size->idSchool = Auth::guard('school')->user()->idSchool;
$size->sizeName = $request->BookSize;
$size->save();
$idBookSize = $size->idBookSize;
}
} else {
$idBookSize = null;
}
//If New Material is Added
if ($request->has('Material') && $request->Material != null) {
$material = \App\AccompanyMaterial::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('materialName', '=', $request->Material)
->first();
if (!empty($material)) {
$idMaterial = $material->idMaterial;
} else {
$material = new \App\AccompanyMaterial();
$material->fill($request->all());
$material->idSchool = Auth::guard('school')->user()->idSchool;
$material->materialName = $request->Material;
$material->save();
$idMaterial = $material->idMaterial;
}
} else {
$idMaterial = null;
}
//If New Corporate is Added
if ($request->has('Corporate') && $request->Corporate != null) {
$corporate = \App\BookCorporate::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('corporateName', '=', $request->Corporate)
->first();
if (!empty($corporate)) {
$idCorporate = $corporate->idCorporate;
} else {
$corporate = new \App\BookCorporate();
$corporate->fill($request->all());
$corporate->idSchool = Auth::guard('school')->user()->idSchool;
$corporate->corporateName = $request->Corporate;
$corporate->save();
$idCorporate = $corporate->idCorporate;
}
} else {
$idCorporate = null;
}
// New Book Entry Start
$book = new \App\Book;
$book->fill($request->all());
$book->idSchool = Auth::guard('school')->user()->idSchool;
$book->idFinancialyear = Session::get('idFinancialYear');
$book->idPublisher = $idPublisher;
$book->idPlace = $idPublicationPlace;
$book->idAuthor = $idAuthor;
$book->idLanguage = $idLanguage;
$book->idSourceLanguage = $idSourceLanguage;
$book->idClassification = $idClassification;
$book->idBookLocation = $idBookLocation;
$book->idSubClassno = $idSubclassone;
$book->idSubclasstwo = $idSubclasstwo;
$book->idEditor = $idEditor;
$book->idBookSeries = $idBookSeries;
$book->idEditor = $idEditor;
$book->idVendor = $idVendor;
$book->idBookSubject = $idBookSubject;
$book->idFaculty = $idFaculty;
$book->idBindingType = $idBindingType;
$book->idBookSize = $idBookSize;
$book->idMaterial = $idMaterial;
$book->idCorporate = $idCorporate;
DB::beginTransaction();
$book->save();
if ($request->hasFile('bookImage')) {
$image = 'book_' . $book->idBook . '.' . $request->file('bookImage')->getClientOriginalExtension();
$request->file('bookImage')->storeAs('public/schools/' . Auth::guard('school')->user()->idSchool . '/library/', $image);
$book->bookImage = $image;
}
if ($request->hasFile('ebook')) {
$ebook = 'ebook_' . $book->idBook . '.' . $request->file('bookImage')->getClientOriginalExtension();
$request->file('ebook')->storeAs('public/schools/' . Auth::guard('school')->user()->idSchool . '/library/', $ebook);
$book->ebook = $ebook;
}
$book->update();
DB::commit();
// New Book Entry END
$i = 0;
if ($request->noOfCopy > 1) {
for ($i = 1; $i < $request->noOfCopy; $i++) {
$book_existing = \App\Book::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('idBookType', '=', $book->idBookType)
->latest()
->first();
$newBook = $book->replicate();
$accessionNo = $book_existing->accessionNo;
$accession = ++$accessionNo;
$newBook->accessionNo = $accession;
$newBook->save();
}
}
return redirect('school/books');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id) {
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id) {
$booktypes = ['' => '---Select--'] + \App\BookType::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('typeName', 'idBookType')->toArray();
$sizes = ['' => '---Select--'] + \App\BookSize::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('sizeName', 'idBookSize')->toArray();
$publishers = ['' => '---Select--'] + \App\BookPublisher::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('publisherName', 'idPublisher')->toArray();
$places = ['' => '---Select--'] + \App\BookPublicationPlace::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('placeName', 'idPublicationPlace')->toArray();
$languages = ['' => '---Select--'] + \App\BookLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('languageName', 'idLanguage')->toArray();
$sourcelangs = ['' => '---Select--'] + \App\BookSourceLanguage::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('sourcelangName', 'idSourceLanguage')->toArray();
$authors = ['' => '---Select--'] + \App\BookAuthor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('authorName', 'idAuthor')->toArray();
$editors = ['' => '---Select--'] + \App\BookEditor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('editorName', 'idEditor')->toArray();
$series = ['' => '---Select--'] + \App\BookSeries::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('seriesName', 'idBookSeries')->toArray();
$faculties = ['' => '---Select--'] + \App\BookFaculty::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('facultyName', 'idFaculty')->toArray();
$subjects = ['' => '---Select--'] + \App\BookSubject::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('subjectName', 'idBookSubject')->toArray();
$bindings = ['' => '---Select--'] + \App\BindingType::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('typeName', 'idBindingType')->toArray();
$materials = ['' => '---Select--'] + \App\AccompanyMaterial::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('materialName', 'idMaterial')->toArray();
$corporates = ['' => '---Select--'] + \App\BookCorporate::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('corporateName', 'idCorporate')->toArray();
$vendors = ['' => '---Select--'] + \App\BookVendor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('vendorName', 'idVendor')->toArray();
$classifications = ['' => '---Select--'] + \App\BookClassification::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('classificationName', 'idClassification')->toArray();
$subclassesone = ['' => '---Select--'] + \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '1')
->pluck('classNo', 'idSubclass')->toArray();
$subclassestwo = ['' => '---Select--'] + \App\BookSubclass::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('level', '=', '2')
->pluck('classNo', 'idSubclass')->toArray();
$locations = ['' => '---Select--'] + \App\BookLocation::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->pluck('locName', 'idBookLocation')->toArray();
$book = \App\Book::where('idBook', '=', $id)->first();
return view('schools.library.book_edit', compact('book', 'sizes', 'locations', 'booktypes', 'authors', 'publishers', 'editors', 'places', 'languages', 'sourcelangs'
, 'series', 'faculties', 'subjects', 'bindings', 'materials', 'corporates', 'vendors', 'classifications', 'subclassesone', 'subclassestwo'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(LibraryBookRequest $request, $id) {
$book = \App\Book::where('idBook', '=', $id)->first();
$book->fill($request->all());
if ($request->hasFile('bookImage')) {
$image = 'book_' . $book->idBook . '.' . $request->file('bookImage')->getClientOriginalExtension();
$request->file('bookImage')->storeAs('public/schools/' . Auth::guard('school')->user()->idSchool . '/library/', $image);
$book->bookImage = $image;
}
if ($request->hasFile('ebook')) {
$ebook = 'ebook_' . $book->idBook . '.' . $request->file('bookImage')->getClientOriginalExtension();
$request->file('ebook')->storeAs('public/schools/' . Auth::guard('school')->user()->idSchool . '/library/', $ebook);
$book->ebook = $ebook;
}
$book->update();
return redirect('school/books');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id) {
$book = \App\Book::where('idBook', '=', $id)->first();
$book->delete();
return response()->json(['success' => "SUCCESS"], 200, ['app-status' => 'success']);
}
public function lostBook() {
return view('schools.library.lost_damaged_book');
}
public function savelostBook(Request $request) {
$book = \App\Book::where("accessionNo", '=', $request->accessionNo)
->where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->first();
if ($request->memberType == 'student') {
$member = \App\AdmEntry::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('ecNo', '=', $request->ecNo)
->select('idStudent as idMember')
->first();
} elseif ($request->memberType == 'employee') {
$member = \App\Employee::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('enrollmentNo', '=', $request->ecNo)
->select('idEmployee as idMember')
->first();
}
$bookissue = \App\BookIssueReturn::where('idBook', '=', $book->idBook)
->where('idMember', '=', $member->idMember)
->where('isReturn', '=', 'N')
->first();
$booklost = new \App\LibraryTransaction();
$booklost->fill($request->all());
$booklost->idSchool = Auth::guard('school')->user()->idSchool;
$booklost->idFinancialyear = Session::get('idFinancialYear');
$booklost->paymentDate = today_date();
$booklost->idMember = $member->idMember;
$booklost->idBook = $book->idBook;
$next_receiptno = next_libraryreceiptno();
$booklost->receiptNo = 'INV000' . $next_receiptno;
$booklost->payableAmount = $request->bookCost;
DB::beginTransaction();
if ($bookissue) {
$bookissue->status = $request->bookStatus;
$bookissue->update();
}
$booklost->save();
$book->bookStatus = $request->bookStatus;
$book->update();
DB::commit();
return redirect('school/booklost');
}
public function getBookDetail(Request $request) {
$books = \App\Book::where("accessionNo", 'like', '%' . $request->name_startsWith . '%')
->where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->limit(20)
->get();
foreach ($books as $query) {
$results[] = [$query->accessionNo, $query->originalCost];
}
return json_encode($results);
}
}
Copyright © 2021 -