Example #1
0
function linjeopdat($id, $gruppe, $linje_id, $beholdning, $vare_id, $antal, $pris, $nettopris, $rabat, $samlevare, $linje_nr, $posnr, $serienr, $kred_linje_id, $bogf_konto, $variant_id, $lager)
{
    # Denne funktion finder de kontonumre fra kontoplanen som de elkelte ordrelinjer skal bogføres på, og tilføjer dem på ordrelinjen
    # Kaldes fra funktionen levering -
    #cho "Linjeopdat: $id - $linje_id - $kred_linje_id<br>";
    global $fp;
    global $levdate;
    global $fakturadate;
    global $sn_id;
    global $art;
    global $ref;
    global $lev_nr;
    $antal *= 1;
    $query = db_select("select * from grupper where art='VG' and kodenr='{$gruppe}'", __FILE__ . " linje " . __LINE__);
    #VG = Varegruppe
    if ($row = db_fetch_array($query)) {
        $box1 = trim($row['box1']);
        $box2 = trim($row['box2']);
        $box3 = trim($row['box3']);
        $box4 = trim($row['box4']);
        $box8 = trim($row['box8']);
        $box9 = trim($row['box9']);
    } else {
        $r = db_fetch_array(db_select("select posnr from ordrelinjer where id = '{$linje_id}'", __FILE__ . " linje " . __LINE__));
        print "<BODY onLoad=\"javascript:alert('Varegruppe ikke opsat korrekt, pos nr {$r['posnr']}')\">";
        print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">";
    }
    if (!$box3 || !$box4) {
        # box3 & box4 er kontonumre for varekøb og varesalg
        $fejltekst = "Varegruppe {$gruppe} mangler kontonummer for varek&oslash;b og/eller varesalg (Indstillinger -> Varegrp)";
        print "<BODY onLoad=\"javascript:alert('{$fejltekst}')\">";
        print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">";
    }
    if ($box8 != 'on') {
        #box 8 angiver om vare(gruppen) er lagerført #20130408
        if ($bogf_konto) {
            $box4 = $bogf_konto;
        }
        # hvis funktionen kaldes med en bogføringskonto overruler denne box4
        db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
        #		if ($art=='DK' || $antal < 0) {
        #			$tmp=$antal*-1;
        #			db_modify("insert into batch_kob(vare_id, linje_id, kobsdate, ordre_id, antal,rest) values ('$vare_id', '$linje_id', '$levdate', '$id','$tmp','$tmp')",__FILE__ . " linje " . __LINE__);
        #		} else db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, '$vare_id', '$linje_id', '$levdate', '$id', '$antal', '$pris', '$lev_nr')",__FILE__ . " linje " . __LINE__);
        if ($antal) {
            db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values (0, '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$antal}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__);
        }
    } else {
        $r = db_fetch_array(db_select("select fast_db from ordrelinjer where id='{$linje_id}'", __FILE__ . " linje " . __LINE__));
        $fast_db = $r['fast_db'];
        if ($bogf_konto) {
            $box4 = $bogf_konto;
        }
        db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
        db_modify("update varer set beholdning={$beholdning} where id='{$vare_id}'", __FILE__ . " linje " . __LINE__);
        if ($variant_id) {
            db_modify("update variant_varer set variant_beholdning=variant_beholdning-{$antal} where id='{$variant_id}'", __FILE__ . " linje " . __LINE__);
        }
        #cho "box9 $box9<br>";
        if ($box9 == 'on') {
            # #box 9 angiver om vare(gruppen) er underlagt batchkontrol
            if ($antal < 0) {
                krediter($id, $levdate, $beholdning, $vare_id, $antal * -1, $pris, $linje_id, $serienr, $kred_linje_id);
            } else {
                batch_salg_lev($id, $levdate, $fakturadate, $beholdning, $vare_id, $antal, $pris, $nettopris, $linje_id, $linje_n, $posnr, $serienr, $lager);
            }
        } else {
            if ($bogf_konto) {
                $box4 = $bogf_konto;
            }
            db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
            #			if ($art=='DK' || $antal < 0) {
            #				$tmp=$antal*-1;
            #				db_modify("insert into batch_kob(vare_id, linje_id, kobsdate, ordre_id, antal,rest) values ('$vare_id', '$linje_id', '$levdate', '$id','$tmp','$tmp')",__FILE__ . " linje " . __LINE__);
            #			} else db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, '$vare_id', '$linje_id', '$levdate', '$id', '$antal', '$pris', '$lev_nr')",__FILE__ . " linje " . __LINE__);
            if ($art == 'DK' || $antal < 0) {
                $tmp = $antal * -1;
                #cho "select * from batch_kob where linje_id = '$kred_linje_id' order by id desc<br>";
                if ($kred_linje_id) {
                    $bk_id = 0;
                    #cho "select * from batch_kob where linje_id = '$kred_linje_id' order by id desc<br>";
                    $q = db_select("select * from batch_kob where linje_id = '{$kred_linje_id}' order by id desc", __FILE__ . " linje " . __LINE__);
                    while ($r = db_fetch_array($q)) {
                        $bk_id = $r['id'];
                        $tmp2 = $r['antal'] - $r['rest'];
                        #$tmp2 er det antal det kan lægges tilbage på linjen.
                        $ny_rest = $r['rest'];
                        if ($tmp && $tmp2) {
                            if ($tmp2 >= $tmp) {
                                #Så kan alle være på samme linje
                                $ny_rest = $r['rest'] + $tmp;
                                $tmp = 0;
                            } elseif ($tmp2) {
                                #alle kan ikke være på samme linje så vi lægger det vi kan og går videre til næste linje.
                                $ny_rest = $r['antal'];
                                $tmp -= $tmp2;
                            }
                            #cho "update batch_kob set rest='$ny_rest' where id = '$r[id]'<br>";
                            db_modify("update batch_kob set rest='{$ny_rest}' where id = '{$r['id']}'", __FILE__ . " linje " . __LINE__);
                        }
                    }
                    $bk_id *= 1;
                    $tmp2 = $tmp * -1;
                    #cho "insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$bk_id', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp2', '$pris', '$lev_nr')<br>";
                    db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('{$bk_id}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp2}', '{$pris}', '{$lev_nr}')", __FILE__ . " linje " . __LINE__);
                    $tmp = 0;
                }
                if ($tmp) {
                    # F.eks negativt salg uden købsreference
                    $r = db_fetch_array(db_select("select kostpris from varer where id = '{$vare_id}'", __FILE__ . " linje " . __LINE__));
                    $kostpris = $r['kostpris'] * 1;
                    $tmp2 = $tmp * -1;
                    db_modify("update ordrelinjer set kostpris='{$kostpris}' where id ='{$linje_id}'", __FILE__ . " linje " . __LINE__);
                    #cho "insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris) values ('$vare_id', '0', '0','0','$tmp',$kostpris)<br>";
                    db_modify("insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris,lager) values ('{$vare_id}', '0', '0','0','{$tmp}','{$kostpris}','{$lager}')", __FILE__ . " linje " . __LINE__);
                    $r = db_fetch_array(db_select("select max(id) as id from batch_kob where vare_id='{$vare_id}' and linje_id='0'", __FILE__ . " linje " . __LINE__));
                    #cho "insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp2', '$pris', '$lev_nr')<br>";
                    db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('0', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp2}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__);
                }
            } else {
                $tmp = $antal;
                #cho "select * from batch_kob where vare_id = '$vare_id' and rest > 0 order by id<br>";
                $q = db_select("select * from batch_kob where vare_id = '{$vare_id}' and rest > '0' and lager = '{$lager}' order by id", __FILE__ . " linje " . __LINE__);
                while ($r = db_fetch_array($q)) {
                    $ny_rest = $r['rest'];
                    if ($tmp && $ny_rest) {
                        if ($ny_rest >= $tmp) {
                            #Så kan alle være på samme linje
                            #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>";
                            $ny_rest = $ny_rest - $tmp;
                            #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>";
                            # 20141008
                            #cho __LINE__." insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp', '$pris', '$lev_nr')<br>";
                            db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('{$r['id']}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__);
                            $tmp = 0;
                            #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>";
                        } else {
                            #alle kan ikke være på samme linje så vi lægger det vi kan og går videre til næste linje.
                            if ($ny_rest) {
                                #cho __LINE__." insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$ny_rest', '$pris', '$lev_nr')<br>";
                                db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('{$r['id']}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$ny_rest}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__);
                            }
                            #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>";
                            $tmp -= $ny_rest;
                            $ny_rest = 0;
                            #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>";
                        }
                    }
                    #cho __LINE__." update batch_kob set rest='$ny_rest' where id = '$r[id]'<br>";
                    db_modify("update batch_kob set rest='{$ny_rest}' where id = '{$r['id']}'", __FILE__ . " linje " . __LINE__);
                }
                if ($tmp) {
                    $r = db_fetch_array(db_select("select kostpris from varer where id = '{$vare_id}'", __FILE__ . " linje " . __LINE__));
                    $kostpris = $r['kostpris'] * 1;
                    db_modify("update ordrelinjer set kostpris='{$kostpris}' where id ='{$linje_id}'", __FILE__ . " linje " . __LINE__);
                    $tmp2 = $tmp * -1;
                    #cho "insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris) values ('$vare_id', '0', '0','0','$tmp2',$kostpris)<br>";
                    db_modify("insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris,lager) values ('{$vare_id}', '0', '0','0','{$tmp2}','{$kostpris}','{$lager}')", __FILE__ . " linje " . __LINE__);
                    $r = db_fetch_array(db_select("select max(id) as id from batch_kob where vare_id='{$vare_id}' and linje_id=0", __FILE__ . " linje " . __LINE__));
                    #cho "insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp', '$pris', '$lev_nr')<br>";
                    db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('{$r['id']}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__);
                }
            }
        }
        #		if ($box1 && $box2) bogfor_levering($id,$gruppe,$linje_id,$antal,$box1,$box2,$box3,$box4);
    }
    $r = db_fetch_array(db_select("select box2 from grupper where art = 'DIV' and kodenr = '5' ", __FILE__ . " linje " . __LINE__));
    $shopurl = trim($r['box2']);
    if (strlen($shopurl) > 1) {
        #20130813 + 20131001
        global $db_id;
        $r = db_fetch_array(db_select("select beholdning,publiceret from varer where id = '{$vare_id}'", __FILE__ . " linje " . __LINE__));
        if ($r['publiceret']) {
            $shop_beholdning = $r['beholdning'];
            $r = db_fetch_array(db_select("select sum(ordrelinjer.antal-ordrelinjer.leveret) as antal from ordrer,ordrelinjer where ordrelinjer.vare_id = '{$vare_id}' and ordrelinjer.ordre_id = ordrer.id and (ordrer.art='DO' or ordrer.art='DK') and (ordrer.status='1' or ordrer.status='2') and ordrer.id!='{$id}'", __FILE__ . " linje " . __LINE__));
            $shop_beholdning -= $r['antal'];
            $r = db_fetch_array($q = db_select("select shop_id from shop_varer where saldi_id='{$vare_id}'", __FILE__ . " linje " . __LINE__));
            $shop_id = $r['shop_id'];
            if (strpos($shopurl, '/?')) {
                $saldiurl = "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
                if ($_SERVER['HTTPS']) {
                    $saldiurl = "s" . $saldiurl;
                }
                $saldiurl = "http" . $saldiurl;
                $url = str_replace("/?", "/opdat_behold.php?vare_id={$vare_id}&saldiurl={$saldiurl}&shop_id={$shop_id}&beholdning={$shop_beholdning}&", $shopurl);
            } else {
                $url = $shopurl . "/opdat_beholdning.php?vare_id={$vare_id}&shop_id={$shop_id}&beholdning={$shop_beholdning}";
            }
            print "<body onload=\"javascript:window.open('{$url}','opdat:beholdning');\">";
        }
    }
    #xit;
    db_modify("update ordrelinjer set leveret = leveret+{$antal},leveres=0 where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
}
Example #2
0
function linjeopdat($id, $gruppe, $linje_id, $beholdning, $vare_id, $antal, $pris, $nettopris, $rabat, $samlevare, $linje_nr, $posnr, $serienr, $kred_linje_id)
{
    global $fp;
    global $levdate;
    global $fakturadate;
    global $sn_id;
    global $art;
    global $ref;
    global $lev_nr;
    $query = db_select("select * from grupper where art='VG' and kodenr='{$gruppe}'", __FILE__ . " linje " . __LINE__);
    if ($row = db_fetch_array($query)) {
        $box1 = trim($row[box1]);
        $box2 = trim($row[box2]);
        $box3 = trim($row[box3]);
        $box4 = trim($row[box4]);
        $box8 = trim($row[box8]);
        $box9 = trim($row[box9]);
    } else {
        $r = db_fetch_array(db_select("select posnr from ordrelinjer where id = '{$linje_id}'", __FILE__ . " linje " . __LINE__));
        print "<BODY onLoad=\"javascript:alert('Varegruppe ikke opsat korrekt, pos nr {$r['posnr']}')\">";
        print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">";
    }
    if (!$box3 || !$box4) {
        $fejltekst = "Varegruppe {$gruppe} mangler kontonummer for varek&oslash;b og/eller varesalg (Indstillinger -> Varegrp)";
        print "<BODY onLoad=\"javascript:alert('{$fejltekst}')\">";
        print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">";
    }
    if ($box8 != 'on' || $samlevare == 'on') {
        db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
        db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, {$vare_id}, {$linje_id}, '{$levdate}', {$id}, {$antal}, '{$pris}', '{$lev_nr}')", __FILE__ . " linje " . __LINE__);
    } else {
        db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
        db_modify("update varer set beholdning={$beholdning} where id='{$vare_id}'", __FILE__ . " linje " . __LINE__);
        if ($box9 == 'on') {
            if ($antal < 0) {
                krediter($id, $levdate, $beholdning, $vare_id, $antal * -1, $pris, $linje_id, $serienr, $kred_linje_id);
            } else {
                batch_salg_lev($id, $levdate, $fakturadate, $beholdning, $vare_id, $antal, $pris, $nettopris, $linje_id, $linje_n, $posnr, $serienr, $lager);
            }
        } else {
            db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__);
            db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, {$vare_id}, {$linje_id}, '{$levdate}', {$id}, {$antal}, '{$pris}', '{$lev_nr}')", __FILE__ . " linje " . __LINE__);
        }
    }
}