Revision 6934a717
Von Jan Büren vor etwa 10 Jahren hinzugefügt
SL/DB/MetaSetup/Inventory.pm | ||
---|---|---|
__PACKAGE__->meta->table('inventory');
|
||
|
||
__PACKAGE__->meta->columns(
|
||
bestbefore => { type => 'date' },
|
||
bin_id => { type => 'integer', not_null => 1 },
|
||
chargenumber => { type => 'text', default => '', not_null => 1 },
|
||
comment => { type => 'text' },
|
||
employee_id => { type => 'integer', not_null => 1 },
|
||
id => { type => 'serial', not_null => 1 },
|
||
itime => { type => 'timestamp', default => 'now()' },
|
||
mtime => { type => 'timestamp' },
|
||
oe_id => { type => 'integer' },
|
||
orderitems_id => { type => 'integer' },
|
||
parts_id => { type => 'integer', not_null => 1 },
|
||
project_id => { type => 'integer' },
|
||
qty => { type => 'numeric', precision => 25, scale => 5 },
|
||
shippingdate => { type => 'date' },
|
||
trans_id => { type => 'integer', not_null => 1 },
|
||
trans_type_id => { type => 'integer', not_null => 1 },
|
||
warehouse_id => { type => 'integer', not_null => 1 },
|
||
bestbefore => { type => 'date' },
|
||
bin_id => { type => 'integer', not_null => 1 },
|
||
chargenumber => { type => 'text', default => '', not_null => 1 },
|
||
comment => { type => 'text' },
|
||
delivery_order_items_stock_id => { type => 'integer' },
|
||
employee_id => { type => 'integer', not_null => 1 },
|
||
id => { type => 'serial', not_null => 1 },
|
||
itime => { type => 'timestamp', default => 'now()' },
|
||
mtime => { type => 'timestamp' },
|
||
oe_id => { type => 'integer' },
|
||
parts_id => { type => 'integer', not_null => 1 },
|
||
project_id => { type => 'integer' },
|
||
qty => { type => 'numeric', precision => 25, scale => 5 },
|
||
shippingdate => { type => 'date' },
|
||
trans_id => { type => 'integer', not_null => 1 },
|
||
trans_type_id => { type => 'integer', not_null => 1 },
|
||
warehouse_id => { type => 'integer', not_null => 1 },
|
||
);
|
||
|
||
__PACKAGE__->meta->primary_key_columns([ 'id' ]);
|
||
... | ... | |
key_columns => { bin_id => 'id' },
|
||
},
|
||
|
||
delivery_order_items_stock => {
|
||
class => 'SL::DB::DeliveryOrderItemsStock',
|
||
key_columns => { delivery_order_items_stock_id => 'id' },
|
||
},
|
||
|
||
employee => {
|
||
class => 'SL::DB::Employee',
|
||
key_columns => { employee_id => 'id' },
|
||
},
|
||
|
||
oe => {
|
||
class => 'SL::DB::DeliveryOrder',
|
||
key_columns => { oe_id => 'id' },
|
||
},
|
||
|
||
parts => {
|
||
class => 'SL::DB::Part',
|
||
key_columns => { parts_id => 'id' },
|
SL/DO.pm | ||
---|---|---|
conv_i($form->{"delivery_order_items_id_$i"}), $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
|
||
conv_i($sinfo->{bin_id}));
|
||
$h_item_stock_id->finish();
|
||
# write back the id to the form (important if only transfer was clicked (id fk for invoice)
|
||
$form->{"stock_${in_out}_$i"} = YAML::Dump($stock_info);
|
||
}
|
||
@values = ($form->{"delivery_order_items_id_$i"}, $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
|
||
conv_i($sinfo->{bin_id}), $sinfo->{chargenumber}, conv_date($sinfo->{bestbefore}),
|
||
... | ... | |
name_prefix => 'ic_',
|
||
name_postfix => "_$i",
|
||
dbh => $dbh);
|
||
# link order items with doi
|
||
# link order items with doi, for future extension look at foreach IS.pm
|
||
if ($form->{"converted_from_orderitems_id_$i"}) {
|
||
RecordLinks->create_links('dbh' => $dbh,
|
||
'mode' => 'ids',
|
||
... | ... | |
|
||
foreach my $request (@{ $params{requests} }) {
|
||
push @transfers, {
|
||
'parts_id' => $request->{parts_id},
|
||
"${prefix}_warehouse_id" => $request->{warehouse_id},
|
||
"${prefix}_bin_id" => $request->{bin_id},
|
||
'chargenumber' => $request->{chargenumber},
|
||
'bestbefore' => $request->{bestbefore},
|
||
'qty' => $request->{qty},
|
||
'unit' => $request->{unit},
|
||
'oe_id' => $form->{id},
|
||
'shippingdate' => 'current_date',
|
||
'transfer_type' => $params{direction} eq 'in' ? 'stock' : 'shipped',
|
||
'project_id' => $request->{project_id},
|
||
'parts_id' => $request->{parts_id},
|
||
"${prefix}_warehouse_id" => $request->{warehouse_id},
|
||
"${prefix}_bin_id" => $request->{bin_id},
|
||
'chargenumber' => $request->{chargenumber},
|
||
'bestbefore' => $request->{bestbefore},
|
||
'qty' => $request->{qty},
|
||
'unit' => $request->{unit},
|
||
'oe_id' => $form->{id},
|
||
'shippingdate' => 'current_date',
|
||
'transfer_type' => $params{direction} eq 'in' ? 'stock' : 'shipped',
|
||
'project_id' => $request->{project_id},
|
||
'delivery_order_items_stock_id' => $request->{delivery_order_items_stock_id},
|
||
};
|
||
}
|
||
|
SL/WH.pm | ||
---|---|---|
trans_id => $trans_id,
|
||
shippingdate => !$transfer->{shippingdate} || $transfer->{shippingdate} eq 'current_date'
|
||
? $now : $transfer->{shippingdate},
|
||
map { $_ => $transfer->{$_} } qw( chargenumber bestbefore oe_id orderitems_id comment),
|
||
map { $_ => $transfer->{$_} } qw( chargenumber bestbefore oe_id delivery_order_items_stock_id comment),
|
||
);
|
||
|
||
if ($unit) {
|
sql/Pg-upgrade2/warehouse_add_delivery_order_items_stock_id.sql | ||
---|---|---|
-- @tag: warehouse_add_delivery_order_items_stock_id
|
||
-- @description: Constraints für inventory auf delivery_order (dois und do). Ferner sinnvolle Umbenennung zumindestens von einer Spalte (orderitems -> dois)
|
||
-- @depends: release_3_1_0
|
||
ALTER TABLE inventory RENAME orderitems_id TO delivery_order_items_stock_id;
|
||
ALTER TABLE inventory ADD CONSTRAINT delivery_order_items_stock_id_fkey FOREIGN KEY (delivery_order_items_stock_id) REFERENCES delivery_order_items_stock (id);
|
||
ALTER TABLE inventory ADD CONSTRAINT oe_id_fkey FOREIGN KEY (oe_id) REFERENCES delivery_orders (id);
|
Auch abrufbar als: Unified diff
deliver_order_items_id mit inventory verknüpft