if ($tee != '') { // täällä tehdään epäkuranttihommat // tarvitaan $kukarow, $tuoteno ja jos halutaan muuttaa ni $tee jossa on paalle, puolipaalle tai pois require "epakurantti.inc"; if ($tee == 'vahvista' and isset($sarjatunnus) and $sarjatunnus > 0) { echo "<form method='post'>"; echo "<input type='hidden' name='toim' value='{$toim}'>"; echo "<input type='hidden' name='tuoteno' value='{$tuoteno}'>"; echo "<input type='hidden' name='sarjanro' value='{$sarjanro}'>"; echo "<input type='hidden' name='sarjatunnus' value='{$sarjatunnus}'>"; echo "<input type='hidden' name = 'tee' value='sarjanro_paalle'>"; echo "<table>"; echo "<tr><th>" . t("Tuote") . "</th><td>{$tuoterow['tuoteno']}</td></tr>"; echo "<tr><th>" . t("Sarjanumero") . "</th><td>{$sarjanro}</td>"; echo "<tr><th>" . t("Varastonarvo nyt") . "</th><td>"; echo sprintf('%.2f', sarjanumeron_ostohinta("tunnus", $sarjatunnus)); echo "</td></tr>"; echo "<tr><th>" . t("Uusi varastonarvo") . "</th><td>"; echo "<input type='text' name='uusiarvo' size='10'>"; echo "</td></tr>"; echo "<tr><th>" . t("Selite") . "</th><td>"; echo "<input type='text' name='epakurantti_selite' size='35'></td></tr>"; echo "</table><br><br>"; echo "<input type='submit' value='" . t("Muuta varastonarvoa") . "'>"; echo "</form><br>"; } elseif ($tee == 'vahvista') { echo "<table>"; echo "<tr><th>" . t("Tuote") . "</th><td>{$tuoterow['tuoteno']}</td></tr>"; echo "<tr><th>" . t("Varastonarvo nyt") . "</th><td>{$tuoterow['saldo']} * {$nykyinen_keskihankintahinta} = {$nykyinen_varastonarvo}</td></tr>"; echo "<tr><th>" . t("Korjaamaton varastonarvo") . "</th><td>{$tuoterow['saldo']} * {$tuoterow['kehahin']} = {$brutto_varastonarvo}</td></tr>"; echo "<tr><th>" . t("25% epäkurantti") . "</th><td>{$tuoterow['epakurantti25pvm']}</td></tr>";
if ($row["kate"] < 0) { $kate = sprintf('%.2f', -1 * abs(100 * $row["kate"] / $row["rivihinta"])) . "%"; } else { $kate = sprintf('%.2f', abs(100 * $row["kate"] / $row["rivihinta"])) . "%"; } } elseif ($row["kate"] <= 0) { $kate = "-100.00%"; } elseif ($row["kate"] > 0) { $kate = "100.00%"; } $kate_eur = $row["kate"]; $kate_yht += $kate_eur; } elseif ($kukarow['extranet'] == '' and $row["sarjanumeroseuranta"] == "S") { if ($kpl > 0) { //Jos tuotteella ylläpidetään in-out varastonarvo ja kyseessä on myyntiä $ostohinta = sarjanumeron_ostohinta("myyntirivitunnus", $row["tunnus"]); // Kate = Hinta - Ostohinta if ($row["rivihinta"] != 0) { $kate = sprintf('%.2f', 100 * ($row["rivihinta"] - $ostohinta * $kpl) / $row["rivihinta"]) . "%"; } $kate_eur = $row["rivihinta"] - $ostohinta * $kpl; $kate_yht += $kate_eur; } elseif ($kpl < 0 and $row["osto_vai_hyvitys"] == "O") { //Jos tuotteella ylläpidetään in-out varastonarvo ja kyseessä on OSTOA // Kate = 0 $kate = "0%"; } elseif ($kpl < 0 and $row["osto_vai_hyvitys"] == "") { //Jos tuotteella ylläpidetään in-out varastonarvo ja kyseessä on HYVITYSTÄ //Tähän hyvitysriviin liitetyt sarjanumerot $query = "SELECT sarjanumero, kaytetty\n FROM sarjanumeroseuranta\n WHERE yhtio = '{$kukarow['yhtio']}'\n and ostorivitunnus = '{$row['tunnus']}'"; $sarjares = pupe_query($query);
$excelsarake++; } else { fwrite($fh, pupesoft_csvstring(tv1dateconv($row["vihapvm"])) . "\t"); } } if ($tallennusmuoto_check) { $excelrivi++; } else { fwrite($fh, "\r\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') {
function superlistaus($tyyppi, $lisa1, $lisa2, $lisa3, $ostov) { global $PHP_SELF, $kukarow, $yhtiorow, $myyntitilaus_haku, $tuoteno_haku, $nimitys_haku, $ostotilaus_haku, $sarjanumero_haku, $vva, $kka, $ppa, $vvl, $kkl, $ppl, $jarjestys_1, $jarjestys_2, $jarjestys_3, $jarjestys_4, $jarjestys_5, $jarjestys_6, $jarjestys_7; echo "<tr><th>Myyntitilaus<br>Ostotilaus</th><th>Tuoteno</th><th>Nimitys</th><th>Myyntihinta<br>Ostohinta</th><th>Myyntikate<br>Ostokate</th><th>O/H</th><th>Sarjanumero</th></tr>"; if ($tyyppi == "myynti") { $query = "SELECT tilausrivi.otunnus, tilausrivi.tunnus myyntitunnus, tilausrivi.tuoteno, tilausrivi.nimitys,\n round(tilausrivi.rivihinta/tilausrivi.kpl,2) rivihinta,\n round(tilausrivi.kate/tilausrivi.kpl,2) kate,\n round(ostorivi.kate/abs(ostorivi.kpl),2) osto_kate,\n ostorivi.tunnus ostotunnus,\n if(ostorivi.tyyppi IN ('O'), ostorivi.uusiotunnus, ostorivi.otunnus) ostotilaus,\n sarjanumeroseuranta.sarjanumero sarjanumero, sarjanumeroseuranta.tunnus sarjatunnus,\n tilausrivi.kpl, myyntilasku.viesti, tilausrivin_lisatiedot.osto_vai_hyvitys,\n if(sarjanumeroseuranta.kaytetty='' or sarjanumeroseuranta.kaytetty is null, 'Uusi', 'Käytetty') kaytetty,\n tuote.kehahin,\n (select count(distinct sarjanumero) from sarjanumeroseuranta css where css.yhtio=tilausrivi.yhtio and css.tuoteno=tilausrivi.tuoteno and css.myyntirivitunnus=tilausrivi.tunnus) css\n FROM tilausrivi\n JOIN tuote on tuote.yhtio=tilausrivi.yhtio and tuote.tuoteno=tilausrivi.tuoteno and tuote.sarjanumeroseuranta='S'\n LEFT JOIN sarjanumeroseuranta ON tilausrivi.yhtio=sarjanumeroseuranta.yhtio and tilausrivi.tuoteno=sarjanumeroseuranta.tuoteno and tilausrivi.tunnus=sarjanumeroseuranta.myyntirivitunnus\n LEFT JOIN tilausrivi ostorivi ON ostorivi.yhtio=sarjanumeroseuranta.yhtio and ostorivi.tunnus=sarjanumeroseuranta.ostorivitunnus\n LEFT JOIN lasku myyntilasku ON myyntilasku.yhtio=tilausrivi.yhtio and myyntilasku.tunnus=tilausrivi.otunnus\n LEFT JOIN tilausrivin_lisatiedot ON tilausrivi.yhtio = tilausrivin_lisatiedot.yhtio and tilausrivi.tunnus = tilausrivin_lisatiedot.tilausrivitunnus\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n {$lisa1}\n {$lisa2}\n and tilausrivi.laskutettuaika >= '{$vva}-{$kka}-{$ppa}' and tilausrivi.laskutettuaika <= '{$vvl}-{$kkl}-{$ppl}'\n {$lisa3}\n order by tilausrivi.tunnus"; } else { $query = "SELECT myyntirivi.otunnus, myyntirivi.tunnus myyntitunnus, tilausrivi.tuoteno, tilausrivi.nimitys,\n round(myyntirivi.rivihinta/myyntirivi.kpl,2) rivihinta,\n round(myyntirivi.kate/myyntirivi.kpl,2) kate,\n round(tilausrivi.kate/abs(tilausrivi.kpl),2) osto_kate,\n tilausrivi.tunnus ostotunnus,\n if(tilausrivi.tyyppi IN ('O'), tilausrivi.uusiotunnus, tilausrivi.otunnus) ostotilaus,\n sarjanumeroseuranta.sarjanumero sarjanumero, sarjanumeroseuranta.tunnus sarjatunnus,\n tilausrivi.kpl, ostolasku.viesti, tilausrivin_lisatiedot.osto_vai_hyvitys,\n if(sarjanumeroseuranta.kaytetty='' or sarjanumeroseuranta.kaytetty is null, 'Uusi', 'Käytetty') kaytetty,\n tuote.kehahin,\n (select count(distinct sarjanumero) from sarjanumeroseuranta css where css.yhtio=tilausrivi.yhtio and css.tuoteno=tilausrivi.tuoteno and css.ostorivitunnus=tilausrivi.tunnus) css\n FROM tilausrivi\n JOIN tuote on tuote.yhtio=tilausrivi.yhtio and tuote.tuoteno=tilausrivi.tuoteno and tuote.sarjanumeroseuranta='S'\n LEFT JOIN sarjanumeroseuranta ON tilausrivi.yhtio=sarjanumeroseuranta.yhtio and tilausrivi.tuoteno=sarjanumeroseuranta.tuoteno and tilausrivi.tunnus=sarjanumeroseuranta.ostorivitunnus\n LEFT JOIN tilausrivi myyntirivi ON myyntirivi.yhtio=sarjanumeroseuranta.yhtio and myyntirivi.tunnus=sarjanumeroseuranta.myyntirivitunnus and sarjanumeroseuranta.myyntirivitunnus>0\n LEFT JOIN lasku ostolasku ON ostolasku.yhtio=tilausrivi.yhtio and ostolasku.tunnus=tilausrivi.otunnus\n LEFT JOIN tilausrivin_lisatiedot ON tilausrivi.yhtio = tilausrivin_lisatiedot.yhtio and tilausrivi.tunnus = tilausrivin_lisatiedot.tilausrivitunnus\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n {$lisa1}\n {$lisa2}\n {$lisa3}\n order by tilausrivi.tunnus"; } $vresult = pupe_query($query); while ($vrow = mysql_fetch_array($vresult)) { // Sarjanumeron ostohinta if ($tyyppi == "myynti") { $ostohinta = sarjanumeron_ostohinta("myyntirivitunnus", $vrow["myyntitunnus"]); } else { $ostohinta = sarjanumeron_ostohinta("ostorivitunnus", $vrow["ostotunnus"]); } echo "<tr>\n <td valign='top'><a name='{$vrow['ostotunnus']}'><a href='{$PHP_SELF}?tee=NAYTATILAUS&tunnus={$vrow['otunnus']}'>{$vrow['otunnus']}</a><br><a href='{$PHP_SELF}?tee=NAYTATILAUS&tunnus={$vrow['ostotilaus']}'>{$vrow['ostotilaus']}</a></td>\n <td valign='top'><a href='../tuote.php?tee=Z&tuoteno=" . urlencode($vrow["tuoteno"]) . "'>{$vrow['tuoteno']}</a></td>\n <td valign='top'>{$vrow['nimitys']}<br><font class='message'>{$vrow['viesti']}</font></td>\n <td valign='top' align='right'>{$vrow['rivihinta']}<br>" . sprintf('%.2f', $ostohinta) . "</td>"; if ($vrow["myyntitunnus"] > 0 and abs(round($vrow["rivihinta"] - $ostohinta, 2) - $vrow["kate"]) > 0.01) { echo "<td valign='top' align='right' nowrap><font style='color: red;'>{$vrow['kate']} <> " . sprintf('%.2f', $vrow["rivihinta"] - $ostohinta) . "</font><br>"; } elseif ($vrow["myyntitunnus"] > 0 and $vrow["kate"] < 0) { echo "<td valign='top' align='right' nowrap><font style='color: red;'>{$vrow['kate']}</font><br>"; } elseif ($vrow["myyntitunnus"] > 0) { echo "<td valign='top' align='right' nowrap>{$vrow['kate']}<br>"; } else { echo "<td valign='top' align='right' nowrap><br>"; } if ($vrow["osto_kate"] != 0) { echo "<font style='color: red;'>{$vrow['osto_kate']}</font></td>"; } else { echo "</td>"; } if ($ostov == "JOO") { $sel1 = $sel2 = ""; if ($vrow["osto_vai_hyvitys"] == "O") { $sel2 = "SELECTED"; } else { $sel1 = "SELECTED"; } echo "<td><form action = '?tee=OSTOVAIHYVITYS&rivitunnus={$vrow['ostotunnus']}&ppa={$ppa}&kka={$kka}&vva={$vva}&ppl={$ppl}&kkl={$kkl}&vvl={$vvl}&jarjestys_1={$jarjestys_1}&jarjestys_2={$jarjestys_2}&jarjestys_3={$jarjestys_3}&jarjestys_4={$jarjestys_4}&jarjestys_5={$jarjestys_5}&jarjestys_6={$jarjestys_6}&jarjestys_7={$jarjestys_7}#{$vrow['ostotunnus']}' method='post'>\n <input type='hidden' name='myyntitilaus_haku' value='{$myyntitilaus_haku}'>\n <input type='hidden' name='tuoteno_haku' value='{$tuoteno_haku}'>\n <input type='hidden' name='nimitys_haku' value='{$nimitys_haku}'>\n <input type='hidden' name='ostotilaus_haku' value='{$ostotilaus_haku}'>\n <input type='hidden' name='sarjanumero_haku' value='{$sarjanumero_haku}'>\n <select name='osto_vai_hyvitys' onchange='submit();'>\n <option value='' {$sel1}>" . "Hyvitys" . "</option>\n <option value='O' {$sel2}>" . "Osto" . "</option>\n </select>\n </form></td>"; } else { echo "<td></td>"; } if ($vrow["sarjatunnus"] != "" and $vrow["css"] == abs($vrow["kpl"])) { echo "<td valign='top'><a href='../tilauskasittely/sarjanumeroseuranta.php?tuoteno_haku=" . urlencode($vrow["tuoteno"]) . "&sarjanumero_haku={$vrow['sarjanumero']}'>{$vrow['sarjanumero']}</a><br>{$vrow['kaytetty']}</td></tr>"; } else { if ($vrow["kpl"] > 0 and $tyyppi == "myynti") { $lisays = "myyntirivitunnus={$vrow['myyntitunnus']}"; } else { $lisays = "ostorivitunnus={$vrow['ostotunnus']}"; } echo "<td valign='top'><a href='../tilauskasittely/sarjanumeroseuranta.php?tuoteno=" . urlencode($vrow["tuoteno"]) . "&{$lisays}&from=KORJAA&lopetus=ppa={$ppa}//kka={$kka}//vva={$vva}//ppl={$ppl}//kkl={$kkl}//vvl={$vvl}//jarjestys_1={$jarjestys_1}//jarjestys_2={$jarjestys_2}//jarjestys_3={$jarjestys_3}//jarjestys_4={$jarjestys_4}//jarjestys_5={$jarjestys_5}//jarjestys_6={$jarjestys_6}//jarjestys_7={$jarjestys_7}'>Sarjanumero</a><br> </tr>"; } } echo "<tr><td class='back'><br><br></td></tr>"; }
$korjaaresult = pupe_query($query); while ($korjaarow = mysql_fetch_array($korjaaresult)) { // Tarvitaan // $tuoteno = korjattava tuote // $pvm = mihin päivään asti korjataan // $uusihinta = mikä on tuon pvm:n oikea ostohinta // $rivitunnus = mikä on tapahtuman tehneen rivin tunnus $tuoteno = $korjaarow["tuoteno"]; $uusihinta = jalkilaskentafunktiolle_ostohinta($korjaarow["keikka"], $korjaarow["rivitun"]); if ($uusihinta) { $pvm = $korjaarow["laskutettuaika"]; // koska tämä tuote oli viety varastoon $rivitunnus = $korjaarow["rivitun"]; // rivin tunnus, tällä löydetään varmasti oikea tapahtuma $sarjahin = sarjanumeron_ostohinta("ostorivitunnus", $korjaarow["ostorivitunnus"]); $mrivin_ostohinta = sarjanumeron_ostohinta("myyntirivitunnus", $korjaarow["myyrivitun"]); $mriviero = abs($korjaarow["kate"] - ($korjaarow["rivihinta"] - $korjaarow["kpl"] * $mrivin_ostohinta)); if ($mriviero > 1) { $uusikehahin = jalkilaskentafunktio($tuoteno, $pvm, $uusihinta, $rivitunnus); echo "<tr><td>2</td><td>{$korjaarow['tuoteno']}</td><td>{$korjaarow['sarjanumero']}</td><td>{$korjaarow['keikka']}</td><td>{$korjaarow['r2']}</td><td>{$uusihinta}/{$sarjahin}</td><td>{$uusikehahin}</td></tr>"; } } } echo "</table>"; $tee = ""; } if ($tee == "") { echo "<br><br>"; echo "<form method='post'>"; echo "<input type='hidden' name='tee' value='PAIVITA'>"; echo t("Syötä päivämäärä josta korjataan") . ":<br>";
if ($tuoterow["sarjanumeroseuranta"] == "F") { echo "<th>" . t("Parasta ennen") . "</th>"; } echo "<th>" . t("Määrä") . "</th>"; if ($tuoterow['sarjanumeroseuranta'] == 'G') { echo "<th>", t("Ostohinta"), "</th>"; } echo "<th>" . t("Lisätieto") . "</th></tr>"; while ($sarjarow = mysql_fetch_assoc($sarjares)) { echo "<tr>\n <td><a href='tilauskasittely/sarjanumeroseuranta.php?tuoteno_haku=" . urlencode($tuoterow["tuoteno"]) . "&sarjanumero_haku=" . urlencode($sarjarow["sarjanumero"]) . "'>{$sarjarow['sarjanumero']}</a></td>"; if ($tuoterow["sarjanumeroseuranta"] == "F") { echo "<td>" . tv1dateconv($sarjarow["parasta_ennen"]) . "</td>"; } echo "<td align='right'>{$sarjarow['kpl']}</td>"; if ($tuoterow['sarjanumeroseuranta'] == 'G') { echo "<td align='right'>" . sprintf('%.2f', sarjanumeron_ostohinta("tunnus", $sarjarow["sarjatunnus"])) . "</td>"; } echo "<td>{$sarjarow['lisatieto']}</td>"; // Katsotaan jos meidän pitäisi liittää jotain infoa lisätiedoista if (file_exists("inc/generoi_sarjanumeron_info.inc")) { require "inc/generoi_sarjanumeron_info.inc"; $sarjainfo = generoi_sarjanumeron_info($sarjarow["sarjanumero"]); if ($sarjainfo != "") { echo "<td class='back'>{$sarjainfo}</td>"; } } echo "</tr>"; } echo "</table><br>"; } }