Exemplo n.º 1
0
     <style>
         body{
             font-family: 'Arial';
         }
     </style>
     <?php 
     $symb = "'";
     $html .= '<br><div class="menu_button" onclick="get_take_page(\'#kassa_' . $item['id'] . '.sheet_extradition\', ' . $symb . ($last_open_day != '' ? date('Y-m-d', strtotime($last_open_day)) : '-') . $symb . ', ' . $symb . $operator_login . $symb . ')">Сформировать ведомость выдачи</div><br><br>';
     $html .= '<div id="kassa_' . $item['id'] . '" class="sheet_extradition" hidden></div>';
     $html .= '<div class="menu_button" id="print_take_page" onclick="print_take_doc(\'#kassa_' . $item['id'] . '.sheet_extradition\');">Печать ведомости выдачи</div>';
     $html .= '<br><div class="menu_button" onclick="close_od(' . $item['id'] . ')">Закрытие операционного дня</div>';
     $html .= '</div>';
 }
 $html .= '<div id="create_new_service_desk" kassa_id="' . $item['id'] . '" class="menu_button" onclick="">У меня проблемы с этой кассой - создать заявку</div>';
 // Сделать выводим скрытые поля по истории операции за сегодня и вчера;
 $sql = "select\n                `users_apps`.`user_full_name` as `operator`,\n                `rb_kassa_code_id` as `rb_code`,\n                    case when `sum` > 0 and `beznal` != 1 then `sum` end as 'in',\n                    case when `sum` < 0 and `beznal` != 1 then (`sum`*-1) end as 'out',\n                    case when `sum` > 0 and `beznal` = 1 then `sum` end as 'in_beznal',\n                    case when `sum` < 0 and `beznal` = 1 then (`sum`*-1) end as 'out_beznal',\n                    case when `sum` > 0 and `beznal` = 2 then `sum` end as 'credit',\n                    `comments`,\n                    `kassa_transactions`.`date`\n                from `kassa_transactions`\n                left join `kassa_operators` on `kassa_operators`.`id` = `kassa_transactions`.`operator_id`\n                left join `users_apps` on `users_apps`.`id` = `kassa_operators`.`operator_user_id`\n                where `kassa_transactions`.`kassa_id` = '" . $item['id'] . "' and date(`kassa_transactions`.`date`) = date('" . calc_last_kassa_cash_day($item['id']) . "')\n                order by `kassa_transactions`.`date` asc";
 $cash_transactions = $db_rs->all($sql);
 //echo $sql;
 $html .= '<div id="transactions_history_' . $item['id'] . '" style="margin-top: 0.5em;" hidden>';
 if (count($cash_transactions) > 0) {
     write_log(date('H:i:s') . ' - START', 'time_point_load');
     $html .= '<table cellpadding="0" cellspacing="0">';
     $html .= '<tr>';
     $html .= '<td rowspan="2" align="center" class="row_top"><b>ОП</b></td>';
     $html .= '<td rowspan="2" align="center" class="row_top inf_row"><b>Дата</b></td>';
     $html .= '<td rowspan="2" align="center" class="row_top inf_row"><b>Номер документа</b></td>';
     $html .= '<td colspan="2" align="center" class="row_top inf_row" style="border-bottom: 1px black solid"><b>Наличные</b></td>';
     $html .= '<td colspan="2" align="center" class="row_top inf_row" style="border-bottom: 1px black solid"><b>Безналичные</b></td>';
     $html .= '<td align="center" class="row_top inf_row" style="border-bottom: 1px black solid"><b>Кредит</b></td>';
     $html .= '<td rowspan="2" align="center" class="row_top inf_row"><b>Комментарий</b></td>';
     $html .= '</tr>';
Exemplo n.º 2
0
<?php

/**
 * Created by PhpStorm.
 * User: admin64
 * Date: 11.02.2016
 * Time: 16:32
 */
// Подключение к базе данных;
require_once $_SERVER['DOCUMENT_ROOT'] . '/systems/connect.php';
// Теперь считаем ПКО и РКО;
$kassa_id = '';
$count_rko = 0;
$count_pko = 0;
$sql = "SELECT `rb_kassa_code_id` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . calc_last_kassa_cash_day($kassa_id) . "') AND `beznal` != '1'";
//echo $sql."<br>";
$rb_codes_id = $db_rs->all($sql);
foreach ($rb_codes_id as $rb_code_id) {
    $sql = "SELECT `type_m` FROM `kassa` WHERE `code` = '" . $rb_code_id['rb_kassa_code_id'] . "';";
    //echo $sql."<br>";
    $transactions_type = $db->one($sql);
    if ($transactions_type == '0') {
        $count_pko++;
    }
    if ($transactions_type == '1') {
        $count_rko++;
    }
}
echo $count_pko . "<br>";
echo $count_rko . "<br>";
Exemplo n.º 3
0
function calc_cash_day($kassa_id, $z_report_id = '', $date = '')
{
    global $db_rs, $db;
    // Количество бенала;
    if ($date != '') {
        $sql = "SELECT count(`id`) as `count`, sum(`sum`) as `sum` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . $date . "') AND `beznal` = '1' AND `sum` > 0;";
    } else {
        $sql = "SELECT count(`id`) as `count`, sum(`sum`) as `sum` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . calc_last_kassa_cash_day($kassa_id) . "') AND `beznal` = '1' AND `sum` > 0;";
    }
    write_log('Безнал: ' . $sql, $kassa_id . 'calc_cash_day');
    $beznal_temp = $db_rs->row($sql);
    // Количество скидок по безналу;
    if ($date != '') {
        $sql = "SELECT sum(`sum`) as `sum` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . $date . "') AND `beznal` = '1' AND `sum` < 0;";
    } else {
        $sql = "SELECT sum(`sum`) as `sum` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . calc_last_kassa_cash_day($kassa_id) . "') AND `beznal` = '1' AND `sum` < 0;";
    }
    write_log('Кол-во скидок по безналу: ' . $sql, $kassa_id . 'calc_cash_day');
    $beznal_discont = $db_rs->one($sql);
    $beznal_count = $beznal_temp['count'];
    $beznal_summa = $beznal_temp['sum'] + $beznal_discont;
    if ($beznal_summa == '') {
        $beznal_summa = 0;
    }
    // Теперь считаем ПКО и РКО и кредит;
    $count_rko = 0;
    $count_pko = 0;
    $count_credit = 0;
    if ($date != '') {
        $sql = "SELECT `rb_kassa_code_id` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . $date . "');";
    } else {
        $sql = "SELECT `rb_kassa_code_id` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND date(`date`) = date('" . calc_last_kassa_cash_day($kassa_id) . "');";
    }
    write_log('ПКО - РКО: ' . $sql, $kassa_id . 'calc_cash_day');
    $rb_codes_id = $db_rs->all($sql);
    foreach ($rb_codes_id as $rb_code_id) {
        $sql = "SELECT `type_m` FROM `kassa` WHERE `code` = '" . $rb_code_id['rb_kassa_code_id'] . "';";
        $transactions_type = $db->one($sql);
        if ($transactions_type == '0' || $transactions_type == '3') {
            $count_pko++;
        }
        if ($transactions_type == '1') {
            $count_rko++;
        }
        if ($transactions_type == '9') {
            $count_credit++;
        }
    }
    // Поулчаем оператора кассы;
    if ($date != '') {
        $sql = "SELECT `kassa_operators`.`operator_user_id` as `user_id`, `kassa`.`office`, `kassa_operators`.`id` as `operator_id` FROM `kassa_operators`\n                LEFT JOIN `kassa` ON `kassa`.`id` = `kassa_operators`.`kassa_id`\n                WHERE `kassa`.`id` = '" . $kassa_id . "' AND date(`date`) = date('" . $date . "') ORDER BY `date` DESC;";
    } else {
        $sql = "SELECT `kassa_operators`.`operator_user_id` as `user_id`, `kassa`.`office`, `kassa_operators`.`id` as `operator_id` FROM `kassa_operators`\n                LEFT JOIN `kassa` ON `kassa`.`id` = `kassa_operators`.`kassa_id`\n                WHERE `kassa`.`id` = '" . $kassa_id . "' AND date(`date`) = date('" . calc_last_kassa_cash_day($kassa_id) . "') ORDER BY `date` DESC;";
    }
    write_log('Оператор кассы: ' . $sql, $kassa_id . 'calc_cash_day');
    $exist_operator = $db_rs->row($sql);
    $sql = "SELECT `user_name` FROM `users_apps` WHERE `id` = '" . $exist_operator['user_id'] . "';";
    $operator_login = $db_rs->one($sql);
    // Считаем общее количество чеков;
    if ($date != '') {
        //$sql = "SELECT COUNT(`code`) as `count`, sum(`summ`) as `sum` FROM `kassa` WHERE `office` = '".$exist_operator['office']."' AND `login` = '".$operator_login."' AND date(`date_time_p`) = date('".$date."') AND `type_m` not in (0, 1)";
        $sql = "select sum(`count`) as `count`, sum(`sum`) as `sum` from(\n                SELECT COUNT(`code`) as `count`, sum(`summ`) as `sum` FROM `kassa` WHERE `office` = '" . $exist_operator['office'] . "' AND `summ` != 0 AND `login` = '" . $operator_login . "' AND date(`date_time_p`) = date('" . $date . "') AND (`type_m` not in (0, 1) OR (`type_m` = 0 AND `primech` = 'Быстрая продажа товара'))\n                union all\n                SELECT 0 as `count`, sum(`summ`) FROM `kassa` WHERE `office` = '" . $exist_operator['office'] . "' AND `login` = '" . $operator_login . "' AND date(`date_time_p`) = date('" . $date . "')\n                AND (`type_m` = 1 and `primech` like '%скидка%')) as `main`";
    } else {
        $sql = "select sum(`count`) as `count`, sum(`sum`) as `sum` from(\n                SELECT COUNT(`code`) as `count`, sum(`summ`) as `sum` FROM `kassa` WHERE `office` = '" . $exist_operator['office'] . "' AND `summ` != 0 AND `login` = '" . $operator_login . "' AND date(`date_time_p`) = date('" . calc_last_kassa_cash_day($kassa_id) . "') AND (`type_m` not in (0, 1) OR (`type_m` = 0 AND `primech` = 'Быстрая продажа товара'))\n                union all\n                SELECT 0 as `count`, sum(`summ`) FROM `kassa` WHERE `office` = '" . $exist_operator['office'] . "' AND `login` = '" . $operator_login . "' AND date(`date_time_p`) = date('" . calc_last_kassa_cash_day($kassa_id) . "')\n                AND (`type_m` = 1 and `primech` like '%скидка%')) as `main`";
    }
    write_log('Кол-во чеков: ' . $sql, $kassa_id . 'calc_cash_day');
    $check_temp = $db->row($sql);
    if ($date != '') {
        $sql = "SELECT sum(`sum`) as `sum` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND `operator_id` = '" . $exist_operator['operator_id'] . "' AND date(`date`) = '" . $date . "' AND `comments` like '%Корректировка%';";
    } else {
        $sql = "SELECT sum(`sum`) as `sum` FROM `kassa_transactions` WHERE `kassa_id` = '" . $kassa_id . "' AND `operator_id` = '" . $exist_operator['operator_id'] . "' AND date(`date`) = '" . calc_last_kassa_cash_day($kassa_id) . "' AND `comments` like '%Корректировка%';";
    }
    write_log($sql, 'calc_cash_day');
    $corrections = $db_rs->one($sql);
    $check_count = $check_temp['count'];
    $check_sum = $check_temp['sum'];
    //+$corrections);
    if ($check_sum == '') {
        $check_sum = 0;
    }
    if ($date != '') {
        $open_day_sum = calc_yesterday_cash($kassa_id, $date);
        $close_day_sum = calc_today_cash($kassa_id, $date) + $open_day_sum;
    } else {
        $open_day_sum = calc_yesterday_cash($kassa_id, calc_last_kassa_cash_day($kassa_id));
        $close_day_sum = calc_today_cash($kassa_id, calc_last_kassa_cash_day($kassa_id)) + $open_day_sum;
    }
    $result_array = array('count_check' => $check_count, 'count_beznal' => $beznal_count, 'count_rko' => $count_rko, 'count_pko' => $count_pko, 'count_credit' => $count_credit, 'z_sum' => $check_sum, 'beznal_sum' => $beznal_summa, 'close_day_sum' => $close_day_sum, 'open_day_sum' => $open_day_sum);
    write_log('Массив сформированный системой: ' . print_r($result_array, true), $kassa_id . 'calc_cash_day');
    // Если нам передали дату, то тогда мы сразу и обновим данные по z отчету в базе;
    // Поулчис ID последнего
    if ($z_report_id != '') {
        $sql = "UPDATE `z-reports` SET `z_sum` = '" . $check_sum . "', `count_check` = '" . $check_count . "', `count_beznal` = '" . $beznal_count . "', `beznal_sum` = '" . $beznal_summa . "', `count_pko` = '" . $count_pko . "', `count_rko` = '" . $count_rko . "', `count_credit` = '" . $count_credit . "', `close_day_sum` = '" . $close_day_sum . "' WHERE `id` = '" . $z_report_id . "';";
        $db_rs->query($sql);
        write_log($sql, 'calc_cash_day');
    }
    return $result_array;
}
Exemplo n.º 4
0
 echo 'Офис: <b>' . $office_name . '</b><br>';
 echo 'Дата печати кассовой книги: <b>' . date('d.m.Y H:i:s') . '</b><br>';
 echo 'ID кассы: <b>' . $_POST['kassa_id'] . '</b><br>';
 echo 'Операционный день: <b>' . date('d.m.Y', strtotime($_POST['date'])) . '</b><br>';
 //date('d.m.Y', strtotime(calc_last_kassa_cash_day($_POST['kassa_id'])))
 echo 'Кассир: <b>' . $user_full_name . '</b><br>';
 echo '<br>';
 $yesterday_sum = calc_yesterday_cash($_POST['kassa_id'], $_POST['date']);
 $today_sum = calc_today_cash($_POST['kassa_id'], $_POST['date']);
 echo 'Сумма на начало операционного дня: <b>' . number_format($yesterday_sum, 2, '.', ' ') . ' руб.</b> (' . num2str($yesterday_sum) . ')<br><br>';
 echo get_office_cash_book($_POST['office_id'], $_POST['date'], 1, $user_login) . '</div>';
 echo 'Сумма на конец операционного дня: <b>' . number_format($today_sum + $yesterday_sum, 2, '.', ' ') . ' руб.</b> (' . num2str($today_sum + $yesterday_sum) . ')<br><br>';
 // Получаем последний z-отчет по кассе;
 // Если дата не сегодня, то брать надо последний z-отчет. Так как сегодня
 if ($_POST['date'] != date('Y-m-d')) {
     $sql = "select * from `z-reports` where `kassa_id` = '" . $_POST['kassa_id'] . "' and date(`date`) = date('" . calc_last_kassa_cash_day($_POST['kassa_id']) . "') order by `date` desc limit 1";
 } else {
 }
 $sql = "select * from `z-reports` where `kassa_id` = '" . $_POST['kassa_id'] . "' and date(`date`) = date('" . $_POST['date'] . "') order by `date` desc limit 1";
 //echo $sql;
 $z_report_data = $db_rs->row($sql);
 // Далее мы подсчитываем и выводим сводную информацию
 echo 'ID Z-отчета (выдан при закрытии ОД): <b>' . $z_report_data['id'] . '</b><br>';
 echo 'Номер Z-отчета (на чеке Z отчета): <b>' . $z_report_data['z_number'] . '</b><br><br>';
 //echo 'Сумма по Z-отчету: <b>'.number_format($z_report_data['z_sum'], 2, '.', ' ').' руб.</b><br><br>';
 echo '<table style="border:0px black solid" cellpadding="0" cellspacing="0">';
 echo '<tr>';
 echo '<td style="border:1px black solid"></td>';
 echo '<td style="border:1px black solid">Оператор</td>';
 echo '<td style="border:1px black solid">Система</td>';
 echo '</tr>';