bug fixes, AM change feature, refactoring
This commit is contained in:
@@ -6,7 +6,7 @@ use Illuminate\Http\Request;
|
||||
use App\Models;
|
||||
use Session;
|
||||
use Excel;
|
||||
use App\Imports\Senderidimport;
|
||||
use App\Imports\SenderidImport;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class SenderIdController extends Controller
|
||||
@@ -35,8 +35,10 @@ class SenderIdController extends Controller
|
||||
->paginate(15);
|
||||
|
||||
if($request->has('keyword')){
|
||||
|
||||
$queries = [];
|
||||
$keyword = $request->keyword;
|
||||
$request->session()->put('current_user.senderid_keyword', $keyword);
|
||||
$queries['keyword'] = $keyword;
|
||||
$senderid_arr = \DB::table('sender_ids')
|
||||
->join('staff_members AS staffcreate', 'staffcreate.id', '=', 'sender_ids.created_by')
|
||||
@@ -109,14 +111,35 @@ class SenderIdController extends Controller
|
||||
'status' => 'required',
|
||||
'remarks' => 'sometimes',
|
||||
]);
|
||||
// dump($request->all());
|
||||
/*
|
||||
$check_duplicate = Models\SenderId::where('senderid', $request->senderid)
|
||||
->where('mno_name', $request->mno_name)
|
||||
->first();
|
||||
|
||||
if($check_duplicate){
|
||||
return redirect()->back()->withInput()->withErrors("Sender ID already exist for " . $request->mno_name );
|
||||
*/
|
||||
|
||||
$check_duplicate = Models\SenderId::where('senderid', $request->senderid)->first();
|
||||
// dd($check_duplicate);
|
||||
if ($check_duplicate) {
|
||||
// code...
|
||||
if ($request->direct_mno == 'YES' && $check_duplicate->direct_mno == 'YES') {
|
||||
if ($request->mno_name == $check_duplicate->mno_name) {
|
||||
return redirect()->back()->withInput()->withErrors("Sender ID already exist for " . $request->mno_name );
|
||||
}
|
||||
}
|
||||
if ($request->direct_mno == 'NO' && $check_duplicate->direct_mno == 'NO') {
|
||||
if ($request->supplier_name == $check_duplicate->supplier_name) {
|
||||
return redirect()->back()->withInput()->withErrors("Sender ID already exist for " . $request->supplier_name );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// dd('foo stop');
|
||||
// if($check_duplicate){
|
||||
// return redirect()->back()->withInput()->withErrors("Sender ID already exist for " . $request->mno_name );
|
||||
// }
|
||||
|
||||
$senderid_arr = $request->except('_token');
|
||||
$senderid_arr['created_by'] = session('current_user.id');
|
||||
$senderid_arr['last_modified_by'] = session('current_user.id');
|
||||
@@ -179,7 +202,7 @@ class SenderIdController extends Controller
|
||||
$request->senderid_file->storeAs('general_files', $filename, 'public');
|
||||
|
||||
$stored_file = public_path('documents/general_files/'.$filename);
|
||||
$extracted_arr = Excel::toArray(new Senderidimport, $stored_file);
|
||||
$extracted_arr = Excel::toArray(new SenderidImport, $stored_file);
|
||||
// dd($extracted_arr[0]);
|
||||
$row_count = $extracted_arr[0];
|
||||
$main = [];
|
||||
@@ -227,6 +250,7 @@ class SenderIdController extends Controller
|
||||
// dd('foo bar');
|
||||
$senderid_arr['senderid'] = $value['senderid'];
|
||||
$senderid_arr['mno_name'] = $value['mno_name'];
|
||||
$senderid_arr['status'] = $value['status'];
|
||||
$senderid_arr['created_by'] = session('current_user.id');
|
||||
$senderid_arr['last_modified_by'] = session('current_user.id');
|
||||
$senderid_arr['remarks'] = $value['remarks'];
|
||||
@@ -235,6 +259,7 @@ class SenderIdController extends Controller
|
||||
else{
|
||||
$senderid_arr['senderid'] = $value['senderid'];
|
||||
$senderid_arr['supplier_name'] = $value['supplier_name'];
|
||||
$senderid_arr['status'] = $value['status'];
|
||||
$senderid_arr['created_by'] = session('current_user.id');
|
||||
$senderid_arr['last_modified_by'] = session('current_user.id');
|
||||
$senderid_arr['remarks'] = $value['remarks'];
|
||||
@@ -261,7 +286,7 @@ class SenderIdController extends Controller
|
||||
return \Response::download($file, 'Sender ID Upload Report', $headers);
|
||||
}
|
||||
public function getSampleFile(){
|
||||
$file = public_path('documents/general_files/senderid_sample_file.xlsx');
|
||||
$file = public_path('helper_documents/senderid_sample_file.xlsx');
|
||||
|
||||
#$extension = pathinfo($file, PATHINFO_EXTENSION);
|
||||
$headers = ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];
|
||||
@@ -374,6 +399,65 @@ class SenderIdController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function exportSenderIdCsv(){
|
||||
$fileName = 'senderid_list.csv';
|
||||
$users = Models\SenderId::all()->toArray(); // Adjust model as needed
|
||||
|
||||
$headers = [
|
||||
'Content-Type' => 'text/csv',
|
||||
'Content-Disposition' => "attachment; filename=\"$fileName\"",
|
||||
'Pragma' => 'no-cache',
|
||||
'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0',
|
||||
'Expires' => '0',
|
||||
];
|
||||
|
||||
$keyword = session('current_user.senderid_keyword');
|
||||
// dd(request('keyword'));
|
||||
// dd($keyword);
|
||||
request()->session()->put('current_user.senderid_keyword', null);
|
||||
// dump($keyword);
|
||||
$senderid_arr = \DB::table('sender_ids')
|
||||
->join('staff_members AS staffcreate', 'staffcreate.id', '=', 'sender_ids.created_by')
|
||||
->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by')
|
||||
->select('sender_ids.id', 'mno_name', 'supplier_name', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.remarks', 'staffcreate.name As createdBy', 'sender_ids.direct_mno', 'staffmodify.name AS modifiedBy')
|
||||
->whereRaw("sender_ids.senderid LIKE '%$keyword%' OR sender_ids.status LIKE '%$keyword%' OR mno_name LIKE '%$keyword%' OR supplier_name LIKE '%$keyword%' OR staffcreate.name LIKE '%$keyword%' OR staffmodify.name LIKE '%$keyword%' OR sender_ids.direct_mno LIKE '%$keyword%'")
|
||||
->orderBy('sender_ids.senderid', 'ASC')
|
||||
->get()->toArray();
|
||||
|
||||
// dd($senderid_arr);
|
||||
|
||||
# add headers for each column in the CSV download
|
||||
array_unshift($senderid_arr, array_keys((array)$senderid_arr[0]));
|
||||
|
||||
$callback = function() use ($senderid_arr){
|
||||
$file_handle = fopen('php://output', 'w');
|
||||
foreach ($senderid_arr as $row) {
|
||||
$row = (array)$row;
|
||||
fputcsv($file_handle, $row);
|
||||
}
|
||||
fclose($file_handle);
|
||||
};
|
||||
|
||||
// return Response::stream($callback, 200, $headers);
|
||||
return response()->stream($callback, 200, $headers);
|
||||
|
||||
|
||||
|
||||
// $callback = function() use ($senderid_arr) {
|
||||
// $file = fopen('php://output', 'w');
|
||||
// // Add CSV headers
|
||||
// fputcsv($file, array_keys($senderid_arr[0]));
|
||||
// // Add data rows
|
||||
// foreach ($senderid_arr as $row) {
|
||||
// fputcsv($file, $row);
|
||||
// }
|
||||
// fclose($file);
|
||||
|
||||
// };
|
||||
|
||||
// return response()->stream($callback, 200, $headers);
|
||||
}
|
||||
|
||||
|
||||
public function getMNOList($type){
|
||||
if ($type == 'YES') {
|
||||
|
||||
Reference in New Issue
Block a user