Files
izyim-api/app/Http/Controllers/WarehousearrangementController.php
T
Zain Fauzan Rofie Azizi bd73f0b447 fixed undefine variable
2018-07-05 15:58:23 +08:00

262 lines
8.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use App\So;
use App\Warehousearr;
use App\Warehouseitem;
use App\Decision;
use App\Decisionitem;
use App\User;
use Auth;
use Validator;
class warehouseArrangementController extends Controller
{
/**
* Display a the warehouse arrangement.
*
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$warehousearr = Warehousearr::where('com_id', Auth::user()->company())->get();
if (!$warehousearr)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
return response()->json(['warehousearr'=>$warehousearr],200);
}
/**
* Store a warehouse arrangement.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request, $id)
{
$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);
}
}