Пример #1
0
 public function providereditajaxAction()
 {
     try {
         $this->_helper->layout->disableLayout();
         $this->_helper->viewRenderer->setNoRender();
         $request = $this->getRequest();
         if ($this->getRequest()->isPost()) {
             $mapper = new Gyuser_Model_ProvidersDataMapper();
             $Obj = new Gyuser_Model_Providers();
             if ($request->id) {
                 $Obj->setId($request->id);
             }
             $Obj->setName($request->name);
             $Obj->setEmail($request->email);
             $Obj->setTasa_anual($request->tasa_anual);
             $Obj->setImpuesto_al_cheque($request->impuesto_al_cheque);
             $Obj->setGastos_interior($request->gastos_interior);
             $Obj->setGastos_general($request->gastos_general);
             $Obj->setGastos_denuncia($request->gastos_denuncia);
             $Obj->setGastos_rechazo($request->gastos_rechazo);
             $Obj->setAcreditacion_capital($request->acreditacion_capital);
             $Obj->setAcreditacion_interior($request->acreditacion_interior);
             $Obj->setGastos_cheque_menor_a_1($request->gastos_cheque_menor_a_1);
             $Obj->setGastos_cheque_a_1($request->gastos_cheque_a_1);
             $Obj->setGastos_cheque_menor_a_2($request->gastos_cheque_menor_a_2);
             $Obj->setGastos_cheque_a_2($request->gastos_cheque_a_2);
             $id = $mapper->update($Obj);
             if ($id) {
                 echo $id;
             } else {
                 echo "f";
             }
         }
     } catch (Exception $e) {
         echo $e;
     }
 }
Пример #2
0
 public function calculateCheckDetails($chequeAmt, $chequeDate, $chequeLocation, Gyuser_Model_Providers $provData, $liqDate = null)
 {
     $tasaDiaria = 0;
     $gastosOtros = 0;
     $date_diff = '';
     if (is_null($liqDate)) {
         $liqDate = date("d/m/Y");
     }
     //today
     /*if(!$liqDataId) {        
                 $provMapper = new Gyuser_Model_ProvidersDataMapper();
                 $provDetails = $provMapper->GetProviderById($provId);
     
                 if(is_null($liqDate))
                     $liqDate = date("d/m/Y");
     
                 $liqData = array(
                     'liqDate' => $liqDate, //global var with server current date or liquidacion date (if changed from current date);
                     'impuestoAlCheque' => $provDetails->getImpuesto_al_cheque(),
                     'tasaAnual' => $provDetails->getTasa_anual(),
                     'acCapital' => $provDetails->getAcreditacion_capital(),
                     'acInterior' => $provDetails->getAcreditacion_interior(),
                     'gastosGeneral' => $provDetails->getGastos_general(),
                     'gastosInterior' => $provDetails->getGastos_interior(),
                     'gastosChequeMenorA1' => $provDetails->getGastos_cheque_menor_a_1(),
                     'gastosFeeChequeMenorA1' => $provDetails->getGastos_cheque_a_1(),
                     'gastosChequeMenorA2' => $provDetails->getGastos_cheque_menor_a_2(),
                     'gastosFeeChequeMenorA2' => $provDetails->getGastos_cheque_a_2(),
                 );
             }
             else {
                 $liqMapper = new Gyuser_Model_LiquidacionesDataMapper();
                 $liqData = $liqMapper->getLiqData($liqDataId);
             }
             */
     if ($chequeLocation == 1) {
         //cheque is from capital
         $acredHs = $provData->getAcreditacion_capital();
         $gastosFee = $provData->getGastos_general();
     } elseif ($chequeLocation == 2) {
         //cheque is from interior
         $acredHs = $provData->getAcreditacion_interior();
         if ($provData->getGastos_interior()) {
             $gastosFee = $provData->getGastos_interior();
         } else {
             $gastosFee = $provData->getGastos_general();
         }
     }
     //theres's a fee for small cheques
     if ($provData->getGastos_cheque_menor_a_1()) {
         //make sure cheque menor a 1 is smaller than 2
         if ($provData->getGastos_cheque_menor_a_1() > $provData->getGastos_cheque_menor_a_2()) {
             $temp1 = $provData->getGastos_cheque_menor_a_1();
             $temp2 = $provData->getGastos_cheque_a_1();
             $provData->setGastos_cheque_menor_a_1($provData->getGastos_cheque_menor_a_2());
             $provData->setGastos_cheque_a_1($provData->getGastos_cheque_a_2());
             $provData->setGastos_cheque_a_2($temp1);
             $provData->setGastos_cheque_menor_a_2($temp2);
         }
         if ($chequeAmt < $provData->getGastos_cheque_menor_a_1()) {
             $gastosOtros = $provData->getGastos_cheque_a_1();
         } elseif ($chequeAmt < $provData->getGastos_cheque_menor_a_2()) {
             $gastosOtros = $provData->getGastos_cheque_a_2();
         }
     }
     $tasaDiaria = $provData->getTasa_anual() / 360;
     $impuestoAlCheque = $chequeAmt * $provData->getImpuesto_al_cheque() / 100;
     $gastos = $chequeAmt * $gastosFee / 100;
     //gralDiscounts = (chequeAmt * (impuesto_al_cheque + gastos)) / 100; //impuesto al cheuqe and gastos are percentages.
     $acredDate = $this->getAcredDate($chequeDate, $acredHs);
     $dateDiff = $this->daysBetween($liqDate, $acredDate);
     $descuento = $chequeAmt * $tasaDiaria / 100 * $dateDiff;
     //$descuento = number_format($descuento,2,'.','');
     $todayValue = $chequeAmt - $impuestoAlCheque - $descuento - $gastos - $gastosOtros;
     //$todayValue = number_format($todayValue,2,'.','');
     $chequeDetails = array('days' => $dateDiff, 'todayValue' => $todayValue, 'impuestoAlCheque' => $impuestoAlCheque, 'gastos' => $gastos, 'gastosOtros' => $gastosOtros, 'daysDiscountFee' => $descuento, 'acreditationHrs' => $acredHs, 'acreditationDate' => $acredDate, 'locacionCapital' => $chequeLocation);
     return $chequeDetails;
 }
Пример #3
0
 public function getProviders()
 {
     $table = $this->getDbTable();
     $select = $table->select();
     $select->setIntegrityCheck(false);
     $select->from('providers', array('id', 'name', 'email', 'balance', 'tasa_anual', 'impuesto_al_cheque', 'gastos_general', 'gastos_interior', 'gastos_denuncia', 'gastos_rechazo', 'acreditacion_capital', 'acreditacion_interior', 'gastos_menor_a_monto_1', 'gastos_menor_a_1', 'gastos_menor_a_monto_2', 'gastos_menor_a_2'));
     $select->joinLeft(array('cqu' => 'cheques'), 'cqu.provider_id = providers.id and cqu.status = 3 and cqu.rejected_liquidacion_id IS NULL', array('sum(amount) as rej_amount', 'sum(rejected_cost) as rej_cost'));
     //$select->where('cqu.status = ?', 3);
     //$select->where('cqu.rejected_liquidacion_id IS NULL');
     $select->where('providers.status = ?', true);
     $select->group('providers.id');
     $select->order('id ASC');
     $resultset = $table->fetchAll($select);
     $entires = array();
     foreach ($resultset as $row) {
         //$entry = new Gyuser_Model_SupplierOperations();
         $entry = new Gyuser_Model_Providers();
         $entry->setId($row->id);
         $entry->setName($row->name);
         $entry->setEmail($row->email);
         $entry->setBalance($row->balance);
         $entry->setTasa_anual($row->tasa_anual);
         $entry->setImpuesto_al_cheque($row->impuesto_al_cheque);
         $entry->setGastos_general($row->gastos_general);
         $entry->setGastos_interior($row->gastos_interior);
         $entry->setGastos_denuncia($row->gastos_denuncia);
         $entry->setGastos_rechazo($row->gastos_rechazo);
         $entry->setAcreditacion_capital($row->acreditacion_capital);
         $entry->setAcreditacion_interior($row->acreditacion_interior);
         $entry->setGastos_cheque_menor_a_1($row->gastos_menor_a_monto_1);
         $entry->setGastos_cheque_a_1($row->gastos_menor_a_1);
         $entry->setGastos_cheque_menor_a_2($row->gastos_menor_a_monto_2);
         $entry->setGastos_cheque_a_2($row->gastos_menor_a_2);
         $entry->setRej_check_amount(floatval($row->rej_amount) + floatval($row->rej_cost));
         $cMapper = new Gyuser_Model_ChequesDataMapper();
         $cObj = new Gyuser_Model_Cheques();
         $cObj->setStatus(4);
         $cObj->setProvider_id($row->id);
         $cAmount = $cMapper->GetTotalAmountByStats($cObj);
         $entry->setPassed_amount($cAmount);
         $entires[] = $entry;
     }
     return $entires;
 }
 public function getProvData($liqId)
 {
     $table = $this->getDbTable();
     $select = $table->select();
     $select->setIntegrityCheck(false);
     $select->from($table, array('id', 'provider_id', 'date', 'impuesto_al_cheque', 'tasa_anual', 'acreditacion_capital', 'acreditacion_interior', 'gastos_general', 'gastos_interior', 'gastos_menor_a_monto_1', 'gastos_menor_a_1', 'gastos_menor_a_monto_2', 'gastos_menor_a_2', 'committed'));
     $select->join(array('prov' => 'providers'), 'liquidaciones.provider_id = prov.id', array('name as provider_name', 'email'));
     $select->where('liquidaciones.id = ?', $liqId);
     $row = $table->fetchRow($select);
     if ($row) {
         $prov = new Gyuser_Model_Providers();
         $prov->setId($row->id);
         $prov->setName($row->provider_name);
         $prov->setEmail($row->email);
         $prov->setImpuesto_al_cheque($row->impuesto_al_cheque);
         $prov->setTasa_anual($row->tasa_anual);
         $prov->setAcreditacion_capital($row->acreditacion_capital);
         $prov->setAcreditacion_interior($row->acreditacion_interior);
         $prov->setGastos_general($row->gastos_general);
         $prov->setGastos_interior($row->gastos_interior);
         $prov->setGastos_cheque_menor_a_1($row->gastos_menor_a_monto_1);
         $prov->setGastos_cheque_a_1($row->gastos_menor_a_1);
         $prov->setGastos_cheque_menor_a_2($row->gastos_menor_a_monto_2);
         $prov->setGastos_cheque_a_2($row->gastos_menor_a_2);
     }
     return $prov;
 }