Revision 4cb05cc1
Von Kivitendo Admin vor mehr als 1 Jahr hinzugefügt
SL/Controller/DispositionsManager.pm | ||
---|---|---|
package SL::Controller::DispositionsManager;
|
||
|
||
|
||
use strict;
|
||
|
||
use parent qw(SL::Controller::Base);
|
||
... | ... | |
sub action_list_parts {
|
||
my ( $self ) = @_;
|
||
|
||
my $query = <<SQL;
|
||
SELECT * FROM parts WHERE onhand <= rop AND rop != 0 AND id NOT IN( SELECT parts_id FROM purchase_basket) AND NOT obsolete
|
||
SQL
|
||
my $parts = $self->_get_parts;
|
||
|
||
my $parts = SL::DB::Manager::Part->get_objects_from_sql( sql => $query );
|
||
$self->_setup_list_action_bar;
|
||
$self->render('dispositionsmanager/list_parts', title => t8('Parts short onhand'), PARTS => $parts);
|
||
|
||
|
||
}
|
||
|
||
sub action_add_to_purchase_basket{
|
||
... | ... | |
foreach my $id (@{ $parts_to_add }) {
|
||
my $part = SL::DB::Manager::Part->get_first( query => [ id => $id ] );
|
||
my $basket_part = SL::DB::PurchaseBasket->new(
|
||
parts_id => $part->id,
|
||
qty => $part->min_order_qty,
|
||
description => $part->description,
|
||
);
|
||
parts_id => $part->id,
|
||
qty => $part->min_order_qty,
|
||
description => $part->description,
|
||
);
|
||
$basket_part->save;
|
||
}
|
||
$self->action_show_basket;
|
||
... | ... | |
$::request->{layout}->add_javascripts('kivi.DispositionsManager.js');
|
||
my $basket = SL::DB::Manager::PurchaseBasket->get_all( query => [ cleared => 'F' ], with_objects => [ 'parts', 'parts.makemodels' ]);
|
||
$self->_setup_show_basket_action_bar;
|
||
$self->render('dispositionsmanager/show_purchase_basket', PARTS => $basket, title => "Purchasebasket" );
|
||
$self->render('dispositionsmanager/show_purchase_basket', PARTS => $basket, title => "Purchase basket" );
|
||
}
|
||
|
||
sub action_transfer_to_purchase_order {
|
||
... | ... | |
|
||
}
|
||
|
||
sub _get_parts {
|
||
my ($self) = @_;
|
||
|
||
my $query = <<SQL;
|
||
SELECT *
|
||
FROM parts
|
||
WHERE onhand <= rop
|
||
AND rop != 0
|
||
AND id NOT IN( SELECT parts_id FROM purchase_basket ) AND NOT obsolete
|
||
SQL
|
||
|
||
return SL::DB::Manager::Part->get_objects_from_sql( sql => $query );
|
||
};
|
||
|
||
|
||
sub _setup_list_action_bar {
|
||
my ($self) = @_;
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
... | ... | |
|
||
=head1 NAME
|
||
|
||
SL::Controller::DispositionsManager Controller to manage purchaseorders for parts
|
||
SL::Controller::DispositionsManager Controller to manage purchase orders for parts
|
||
|
||
=head1 DESCRIPTION
|
||
|
||
This Controller shows a list of parts using the filter minimum stock (rop).
|
||
This controller shows a list of parts using the filter minimum stock (rop).
|
||
From this list it is possible to put parts in a purchase basket to order.
|
||
It's also possible to put parts from the parts edit form in the purchase basket.
|
||
|
||
From the purchase basket you can create a purchaseorder by using the filter vendor.
|
||
From the purchase basket you can create a purchase order by using the filter vendor.
|
||
The quantity to order will be prefilled by the value min_qty_to_order from parts or
|
||
makemodel(vendor_parts) or default qty 1.
|
||
makemodel(vendor_parts) or default to qty 1.
|
||
|
||
Tables:
|
||
|
||
... | ... | |
|
||
=back
|
||
|
||
Depencies:
|
||
Dependencies:
|
||
|
||
=over 2
|
||
|
||
... | ... | |
|
||
=item C<action_show_basket>
|
||
|
||
Shows a list with parts wich are in the basket.
|
||
This List can be filtered by vendor. Then you can create a purchaseorder.
|
||
Shows a list with parts which are in the basket.
|
||
This list can be filtered by vendor. Then you can create a purchase order.
|
||
|
||
=item C<action_transfer_to_purchase_order>
|
||
|
||
Transfers the marked and by vendor filtered parts to a purchase order.
|
||
Deletes the entry in the purchasebasket.
|
||
Deletes the entry in the purchase basket.
|
||
|
||
=back
|
||
|
Auch abrufbar als: Unified diff
Disposition Manager - ein paar Änderungen