コード例 #1
0
ファイル: CrmController.php プロジェクト: lschnoller/boonding
 public function clientinfoAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->ViewRenderer->setScriptAction('client-info');
     //_event_id, _operator_id,_item_id
     if (false === ($client_id = $this->_getParam('param1', false))) {
         throw new Exception('Tampered URI');
     }
     //echo $client_id;
     $client = new Gyuser_Model_User();
     $client->setId($client_id);
     $mapper = new Gyuser_Model_UserDataMapper();
     $this->view->clientInfo = $mapper->ClientDetailsById($client);
     $model = new Gyuser_Model_CRMTasks();
     $this->view->clientId = $client_id;
     $this->view->clientHistory = $model->getClientHistory($client_id);
 }
コード例 #2
0
 public function generatepdfAction()
 {
     try {
         $this->_helper->layout->disableLayout();
         $this->_helper->viewRenderer->setNoRender();
         $request = $this->getRequest();
         $clientid = $request->clientid;
         $typeid = (int) $request->typeid;
         $status = (int) $request->status;
         $operationid = (int) $request->operationid;
         $obj = new Gyuser_Model_User();
         $obj->setId($clientid);
         $pdf = new Gyuser_Model_PdfGeneratorDataMapper();
         $pdf->CreatePDF($obj, $typeid, $status, $operationid);
     } catch (Exception $e) {
         echo $e;
     }
 }
コード例 #3
0
 public function addChequesTerceros($opId, $chequesListJson)
 {
     try {
         //$chequesList = utf8_encode($chequesList);//html_entity_decode($chequesList);
         $chequesList = json_decode($chequesListJson);
         $chequesFlag = false;
         $adminMapper = new Gyuser_Model_AdminDataMapper();
         $adminSettings = $adminMapper->getAdminSettings();
         foreach ($chequesList as $cheque) {
             unset($clientId);
             unset($bankId);
             unset($chequeId);
             //1. add client
             $clientMapper = new Gyuser_Model_UserDataMapper();
             $client = new Gyuser_Model_User();
             $client->setFirst_name($cheque->first_name);
             $client->setLast_name($cheque->last_name);
             $client->setDNI($cheque->DNI);
             $client->setCUIL($cheque->CUIL);
             $clientId = $clientMapper->createTerceroClient($client);
             if (!$clientId) {
                 throw Exception('Error creating cheque tercero client on DB');
             }
             //2. add bank account
             $bankMapper = new Gyuser_Model_BankAccountsDataMapper();
             $bank = new Gyuser_Model_BankAccounts();
             $bank->setUser_id($clientId);
             $bank->setBank_name($cheque->bank_name);
             $bank->setAccount_n($cheque->account_n);
             $bank->setBranch($cheque->branch);
             $bank->setZip_code($cheque->zip_code);
             $bank->setLocation_capital($cheque->location_capital);
             $bank->setOpening_date($cheque->account_date);
             $bankId = $bankMapper->save($bank);
             if (!$bankId) {
                 throw Exception('Error inserting bank account for cheque tercero on DB');
             }
             //3. add cheque
             list($Day, $Month, $Year) = explode('/', $cheque->check_date);
             $stampeddate = mktime(12, 0, 0, $Month, $Day, $Year);
             $date = date("Y-m-d", $stampeddate);
             $amount = floatval($cheque->check_amount);
             if ($cheque->location_capital == '1') {
                 $acreditacionHrs = $adminSettings->getTiempo_ac_capital();
             } else {
                 $acreditacionHrs = $adminSettings->getTiempo_ac_interior();
             }
             $data = array('operation_id' => $opId, 'client_id' => $clientId, 'bank_account_id' => $bankId, 'date' => $date, 'check_n' => $cheque->check_n, 'amount' => $amount, 'acreditacion_hrs' => $acreditacionHrs, 'local' => 1, 'status' => 6);
             $chequeId = $this->getDbTable()->insert($data);
             if (!$chequeId) {
                 throw Exception('Error inserting cheque tercero on DB');
             }
         }
         return $opId;
     } catch (Exception $e) {
     }
 }
コード例 #4
0
    public function CreatePDF(Gyuser_Model_User $obj, $typeid, $status, $operationid)
    {
        $clietid = $obj->getId();
        $param = array();
        if ($status) {
            $param = array('compress' => 0, 'Attachment' => 0);
        }
        switch ($typeid) {
            case 1:
                $mapper = new Gyuser_Model_UserDataMapper();
                $result = $mapper->ClientDetailsById($obj);
                $fn = $result->getFirst_name();
                $ln = $result->getLast_name();
                $dni = $result->GetDNI();
                $html = '<html><body>' . '<table style="font-size:30px;font-weight:bold;font-family:Helvetica,Arial;">' . '<tr>' . '<td>Nombre</td>' . '<td>: </td>' . "<td>{$fn}</td>" . '</tr>' . '<tr>' . '<td>Apellido</td>' . '<td>: </td>' . "<td>{$ln}</td>" . '</tr>' . '<tr>' . '<td>DNI</td>' . '<td>: </td>' . "<td>{$dni}</td>" . '</tr>' . '</table>' . '</body></html>';
                $dompdf = new DOMPDF();
                $dompdf->load_html($html);
                $dompdf->render();
                $dompdf->stream("Mutuo-1.pdf", $param);
                break;
            case 2:
                $mapper = new Gyuser_Model_UserDataMapper();
                $result = $mapper->ClientDetailsById($obj);
                $fn = $result->getFirst_name();
                $ln = $result->getLast_name();
                $dni = $result->GetDNI();
                $chequeObj = new Gyuser_Model_Cheques();
                $chequeObj->setOperation_id($operationid);
                $chequeMapper = new Gyuser_Model_ChequesDataMapper();
                $chequesList = $chequeMapper->GetChequeDetailsByUserId($chequeObj);
                $html = '<html>
					  <style>
                                        .cheques{
                                            width:100%;
                                            border:1px solid #ccc;
                                        }
                                            .cheques td,.cheques th{
                                                    border:2px solid #ccc;
                                                    font-family:Helvetica,Arial;
                                                    padding:10px;
        				}
        				.cheques th{
        					font-size:20px;
        					font-weight:bold;
        				}
        				.h1Txt{
        					text-decoration:underline;
        					font-family:Helvetica,Arial;
        				}
					  </style>

					  <body>' . '<table style="font-size:30px;font-weight:bold;font-family:Helvetica,Arial;">' . '<tr>' . '<td>Nombre</td>' . '<td>: </td>' . "<td>{$fn}</td>" . '</tr>' . '<tr>' . '<td>Apellido</td>' . '<td>: </td>' . "<td>{$ln}</td>" . '</tr>' . '<tr>' . '<td>DNI</td>' . '<td>: </td>' . "<td>{$dni}</td>" . '</tr>' . '</table><br/><br/>';
                if ($chequesList) {
                    $html .= '<table class="cheques"><tr><th>Fecha</th><th>Numero De Cheque</th><th>Importe</th></tr>';
                    foreach ($chequesList as $cheque) {
                        $html .= '<tr>';
                        $html .= '<td >' . $cheque['date'] . '</td>';
                        $html .= '<td >' . $cheque['check_n'] . '</td>';
                        $html .= '<td >' . $cheque['amount'] . '</td>';
                        $html .= '</tr>';
                    }
                    $html .= '</table>';
                }
                $html .= '</body></html>';
                $dompdf = new DOMPDF();
                $dompdf->load_html($html);
                $dompdf->render();
                $dompdf->stream("Mutuo-2.pdf", $param);
                break;
            case 3:
                $mapper = new Gyuser_Model_UserDataMapper();
                $result = $mapper->ClientDetailsById($obj);
                $fn = $result->getFirst_name();
                $ln = $result->getLast_name();
                $dni = $result->GetDNI();
                $telc = $result->getTel_cell_code() . ' ' . $result->getTel_cell();
                $tell = $result->getTel_lab_code() . ' ' . $result->getTel_lab();
                $telo = $result->getTel_otro_code() . ' ' . $result->getTel_otro();
                $telp = $result->getTel_part_code() . ' ' . $result->getTel_part();
                $chequeObj = new Gyuser_Model_Cheques();
                $chequeObj->setOperation_id($operationid);
                $chequeMapper = new Gyuser_Model_ChequesDataMapper();
                $chequesList = $chequeMapper->GetChequeDetailsByUserId($chequeObj);
                $addressMapper = new Gyuser_Model_AddressDataMapper();
                $addressObj = new Gyuser_Model_Address();
                $addressObj->setClient_id($clietid);
                $address = $addressMapper->GetDeliveryAddressByClientId($addressObj);
                $html = '<html>
					  <style>
					    .cheques{
					    	width:100%;
					    	border:1px solid #ccc;
					    }
					  	.cheques td,.cheques th{
					  		border:2px solid #ccc;
					  		font-family:Helvetica,Arial;
					  		padding:10px;
        				}
        				.cheques th{
        					font-size:20px;
        					font-weight:bold;
        				}
        				.address td{
        					font-family:Helvetica,Arial;
					  		padding:10px;
					  		font-size:20px;
        				}
					  </style>

					  <body>' . '<table style="font-size:30px;font-weight:bold;font-family:Helvetica,Arial;">' . '<tr>' . '<td>Nombre</td>' . '<td>: </td>' . "<td>{$fn}</td>" . '</tr>' . '<tr>' . '<td>Apellido</td>' . '<td>: </td>' . "<td>{$ln}</td>" . '</tr>' . '<tr>' . '<td>DNI</td>' . '<td>: </td>' . "<td>{$dni}</td>" . '</tr>' . '</table><br/><br/><h1 class="h1Txt">Cheques</h1>';
                if ($chequesList) {
                    $html .= '<table class="cheques"><tr><th>Fecha</th><th>Numero De Cheque</th><th>Importe</th></tr>';
                    foreach ($chequesList as $cheque) {
                        $html .= '<tr>';
                        $html .= '<td >' . $cheque['date'] . '</td>';
                        $html .= '<td >' . $cheque['check_n'] . '</td>';
                        $html .= '<td >' . $cheque['amount'] . '</td>';
                        $html .= '</tr>';
                    }
                    $html .= '</table>';
                }
                $html .= '<br/><br/><h1 class="h1Txt">Domicilios</h1>';
                if ($address) {
                    $str = '';
                    $jsonData = $address;
                    $id = $jsonData['id'];
                    $street = $jsonData['street'];
                    $city = $jsonData['city'];
                    $state = $jsonData['state'];
                    $state_name = $jsonData['state_name'];
                    $country = $jsonData['country'];
                    $html .= '<table class="address">' . '<tr>' . '<td width="100">Domicilio</td><td> : </td><td>' . $street . '</td>' . '</tr>' . '<tr>' . '<td>Barrio / Ciudad</td><td> : </td><td>' . $city . '</td>' . '</tr>' . '<tr>' . '<td>Provincia</td><td> : </td><td>' . $state_name . '</td>' . '</tr>' . '<tr>' . '<td>Tel�fono</td><td> : </td><td>' . $telc . '<br/>' . $tell . '<br/>' . $telo . '<br/>' . $telp . '<br/></td>' . '</tr>' . '</table>';
                }
                $html .= '</body></html>';
                $dompdf = new DOMPDF();
                $dompdf->load_html($html);
                $dompdf->render();
                $dompdf->stream("Mutuo-3.pdf", $param);
                break;
            default:
                break;
        }
    }
コード例 #5
0
 public function GetOperationsByProviderId($provider_id)
 {
     $table = $this->getDbTable();
     $select = $table->select();
     $select->setIntegrityCheck(false);
     $select->from(array('opr' => 'operations'), array('id', 'client_id', 'date', 'amount', 'observations', 'report', 'date_added', 'state_order_id', 'cave_id'));
     $select->joinLeft(array('prov' => 'providers'), 'opr.cave_id = prov.id', array('name as cave_name', 'comision_rate'));
     $select->joinLeft(array('cls' => 'clients'), 'opr.client_id = cls.id', array('first_name', 'last_name'));
     $select->where('opr.cave_id = ?', $provider_id);
     $select->where('opr.liquidacion_id IS  NULL');
     //NOTE! gus also wants to show the operations with state "En Lavalle".
     $select->where('opr.state_order_id = 8 OR opr.state_order_id = 9 OR opr.state_order_id = 10 OR opr.state_order_id = 11');
     $select->order('opr.id ASC');
     $resultSet = $table->fetchAll($select);
     $entries = array();
     foreach ($resultSet as $row) {
         $entry = new Gyuser_Model_Operations();
         $entry->setId($row->id);
         $entry->setClient_id($row->client_id);
         $entry->setDate(date("d/m/Y", strtotime($row->date)));
         $entry->setAmount($row->amount);
         $entry->setState($row->state_order_id);
         $entry->setObservations($row->observations);
         $entry->setReport($row->report);
         $entry->setProv_name($row->cave_name);
         $entry->setProv_commission_rate($row->comision_rate);
         $pMapper = new Gyuser_Model_ProvidersDataMapper();
         $commissionAmt = $pMapper->calculateComisionAmt($row->amount, $row->comision_rate);
         $entry->setProv_commission_amt($commissionAmt);
         $provPayment = $pMapper->calculateProvPayment($row->amount, $commissionAmt);
         $entry->setProv_payment($provPayment);
         /*
                     $provider_obj = new Gyuser_Model_Providers();
                     $provider_obj->setName($row->cave_name);
                     $provider_obj->setComisionRate($row->comision_rate);            
                     $pMapper = new Gyuser_Model_ProvidersDataMapper();
                     $comisionAmt = $pMapper->calculateComisionAmt($row->amount, $row->comision_rate);
                     $provPayment = $pMapper->calculateProvPayment($row->amount, $comisionAmt);
                     $provider_obj->setComisionAmt($comisionAmt);
                     $provider_obj->setProvPayment($provPayment);
                     $entry->setProvider_obj($provider_obj);
         * 
         */
         $clientObj = new Gyuser_Model_User();
         $clientObj->setFirst_name($row->first_name);
         $clientObj->setLast_name($row->last_name);
         $entry->setUser_obj($clientObj);
         $entries[] = $entry;
     }
     return $entries;
 }
コード例 #6
0
 public function findContacto(Gyuser_Model_User $obj)
 {
     $table = $this->getDbTable();
     $select = $table->select();
     $select->setIntegrityCheck(false);
     $select->from(array('c' => 'clients'), array('id', 'contact_point', 'client_type'))->joinLeft(array('cp' => 'contact_point'), 'c.contact_point = cp.id', array('title as contact_title'))->joinLeft(array('ct' => 'client_types'), 'c.client_type = ct.id', array('name as type_name'))->where('c.id = ?', $obj->getId());
     $row = $table->fetchRow($select);
     $entry = array();
     if ($row) {
         $entry = array('client_type' => $row->client_type, 'contact_title' => $row->contact_title, 'type_name' => $row->type_name);
     }
     return $entry;
 }