Revision 72528ede
Von Tamino Steinert vor mehr als 2 Jahren hinzugefügt
- ID 72528edece18f8ac73ff702e83050c674db69b38
- Vorgänger 72b80f91
| 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
Separate Tabelle für onhand (onhands) für Artikel