%PDF- %PDF-
Direktori : /home/ugotscom/kma/app/Http/Controllers/ |
Current File : /home/ugotscom/kma/app/Http/Controllers/SubcontractController.php |
<?php namespace App\Http\Controllers; use App\Subcontract; use App\MaintenanceAccount; use Illuminate\Http\Request; class SubcontractController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $users = Subcontract::get(); return response()->json($users); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $subcontractor = new Subcontract; $subcontractor->contractor_id=$request->contractor_id; $subcontractor->project_id=$request->project; $subcontractor->project_name=$request->project_name; $subcontractor->description=$request->description; $subcontractor->contract_type=$request->contract_type; $subcontractor->Initial_contract=$request->Initial_contract; $subcontractor->gst=$request->gst; $subcontractor->kfc=$request->kfc; $subcontractor->save(); } /** * Display the specified resource. * * @param \App\Subcontract $subcontract * @return \Illuminate\Http\Response */ public function show(Subcontract $subcontract) { // } /** * Show the form for editing the specified resource. * * @param \App\Subcontract $subcontract * @return \Illuminate\Http\Response */ public function edit(Subcontract $subcontract) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Subcontract $subcontract * @return \Illuminate\Http\Response */ public function update($id, Request $request) { $user = Subcontract::findOrFail($id); $user->update($request->all()); // } /** * Remove the specified resource from storage. * * @param \App\Subcontract $subcontract * @return \Illuminate\Http\Response */ public function destroy(Subcontract $subcontract) { // } public function subcontractsbyid($id) { $contracts=Subcontract::where('project_id',$id)->leftJoin('clients','clients.id','=','subcontracts.contractor_id')->select('subcontracts.*','clients.name')->get(); return response()->json($contracts); } public function editsubcontractsbyid($id) { $contracts=Subcontract::where('subcontracts.id',$id)->leftJoin('clients','clients.id','=','subcontracts.contractor_id')->select('subcontracts.*')->get(); return response()->json($contracts); } public function serviceDemand($id){ // $counts=Subcontract::select('Initial_contract','contractor_id', Subcontract::raw('SUM(Initial_contract+gst+kfc) AS sum_a'))->groupBy('contractor_id')->get(); // $counts2[]=MaintenanceAccount::where('project_id',59)->select('debit', Subcontract::raw('SUM(debit) AS paid'))->groupBy('client_id')->get(); // $contracts=Subcontract::where('project_id',59)->select('contractor_id')->selectRaw("SUM(Initial_contract+kfc+gst) as total_contract")->Groupby('contractor_id')->get(); // $tests=Subcontract::leftJoin('maintenance_accounts','maintenance_accounts.project_id','=','subcontracts.project_id')->get()->unique('contractor_id'); $contracts=Subcontract::where('project_id',$id)->where('subcontracts.status',2)->leftJoin('clients','clients.id','=','subcontracts.contractor_id')->select('name','contractor_id')->selectRaw("SUM(Initial_contract+kfc+gst) as total_contract")->Groupby('contractor_id')->get(); $contracts2=MaintenanceAccount::where('project_id',$id)->select('client_id')->selectRaw("SUM(debit) as paid")->Groupby('client_id')->get(); // $new[] = array("contractor_id"=>$contracts[$i]['contractor_id'],"Total_contract"=>$contracts[$i]['total_contract'], "Paid"=>$contracts2[$i]['paid']); $count = count($contracts); for ($i = 0; $i < $count; $i++) { for ($j = 0; $j < $count; $j++) { if(($contracts[$i]['contractor_id'])==($contracts2[$j]['client_id'])){ // echo $contracts2[$j]['paid']; $new[] = array("contractor_id"=>$contracts[$i]['contractor_id'],"contractor_name"=>$contracts[$i]['name'],"Total_contract"=>$contracts[$i]['total_contract'], "Paid"=>$contracts2[$j]['paid']); } } } return $new; //return $contracts2; } public function serviceDemands($id){ $contracts=Subcontract::where('project_id',$id)->where('subcontracts.status',2)->leftJoin('clients','clients.id','=','subcontracts.contractor_id')->select('name','contractor_id')->selectRaw("SUM(Initial_contract+kfc+gst) as total_contract")->Groupby('contractor_id')->get(); $contracts2=MaintenanceAccount::where('project_id',$id)->select('client_id')->selectRaw("SUM(debit) as paid")->Groupby('client_id')->get(); return $contracts2; } public function subcontractswon($id){ $contracts=Subcontract::where('project_id',$id) ->where('status',2)->select('Initial_contract','kfc','gst')->get(); return response()->json($contracts); } public function updatestatus(Request $request){ $subcontractid=$request->subcontractid; $status=$request->checkstatus; Subcontract::where('id',$subcontractid)->update([ 'status' =>$status ]); } }