예제 #1
0
/**
 * @param int    $account
 * @param string $startDate
 * @param string $doDebitCredit
 *
 * @return float
 */
function getOpeningBalance($account, $startDate = "", $doDebitCredit = 'Dr')
{
    global $mysqli;
    /** @var $result mysqli_result */
    $aob = _getOpeningBalance($account, $startDate);
    $debitCredit = "debit_amount - credit_amount";
    if ($doDebitCredit == 'Cr') {
        $debitCredit = "credit_amount - debit_amount";
    }
    $sql = "SELECT IFNULL(SUM({$debitCredit}), 0)\n" . "  FROM voucher_detail\n" . "       INNER JOIN voucher_master ON voucher_master.voucher_id = voucher_detail.voucher_id AND voucher_detail.account_ref_id = {$account}\n" . " WHERE voucher_master.voucher_date BETWEEN (SELECT start_date FROM sys_financial_year sfy WHERE STR_TO_DATE('{$startDate}','%d-%m-%Y') BETWEEN start_date AND end_date AND company_ref_id = {$_SESSION['company_id']} )\n" . "                                   AND date_sub(STR_TO_DATE('{$startDate}','%d-%m-%Y'), INTERVAL '1' DAY)\n" . "   AND voucher_master.voucher_type <> 'CO' \n";
    $result = $mysqli->query($sql);
    if ($result !== false) {
        $row = $result->fetch_row();
        $aob += $row[0] * 1;
    }
    return $aob;
}
예제 #2
0
     $accounts[] = $account;
 }
 if (count($accounts) == 0) {
     //all was selected
     require_once '../includes/connect.php';
     $items = mysql_query("SELECT coa.account_ref_id\n" . "  FROM chart_of_account coa\n" . "       INNER JOIN party p ON p.account_ref_id = coa.account_ref_id\n" . " WHERE p.party_city = '{$_GET['city']}'\n" . "   AND coa.company_ref_id = {$_SESSION['company_id']}\n" . "ORDER BY account_name");
     while ($row = mysql_fetch_assoc($items)) {
         $accounts[] = $row['account_ref_id'];
     }
 }
 $ndata = array();
 foreach ($accounts as $account) {
     $party = getIVal("party_name", "party", "account_ref_id = {$account}");
     $party_hidden = getIVal("party_code", "party", "account_ref_id = {$account}");
     $days_limit = getIVal("days_limit", "party", "account_ref_id = {$account}");
     $aob = _getOpeningBalance($account, $date_start);
     $pay = getPayments($account, $date_start, $date_end);
     $balance = $aob - $pay;
     if ($balance < 0) {
         $balance = $balance * -1;
     } else {
         $balance = 0;
     }
     $sql = "" . "SELECT sa.invoice,\n" . "       sa.remarks,\n" . "       DATE_FORMAT(sa.sale_date, '%d-%b-%y') sale_date,\n" . "       DATEDIFF(now(), sa.sale_date) days,\n" . "       sa.net\n" . "  FROM vu_sales_age sa\n" . " WHERE sa.party_code = {$party_hidden}\n" . "   AND sa.company_ref_id = {$_SESSION['company_id']}\n";
     if (strlen($date_start) > 0) {
         $sql .= "     AND TO_DAYS(sa.sale_date) >= TO_DAYS('" . my_sql_date($date_start) . "')\n";
     }
     if (strlen($date_end) > 0) {
         $sql .= "     AND TO_DAYS(sa.sale_date) <= TO_DAYS('" . my_sql_date($date_end) . "')\n";
     }
     if (strlen($date_start) + strlen($date_end) < 1) {