Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 72528ede

Von Tamino Steinert vor mehr als 2 Jahren hinzugefügt

  • ID 72528edece18f8ac73ff702e83050c674db69b38
  • Vorgänger 72b80f91

Separate Tabelle für onhand (onhands) für Artikel

Jetzt führt Ein- und Auslagern nicht mehr zu einer Änderung des
Artikels in der Datenbank.

Unterschiede anzeigen:

SL/Controller/PartsPriceUpdate.pm
# items which were never bought, sold or on an order
if ($filter->{itemstatus} eq 'orphaned') {
$where .=
qq| AND (p.onhand = 0)
qq| AND (onhands.onhand = 0)
AND p.id NOT IN
(
SELECT DISTINCT parts_id FROM invoice
......
$where .= qq| AND p.obsolete = '1'|;
} elsif ($filter->{itemstatus} eq 'onhand') {
$where .= qq| AND p.onhand > 0|;
$where .= qq| AND onhands.onhand > 0|;
} elsif ($filter->{itemstatus} eq 'short') {
$where .= qq| AND p.onhand < p.rop|;
$where .= qq| AND onhands.onhand < p.rop|;
}
......
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
LEFT JOIN onhands ON (onhands.parts_id = p.id)
WHERE $where)|;
my ($result) = selectfirst_array_query($::form, $dbh, $query, @where_values);
$num_updated += $result if (0 <= $result);
......
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
LEFT JOIN onhands ON (onhands.parts_id = p.id)
WHERE $where)
AND pricegroup_id IN (@{[ join ',', ('?')x@ids ]})|;
......
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
LEFT JOIN onhands ON (onhands.parts_id = p.id)
WHERE $where)|;
my $result = do_query($::form, $dbh, $query, $value, @where_values);
$num_updated += $result if 0 <= $result;
......
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
LEFT JOIN onhands ON (onhands.parts_id = p.id)
WHERE $where) AND (pricegroup_id = ?)|;
my $sth_add = prepare_query($::form, $dbh, $q_add);
......
(SELECT p.id
FROM parts p
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
LEFT JOIN onhands ON (onhands.parts_id = p.id)
WHERE $where) AND (pricegroup_id = ?)|;
my $sth_multiply = prepare_query($::form, $dbh, $q_multiply);

Auch abrufbar als: Unified diff