package OE;
use SL::AM;
+use SL::Common;
use SL::DBUtils;
sub transactions {
my $query = qq|SELECT o.id, o.ordnumber, o.transdate, o.reqdate,
o.amount, ct.name, o.netamount, o.$form->{vc}_id,
ex.$rate AS exchangerate,
- o.closed, o.quonumber, o.shippingpoint, o.shipvia,
+ o.closed, o.delivered, o.quonumber, o.shippingpoint, o.shipvia,
e.name AS employee
FROM oe o
JOIN $form->{vc} ct ON (o.$form->{vc}_id = ct.id)
$query .= ($form->{open}) ? " AND o.closed = '0'" : " AND o.closed = '1'";
}
+ if (($form->{"notdelivered"} || $form->{"delivered"}) &&
+ ($form->{"notdelivered"} ne $form->{"delivered"})) {
+ $query .= $form->{"delivered"} ?
+ " AND o.delivered " : " AND NOT o.delivered";
+ }
+
my $sortorder = join ', ',
("o.id", $form->sort_columns(transdate, $ordnumber, name));
$sortorder = $form->{sort} if $form->{sort};
$form->get_employee($dbh);
}
- $form->{contact_id} = $form->{cp_id};
- $form->{contact_id} *= 1;
$form->{payment_id} *= 1;
$form->{language_id} *= 1;
$form->{shipto_id} *= 1;
$form->parse_amount($myconfig, $form->{"${_}_$i"})
} qw(qty ship);
- if ($form->{"qty_$i"}) {
+ if ($form->{"id_$i"}) {
# get item baseunit
$query = qq|SELECT p.unit
intnotes = '$form->{intnotes}',
curr = '$form->{currency}',
closed = '$form->{closed}',
+ delivered = '| . ($form->{delivered} ? "t" : "f") . qq|',
proforma = '$form->{proforma}',
quotation = '$quotation',
department_id = $form->{department_id},
delivery_vendor_id = $form->{delivery_vendor_id},
delivery_customer_id = $form->{delivery_customer_id},
employee_id = $form->{employee_id},
- cp_id = $form->{contact_id}
+ cp_id = | . conv_i($form->{cp_id}, 'NULL') . qq|
WHERE id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
$form->{ordtotal} = $amount;
- if ($form->{webdav}) {
- &webdav_folder($myconfig, $form);
- }
-
# add shipto
$form->{name} = $form->{ $form->{vc} };
$form->{name} =~ s/--$form->{"$form->{vc}_id"}//;
my $rc = $dbh->commit;
$dbh->disconnect;
+ Common::webdav_folder($form) if ($main::webdav);
+
$main::lxdebug->leave_sub();
return $rc;
my ($self, $myconfig, $form) = @_;
- for my $i (1 .. $form->{rowcount}) {
-
- map {
- $form->{"${_}_$i"} =
- $form->parse_amount($myconfig, $form->{"${_}_$i"})
- } qw(qty ship);
- if ($delete_oe_id) {
- $form->{"orderitems_id_$i"} = "";
- }
-
- if ($form->{"qty_$i"}) {
-
- # set values to 0 if nothing entered
- $form->{"discount_$i"} =
- $form->parse_amount($myconfig, $form->{"discount_$i"});
-
- $form->{"sellprice_$i"} =
- $form->parse_amount($myconfig, $form->{"sellprice_$i"});
- }
- }
-
# get ids from $form
map { push @ids, $form->{"ordnumber_$_"} if $form->{"ordnumber_$_"} }
(1 .. $form->{rowcount});
$main::lxdebug->leave_sub() unless ($form->{"id"});
my $dbh = $form->dbconnect($myconfig);
- do_query($form, $dbh, qq|UPDATE oe SET closed = TRUE where ordnumber = ?|,
+ do_query($form, $dbh, qq|UPDATE oe SET closed = TRUE where id = ?|,
$form->{"id"});
$dbh->disconnect;
o.curr AS currency, e.name AS employee, o.employee_id,
o.$form->{vc}_id, cv.name AS $form->{vc}, o.amount AS invtotal,
o.closed, o.reqdate, o.quonumber, o.department_id, o.cusordnumber,
- d.description AS department, o.payment_id, o.language_id, o.taxzone_id, o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id
+ d.description AS department, o.payment_id, o.language_id, o.taxzone_id,
+ o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id,
+ o.delivered
FROM oe o
JOIN $form->{vc} cv ON (o.$form->{vc}_id = cv.id)
LEFT JOIN employee e ON (o.employee_id = e.id)
$form->get_exchangerate($dbh, $form->{currency}, $form->{transdate},
($form->{vc} eq 'customer') ? "buy" : "sell");
- if ($form->{webdav}) {
- &webdav_folder($myconfig, $form);
- }
+ Common::webdav_folder($form) if ($main::webdav);
# get tax zones
$query = qq|SELECT id, description
$sameitem = $item->[1];
map { push(@{ $form->{$_} }, "") }
- qw(runningnumber number qty ship unit bin partnotes serialnumber reqdate sellprice listprice netprice discount linetotal);
+ qw(runningnumber number qty ship unit bin partnotes
+ serialnumber reqdate sellprice listprice netprice
+ discount p_discount linetotal);
}
$form->{"qty_$i"} = $form->parse_amount($myconfig, $form->{"qty_$i"});
- if ($form->{"qty_$i"} != 0) {
+ if ($form->{"id_$i"} != 0) {
# add number, description and qty to $form->{number}, ....
while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
if ($form->{groupitems} && $ref->{partsgroup} ne $sameitem) {
map { push(@{ $form->{$_} }, "") }
- qw(runningnumber ship bin serialnumber number unit bin qty reqdate sellprice listprice netprice discount linetotal nodiscount_linetotal);
+ qw(runningnumber ship bin serialnumber number unit bin qty
+ reqdate sellprice listprice netprice discount p_discount
+ linetotal nodiscount_linetotal);
$sameitem = ($ref->{partsgroup}) ? $ref->{partsgroup} : "--";
push(@{ $form->{description} }, $sameitem);
}
. qq|, $ref->{partnumber}, $ref->{description}|);
map { push(@{ $form->{$_} }, "") }
- qw(number unit qty runningnumber ship bin serialnumber reqdate sellprice listprice netprice discount linetotal nodiscount_linetotal);
+ qw(number unit qty runningnumber ship bin serialnumber reqdate
+ sellprice listprice netprice discount p_discount linetotal
+ nodiscount_linetotal);
}
$sth->finish;
return $rc;
}
-sub webdav_folder {
- $main::lxdebug->enter_sub();
-
- my ($myconfig, $form) = @_;
-
-SWITCH: {
- $path = "webdav/angebote/" . $form->{quonumber}, last SWITCH
- if ($form->{type} eq "sales_quotation");
- $path = "webdav/bestellungen/" . $form->{ordnumber}, last SWITCH
- if ($form->{type} eq "sales_order");
- $path = "webdav/anfragen/" . $form->{quonumber}, last SWITCH
- if ($form->{type} eq "request_quotation");
- $path = "webdav/lieferantenbestellungen/" . $form->{ordnumber}, last SWITCH
- if ($form->{type} eq "purchase_order");
- }
-
- if (!-d $path) {
- mkdir($path, 0770) or die "can't make directory $!\n";
- } else {
- if ($form->{id}) {
- @files = <$path/*>;
- foreach $file (@files) {
- $file =~ /\/([^\/]*)$/;
- $fname = $1;
- $ENV{'SCRIPT_NAME'} =~ /\/([^\/]*)\//;
- $lxerp = $1;
- $link = "http://" . $ENV{'SERVER_NAME'} . "/" . $lxerp . "/" . $file;
- $form->{WEBDAV}{$fname} = $link;
- }
- }
- }
-
- $main::lxdebug->leave_sub();
-}
1;