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 generateexcelforsupplierliquidacionesAction() { try { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $request = $this->getRequest(); $liquidacion_id = $request->liquidacion_id; $status = (int) $request->status; $obj = new Gyuser_Model_Liquidaciones(); $obj->setId($liquidacion_id); $pdf = new Gyuser_Model_PdfGeneratorDataMapper(); $pdf->CreateExcelforSupplierLiquidaciones($obj, $status, $liquidacion_id); } catch (Exception $e) { echo $e; } }
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; } }