return;
};
+ my @trans_ids;
+
my $db = SL::DB::Inventory->new->db;
$db->do_transaction(sub{
while (my $transfer = shift @args) {
my ($trans_id) = selectrow_query($::form, $::form->get_standard_dbh, qq|SELECT nextval('id')|);
my $part = $objectify->($transfer, 'parts', 'SL::DB::Part');
- my $unit = $objectify->($transfer, 'unit', 'SL::DB::Unit', unit => $transfer->{unit});
+ my $unit = $objectify->($transfer, 'unit', 'SL::DB::Unit', name => $transfer->{unit});
my $qty = $transfer->{qty};
my $src_bin = $objectify->($transfer, 'src_bin', 'SL::DB::Bin');
my $dst_bin = $objectify->($transfer, 'dst_bin', 'SL::DB::Bin');
);
if ($unit) {
- $qty *= $unit->factor;
+ $qty *= $unit->factor || 1;
$qty /= $part->unit_obj->factor || 1 if $part->unit;
}
qty => $qty,
)->save;
}
+
+ push @trans_ids, $trans_id;
}
}) or do {
$::form->error("Warehouse transfer error: " . join("\n", (split(/\n/, $db->error))[0..2]));
};
$::lxdebug->leave_sub;
+
+ return @trans_ids;
}
sub transfer_assembly {
push @filter_vars, '%' . $filter{ean} . '%';
}
+ if ($filter{date}) {
+ push @filter_ary, "i.itime <= ?";
+ push @filter_vars, $filter{date};
+ }
+
# prepare qty comparison for later filtering
my ($f_qty_op, $f_qty, $f_qty_base_unit);