package OE;
-use List::Util qw(max);
-
+use List::Util qw(max first);
use SL::AM;
use SL::Common;
use SL::DBUtils;
$query .= " AND o.employee_id = ?";
push @values, conv_i($form->{employee_id});
}
-
+
if ($form->{salesman_id}) {
$query .= " AND o.salesman_id = ?";
push @values, conv_i($form->{salesman_id});
push(@values, conv_date($form->{transdateto}));
}
+ if($form->{reqdatefrom}) {
+ $query .= qq| AND o.reqdate >= ?|;
+ push(@values, conv_date($form->{reqdatefrom}));
+ }
+
+ if($form->{reqdateto}) {
+ $query .= qq| AND o.reqdate <= ?|;
+ push(@values, conv_date($form->{reqdateto}));
+ }
+
if ($form->{transaction_description}) {
$query .= qq| AND o.transaction_description ILIKE ?|;
push(@values, '%' . $form->{transaction_description} . '%');
globalproject_id = ?, employee_id = ?, salesman_id = ?, cp_id = ?, transaction_description = ?, marge_total = ?, marge_percent = ?
WHERE id = ?|;
- @values = ($form->{ordnumber}, $form->{quonumber},
+ @values = ($form->{ordnumber} || '', $form->{quonumber},
$form->{cusordnumber}, conv_date($form->{transdate}),
conv_i($form->{vendor_id}), conv_i($form->{customer_id}),
$amount, $netamount, conv_date($reqdate),
JOIN ${vc} cv ON (o.${vc}_id = cv.id)
LEFT JOIN employee e ON (o.employee_id = e.id)
LEFT JOIN department d ON (o.department_id = d.id) | .
- ($form->{id}
- ? "WHERE o.id = ?"
+ ($form->{id}
+ ? "WHERE o.id = ?"
: "WHERE o.id IN (" . join(', ', map("? ", @ids)) . ")"
);
@values = $form->{id} ? ($form->{id}) : @ids;
# stuff different from the whole will not be overwritten, but saved with a suffix.
$query =
qq|SELECT o.id AS orderitems_id,
- c1.accno AS inventory_accno, c1.new_chart_id AS inventory_new_chart, date($transdate) - c1.valid_from as inventory_valid,
+ c1.accno AS inventory_accno, c1.new_chart_id AS inventory_new_chart, date($transdate) - c1.valid_from as inventory_valid,
c2.accno AS income_accno, c2.new_chart_id AS income_new_chart, date($transdate) - c2.valid_from as income_valid,
c3.accno AS expense_accno, c3.new_chart_id AS expense_new_chart, date($transdate) - c3.valid_from as expense_valid,
oe.ordnumber AS ordnumber_oe, oe.transdate AS transdate_oe, oe.cusordnumber AS cusordnumber_oe,
push(@project_ids, $form->{"globalproject_id"}) if ($form->{"globalproject_id"});
- $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS');
+ $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS',
+ 'departments' => 'ALL_DEPARTMENTS');
my %price_factors;
foreach my $pfac (@{ $form->{ALL_PRICE_FACTORS} }) {
$pfac->{formatted_factor} = $form->format_amount($myconfig, $pfac->{factor});
}
+ # lookup department
+ foreach my $dept (@{ $form->{ALL_DEPARTMENTS} }) {
+ next unless $dept->{id} eq $form->{department_id};
+ $form->{department} = $dept->{description};
+ last;
+ }
+
# sort items by partsgroup
for $i (1 .. $form->{rowcount}) {
$partsgroup = "";
partnotes serialnumber reqdate sellprice listprice netprice
discount p_discount discount_sub nodiscount_sub
linetotal nodiscount_linetotal tax_rate projectnumber
- price_factor price_factor_name);
+ price_factor price_factor_name partsgroup);
my $sameitem = "";
foreach $item (sort { $a->[1] cmp $b->[1] } @partsgroup) {
push @{ $form->{listprice} }, $form->{"listprice_$i"};
push @{ $form->{price_factor} }, $price_factor->{formatted_factor};
push @{ $form->{price_factor_name} }, $price_factor->{description};
+ push @{ $form->{partsgroup} }, $form->{"partsgroup_$i"};
my $sellprice = $form->parse_amount($myconfig, $form->{"sellprice_$i"});
my ($dec) = ($sellprice =~ /\.(\d+)/);
push(@{ $form->{description} }, $sameitem);
}
- push(@{ $form->{description} }, $form->format_amount($myconfig, $ref->{qty} * $form->{"qty_$i"}) . qq|, $ref->{partnumber}, $ref->{description}|);
+ push(@{ $form->{description} }, $form->format_amount($myconfig, $ref->{qty} * $form->{"qty_$i"}) . qq|, $ref->{partnumber}, $ref->{description}|);
map({ push(@{ $form->{$_} }, "") } grep({ $_ ne "description" } @arrays));
}
$sth->finish;