public function SaveWhenRejected(Gyuser_Model_Notifications $obj) { $opMapper = new Gyuser_Model_OperationsDataMapper(); $opObj = new Gyuser_Model_Operations(); $opObj->setId($obj->getOperator_id()); $opResult = $opMapper->GetStateByOperationId($opObj); if ($opResult) { $state_name = $opResult['state_name']; $state_change = $opResult['state_change']; $client_id = $opResult['client_id']; $obj->setClient_id($client_id); } $sessionNamespace = new Zend_Session_Namespace(); $operatorId = null; if ($sessionNamespace->loginAuth == true) { $authDetail = $sessionNamespace->authDetail; $operatorId = $authDetail->getId(); } $data = array('title' => $obj->getTitle(), 'comment' => $obj->getComment(), 'operator_id' => $operatorId, 'action_date' => $obj->getAction_date(), 'client_id' => $obj->getClient_id()); if (null === ($id = $obj->getId())) { unset($data['id']); $id = $this->getDbTable()->insert($data); return $id; } else { unset($data['operation_id']); $id = $this->getDbTable()->update($data, array('id = ?' => $id)); return $id; } }
public function SavePaymentForRejectedCheque(Gyuser_Model_Cobranzas $obj) { list($Day, $Month, $Year) = explode('/', $obj->getDate_paid()); $stampeddate = mktime(12, 0, 0, $Month, $Day, $Year); $Date_paid = date("Y-m-d", $stampeddate); $paymentType = $obj->getPayment_type(); $data = array('client_id' => $obj->getClient_id(), 'operation_id' => $obj->getOperation_id(), 'cheque_id' => $obj->getCheque_id(), 'date_paid' => $Date_paid, 'paid_amount' => $obj->getPaid_amount(), 'previous_balance' => $obj->getPrevious_balance(), 'current_balance' => $obj->getCurrent_balance(), 'payment_type' => $obj->getPayment_type()); $id = (int) $this->getDbTable()->insert($data); if ($id) { $chqMapper = new Gyuser_Model_ChequesDataMapper(); $chqObj = new Gyuser_Model_Cheques(); $chqObj->setBalance($obj->getCurrent_balance()); $chqObj->setId($obj->getCheque_id()); //$chqObj->setRejected_check_payment(1); $updateRes = $chqMapper->UpdateRejectedChequeBalance($chqObj); if ($paymentType == 2) { //cheque propio $newCheObj = $obj->getCheques_obj(); $newCheRes = $chqMapper->InsertChequeForRejectedCheque($newCheObj); if (!$newCheRes) { throw Exception('Error inserting cheque for rejected check on DB'); } } elseif ($paymentType == 3) { //cheque de tercero $BankMapper = new Gyuser_Model_BankAccountsDataMapper(); $newBankObj = $obj->getBank_accounts_obj(); $newBankId = $BankMapper->save($newBankObj); if (!$newBankId) { throw Exception('Error inserting bank account for rejected check on DB'); } $newCheObj = $obj->getCheques_obj(); $newCheObj->setRejected_bank_id($newBankId); $newCheRes = $chqMapper->InsertChequeForRejectedCheque($newCheObj); if (!$newCheRes) { throw Exception('Error inserting cheque for rejected check on DB'); } } if ($updateRes) { /// check if the operation has no pending checks, if it doesn't mark the whole operation as saldada $opMapper = new Gyuser_Model_OperationsDataMapper(); $operationPayed = $opMapper->checkOperationSaldada($obj->getOperation_id()); if ($operationPayed) { $id = $opMapper->setOperationSaldada($obj->getOperation_id()); if (!$id) { throw new Exception('There was an error updating the operation to operacion saldada'); } } else { //op. not yet payed. Here we might have no checks in cobranza but we can still have pending checks because of date. $operationInCobranza = $opMapper->checkOperationCobranza($obj->getOperation_id()); if (!$operationInCobranza) { //no checks in cobranza $id = $opMapper->setOperationEnCartera($obj->getOperation_id()); //get operation back to "cheques en cartera" state if (!$id) { throw new Exception('There was an error updating the operation to cheques en cartera'); } } } /// check if the user has no more cobranzas ops, if it doesn't set it as active $clMapper = new Gyuser_Model_UserDataMapper(); $cobranzasOp = $clMapper->checkCobranzasOp($obj->getClient_id()); if (!$cobranzasOp) { //FIX!! Gus asked to pass clients to active once they finish paying cobranzas $id = $clMapper->setActiveClient($obj->getClient_id()); //$id = $clMapper->setPasiveClient($obj->getClient_id()); if ($id) { $id = -1; } else { throw new Exception('There was an error setting the client to active'); } } } else { throw new Exception('There was an error updating the rejected check balance'); } } else { throw new Exception('There was an error adding the new payment for rejected check'); } return $id; }
public function deleteliquidacionesAction() { try { $request = $this->getRequest(); $liquidaciones_id = (int) $request->liquidaciones_id; if ($liquidaciones_id) { $lMapper = new Gyuser_Model_LiquidacionesDataMapper(); $lObj = new Gyuser_Model_Liquidaciones(); $lObj->setId($liquidaciones_id); $lList = $lMapper->GetLiquidacionesById($lObj); $provider_id = $lList['provider_id']; $pMapper = new Gyuser_Model_ProvidersDataMapper(); $prov = new Gyuser_Model_Providers(); $prov->setId($provider_id); $prov->setBalance(floatval($lList['previous_account_balance'])); $pMapper->UpdateBalanceByReject($prov); $cMapper = new Gyuser_Model_ChequesDataMapper(); $chequesList = $cMapper->UpdateLiquidacionDeleted($liquidaciones_id); $oMapper = new Gyuser_Model_OperationsDataMapper(); $opertationsList = $oMapper->UpdateLiquidacionDeleted($liquidaciones_id); $cList = $lMapper->delete($lObj); if ($cList && $chequesList && $opertationsList) { $result = '1'; } else { $result = '0'; } $this->_helper->redirector('providers', 'liquidaciones', 'gyuser', array('provider_id' => $request->provider_id)); } } catch (Exception $e) { echo $e; } }
public function consolidatetercerosopajaxAction() { try { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $request = $this->getRequest(); if ($this->getRequest()->isPost()) { $mapper = new Gyuser_Model_OperationsDataMapper(); $opId = $request->operation_id; $chequesListJson = $request->cheques_json; $success = $mapper->OpTercerosStateChange($opId, 9, null, $chequesListJson); //6 = 'ingresar cheques' if ($success) { echo $success; } elseif (!$success) { throw Exception("Hubo un error al enviar la operaciĆ³n con cheques de terceros."); } } else { throw Exception("Hubo un error al enviar el formulario."); } } catch (Exception $e) { echo $e; } }
public function setChequeStatusToPaid($id, $operationId, $clientId) { $table = $this->getDbTable(); //$chk_date = date("d/m/Y",strtotime($row->date)); //$acrediation_date = add_days_by_hr2($chk_date,$acreditation_hrs); $set = array('status' => 2); $where = array('id = ?' => $id); $result = $table->update($set, $where); /// check if the operation has no pending checks, if it doesn't mark the whole operation as saldada $opMapper = new Gyuser_Model_OperationsDataMapper(); $operationPayed = $opMapper->checkOperationSaldada($operationId); if ($operationPayed) { $id = $opMapper->setOperationSaldada($operationId); //if(!$id) // throw new Exception('There was an error updating the operation to operacion saldada'); $clMapper = new Gyuser_Model_UserDataMapper(); /// check if the client has no pending operations, if it doesn't mark the client type as pasivo /* //client no longer wants to have automatic pasive clients, only set manually throught the client edit $pasiveClient = $clMapper->checkPasiveClient($clientId); if($pasiveClient) { $id = $clMapper->setPasiveClient($clientId); //if(!$id) // throw new Exception('There was an error updating the client to pasive'); } */ } }
private function displayLiqTable($liqId, &$filename = null, &$provEmail = null, &$provName = null) { $pre_val = 0; $liqId = (int) $liqId; if ($liqId) { $lMapper = new Gyuser_Model_LiquidacionesDataMapper(); $lObj = new Gyuser_Model_Liquidaciones(); $lObj->setId($liqId); $lqList = $lMapper->GetLiquidacionesById($lObj); $provId = $lqList['provider_id']; $liqDate = $lqList['date']; $html = ' <table cellpadding="0" cellspacing="0" border="1" class="liq-table"> <thead> <tr> <td colspan="6" class="liq-header">OPERACIONES COMPARTIDAS</td> </tr> <tr class="liq-header2"> <th>FECHA OP.</th> <th>NOMBRE</th> <th>TOTAL</th> <th>GY</th> <th>COMISIONES</th> <th>SALDO</th> </tr> </thead> <tbody class="gridtbody">'; $oMapper = new Gyuser_Model_OperationsDataMapper(); $oObj = new Gyuser_Model_Operations(); $oObj->setLiquidacion_id($liqId); $opertationsList = $oMapper->GetOperationsByLiquidacionIdJson($oObj); $pArr = $opertationsList; $strBld = ''; $pay_final_amount = 0; if (count($pArr)) { foreach ($pArr as $pRow) { $pay_final_amount += $pRow['prov_payment']; $halfAmt = number_format($pRow['amount'] / 2, 2, '.', ''); $html .= "<tr >\n <td>{$pRow['date']}</td>\n <td>{$pRow['first_name']} {$pRow['last_name']}</td>\n <td>{$this->formatMoney($pRow['amount'])}</td>\n <td>{$this->formatMoney($halfAmt)}</td>\n <td>{$this->formatMoney($pRow['comision_amt'])}</td>\n <td>{$this->formatMoney($pRow['prov_payment'])}</td>\n </tr>"; } } $html .= '</tbody> <tfoot> <tr class="liq-footer"><td colspan="4"> </td><td>TOTAL</td><td><span class="operationsTotal_span">' . $this->formatMoney($pay_final_amount) . '</span></td></tr> </tfoot> </table><br />'; $html .= '<table cellpadding="0" cellspacing="0" border="1" class="liq-table"> <thead> <tr> <td colspan="6" class="liq-header">CHEQUES RECHAZADOS</td> </tr> <tr class="liq-header2"> <th>TITULAR</th> <th>FECHA</th> <th>N. CHEQUE</th> <th>RECHAZOS</th> <th>GASTOS</th> <th>SALDO</th> </tr> </thead> <tbody class="gridtbody">'; $cMapper = new Gyuser_Model_ChequesDataMapper(); $cObj = new Gyuser_Model_Cheques(); $cObj->setLiquidacion_id($liqId); $cObj->setProvider_id($provId); $pArr = $cMapper->RejectedChequeByLiquidacionesIdForProv($cObj); $strBld = ''; $sName = ''; $rejectedTotal = 0; //$rejectedChequesFee = number_format($rejectedChequesFee,2,'.',''); if (count($pArr)) { foreach ($pArr as $pRow) { $cObj->setRejected_type($pRow['rejected_type']); $cMapper = new Gyuser_Model_ChequesDataMapper(); $rejectedChequesFee = (int) $cMapper->GetRejectionCostForProv($cObj); $amount = $pRow['amount']; $rChequeWithFee = $amount + $rejectedChequesFee; $rChequeWithFee = number_format($rChequeWithFee, 2, '.', ''); $rejectedTotal += $rChequeWithFee; $pay_final_amount += $rChequeWithFee; $rejectedChequesFee = number_format($rejectedChequesFee, 2, '.', ''); $strBld .= <<<EOT <tr id="RejectedCheque_{$pRow['id']}"> <td class="user_operation_id">{$pRow['first_name']} {$pRow['last_name']}</td> <td class="user_check_n">{$pRow['date']}</td> <td class="user_bank_name">{$pRow['check_n']}</td> <td class="user_amount">{$this->formatMoney($amount)}</td> <td class="user_rejected_cheque_fee">{$this->formatMoney($rejectedChequesFee)}</td> <td class="pay_amount_cls">{$this->formatMoney($rChequeWithFee)}</td> </tr> EOT; } } $pay_final_amountInv = $pay_final_amount * -1; $pre_val = $pre_val * -1; $html .= $strBld; $html .= ' </tbody> <tfoot> <tr class="liq-footer"><td colspan="4"> </td><td>TOTAL</td><td>' . $this->formatMoney($rejectedTotal) . '</td></tr> </tfoot> </table><br />'; $html .= ' <table cellpadding="0" cellspacing="0" border="1" class="liq-table"> <thead> <tr> <td colspan="9" class="liq-header">CALCULO DE DESCUENTO</td> </tr> <tr class="liq-header2"> <th>TITULAR</th> <th>EMPRESA</th> <th>FECHA</th> <th>NUMERO</th> <th>IMPORTE</th> <th>CANT DIAS</th> <th>IMP. AL CHEQUE</th> <th>DESCUENTO</th> <th>SALDO A HOY</th> </tr> </thead> <tbody class="gridtbody">'; if ($lqList['committed'] == 1 || $lqList['committed'] == 2) { $provData = $lMapper->getProvData($lqList['id']); } else { //not committed. Get values from provider today values $pMapper = new Gyuser_Model_ProvidersDataMapper(); $provData = $pMapper->GetProviderByIdSimple($provId); } $checksList = $cMapper->GetChequeDetailsByLiquidacionIdJson($liqId, $provData, $liqDate); $totalFinalAmount = 0; foreach ($checksList as $item) { $html .= "<tr>\n <td>{$item['first_name']} {$item['last_name']}</td>\n <td>{$item['business']}</td>\n <td>{$item['date']}</td>\n <td>{$item['check_n']}</td>\n <td>{$this->formatMoney($item['amount'])}</td>\n <td>{$item['days']}</td>\n <td>{$this->formatMoney($item['imp_al_cheque'])}</td>\n <td>{$this->formatMoney($item['descuento'])}</td>\n <td>{$this->formatMoney($item['today_value'])}</td>\n </tr>"; } $html .= "</tbody>"; $cTotals = $cMapper->GetChequesTotalsJson($provId, $checksList, $provData, $liqDate); $html .= "<tfoot>\n <tr class='liq-header3'><th>N. CHEQUES</th><th>DIAS PROM.</th><th>BRUTO</th><th>IMP. AL CHEQUE</th><th>INTERESES</th><th>GASTOS INT.</th><th>GASTOS CAP.</th><th>GASTOS OTROS</th><th>SUBTOTAL</th></tr>\n <tr>\n <td>{$cTotals['chequeChkCount']}</td>\n <td>{$cTotals['dayAvg']}</td>\n <td>{$this->formatMoney($cTotals['bruto'])}</td>\n <td>{$this->formatMoney($cTotals['impuestoAlCheque'])}</td>\n <td>{$this->formatMoney($cTotals['intereses'])}</td>\n <td>{$this->formatMoney($cTotals['gastosInterior'])}</td>\n <td>{$this->formatMoney($cTotals['gastosGeneral'])}</td>\n <td>{$this->formatMoney($cTotals['gastosOtros'])}</td>\n <td>{$this->formatMoney($cTotals['payingAmount'])}</td>\n </tr>\n </tfoot></table>"; $html_style = <<<EOT <style type="text/css"> .liq-table { border:1px solid #777; } .liq-table td, .liq-table th { border-top: 0px; border-right: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; border-left: 0px; border:1px solid #ccc; padding:3px 7px; font:12px Geneva, sans-serif; background-color:#fff; white-space:nowrap; } td.liq-header { background-color:#777; text-align:center; color:#fff; font:bold 13px Geneva, sans-serif; text-transform:uppercase; border-width:0; white-space:nowrap; } .liq-header2 td, .liq-header2 th{ background-color:#f7f7f7; } .liq-header3 td, .liq-header3 th{ background-color:#e3e3e3; } .liq-header2 td, .liq-header2 th, .liq-header3 td, .liq-header3 th{ font:bold 12px Geneva, arial, sans-serif; text-transform: uppercase white-space:nowrap; } .liq-footer td{ background-color:#e3e3e3; font-weight:bold; border-top:1px solid #333; white-space:nowrap; } </style> EOT; $html_header = "<h1 style='font:bold 26px georgia, geneva'>Liquidacion {$lqList['id']}</h1>\n <table cellpadding='0' cellspacing='0' border='1' class='liq-table'>\n <tr><th style='text-align:right'>PROVEEDOR:</th><td>{$provData->getName()}</td></tr>\n <tr><th style='text-align:right'>FECHA:</th><td>{$lqList['date']}</td></tr>\n <tr><th style='text-align:right'>ACREDITACIONES:</th><td>{$this->formatMoney($lqList['acreditacion'])}</td></tr>\n <tr><th style='text-align:right'>TOTAL A LIQUIDAR</th><td>{$this->formatMoney($lqList['amount_debt'])}</td></tr>\n <tr><th style='text-align:right'>IMPORTE PAGADO:</th><td>{$this->formatMoney($lqList['amount_payed'])}</td></tr>\n <tr><th style='text-align:right'>SALDO:</th><td>{$this->formatMoney($lqList['current_account_balance'])}</td></tr>\n </table><br /><br />"; $provEmail = $provData->getEmail(); $provName = str_replace(' ', '-', $provData->getName()); $liqDate = str_replace('/', '-', $liqDate); $filename = 'Liq' . $liqId . '_' . $provName . '_' . $liqDate; return $html_style . $html_header . $html; } else { throw new Exception('liqId missing in display pdf generator -> displayTable function'); } }
public function getLiquidacionesForPrint($liqId) { if ($liqId) { $lMapper = new Gyuser_Model_LiquidacionesDataMapper(); $lObj = new Gyuser_Model_Liquidaciones(); $lObj->setId($liqId); $lqList = $lMapper->GetLiquidacionesById($lObj); $html = ''; $html .= '<h1>Liquidacion ' . $lqList['id'] . '</h1> <table cellpadding="0" cellspacing="0" border="1"> <thead> <tr> <th>Id</th> <th>FECHA</th> <th>DEBE</th> <th>ACREDITACIONES</th> <th>IMPORTE PAGADO</th> <th>SALDO</th> </tr> </thead> <tbody>'; $html .= "<tr>\n <td>{$lqList['id']}</td>\n <td>{$lqList['date']}</td>\n <td>{$lqList['amount_debt']}</td>\n <td>{$lqList['acreditacion']}</td>\n <td>{$lqList['amount_payed']}</td>\n <td>{$lqList['current_account_balance']}</td>\n </tr>"; $html .= '</tbody></table><br/>'; $html .= ' <table cellpadding="0" cellspacing="0" border="1" > <thead> <tr> <td colspan="6" style="text-align:center">OPERACIONES COMPARTIDAS</td> </tr> <tr> <th>FECHA OP.</th> <th>NOMBRE</th> <th>TOTAL</th> <th>GY</th> <th>COMISIONES</th> <th>SALDO</th> </tr> </thead> <tbody class="gridtbody">'; $oMapper = new Gyuser_Model_OperationsDataMapper(); $cObj = new Gyuser_Model_Operations(); $cObj->setLiquidacion_id($liqId); $opertationsList = $oMapper->GetOperationsByLiquidacionIdJson($cObj); $pArr = $opertationsList; $strBld = ''; $pay_final_amount = 0; if (count($pArr)) { foreach ($pArr as $pRow) { $pay_final_amount += $pRow['prov_payment']; $halfAmt = number_format($pRow['amount'] / 2, 2, '.', ''); $html .= "<tr >\n <td>{$pRow['date']}</td>\n <td>{$pRow['first_name']} {$pRow['last_name']}</td>\n <td>{$pRow['amount']}</td>\n <td>{$halfAmt}</td> \n <td>{$pRow['comision_amt']}</td>\n <td>{$pRow['prov_payment']}</td>\n </tr>"; } } $html .= '</tbody> <tfoot> <tr style="font-weight:bold"><td colspan="4"> </td><td>TOTAL</td><td><span class="operationsTotal_span">' . $pay_final_amount . '/span></td></tr> </tfoot> </table><br />'; $html .= '<table cellpadding="0" cellspacing="0" border="1" > <thead> <tr> <td colspan="6" style="text-align:center">CHEQUES RECHAZADOS</td> </tr> <tr> <th>TITULAR</th> <th>FECHA</th> <th>N. CHEQUE</th> <th>RECHAZOS</th> <th>GASTOS</th> <th>SALDO</th> </tr> </thead> <tbody class="gridtbody">'; $cMapper = new Gyuser_Model_ChequesDataMapper(); $cObj = new Gyuser_Model_Cheques(); $cObj->setLiquidacion_id($liqId); $cObj->setProvider_id($lqList['provider_id']); $pArr = $cMapper->RejectedChequeByLiquidacionesIdForProv($cObj); $strBld = ''; $sName = ''; $rejectedTotal = 0; //$rejectedChequesFee = number_format($rejectedChequesFee,2,'.',''); if (count($pArr)) { foreach ($pArr as $pRow) { $cObj->setRejected_type($pRow['rejected_type']); $rejectedChequesFee = (int) $cMapper->GetRejectionCostForProv($cObj); $amount = $pRow['amount']; $rChequeWithFee = $amount + $rejectedChequesFee; $rChequeWithFee = number_format($rChequeWithFee, 2, '.', ''); $rejectedTotal += $rChequeWithFee; $pay_final_amount += $rChequeWithFee; $rejectedChequesFee = number_format($rejectedChequesFee, 2, '.', ''); $strBld .= <<<EOT <tr id="RejectedCheque_{$pRow['id']}" style="background:#E3E3E3;"> <td class="user_operation_id">{$pRow['first_name']} {$pRow['last_name']}</td> <td class="user_check_n">{$pRow['date']}</td> <td class="user_bank_name">{$pRow['check_n']}</td> <td class="user_amount">{$amount}</td> <td class="user_rejected_cheque_fee">{$rejectedChequesFee}</td> <td class="pay_amount_cls">{$rChequeWithFee}</td> </tr> EOT; } } $pay_final_amountInv = $pay_final_amount * -1; $pre_val = $pre_val * -1; $html .= $strBld; $html .= ' </tbody> <tfoot> <tr style="font-weight:bold"><td colspan="4"> </td><td>TOTAL</td><td><span class="rejectedTotal_span">' . $rejectedTotal . '</span></td></tr> </tfoot> </table><br />'; $html .= '<table id="operationGridADDst" class="totals-table"> <tr id="Acreditacion"> <td>Acreditaciones:</td> <td> $ <input type="text" name="acreditacion" class="pay_amount_cls" value="" size="5" style="height:11px" /> </td> </tr> <tr id="operationGridADDend"> <td>Importe a Liquidar:</td> <td> <span class="pay_final_amount_span">' . $pay_final_amount . '</span> <input type="hidden" id="pay_final_amount" value="' . $pay_final_amountInv . '" /> </td> </tr> </table><br />'; /* $rejectedCheques = $cMapper->RejectedChequeByLiquidacionesIdForProv($cObj); $pArr = $rejectedCheques; $rejectedChequesFee = 60.00; $rejectedChequesFee = number_format($rejectedChequesFee, 2, '.', ''); if (count($pArr)) { $html .= '<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-</td></tr>'; foreach ($pArr as $pRow) { //$pRow = new Gyuser_Model_Cheques(); $amount = $pRow['amount']; $rChequeWithFee = $amount + $rejectedChequesFee; $rChequeWithFee = number_format($rChequeWithFee, 2, '.', ''); $pay_final_amount += $rChequeWithFee; $html .= "<tr style='background:#E3E3E3;'> <td class='user_operation_id'>{$pRow['first_name']}<input type='hidden' value='}' name='operation_id'/></td> <td class='user_date'></td> <td class='user_check_n'></td> <td class='user_bank_name'></td> <td class='user_amount'>{$amount}</td> <td class='user_rejected_cheque_fee'>{$rejectedChequesFee}</td> <td class='user_bank_name'></td> <td class='user_bank_name'>$rChequeWithFee</td> </tr>"; } if (count($pArr)) { $html .= '<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-</td></tr>'; $html .= '<tr><td style="height:20px"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>'; $pay_final_amount = number_format($pay_final_amount, 2, '.', ''); $html .= "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td style='background:#E3E3E3;'>SALDO EN CHEQUES</td><td style='background:#CCCCCC;'><b>$pay_final_amount</b><input type='hidden' id='pay_final_amount' value='$pay_final_amount' /></td></tr>"; $html .= "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td><input type='button' class='chooseChequesBtn jqButton' value='Choose Cheques'/></td><td></td></tr>"; } } $html .= '</tbody></table>'; * * */ $html .= '<br /><br /> <h1>CALCULO DE DESCUENTO - <span class="currentDate"></span></h1> <table cellpadding="0" cellspacing="0" border="1" > <thead> <tr> <th>TITULAR</th> <th>EMPRESA</th> <th>FECHA</th> <th>N. CHEQUE</th> <th>IMPORTE</th> <th>CANT. DIAS</th> <th>IMP. AL CHEQUE</th> <th>DESCUENTO</th> <th>SALDO A HOY</th> </tr> </thead> <tbody class="gridtbody">'; $cMapper = new Gyuser_Model_ChequesDataMapper(); $cObj = new Gyuser_Model_Cheques(); $cObj->setLiquidacion_id($liqId); $chequesList = $cMapper->GetChequeDetailsByLiquidacionIdJson($liqId, $provData, $liqDate); $totalFinalAmount = 0; foreach ($chequesList as $cheques) { $item = $cheques; $cave_name = $item['first_name']; $amount = floatval($item['amount']); $check_n = $item['check_n']; $bank_name = $item['bank_name']; $date = $item['date']; $l_date = $item['liquidacion_date']; $acreditacion_hr = (int) $item['acreditacion_hrs']; $date = $item['date']; $date_arc = add_days_by_hr($date, $acreditacion_hr); $date_diff = dateDiff($l_date, $date_arc); $chqPer = $amount * 2.1 / 100; $discount = $amount * 0.17 / 100 * $date_diff; $finalAmount = $amount - $chqPer - $discount; $finalAmount = number_format($finalAmount, 2, '.', ''); $amount = number_format($amount, 2, '.', ''); $chqPer = number_format($chqPer, 2, '.', ''); $discount = number_format($discount, 2, '.', ''); $commision = number_format($commision, 2, '.', ''); $totalFinalAmount += $finalAmount; $html .= "<tr> \n <td>{$cave_name}</td>\n <td>{$date}</td>\n <td>{$amount}</td>\n <td>{$check_n}</td>\n <td>{$bank_name}</td>\n <td>{$date_diff}</td>\n <td>{$chqPer}</td>\n <td>{$discount}</td>\n <td>{$finalAmount}</td>\n </tr>"; } $html .= '<tr><td style="height:20px"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>'; $html .= "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td style='background:#E3E3E3;'>SALDO A LIQUIDAR</td><td style='background:#CCCCCC;'><b>{$totalFinalAmount}</b><input type='hidden' id='pay_final_amount' value='{$totalFinalAmount}' /></td></tr>"; $html .= "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td><input type='button' class='chooseChequesBtn jqButton' value='Choose Cheques'/></td><td></td></tr>"; $html .= '</tbody></table>'; echo $html; } }
public function updateOpAndClientsStatus() { $table = $this->getDbTable(); $select = $table->select(); $select->setIntegrityCheck(false); $select->from(array('operations'), array('id', 'client_id')); $resultSet = $table->fetchAll($select); $opMapper = new Gyuser_Model_OperationsDataMapper(); $clMapper = new Gyuser_Model_UserDataMapper(); foreach ($resultSet as $row) { /// check if the operation has no pending checks, if it doesn't mark the whole operation as saldada $operationPayed = $opMapper->checkOperationSaldada($row->id); if ($operationPayed) { $id = $opMapper->setOperationSaldada($row->id); /// check if the client has no pending operations, if it doesn't mark the client type as pasivo $pasiveClient = $clMapper->checkPasiveClient($row->client_id); if ($pasiveClient) { $id = $clMapper->setPasiveClient($row->client_id); } } elseif ($opMapper->checkOperationCobranza($row->id)) { //operation is en cobranza /// check if the client has no pending operations, if it doesn't mark the client type as pasivo $id = $clMapper->setCobranzaClient($row->client_id); } else { //operation is not saldada and is not in cobranza (client active) $cobranzas = $clMapper->checkCobranzasOp($row->client_id); if (!$cobranzas) { /// check if the client has no other operations in cobranza and mark it as active $id = $clMapper->setActiveClient($row->client_id); } } } }