Пример #1
0
 public function indexAction()
 {
     //Acl
     // 		$access = new App_Model_Access();
     // 		$checkaccess = $access->accessRights('Attendance',$this->view->globalvalue[0]['name'],'attendanceaddAction');
     // 		if (($checkaccess != NULL)) {
     //view
     $this->view->title = $this->view->translate("Meeting book");
     $path = $this->view->baseUrl();
     $this->view->attendance_id = $attendance_id = $this->_request->getParam('attendance_id');
     $this->view->week = $week = $this->_request->getParam('week');
     $this->view->transaction_id = $transaction_id = $this->_request->getParam('transID');
     $this->view->meetingweek = $week;
     $fetchattendance = new Meetingbookcommonview_Model_attendanceview();
     $this->view->fetchattendance = $fetchattendance1 = $fetchattendance->fetchattendancedetailsforID($attendance_id, $week);
     $meeting_ID = $fetchattendance1[0]['meeting_id'];
     foreach ($fetchattendance1 as $fetchattendance1) {
         $this->view->count1 = 10;
     }
     //fetch member absentees
     $this->view->absentees = $absentees = $fetchattendance->absentmembers($attendance_id);
     //fetch late member
     $this->view->latecomer = $latecomer = $fetchattendance->latemembers($attendance_id);
     //fetch discussion
     $this->view->attendancediscussion = $discussion = $fetchattendance->attendancediscussion($attendance_id);
     //fetch decision
     $this->view->attendancedecision = $decision = $fetchattendance->attendancedecision($attendance_id);
     $fetchMembers = new Meetingbook_Model_Attend();
     $this->view->fetchgroupid = $fetchMembers->fetchgroupid($meeting_ID);
     $groupid = $meeting_ID;
     //$this->view->fetchgroupid[0]['group_id'];
     $meetingbook = new Meetingbookreport_Model_Meetingbook();
     $this->view->groupmembers = $meetingbook->fetchMembers($meeting_ID, $groupid);
     //         echo '<pre>'; print_r($this->view->groupmembers);
     $this->view->members = $fetchMembers->fetchmeeting($meeting_ID, $groupid);
     $loanofficer = $fetchMembers->fetchloanofficer($groupid);
     if ($loanofficer) {
         $this->view->loanofficer = $loanofficer[0]['loanofficer'];
     }
     $check = array();
     $fetchMembersForAttendance = new Meetingbook_Model_Meetingbook();
     $fetchMembersForAttendance1 = $fetchMembersForAttendance->assignMembers($attendance_id);
     //         echo '<pre>';print_r($fetchMembersForAttendance1);
     foreach ($fetchMembersForAttendance1 as $fetchMembersForAttendance2) {
         $check[] = $fetchMembersForAttendance2['member_id'];
     }
     $this->view->val = $check;
     // 		} else {
     // 		$this->_redirect('index/index');
     // 		}
 }
Пример #2
0
 public function pdfmeetingAction()
 {
     //rupees right alignment
     function position($amt, $posValue)
     {
         $len = strlen($amt);
         $pos = $posValue - 35 - $len * 4;
         return $pos;
     }
     //view details on pdf page
     $meeting_id = $this->_request->getParam('meeting_name');
     $meetingno = $this->_request->getParam('meetingno');
     $this->view->field1 = $meetingno;
     $this->view->branchid = $meeting_id;
     //for meeting details
     $meetingbook = new Meetingbookreport_Model_Meetingbook();
     // 	$this->view->fetchgroupid=$groupid1=$meetingbook->fetchgroupid($meeting_id);
     // 	$groupid= $groupid1[0]['group_id'];
     $this->view->meeting = $ff = $meetingbook->fetchmeeting($meeting_id);
     //echo '<pre>';print_r($ff);
     //fetch member details
     $this->view->members = $aa = $meetingbook->fetchMembers($meeting_id);
     //echo '<pre>';print_r($aa);
     //fetch attendance details
     $this->view->attendance = $meetingbook->fetchattendance($meeting_id, $meetingno);
     //fetch loan officer
     $loanofficer = $meetingbook->fetchloanofficer($meeting_id);
     if ($loanofficer) {
         $this->view->loanofficer = $loanofficer[0]['loanofficer'];
     }
     //$cfromDate = $dateconvertor->mysqlformat($fromDate);
     $pdf = new Zend_Pdf();
     $page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
     $pdf->pages[] = $page;
     //Path
     $app = $this->view->baseUrl();
     $word = explode('/', $app);
     $projname = $word[1];
     // Image
     $image_name = "/var/www/" . $projname . "/public/images/logo.jpg";
     $image = Zend_Pdf_Image::imageWithPath($image_name);
     $page->drawImage($image, 30, 770, 130, 820);
     $page->setLineWidth(1)->drawLine(25, 25, 570, 25);
     //bottom horizontal
     $page->setLineWidth(1)->drawLine(25, 25, 25, 820);
     //left vertical
     $page->setLineWidth(1)->drawLine(570, 25, 570, 820);
     //right vertical
     $page->setLineWidth(1)->drawLine(570, 820, 25, 820);
     //top horizontal
     //set the font
     $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 8);
     $text = array();
     $this->view->savings = 10;
     $page->drawText("Date : " . date('d/m/Y'), 500, 800);
     //date('Y-m-d')
     $page->drawText("Meeting Book", 270, 770);
     $page->drawText("Meeting Book", 270, 770);
     $x1 = 50;
     $x2 = 320;
     $y1 = 725;
     $y2 = 710;
     $page->drawText("Meeting Information", $x1, $y1);
     $page->drawText("Meeting Information", $x1, $y1);
     //fetching meeting details
     if ($this->view->meeting) {
         $count = count($this->view->meeting);
         foreach ($this->view->meeting as $meeting) {
         }
         $page->drawText("Group name: " . $meeting['groupname'], $x1, $y1 = $y1 - 20);
         $page->drawText("Week Day: " . $meeting['weekday'], $x2, $y1);
         $page->drawText("Group head: " . $meeting['grouphead_name'], $x1, $y1 = $y1 - 15);
         $page->drawText("Time: " . $meeting['time'], $x2, $y1);
         $page->drawText("Number of members: " . $count, $x1, $y1 = $y1 - 15);
         $page->drawText("Place: " . $meeting['place'], $x2, $y1);
         $page->drawText("Loan Officer: " . $this->view->loanofficer, $x1, $y1 = $y1 - 15);
     }
     //         $this->view->savings = 10;
     $y1 = $y1 - 30;
     $page->drawText("Attendance Information", $x1, $y1);
     $page->drawText("Attendance Information", $x1, $y1);
     //fetching attendance details
     foreach ($this->view->attendance as $attendance) {
     }
     $page->drawText("Meeting name: " . $attendance['meetingname'], $x1, $y1 = $y1 - 20);
     $page->drawText("Held on: " . $this->view->dateconvertor->phpnormalformat($attendance['meeting_date']), $x2, $y1);
     $page->drawText("Meeting Number: " . $attendance['week_no'], $x1, $y1 = $y1 - 15);
     $page->drawText("Time: " . $attendance['time'], $x2, $y1);
     $y1 = $y1 - 30;
     $page->drawText("Member Details", $x1, $y1);
     $page->drawText("Member Details", $x1, $y1);
     $y1 = $y1 - 15;
     $page->drawLine(50, $y1, 550, $y1);
     //table top line
     $y3 = $y1;
     // assign for left and right lines
     $y1 = $y1 - 15;
     $page->drawText("Sl", 55, $y1);
     $page->drawText("Members", 70, $y1);
     $page->drawText("UID", 180, $y1);
     $page->drawText("Attn.", 240, $y1);
     $page->drawText("Late", 265, $y1);
     $page->drawText("Absent", 290, $y1);
     $page->drawText("Balance", 340, $y1);
     $page->drawText("Pay", 395, $y1);
     $page->drawText("Outstanding", 420, $y1);
     $page->drawText("Due", 480, $y1);
     $page->drawText("Total", 525, $y1);
     // $page->drawLine(50, $y1 = $y1 - 20, 550, $y1); //dynamic bottom line - member details table
     $page->drawLine(50, $y1 - 10, 550, $y1 = $y1 - 10);
     $no = 1;
     $Topay = 0;
     $currentbalance1 = 0;
     $currentbalance2 = 0;
     $currentbalance3 = 0;
     $loandue1 = 0;
     $loandue2 = 0;
     $currentpay = 0;
     $totallatefee = 0;
     $totalabsentfee = 0;
     $total1 = 0;
     $total = 0;
     $currentbalance = new Meetingbookreport_Model_Meetingbook();
     $x3 = 315;
     $x4 = 345;
     $x5 = 400;
     $x6 = 445;
     $x7 = 495;
     $x8 = 530;
     $x9 = 575;
     foreach ($this->view->members as $members) {
         $memberid = $members['memberid'];
         $total = 0;
         $y1 = $y1 - 15;
         $page->drawText($no, 55, $y1);
         $page->drawText($members['membername'], 70, $y1);
         $page->drawText($members['uid'], 180, $y1);
         //$members['uid']
         $memberabsent = $currentbalance->memberabsent($memberid, $attendance['id']);
         $memberlate = $currentbalance->memberlate($memberid, $attendance['id']);
         if ($memberabsent) {
             $absente = 'A';
         } else {
             if ($memberlate) {
                 $absente = 'L';
             } else {
                 $absente = 'P';
             }
         }
         $page->drawText($absente, 245, $y1);
         if ($memberlate) {
             $totallatefee += $latefee = $members['penalty_latecoming'];
             $pos = position(sprintf("%4.2f", $latefee), $x3);
             $page->drawText(sprintf("%4.2f", $latefee), $pos + 2, $y1);
         } else {
             $latefee = 0;
             $pos = position(sprintf("%4.2f", ''), $x3);
             $page->drawText(sprintf("%4.2f", ''), $pos + 2, $y1);
         }
         if ($memberabsent) {
             $totalabsentfee += $absentfee = $members['penalty_notcoming'];
             $pos = position(sprintf("%4.2f", $absentfee), $x4);
             $page->drawText(sprintf("%4.2f", $absentfee), $pos + 2, $y1);
         } else {
             $absentfee = 0;
             $pos = position(sprintf("%4.2f", ''), $x4);
             $page->drawText(sprintf("%4.2f", ''), $pos + 2, $y1);
         }
         $creditbalance = $currentbalance->creditbalance($memberid);
         $debitbalance = $currentbalance->debitbalance($memberid);
         if ($creditbalance) {
             if ($debitbalance) {
                 $debitbalance1 = $debitbalance;
             } else {
                 $debitbalance1 = 0;
             }
             $currentbalance1 = $creditbalance[0]['currentbalance'] - $debitbalance1[0]['currentbalance'];
             $pos = position(sprintf("%4.2f", $currentbalance1), $x5);
             $page->drawText(sprintf("%4.2f", $currentbalance1), $pos + 2, $y1);
         } else {
             $pos = position(sprintf("%4.2f", ''), $x5);
             $page->drawText(sprintf("%4.2f", ''), $pos + 2, $y1);
         }
         $currentbalance2 += $currentbalance1;
         $perweek = $members['saving_perweek'];
         $pos = position(sprintf("%4.2f", $members['saving_perweek']), $x6);
         $page->drawText(sprintf("%4.2f", $members['saving_perweek']), $pos + 2, $y1);
         $loanoutstanding = $currentbalance->loanoutstanding($memberid);
         if ($loanoutstanding) {
             $loanoutstanding1 = $loanoutstanding[0]['outstanding'];
             $pos = position(sprintf("%4.2f", $loanoutstanding[0]['outstanding']), $x7);
             $page->drawText(sprintf("%4.2f", $loanoutstanding[0]['outstanding']), $pos + 2, $y1);
         }
         $currentbalance3 += $loanoutstanding1;
         $loandue = $currentbalance->loandue($memberid);
         if ($loandue) {
             $pos = position(sprintf("%4.2f", $loandue[0]['outstanding']), $x8);
             $page->drawText(sprintf("%4.2f", $loandue[0]['outstanding']), $pos + 2, $y1);
             $loandue1 = $loandue[0]['outstanding'];
         }
         $loandue2 += $loandue1;
         $total = $latefee + $absentfee + $currentbalance1 + $loandue1;
         $pos = position(sprintf("%4.2f", $total), $x9);
         $page->drawText(sprintf("%4.2f", $total), $pos + 2, $y1);
         $page->drawLine(50, $y1 - 10, 550, $y1 = $y1 - 10);
         $no++;
         $Topay += $members['saving_perweek'];
         $total1 += $total;
     }
     $y1 = $y1 - 15;
     $page->drawText("Total", 180, $y1);
     $pos = position(sprintf("%4.2f", $totallatefee), $x3);
     $page->drawText(sprintf("%4.2f", $totallatefee), $pos + 2, $y1);
     $pos = position(sprintf("%4.2f", $totalabsentfee), $x4);
     $page->drawText(sprintf("%4.2f", $totalabsentfee), $pos + 2, $y1);
     $pos = position(sprintf("%4.2f", $currentbalance2), $x5);
     $page->drawText(sprintf("%4.2f", $currentbalance2), $pos + 2, $y1);
     $pos = position(sprintf("%4.2f", $Topay), $x6);
     $page->drawText(sprintf("%4.2f", $Topay), $pos + 2, $y1);
     $pos = position(sprintf("%4.2f", $currentbalance3), $x7);
     $page->drawText(sprintf("%4.2f", $currentbalance3), $pos + 2, $y1);
     $pos = position(sprintf("%4.2f", $loandue2), $x8);
     $page->drawText(sprintf("%4.2f", $loandue2), $pos + 2, $y1);
     $pos = position(sprintf("%4.2f", $total1), $x9);
     $page->drawText(sprintf("%4.2f", $total1), $pos + 2, $y1);
     $page->drawLine(50, $y1 - 10, 550, $y1 = $y1 - 10);
     // Virtual table
     $page->setLineWidth(1)->drawLine(50, $y1, 50, $y3);
     //Table left vertical
     $page->setLineWidth(1)->drawLine(550, $y1, 550, $y3);
     //table rigth vertical
     $pdfData = $pdf->render();
     $pdf->save('/var/www/' . $projname . '/reports/meetingbook.pdf');
     $path = '/var/www/' . $projname . '/reports/meetingbook.pdf';
     chmod($path, 0777);
 }