/**************** Stored Procedure **************/ CREATE DEFINER=`root`@`localhost` PROCEDURE `getEmpOverallTargetReport`(IN _fromDate VARCHAR(50), IN _toDate VARCHAR(50), IN _empID TEXT) BEGIN declare ic_count int; declare sd_count int; declare sdv_count int; declare fd_count int; declare fm_count int; declare av_count int; declare revisit_count int; declare dealer_count int; declare liquidation_count int; SELECT ( select count(farmerId) from tbl_farmer where empId in (_empID) and farmerRegDate between _fromDate and _toDate ) INTO ic_count; SELECT ( select count(faId) from tbl_farmactivity where empId in (_empID) AND SD_Flag=1 and SD_date between _fromDate and _toDate ) INTO sd_count; SELECT ( SELECT count(*) AS totalCount FROM tbl_farmactivity as tfa LEFT JOIN tbl_farmer as tf ON tfa.farmerId = tf.farmerId WHERE SDV_date BETWEEN _fromDate AND _toDate AND FIND_IN_SET(tf.empId, _empID) ) INTO sdv_count; SELECT ( SELECT count(*) AS totalCount FROM tbl_farmactivityFD as tfa LEFT JOIN tbl_farmer as tf ON tfa.farmerId = tf.farmerId WHERE FD_date BETWEEN _fromDate AND _toDate AND FIND_IN_SET(tf.empId, _empID) ) INTO fd_count; SELECT ( SELECT count(*) FROM tbl_farmermeeting WHERE empId IN (_empID) AND fmDate BETWEEN _fromDate AND _toDate ) INTO fm_count; SELECT ( SELECT count(*) AS totalCount FROM tbl_agencyvisit WHERE empId IN (_empID) AND visitDate BETWEEN _fromDate AND _toDate ) INTO av_count; SELECT ( SELECT count(*) AS totalCount FROM tbl_revisit WHERE empId IN (_empID) AND revisit_datetime BETWEEN _fromDate AND _toDate ) INTO revisit_count; SELECT ( SELECT COUNT(*) FROM tbl_agency as ta LEFT JOIN tbl_agencydetail as tad ON ta.agencyId = tad.agencyId WHERE tad.empid IN (_empID) AND ta.agencyType = 1 AND tad.date BETWEEN _fromDate AND _toDate ) INTO dealer_count; SELECT ( SELECT count(visitId) FROM tbl_agencyvisit as tav WHERE liquidation = '1' AND visitDate BETWEEN _fromDate AND _toDate AND empId IN (_empID) ) INTO liquidation_count; select ic_count, sd_count, sdv_count, fd_count, fm_count, av_count, revisit_count, dealer_count, liquidation_count; END ///////////////////// END /////////////////////// //////////////////// CODE START ////////////////// $regionID = $request->regionID; $fromDate = $request->from_date; $toDate = $request->to_date; $categoryIDWithParent = $regionID.','.$this->getChildren($regionID); $getAllRegionIDs = rtrim($categoryIDWithParent,','); // dd($getAllRegionIDs); $reportArray = []; $getEmployee = DB::table('tbl_employee')->where('deleteFlag',0)->whereIn('region',explode(',',$getAllRegionIDs))->get()->toArray(); foreach ($getEmployee as $employee) { $empId = $employee->id; $data['employee_name'] = $employee->emp_name; // I am calling above Procedure from below line $allData = DB::select("call gavl.getEmpOverallTargetReport('$fromDate','$toDate','$empId')"); $data['ic_count'] = $allData[0]->ic_count; $data['sd_count'] = $allData[0]->sd_count; $data['sdv_count'] = $allData[0]->sdv_count; $data['fd_count'] = $allData[0]->fd_count; $data['fm_count'] = $allData[0]->fm_count; $data['av_count'] = $allData[0]->av_count; $data['revisit_count'] = $allData[0]->revisit_count; $data['dealer_count'] = $allData[0]->dealer_count; $data['liquidation_count'] = $allData[0]->liquidation_count; array_push($reportArray, $data); } dd($reportArray); return response()->json([ 'code' => 200, 'getOverallTargetReport' => $reportArray, ]);