Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9c2d09b8

Von Bernd Bleßmann vor fast 4 Jahren hinzugefügt

  • ID 9c2d09b80c7fe80982c4e63b5fb051002a152411
  • Vorgänger 08704bc4
  • Nachfolger b66a38ca

Zeiterfassung: Konvertierung: Position aus zugehörigem Auftrag

Unterschiede anzeigen:

SL/BackgroundJob/ConvertTimeRecordings.pm
$do->save;
$_->update_attributes(booked => 1) for @{$time_recordings_by_order_id->{$related_order_id}};
$related_order->link_to_record($do);
# TODO extend link_to_record for items, otherwise long-term no d.r.y.
foreach my $item (@{ $do->items }) {
foreach (qw(orderitems)) {
if ($item->{"converted_from_${_}_id"}) {
die unless $item->{id};
RecordLinks->create_links('mode' => 'ids',
'from_table' => $_,
'from_ids' => $item->{"converted_from_${_}_id"},
'to_table' => 'delivery_order_items',
'to_id' => $item->{id},
) || die;
delete $item->{"converted_from_${_}_id"};
}
}
}
# Todo: reduce qty on related order
1;
})) {
$::lxdebug->message(LXDebug->WARN(),
SL/DB/DeliveryOrder.pm
my $delivery_order;
if ($params{related_order}) {
$delivery_order = SL::DB::DeliveryOrder->new_from($params{related_order}, items => \@items, %params);
# collect suitable items in related order
my @items_to_use;
foreach my $item (@items) {
my $item_to_use = first {$item->parts_id == $_->parts_id} @{ $params{related_order}->items_sorted };
die "no suitable item found in related order" if !$item_to_use;
my %new_attributes;
$new_attributes{$_} = $item->$_ for qw(qty unit_obj longdescription);
$item_to_use->assign_attributes(%new_attributes);
push @items_to_use, $item_to_use;
}
$delivery_order = SL::DB::DeliveryOrder->new_from($params{related_order}, items => \@items_to_use, %params);
} else {
my %args = (

Auch abrufbar als: Unified diff