mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim-api.git
synced 2026-08-19 12:34:06 +00:00
281 lines
9.6 KiB
PHP
281 lines
9.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use App\Warehousearr;
|
|
use App\Warehouseitem;
|
|
use App\Decision;
|
|
use App\Decisionitem;
|
|
use Validator;
|
|
|
|
class WarehousearrangementController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index()
|
|
{
|
|
$warehousearr = Warehousearr::where('com_id', Auth::user()->company())->where('id', $id)->first();
|
|
|
|
if (!$warehousearr)
|
|
{
|
|
return response()->json(['message'=>'Access Denied!'], 404);
|
|
}
|
|
|
|
return response()->json(['warehousearr'=>$warehousearr],200);
|
|
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*
|
|
* @param int $id
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function show($id)
|
|
{
|
|
$warehousearrs = DB::table('warehousearrs')
|
|
->select('id', 'so_id', 'receive_on', 'transport_company_name', 'consignment_note_no', 'warehouse_receive_note_no', 'receiving_person', 'marking_number', 'image')
|
|
->where('com_id', Auth::user()->company())
|
|
->get();
|
|
|
|
if (!$warehousearr)
|
|
{
|
|
return response()->json(['message'=>'Access Denied!'], 404);
|
|
}
|
|
|
|
return response()->json($warehousearr, 200);
|
|
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
$user = Auth::user();
|
|
|
|
$warehousearr = new Warehousearr;
|
|
$warehousearr->so_id = $so->id;
|
|
$warehousearr->receive_on = $request->input('receive_on');
|
|
$warehousearr->transport_company_name = $request->input('transport_company_name');
|
|
$warehousearr->consignment_note_no = $request->input('consignment_note_no');
|
|
$warehousearr->warehouse_receive_note_no = $request->input('warehouse_receive_note_no');
|
|
$warehousearr->receiving_person = $request->input('receiving_person');
|
|
$warehousearr->marking_number = $request->input('marking_number');
|
|
$warehousearr->image = $request->input('image');
|
|
$warehousearr->ff_id = $contact->id;
|
|
$warehousearr->com_id = $user->company();
|
|
$warehousearr->save();
|
|
|
|
//store warehouse receive note item
|
|
$warehouseitems = $request->input("warehouseitem");
|
|
foreach ($warehouseitems as $warehouseitem)
|
|
{
|
|
|
|
$new_warehouseitem = new Warehouseitem(array(
|
|
'description'=>$warehouseitem['description'],
|
|
'nominal_ctn'=>$warehouseitem['nominal_ctn'],
|
|
'actual_ctn'=>$warehouseitem['actual_ctn'],
|
|
'nominal_measurement'=>$warehouseitem['nominal_measurement'],
|
|
'actual_measurement'=>$warehouseitem['actual_measurement'],
|
|
'nominal_weight'=>$warehouseitem['nominal_weight'],
|
|
'actual_weight'=>$warehouseitem['actual_weight'],
|
|
'balance'=>$warehouseitem['balance'],
|
|
'isDamaged'=>$warehouseitem['isDamaged'],
|
|
'status'=>$warehouseitem['status'],
|
|
'image'=>$warehouseitem['image'],
|
|
'wa_id'=>$warehousearr->id,
|
|
));
|
|
|
|
$new_warehouseitem->save();
|
|
|
|
}
|
|
|
|
return response()->json(['warehousearr'=>$warehousearr],201);
|
|
|
|
}
|
|
|
|
/**
|
|
* Update the warehouse receive note in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param int $id
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function update(Request $request, $id)
|
|
{
|
|
$warehousearr = Warehousearr::where('com_id', Auth::user()->company())->where('id', $id)->first();
|
|
|
|
if (!$warehousearr)
|
|
{
|
|
return response()->json(['message'=>'Access Denied!'], 404);
|
|
}
|
|
|
|
$warehousearr->so_id = $so->id;
|
|
$warehousearr->receive_on = $request->input('receive_on');
|
|
$warehousearr->transport_company_name = $request->input('transport_company_name');
|
|
$warehousearr->consignment_note_no = $request->input('consignment_note_no');
|
|
$warehousearr->warehouse_receive_note_no = $request->input('warehouse_receive_note_no');
|
|
$warehousearr->receiving_person = $request->input('receiving_person');
|
|
$warehousearr->marking_number = $request->input('marking_number');
|
|
$warehousearr->image = $request->input('image');
|
|
$warehousearr->ff_id = $contact->id;
|
|
$warehousearr->com_id = $user->company();
|
|
$warehousearr->save();
|
|
|
|
$warehouseitems = $request->input('warehouseitem');
|
|
foreach ($warehouseitems as $warehouseitem)
|
|
{
|
|
$ex_warehouseitem = Warehouseitem::where('wa_id', $id)->first();
|
|
|
|
$ex_warehouseitem->description = $warehouseitem['description'];
|
|
$ex_warehouseitem->nominal_ctn = $warehouseitem['nominal_ctn'];
|
|
$ex_warehouseitem->actual_ctn = $warehouseitem['actual_ctn'];
|
|
$ex_warehouseitem->nominal_measurement = $warehouseitem['nominal_measurement'];
|
|
$ex_warehouseitem->nominal_weight = $warehouseitem['nominal_weight'];
|
|
$ex_warehouseitem->actual_weight = $warehouseitem['actual_weight'];
|
|
$ex_warehouseitem->balance = $warehouseitem['balance'];
|
|
$ex_warehouseitem->isDamaged = $warehouseitem['isDamaged'];
|
|
$ex_warehouseitem->status = $warehouseitem['status'];
|
|
$ex_warehouseitem->actual_measurement = $warehouseitem['actual_measurement'];
|
|
$ex_warehouseitem->image = $warehouseitem['image'];
|
|
$ex_warehouseitem->save();
|
|
|
|
}
|
|
|
|
return response()->json(['warehousearr'=>$warehousearr],200);
|
|
|
|
}
|
|
|
|
public function warehousearrpic(Request $request, $id)
|
|
{
|
|
$warehousearr = Warehousearr::where('com_id', Auth::user()->company())->where('id', $id)->first();
|
|
|
|
if (!$warehousearr)
|
|
{
|
|
return response()->json(['message'=>'Access Denied!'], 404);
|
|
}
|
|
|
|
//validaating file types
|
|
$validator = Validator::make($request->all(), [
|
|
'image' => 'image|mimes:jpg,jpeg,bmp,png'
|
|
]);
|
|
|
|
if($validator->fails())
|
|
{
|
|
return "failed";
|
|
}
|
|
|
|
if($file = $request->file('image')) //warehouse picture
|
|
{
|
|
$image = $request->file('image');
|
|
$filename = $image->getClientOriginalName(); //get the original file name
|
|
$unique_name = 'warehouse_picture_' . md5($filename. time()); //generating a random file name
|
|
|
|
$file = $request->file('image');
|
|
$ext = $file->getClientOriginalExtension();
|
|
$input['image'] = $filename;
|
|
Storage::putFileAs(
|
|
'warehouse_picture',/*folder name*/ $file, $unique_name. '.' .$ext
|
|
);
|
|
|
|
$warehousearr->image = $unique_name. '.' .$ext;
|
|
|
|
} //end if
|
|
|
|
$warehousearr->save();
|
|
|
|
return response()->json(['warehousearr'=>$warehousearr], 201);
|
|
|
|
}
|
|
|
|
public function warehouseitempic(Request $request, $id)
|
|
{
|
|
$warehousearr = Warehousearr::where('com_id', Auth::user()->company())->where('id', $id)->first();
|
|
|
|
if (!$warehousearr)
|
|
{
|
|
return response()->json(['message'=>'Access Denied!'], 404);
|
|
}
|
|
|
|
//validaating file types
|
|
$validator = Validator::make($request->all(), [
|
|
'image' => 'image|mimes:jpg,jpeg,bmp,png'
|
|
]);
|
|
|
|
if($validator->fails())
|
|
{
|
|
return "failed";
|
|
}
|
|
|
|
if($file = $request->file('image')) //warehouse item picture
|
|
{
|
|
$image = $request->file('image');
|
|
$filename = $image->getClientOriginalName(); //get the original file name
|
|
$unique_name = 'ware_item_pic_' . md5($filename. time()); //generating a random file name
|
|
|
|
$file = $request->file('image');
|
|
$ext = $file->getClientOriginalExtension();
|
|
$input['image'] = $filename;
|
|
Storage::putFileAs(
|
|
'warehouse_item_picture',/*folder name*/ $file, $unique_name. '.' .$ext
|
|
);
|
|
|
|
$warehouseitem->image = $unique_name. '.' .$ext;
|
|
|
|
} //end if
|
|
|
|
$warehouseitem->save();
|
|
|
|
return response()->json(['warehouseitem'=>$warehouseitem], 201);
|
|
|
|
}
|
|
|
|
/**
|
|
* Store a the decision request in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function storedecision(Request $request)
|
|
{
|
|
//decision-type
|
|
$decision = new Decision;
|
|
$decision->wa_id = $warehousearr->id;
|
|
$decision->decision_type = $request->input('decision_type');
|
|
$decision->description = $request->input('description');
|
|
$decision->save();
|
|
|
|
return response()->json(['decision'=>$decision], 201);
|
|
|
|
}
|
|
|
|
/**
|
|
* Store a decision item in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function storedecisionitem(Request $request)
|
|
{
|
|
//decision-type
|
|
$decisionitem = new Decisionitem;
|
|
$decisionitem->decision_id = $decision->id;
|
|
$decisionitem->warehouseitem_id = $warehouseitems->id;
|
|
$decisionitem->num_of_item = $request->input('num_of_item');
|
|
$decisionitem->save();
|
|
|
|
return response()->json(['decisionitem'=>$decisionitem], 201);
|
|
|
|
}
|
|
|
|
}
|