+sub _get_stocked_qty {
+ my ($object) = @_;
+
+ my $bestbefore_filter = '';
+ my $bestbefore_val_cnt = 0;
+ if ($::instance_conf->get_show_bestbefore) {
+ $bestbefore_filter = ($object->bestbefore) ? 'AND bestbefore = ?' : 'AND bestbefore IS NULL';
+ $bestbefore_val_cnt = ($object->bestbefore) ? 1 : 0;
+ }
+
+ my $query = <<SQL;
+ SELECT sum(qty) FROM inventory
+ WHERE parts_id = ? AND warehouse_id = ? AND bin_id = ? AND chargenumber = ? $bestbefore_filter
+ GROUP BY warehouse_id, bin_id, chargenumber
+SQL
+
+ my @values = ($object->parts_id,
+ $object->warehouse_id,
+ $object->bin_id,
+ $object->chargenumber);
+ push @values, $object->bestbefore if $bestbefore_val_cnt;
+
+ my ($stocked_qty) = selectrow_query($::form, $object->db->dbh, $query, @values);
+
+ return $stocked_qty;
+}
+