Lines 145-165
if ( $selected_accts ) {
Link Here
|
145 |
} |
145 |
} |
146 |
my @acc = split /,/, $selected_accts; |
146 |
my @acc = split /,/, $selected_accts; |
147 |
|
147 |
|
148 |
my $selected_accountlines = Koha::Account::Lines->search( |
148 |
my $search_params = { |
149 |
{ |
149 |
borrowernumber => $borrowernumber, |
150 |
borrowernumber => $borrowernumber, |
|
|
151 |
amountoutstanding => { '<>' => 0 }, |
150 |
amountoutstanding => { '<>' => 0 }, |
152 |
accountlines_id => { 'in' => \@acc }, |
151 |
accountlines_id => { 'in' => \@acc }, |
153 |
}, |
152 |
}; |
|
|
153 |
|
154 |
my @selected_accountlines = Koha::Account::Lines->search( |
155 |
$search_params, |
154 |
{ order_by => 'date' } |
156 |
{ order_by => 'date' } |
155 |
); |
157 |
); |
156 |
|
158 |
|
157 |
$total_due = $selected_accountlines->_resultset->get_column('amountoutstanding')->sum(); |
159 |
my $sum = Koha::Account::Lines->search( |
158 |
|
160 |
$search_params, |
159 |
@selected_accountlines = $selected_accountlines->as_list; |
161 |
{ |
|
|
162 |
select => [ { sum => 'amountoutstanding' } ], |
163 |
as => [ 'total_amountoutstanding'], |
164 |
} |
165 |
); |
166 |
$total_due = $sum->_resultset->first->get_column('total_amountoutstanding'); |
160 |
} |
167 |
} |
161 |
|
168 |
|
162 |
|
|
|
163 |
if ( $total_paid and $total_paid ne '0.00' ) { |
169 |
if ( $total_paid and $total_paid ne '0.00' ) { |
164 |
$total_paid = $total_due if (abs($total_paid - $total_due) < 0.01) && C4::Context->preference('RoundFinesAtPayment'); |
170 |
$total_paid = $total_due if (abs($total_paid - $total_due) < 0.01) && C4::Context->preference('RoundFinesAtPayment'); |
165 |
if ( $total_paid < 0 or $total_paid > $total_due ) { |
171 |
if ( $total_paid < 0 or $total_paid > $total_due ) { |
166 |
- |
|
|