Esempio n. 1
0
function populoi_kassalipas_muuttujat_kassakohtaisesti($_post)
{
    $kassalippaat = array();
    $kassalippaan_indeksi = null;
    $monisoluisen_indeksi_array = null;
    $kortin_indeksi = null;
    foreach ($_post as $kentan_nimi => $kentan_arvo) {
        if (stristr($kentan_nimi, 'tyyppi_pohjakassa')) {
            //tämä hoitaa käteismyynti kassalippaat
            preg_match_all('!\\d+!', $kentan_nimi, $kassalippaan_indeksi);
            $kassalippaan_nimi = $_post['tyyppi_pohjakassa' . $kassalippaan_indeksi[0][0]];
            $kassalipas = hae_kassalipas($kassalippaan_nimi);
            $kassalippaan_tunnus = $kassalipas['tunnus'];
            foreach ($_post as $etsi_kassalipas_nimi => $etsi_kassalipas_arvo) {
                //etsitään kassalippaalle kuuluvat tilitys arvot
                if (strstr($etsi_kassalipas_nimi, $kassalippaan_indeksi[0][0])) {
                    if (!stristr($etsi_kassalipas_nimi, 'solu') and !stristr($etsi_kassalipas_nimi, 'kateisotto') and !stristr($etsi_kassalipas_nimi, 'kateistilitys')) {
                        //yksisoluiset halutaan tallentaa ilman perästä löytyvää indeksiä
                        $kassalippaat[$kassalippaan_tunnus][preg_replace("/[0-9]/", "", $etsi_kassalipas_nimi)] = $etsi_kassalipas_arvo;
                    } else {
                        //monisoluisiin halutaan 1, 11 ,111 indeksin sijaan 1, 2, 3 jne.
                        preg_match_all('!\\d+!', $etsi_kassalipas_nimi, $monisoluisen_indeksi_array);
                        $monisoluisen_indeksi = strlen($monisoluisen_indeksi_array[0][0]);
                        $solun_nimi = preg_replace("/[0-9]/", "", $etsi_kassalipas_nimi) . $monisoluisen_indeksi;
                        $kassalippaat[$kassalippaan_tunnus][$solun_nimi] = $etsi_kassalipas_arvo;
                    }
                }
            }
        } elseif (stristr($kentan_nimi, 'maksutapa')) {
            //tämä hoitaa pankki ja luottokortit, jotka eivät ole kassa kohtaisia
            if (stristr($kentan_arvo, 'pankkikortti') or stristr($kentan_arvo, 'luottokortti')) {
                $kortin_nimi = explode('#', $kentan_arvo);
                $kortin_nimi = $kortin_nimi[0];
                preg_match_all('!\\d+!', $kentan_nimi, $kortin_indeksi);
                foreach ($_post as $etsi_kortti_nimi => $etsi_kortti_arvo) {
                    //etsitään kassalippaalle kuuluvat tilitys arvot
                    if (strstr($etsi_kortti_nimi, $kortin_indeksi[0][0])) {
                        //monisoluisiin halutaan 1, 11 ,111 indeksin sijaan 1, 2, 3 jne.
                        preg_match_all('!\\d+!', $etsi_kortti_nimi, $monisoluisen_indeksi_array);
                        $monisoluisen_indeksi = strlen($monisoluisen_indeksi_array[0][0]);
                        $solun_nimi = preg_replace("/[0-9]/", "", $etsi_kortti_nimi) . $monisoluisen_indeksi;
                        $kassalippaat[$kortin_nimi][$solun_nimi] = str_replace('##', '', $etsi_kortti_arvo);
                    }
                }
            }
        }
    }
    return $kassalippaat;
}
Esempio n. 2
0
     $tapahtumapaiva = date('Y-m-d');
 }
 // Haetaan laskun tiedot
 $laskurow = hae_lasku($tunnus);
 if (strtotime($tapahtumapaiva) < strtotime($laskurow['tapvm'])) {
     $laskupvmerror = TRUE;
 }
 if ($toim == 'KATEINEN' and $laskurow['mapvm'] != '0000-00-00') {
     $laskumaksettuerror = TRUE;
 }
 $tilikausi = tarkista_saako_laskua_muuttaa($tapahtumapaiva);
 $tilikausi_lasku = tarkista_saako_laskua_muuttaa($laskurow['tapvm']);
 if (empty($tilikausi) and (empty($tilikausi_lasku) or $toim == 'KATEINEN') and !$laskupvmerror and !$laskumaksettuerror) {
     $mehtorow = hae_maksuehto($maksuehto);
     $konsrow = hae_asiakas($laskurow);
     $kassalipasrow = hae_kassalipas($kassalipas);
     $params = array('konsrow' => $konsrow, 'mehtorow' => $mehtorow, 'laskurow' => $laskurow, 'maksuehto' => $maksuehto, 'tunnus' => $tunnus, 'toim' => $toim, 'tapahtumapaiva' => $tapahtumapaiva, 'kassalipas' => $kassalipas);
     if ($toim == 'KATEINEN' and $kateinen != '') {
         // Lasku oli ennestään käteinen ja nyt päivitetään sille joku toinen käteismaksuehto
         list($myysaatili, $_tmp) = hae_kassalippaan_tiedot($laskurow['kassalipas'], hae_maksuehto($laskurow['maksuehto']), $laskurow);
         $_tmp = korjaa_erapaivat_ja_alet_ja_paivita_lasku($params);
     } else {
         $myysaatili = korjaa_erapaivat_ja_alet_ja_paivita_lasku($params);
     }
     list($_kassalipas, $kustp) = hae_kassalippaan_tiedot($kassalipas, $mehtorow, $laskurow);
     $params = array('laskurow' => $laskurow, 'tunnus' => $tunnus, 'myysaatili' => $myysaatili, 'tapahtumapaiva' => $tapahtumapaiva, 'toim' => $toim, '_kassalipas' => $_kassalipas, 'kateinen' => $kateinen, 'kustp' => $kustp);
     tee_kirjanpito_muutokset($params);
     yliviivaa_alet_ja_pyoristykset($tunnus);
     tarkista_pyoristys_erotukset($laskurow, $tunnus);
     if ($toim == 'KATEINEN') {
         vapauta_kateistasmaytys($kassalipasrow, $tapahtumapaiva);
Esempio n. 3
0
$request_params = array('kassalipas' => $kassalipas_tunnus, 'kateisotto_rivi' => $kateisotto_rivi, 'yleinen_kommentti' => $yleinen_kommentti, 'userfile' => $userfile, 'kuvaselite' => $kuvaselite, 'pp' => $pp, 'kk' => $kk, 'vv' => $vv, 'date' => "{$vv}-{$kk}-{$pp}");
if ($tee == 'kateisotto') {
    $date = "{$vv}-{$kk}-{$pp}";
    $validoi_date = validoi_tapahtumapaiva($pp, $kk, $vv);
    $voiko_kateisoton_tehda = $validoi_date ? tarkista_saako_laskua_muuttaa($date) : false;
    if ($voiko_kateisoton_tehda) {
        $voiko_kateisoton_tehda = validoi_liitetiedosto($_FILES);
        if ($voiko_kateisoton_tehda and count($request_params['kateisotto_rivi']) == 0) {
            echo "<br><font class='error'>" . t("Käteisotolla ei ollut yhtään riviä") . "!</font><br><br>";
            $voiko_kateisoton_tehda = false;
        }
        if ($voiko_kateisoton_tehda) {
            //tehdään käteisotto
            //
            //haetaan kassalipas row
            $kassalipas = hae_kassalipas($kassalipas_tunnus);
            //tarkistetaan, onko kassalipas jo täsmäytetty
            $kassalippaan_tasmaytys = tarkista_kassalippaan_tasmaytys($kassalipas['tunnus'], $date);
            if ($kassalippaan_tasmaytys['ltunnukset'] != '' and $kassalippaan_tasmaytys['selite'] != '') {
                $voiko_kateisoton_tehda = vapauta_kateistasmaytys($kassalipas, $date);
            }
            if ($voiko_kateisoton_tehda) {
                $lasku_tunnus = tee_kateisotto($kassalipas, $request_params);
                echo "<br><font class='message'>" . t("Käteisotto tehtiin onnistuneesti") . "!</font><br><br>";
                if (!empty($lasku_tunnus) and is_uploaded_file($_FILES['userfile']['tmp_name'])) {
                    tallenna_liite("userfile", "lasku", $lasku_tunnus, $request_params['kuvaselite'], "", 0, 0, "");
                }
            }
        }
    } else {
        echo $validoi_date ? "<font class='error'>" . t("VIRHE: Tilikausi on päättynyt %s. Et voi merkitä laskua maksetuksi päivälle %s", "", $yhtiorow['tilikausi_alku'], "{$vv}-{$kk}-{$pp}") . "!</font>" : "";