/** * */ public function leaveswipediscrepancyreportAction() { $resourceData = array(); $selectedResource = null; $discrepancystartdate = date('d-m-Y'); $discrepancyenddate = date('d-m-Y'); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } if ($selectedResource == null) { $selectedResource = $loginUserId; } $repModel = new Default_Model_Servicerequests(); $resourceData = $repModel->getResourceData($selectedResource, $loginuserRole, $loginuserGroup); if ($this->getRequest()->getPost()) { $tempDate1 = $this->_getParam('discrepancystartdate', null); $tempDate2 = $this->_getParam('discrepancyenddate', null); $selectedResource = $this->_getParam('resource_id', null); $swipeTransactions = $repModel->getSwipeTransactions($tempDate1, $tempDate2, $selectedResource); $processedTransactions = $this->ProcessTransactions($swipeTransactions); $TransactionSummary = $this->TransactionSummary($processedTransactions); $swipestartdate = date('Y-m-d', strtotime($tempDate1)); $swipeenddate = date('Y-m-d', strtotime($tempDate2)); $resourceswipData = $repModel->getswipedatadiscrepancyreport($swipestartdate, $swipeenddate, $selectedResource); $uids = array(); foreach ($resourceswipData as $u) { $uids[] = trim(substr($u['aDateTime'], 0, 10)); } $nextday = strftime("%Y-%m-%d", strtotime("{$swipeenddate} +1 day")); $dateStart = date_create($swipestartdate); $dateEnd = date_create($nextday); $interval = new DateInterval('P1D'); $period = new DatePeriod($dateStart, $interval, $dateEnd); $try = array(array('', '', ''), array('', '', ''), array('', '', '')); foreach ($period as $day) { $formatted = $day->format("Y-m-d"); if (!in_array($formatted, $uids)) { $missingDates[] = $formatted; } if (in_array($formatted, $uids)) { $presentDates[] = $formatted; } } $dateMerge = array_merge($missingDates, $presentDates); $sortDates = sort($dateMerge); $alldates = $dateMerge; $currRow1 = 0; foreach ($alldates as $fill) { $missingDates_store[$currRow1] = array('Discrepancy Dates' => $fill, 'swipe report' => '', 'leave report' => ''); $currRow1++; } $currRow = 0; foreach ($missingDates_store as $value) { foreach ($TransactionSummary as $TransactionSummarykey) { $swipe_current_day = $TransactionSummarykey['Working Day']; $sel_current_day = $value['Discrepancy Dates']; if ($sel_current_day == $swipe_current_day) { //assign current $test1 value to #alldates $missingDates_store[$currRow]['swipe report'] = $TransactionSummarykey['Difference']; break; } } $resourceleaveData = $repModel->getleavediscrepancyreport($sel_current_day, $loginUserId); if ($resourceleaveData) { $missingDates_store[$currRow]['leave report'] = 'Leave Applied'; } $currRow++; } } $dataExists = count($missingDates_store); $this->view->dataExists = $dataExists; $this->view->selectedResource = $selectedResource; $this->view->discrepancyData = $this->ConvertArrayToGrid("Discrepancy Details", $missingDates_store); $this->view->resourceData = $resourceData; $this->view->selDate = $tempDate1; $this->view->selendDate = $tempDate2; }