function add_open_orders_line($fp, $row) { $rivi = "{$row['maa']}-{$row['varasto']};"; // Inventory location code $rivi .= "{$row['maa']}-" . pupesoft_csvstring($row['tuoteno']) . ";"; // Item code $rivi .= pupesoft_csvstring($row['tuoteno']) . ";"; // Clean Item code $rivi .= "{$row['type']};"; // Open order type $rivi .= "{$row['maara']};"; // Open order quantity in inventory units $rivi .= "{$row['toimituspaiva']};"; // Estimated delivery date of the order $rivi .= ";"; // Open order value in currency $rivi .= ";"; // Sales or purchase order number $rivi .= ";"; // Sales or purchase order row number $rivi .= ";"; // Additional order type that can be used to distinct normal sales and deliveries from special sales and deliveries $rivi .= "{$row['partner']}"; // Customer for sales orders and Supplier for purchase orders $rivi .= "\n"; fwrite($fp, $rivi); }
} elseif ($paiva_ajo) { $toimittajarajaus = " AND (toimi.muutospvm >= date_sub(now(), interval 24 HOUR) or toimi.luontiaika >= date_sub(now(), interval 24 HOUR))"; } // Haetaan toimittajat $query = "SELECT\n yhtio.maa,\n toimi.tunnus,\n concat_ws(' ', toimi.nimi, toimi.nimitark) nimi,\n toimi.maa toimittajan_maa\n FROM toimi\n JOIN yhtio ON (toimi.yhtio = yhtio.yhtio)\n WHERE toimi.yhtio = '{$yhtio}'\n AND toimi.oletus_vienti in ('C','F','I')\n AND toimi.toimittajanro not in ('0','')\n AND toimi.tyyppi = ''\n {$toimittajarajaus}\n ORDER BY toimi.tunnus"; $res = pupe_query($query); // Tallennetaan aikaleima cron_aikaleima("RELEX_SUPL_CRON", date('Y-m-d H:i:s')); // Kerrotaan montako riviä käsitellään $rows = mysql_num_rows($res); echo date("d.m.Y @ G:i:s") . ": Relex Toimittajarivejä {$rows} kappaletta.\n"; $k_rivi = 0; while ($row = mysql_fetch_assoc($res)) { $rivi = "{$row['maa']}-{$row['tunnus']};"; $rivi .= pupesoft_csvstring($row['nimi']) . ";"; $rivi .= pupesoft_csvstring($row['toimittajan_maa']); $rivi .= "\n"; fwrite($fp, $rivi); $k_rivi++; } fclose($fp); // Tehdään FTP-siirto if (($paiva_ajo or $weekly_ajo) and !empty($relex_ftphost)) { $ftphost = $relex_ftphost; $ftpuser = $relex_ftpuser; $ftppass = $relex_ftppass; $ftppath = "/data/input"; $ftpfile = $filepath; require "inc/ftp-send.inc"; } echo date("d.m.Y @ G:i:s") . ": Relext toimittajat valmis.\n\n";
if ($row_edellinen['tuoteno'] == $row['tuoteno'] and $row_edellinen['kpl'] * -1 == $row['kpl']) { //Jos varastonsisäinen sirto niin ei lisätä failiin if ($row['varasto'] == $row_edellinen['varasto']) { $k_rivi++; continue; } $partner = "{$row_edellinen['maa']}-{$row_edellinen['varasto']}"; } } $rivi = "{$row['pvm']};"; // Transaction posting date $rivi .= "{$row['maa']}-{$row['varasto']};"; // Inventory location code $rivi .= "{$row['maa']}-" . pupesoft_csvstring($row['tuoteno']) . ";"; // Item code $rivi .= pupesoft_csvstring($row['tuoteno']) . ";"; // Clean Item code $rivi .= "{$type};"; // Transaction type $rivi .= "{$row['kpl']};"; // Transaction quantity in inventory units $rivi .= "{$arvo};"; // Transaction value in currency $rivi .= ";"; // Purchase cost of sales transaction $rivi .= ";"; // Sales or purchase order number $rivi .= ";"; // Sales or purchase order row number $rivi .= ";"; // Additional subtype for sales and delivery transactions
$k_rivi = 0; while ($row = mysql_fetch_assoc($res)) { // Heataan ketjun tuotteet $kquery = "SELECT korvaavat.tuoteno\n FROM korvaavat\n JOIN tuote on (tuote.yhtio = korvaavat.yhtio and tuote.tuoteno = korvaavat.tuoteno)\n WHERE korvaavat.yhtio = '{$yhtio}'\n AND korvaavat.id = '{$row['id']}'\n ORDER BY if(korvaavat.jarjestys=0, 9999, korvaavat.jarjestys), korvaavat.tuoteno"; $kresult = pupe_query($kquery); $korvaavat = array(); while ($krow = mysql_fetch_assoc($kresult)) { $korvaavat[] = $krow["tuoteno"]; } // Käydään array läpi ja listataan tuotteet niin, että rivillä on aina uusi_tuote ja vanha_tuote for ($k = 0; $k < count($korvaavat) - 1; $k++) { // Korvaavuudet $rivi = "{$row['maa']}-" . pupesoft_csvstring($korvaavat[$k]) . ";"; $rivi .= "{$row['maa']}-" . pupesoft_csvstring($korvaavat[$k + 1]) . ";"; $rivi .= pupesoft_csvstring($korvaavat[$k]) . ";"; $rivi .= pupesoft_csvstring($korvaavat[$k + 1]) . ";"; $rivi .= "REPLACEMENT"; $rivi .= "\n"; fwrite($fp, $rivi); } $k_rivi++; } fclose($fp); // Tehdään FTP-siirto if (($paiva_ajo or $weekly_ajo) and !empty($relex_ftphost)) { $ftphost = $relex_ftphost; $ftpuser = $relex_ftpuser; $ftppass = $relex_ftppass; $ftppath = "/data/input"; $ftpfile = $filepath; require "inc/ftp-send.inc";
// Otsikkotieto $header = "code1;"; $header .= "name1"; $header .= "\n"; fwrite($fp, $header); // Haetaan tuoteryhmät $query = "SELECT selite,\n selitetark\n FROM avainsana\n WHERE yhtio = '{$yhtio}'\n AND laji = 'TRY'\n AND kieli = '{$yhtiorow['kieli']}'\n ORDER BY selite"; $res = pupe_query($query); // Kerrotaan montako riviä käsitellään $rows = mysql_num_rows($res); echo date("d.m.Y @ G:i:s") . ": Relex tuoteryhmiä {$rows} kappaletta.\n"; $k_rivi = 0; while ($row = mysql_fetch_assoc($res)) { // Tuotetiedot $rivi = $row['selite'] . ";"; $rivi .= pupesoft_csvstring($row['selitetark']); $rivi .= "\n"; fwrite($fp, $rivi); $k_rivi++; } fclose($fp); // Tehdään FTP-siirto if ($paiva_ajo and !empty($relex_ftphost)) { // Tuotetiedot $ftphost = $relex_ftphost; $ftpuser = $relex_ftpuser; $ftppass = $relex_ftppass; $ftppath = "/data/input"; $ftpfile = $filepath; require "inc/ftp-send.inc"; }
function myynti($limit = '') { global $path_myynti, $yhtiorow, $yhtio, $logisticar; $where_logisticar = $logisticar[$yhtio]["where"]; echo "Myynnit... "; if (!($fp = fopen($path_myynti, 'w+'))) { die("Ei voitu avata filea {$path_myynti}"); } $query_ale_lisa = generoi_alekentta('M'); $query = "SELECT\n tilausrivi.tuoteno nimiketunnus,\n lasku.liitostunnus asiakastunnus,\n lasku.liitostunnus toimitusasiakas,\n if(tilausrivi.tyyppi = 'G', lasku.clearing, lasku.liitostunnus) asiakastunnus,\n if(tilausrivi.tyyppi = 'G', lasku.clearing, lasku.liitostunnus) toimitusasiakas,\n tilausrivi.toimaika toimituspaiva,\n tilausrivi.tyyppi tapahtumalaji,\n round(tilausrivi.hinta / if('{$yhtiorow['alv_kasittely']}' = '' and tilausrivi.alv<500, (1+tilausrivi.alv/100), 1) * (tilausrivi.varattu+tilausrivi.jt) * {$query_ale_lisa}, {$yhtiorow['hintapyoristys']}) myyntiarvo,\n (tilausrivi.varattu+tilausrivi.jt) * tuote.kehahin ostoarvo,\n tilausrivi.varattu tapahtumamaara,\n lasku.tunnus tilausnro,\n kuka.kuka myyjatunnus,\n lasku.yhtio_toimipaikka toimipaikka,\n varastopaikat.tunnus varastotunnus,\n tilausrivi.toimitettu\n FROM tilausrivi\n JOIN lasku USE INDEX (PRIMARY) ON lasku.tunnus=tilausrivi.otunnus and lasku.yhtio=tilausrivi.yhtio\n JOIN tuote ON tuote.tuoteno = tilausrivi.tuoteno and tuote.yhtio = tilausrivi.yhtio\n JOIN tuotepaikat USE INDEX (tuote_index) ON tuotepaikat.tuoteno=tilausrivi.tuoteno and tuotepaikat.hyllyvali=tilausrivi.hyllyvali and tuotepaikat.hyllytaso=tilausrivi.hyllytaso AND tilausrivi.hyllyalue=tuotepaikat.hyllyalue and tilausrivi.hyllynro=tuotepaikat.hyllynro and tilausrivi.yhtio=tuotepaikat.yhtio\n JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n AND varastopaikat.tunnus = tuotepaikat.varasto)\n LEFT JOIN kuka ON kuka.tunnus=lasku.myyja and kuka.yhtio=lasku.yhtio\n WHERE tilausrivi.varattu != 0\n AND tilausrivi.tyyppi IN ('L','O','G')\n AND tilausrivi.laskutettuaika = '0000-00-00'\n AND tilausrivi.yhtio = '{$yhtio}'\n ORDER BY tilausrivi.laadittu\n {$limit}"; $res = pupe_query($query); $rows = mysql_num_rows($res); $row = 0; if ($rows == 0) { echo "Yhtään myyntitapahtumaa ei löytynyt\n"; die; } $headers = array('nimiketunnus' => null, 'asiakastunnus' => null, 'toimitusasiakas' => null, 'toimituspaiva' => null, 'tapahtumalaji' => null, 'myyntiarvo' => null, 'ostoarvo' => null, 'tapahtumamaara' => null, 'tilausnro' => null, 'myyjatunnus' => null, 'toimipaikka' => null, 'varastotunnus' => null); // tehdään otsikot create_headers($fp, array_keys($headers)); while ($trow = mysql_fetch_assoc($res)) { $row++; switch (strtoupper($trow['tapahtumalaji'])) { case 'G': // kirjoitetaan fileen vain avoimia siirtolistoja eli toimitettu pitää olla tyhjää if ($trow['toimitettu'] != '') { continue; } // laji 3 = saapuva tilaus $trow['tapahtumalaji'] = '3'; $trow['myyntiarvo'] = 0; $trow['toimitusasiakas'] = $trow['varastotunnus']; $trow['varastotunnus'] = $trow['asiakastunnus']; // ei haluta toimitettu-saraketta mukaan unset($trow['toimitettu']); // Siivotaan kentät: foreach ($trow as &$tk) { $tk = pupesoft_csvstring($tk); } $data = array_merge($headers, $trow); $data = implode("\t", $data); if (!fwrite($fp, $data . "\n")) { echo "Failed writing row.\n"; die; } // laji 4 = varattu $trow['tapahtumalaji'] = '4'; $trow['varastotunnus'] = $trow['toimitusasiakas']; $trow['toimitusasiakas'] = $trow['asiakastunnus']; break; case 'L': $trow['tapahtumalaji'] = '4'; // ei haluta toimitettu-saraketta mukaan unset($trow['toimitettu']); break; case 'O': $trow['tapahtumalaji'] = '3'; $trow['myyntiarvo'] = 0; // ei haluta toimitettu-saraketta mukaan unset($trow['toimitettu']); break; } // Siivotaan kentät: foreach ($trow as &$tk) { $tk = pupesoft_csvstring($tk); } $data = array_merge($headers, $trow); $data = implode("\t", $data); if (!fwrite($fp, $data . "\n")) { echo "Failed writing row.\n"; die; } } fclose($fp); echo "Done.\n"; }
echo "Tuoterivejä {$rows} kappaletta.\n"; $k_rivi = 0; while ($row = mysql_fetch_assoc($res)) { // Tuotetiedot $rivi = pupesoft_csvstring($row['tuoteno']) . ";"; $rivi .= pupesoft_csvstring($row['nimitys']) . ";"; $rivi .= "{$row['osasto']};"; $rivi .= "{$row['try']};"; $rivi .= pupesoft_csvstring($row['tuotemerkki']) . ";"; $rivi .= pupesoft_csvstring($row['malli']) . ";"; $rivi .= pupesoft_csvstring($row['mallitarkenne']) . ";"; $rivi .= pupesoft_csvstring($row['kuvaus']) . ";"; $rivi .= pupesoft_csvstring($row['lyhytkuvaus']) . ";"; $rivi .= pupesoft_csvstring($row['mainosteksti']) . ";"; $rivi .= "{$row['aleryhma']};"; $rivi .= pupesoft_csvstring($row['purkukommentti']) . ";"; $rivi .= "{$row['kehahin']};"; $rivi .= "{$row['vihahin']};"; $rivi .= "{$row['vihapvm']};"; $rivi .= "{$row['yksikko']};"; $rivi .= "{$row['tuotetyyppi']};"; $rivi .= "{$row['hinnastoon']};"; $rivi .= "{$row['sarjanumeroseuranta']};"; $rivi .= "{$row['status']};"; $rivi .= "{$row['luontiaika']};"; $rivi .= "{$row['epakurantti25pvm']}"; $rivi .= "\n"; fwrite($fp, $rivi); $k_rivi++; if ($k_rivi % 1000 == 0) { echo "Käsitellään riviä {$k_rivi}\n";
require 'inc/functions.inc'; // Logitetaan ajo cron_log(); // Yhtiö $yhtio = mysql_real_escape_string($argv[1]); $yhtiorow = hae_yhtion_parametrit($yhtio); $kukarow = hae_kukarow('admin', $yhtiorow['yhtio']); // Tallennetaan rivit tiedostoon $filepath = "/tmp/pos_{$yhtio}_" . date("Y-m-d") . ".csv"; if (!($fp = fopen($filepath, 'w+'))) { die("Tiedoston avaus epäonnistui: {$filepath}\n"); } // Otsikkotieto $header = "toimipaikka;"; $header .= "nimi;"; $header .= "\n"; fwrite($fp, $header); // Haetaan toimipaikat $query = "SELECT yhtion_toimipaikat.tunnus,\n yhtion_toimipaikat.nimi\n FROM yhtion_toimipaikat\n WHERE yhtion_toimipaikat.yhtio = '{$yhtio}'"; $res = pupe_query($query); // Kerrotaan montako riviä käsitellään $rows = mysql_num_rows($res); echo "Toimipaikkarivejä {$rows} kappaletta.\n"; while ($row = mysql_fetch_assoc($res)) { $rivi = "{$row['tunnus']};"; $rivi .= pupesoft_csvstring($row['nimi']) . ";"; $rivi .= "\n"; fwrite($fp, $rivi); } fclose($fp); echo "Valmis.\n";
} // Kun otetaan tuotteittain niin ekotetaan laitteet! if ($variaatiosummaus == "" and $summaustaso == "T" and $row["sarjanumeroseuranta"] == "S") { $query = "SELECT sarjanumeroseuranta.tunnus, sarjanumeroseuranta.era_kpl era_kpl, tilausrivi_osto.nimitys, sarjanumeroseuranta.sarjanumero\n FROM sarjanumeroseuranta\n JOIN varastopaikat ON (varastopaikat.yhtio = sarjanumeroseuranta.yhtio\n AND varastopaikat.tunnus = sarjanumeroseuranta.varasto\n {$varasto_varastopaikat})\n LEFT JOIN tilausrivi tilausrivi_myynti use index (PRIMARY) ON (tilausrivi_myynti.yhtio = sarjanumeroseuranta.yhtio and tilausrivi_myynti.tunnus = sarjanumeroseuranta.myyntirivitunnus)\n LEFT JOIN tilausrivi tilausrivi_osto use index (PRIMARY) ON (tilausrivi_osto.yhtio = sarjanumeroseuranta.yhtio and tilausrivi_osto.tunnus = sarjanumeroseuranta.ostorivitunnus)\n WHERE sarjanumeroseuranta.yhtio = '{$kukarow['yhtio']}'\n and sarjanumeroseuranta.tuoteno = '{$row['tuoteno']}'\n and sarjanumeroseuranta.myyntirivitunnus != -1\n {$summaus_lisa}\n and (tilausrivi_myynti.tunnus is null or tilausrivi_myynti.laskutettuaika = '0000-00-00' or tilausrivi_myynti.laskutettuaika > '{$vv}-{$kk}-{$pp}')\n and tilausrivi_osto.laskutettuaika > '0000-00-00'\n and tilausrivi_osto.laskutettuaika <= '{$vv}-{$kk}-{$pp}'"; $vararvores = pupe_query($query); while ($vararvorow = mysql_fetch_assoc($vararvores)) { $sarjanumeronarvo = sarjanumeron_ostohinta("tunnus", $vararvorow["tunnus"], "", "{$vv}-{$kk}-{$pp} 23:59:59"); if ($tallennusmuoto_check) { $worksheet->writeString($excelrivi, $tuotesarake, $vararvorow["sarjanumero"]); $worksheet->writeString($excelrivi, $tuotesarake + 1, $vararvorow["nimitys"]); $worksheet->writeNumber($excelrivi, $tuotesarake + 2, sprintf("%.02f", $sarjanumeronarvo)); $excelrivi++; } else { fwrite($fh, pupesoft_csvstring($vararvorow["sarjanumero"]) . "\t"); fwrite($fh, pupesoft_csvstring($vararvorow["nimitys"]) . "\t"); fwrite($fh, pupesoft_csvstring(sprintf("%.02f", $sarjanumeronarvo)) . "\t"); fwrite($fh, "\r\n"); } } } $excelsarake = 0; if ($summaustaso == 'TRY') { $tryosind = "{$row['osasto']} - " . $osasto_array[$row["osasto"]] . "###{$row['try']} - " . $try_array[$row["try"]]; if (!isset($varastot2[$tryosind])) { $varastot2[$tryosind]["netto"] = $muutoshinta; $varastot2[$tryosind]["brutto"] = $bmuutoshinta; } else { $varastot2[$tryosind]["netto"] += $muutoshinta; $varastot2[$tryosind]["brutto"] += $bmuutoshinta; } } else {
$header .= "nimi;"; $header .= "ryhmä;"; $header .= "osasto;"; $header .= "kustannuspaikka;"; $header .= "toimipaikka"; $header .= "\n"; fwrite($fp, $header); // Haetaan asiakkaat $query = "SELECT asiakas.tunnus,\n asiakas.asiakasnro,\n concat_ws(' ', asiakas.nimi, asiakas.nimitark) AS nimi,\n asiakas.ryhma,\n asiakas.osasto,\n kustannuspaikka.nimi AS kustannuspaikka,\n asiakas.toimipaikka\n FROM asiakas\n LEFT JOIN kustannuspaikka ON (kustannuspaikka.yhtio = asiakas.yhtio\n AND kustannuspaikka.tunnus = asiakas.kustannuspaikka)\n WHERE asiakas.yhtio = '{$yhtio}'\n AND asiakas.laji NOT IN ('P','R')\n AND asiakas.myynninseuranta = ''\n ORDER BY asiakas.tunnus"; $res = pupe_query($query); // Kerrotaan montako riviä käsitellään $rows = mysql_num_rows($res); echo "Asiakasrivejä {$rows} kappaletta.\n"; $k_rivi = 0; while ($row = mysql_fetch_assoc($res)) { $rivi = "{$row['tunnus']};"; $rivi .= "{$row['asiakasnro']};"; $rivi .= pupesoft_csvstring($row['nimi']) . ";"; $rivi .= pupesoft_csvstring($row['ryhma']) . ";"; $rivi .= pupesoft_csvstring($row['osasto']) . ";"; $rivi .= pupesoft_csvstring($row['kustannuspaikka']) . ";"; $rivi .= "{$row['toimipaikka']}"; $rivi .= "\n"; fwrite($fp, $rivi); $k_rivi++; if ($k_rivi % 1000 == 0) { echo "Käsitellään riviä {$k_rivi}\n"; } } fclose($fp); echo "Valmis.\n";
$rows = mysql_num_rows($res); echo date("d.m.Y @ G:i:s") . ": Relex tuoterivejä {$rows} kappaletta.\n"; while ($row = mysql_fetch_assoc($res)) { $tuotepaikat = array(); $query = "SELECT DISTINCT varasto,\n oletus,\n saldo,\n concat_ws('-', hyllyalue, hyllynro, hyllyvali, hyllytaso) hyllypaikka,\n poistettava\n FROM tuotepaikat\n WHERE yhtio='{$kukarow['yhtio']}'\n AND tuoteno='{$row['tuoteno']}'\n ORDER BY 1,2 DESC,3 DESC"; $tres = pupe_query($query); while ($trow = mysql_fetch_assoc($tres)) { if (!empty($tuotepaikat[$trow['varasto']])) { continue; } $tuotepaikat[$trow['varasto']] = $trow; } foreach ($tuotepaikat as $_varasto => $_arr) { $rivi = "{$row['maa']}-" . pupesoft_csvstring($row['tuoteno']) . ";"; $rivi .= "{$row['maa']}-{$_arr['varasto']};"; $rivi .= pupesoft_csvstring($_arr['hyllypaikka']) . ";"; $rivi .= $_arr['poistettava'] == "D" ? "TRUE" : "FALSE"; $rivi .= "\n"; fwrite($fp, $rivi); } } fclose($fp); // Tehdään FTP-siirto if (!empty($relex_ftphost)) { $ftphost = $relex_ftphost; $ftpuser = $relex_ftpuser; $ftppass = $relex_ftppass; $ftppath = "/data/input"; $ftpfile = $filepath; require "inc/ftp-send.inc"; }
$rivi .= "{$parastoimittaja['toim_yksikko']};"; $rivi .= "{$parastoimittaja['tuotekerroin']};"; $rivi .= "{$parastoimittaja['jarjestys']};"; $rivi .= "{$row['myyntihinta']};"; // Vastaavat tuotteet $vastaavat = new Vastaavat($row['tuoteno']); $vastaavat_t = ""; // Jos tuote kuulu useampaan kuin yhteen vastaavuusketjuun if ($vastaavat->onkovastaavia()) { // Ketjujen id:t foreach (explode(",", $vastaavat->getIDt()) as $ketju) { // Haetaan tuotteet ketjukohtaisesti $_tuotteet = $vastaavat->tuotteet($ketju); // Lisätään löydetyt vastaavat mahdollisten myytävien joukkoon foreach ($_tuotteet as $_tuote) { $vastaavat_t .= pupesoft_csvstring($_tuote["tuoteno"]) . ":"; } } // Vika : pois $vastaavat_t = substr($vastaavat_t, 0, -1); } $rivi .= $vastaavat_t; $rivi .= "\n"; fwrite($fp, $rivi); $k_rivi++; } fclose($fp); fclose($tfp); // Tehdään FTP-siirto if (($paiva_ajo or $weekly_ajo) and !empty($relex_ftphost)) { // Tuotetiedot
} elseif ($paiva_ajo) { $asiakasrajaus = " AND (asiakas.muutospvm >= date_sub(now(), interval 24 HOUR) or asiakas.luontiaika >= date_sub(now(), interval 24 HOUR))"; } // Haetaan asiakkaat $query = "SELECT\n yhtio.maa,\n asiakas.tunnus,\n concat_ws(' ', asiakas.nimi, asiakas.nimitark) nimi,\n asiakas.ryhma\n FROM asiakas\n JOIN yhtio ON (asiakas.yhtio = yhtio.yhtio)\n WHERE asiakas.yhtio = '{$yhtio}'\n AND asiakas.laji not in ('P','R')\n {$asiakasrajaus}\n ORDER BY asiakas.tunnus"; $res = pupe_query($query); // Tallennetaan aikaleima cron_aikaleima("RELEX_CUST_CRON", date('Y-m-d H:i:s')); // Kerrotaan montako riviä käsitellään $rows = mysql_num_rows($res); echo date("d.m.Y @ G:i:s") . ": Relex asiakasrivejä {$rows} kappaletta.\n"; $k_rivi = 0; while ($row = mysql_fetch_assoc($res)) { $rivi = "{$row['maa']}-{$row['tunnus']};"; $rivi .= pupesoft_csvstring($row['nimi']) . ";"; $rivi .= pupesoft_csvstring($row['ryhma']); $rivi .= "\n"; fwrite($fp, $rivi); $k_rivi++; } fclose($fp); // Tehdään FTP-siirto if (($paiva_ajo or $weekly_ajo) and !empty($relex_ftphost)) { $ftphost = $relex_ftphost; $ftpuser = $relex_ftpuser; $ftppass = $relex_ftppass; $ftppath = "/data/input"; $ftpfile = $filepath; require "inc/ftp-send.inc"; } echo date("d.m.Y @ G:i:s") . ": Relex asiakkaat valmis.\n\n";
} } // tulostetaan jos ei lähetetä ekirjettä eikä maventaan if (isset($_POST['ekirje_laheta']) === false and $tee_pdf != 'tulosta_karhu' and $_REQUEST['maventa_laheta'] != 'Lähetä Maventaan') { if (function_exists("pupesoft_sahkoposti") and !empty($laheta_karhuemail_myyjalle)) { $pathinfo = pathinfo($pdffilenimi); $params = array("to" => $laheta_karhuemail_myyjalle, "subject" => t("Maksukehotuskopio"), "ctype" => "text", "attachements" => array(0 => array("filename" => $pdffilenimi, "newfilename" => "", "ctype" => $pathinfo['extension']))); if (pupesoft_sahkoposti($params)) { echo t("Maksukehotuskopio lähetettiin myyjälle") . ": {$laheta_karhuemail_myyjalle}...\n<br>"; } } if (isset($_REQUEST['email_laheta']) and $_REQUEST['karhu_email'] != "") { if (!empty($yhtiorow['maksukehotus_cc_email'])) { $asiakkaan_nimi = trim($asiakastiedot['nimi'] . " " . $asiakastiedot['nimitark']); $asiakkaan_nimi = poista_osakeyhtio_lyhenne($asiakkaan_nimi); $asiakkaan_nimi = trim(pupesoft_csvstring($asiakkaan_nimi)); $newfilename = t("Maksukehotus") . " - " . date("Ymd") . " - " . $laskutiedot['laskunro'] . " - " . $asiakkaan_nimi . ".pdf"; $sahkoposti_cc = $yhtiorow['maksukehotus_cc_email']; } else { $newfilename = $pdffilenimi; $sahkoposti_cc = ""; } $pathinfo = pathinfo($pdffilenimi); $params = array("to" => $_REQUEST['karhu_email'], "cc" => $sahkoposti_cc, "subject" => t("Maksukehotus", $kieli), "ctype" => "text", "body" => $karhuviesti . "\n\n" . $yhteyshenkiloteksti . "\n\n\n", "attachements" => array(0 => array("filename" => $pdffilenimi, "newfilename" => $newfilename, "ctype" => $pathinfo['extension']))); if (pupesoft_sahkoposti($params)) { echo t("Maksukehotus lähetetään osoitteeseen") . ": {$_REQUEST['karhu_email']}...\n<br>"; if (!empty($sahkoposti_cc)) { echo t("Maksukehotuskopio lähetetään myös osoitteeseen") . ": {$sahkoposti_cc}...\n<br>"; } } } else {
/* Aineisto sarkaineroteltu tekstitiedosto 0 tilinumero 1 kustannuspaikka 2 selite 3 summa 4 summa 2 5 tositepvm 6 projekti 7 henkilö */ $kentat = explode("\t", $rivi); // Trimmataan kaikki foreach ($kentat as &$k) { $k = pupesoft_cleanstring(trim($k)); $k = pupesoft_csvstring($k); } // Tili $itili[$maara] = $kentat[0]; // Poimitaan kustannuspaikka ja projekti, perustetaan jos puuttuu $ikustp[$maara] = ""; $iprojekti[$maara] = ""; foreach (array(1 => "K", 6 => "P") as $x => $tsk_tyyppi) { $tsk_nimi = $kentat[$x]; if (strlen($tsk_nimi) > 0) { if ($tsk_tyyppi == "K") { $tsk_tyyppinimi = "Kustannuspaikka"; } elseif ($tsk_tyyppi == "P") { $tsk_tyyppinimi = "Projekti"; } // tarkastetaan löytyykö oikea tsk!