View | Details | Raw Unified | Return to bug 8037
Collapse All | Expand All

(-)a/C4/Acquisition.pm (-1 / +2 lines)
Lines 2336-2344 sub GetInvoiceDetails { Link Here
2336
    $invoice = $sth->fetchrow_hashref;
2336
    $invoice = $sth->fetchrow_hashref;
2337
2337
2338
    $query = qq{
2338
    $query = qq{
2339
        SELECT aqorders.*, biblio.*
2339
        SELECT aqorders.*, biblio.*, aqorders_items.itemnumber
2340
        FROM aqorders
2340
        FROM aqorders
2341
          LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber
2341
          LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber
2342
          LEFT JOIN aqorders_items ON aqorders.ordernumber = aqorders_items.ordernumber
2342
        WHERE invoiceid = ?
2343
        WHERE invoiceid = ?
2343
    };
2344
    };
2344
    $sth = $dbh->prepare($query);
2345
    $sth = $dbh->prepare($query);
(-)a/C4/Budgets.pm (+25 lines)
Lines 34-39 BEGIN { Link Here
34
	@EXPORT = qw(
34
	@EXPORT = qw(
35
35
36
        &GetBudget
36
        &GetBudget
37
        &GetBudgetByOrderNumber
37
        &GetBudgets
38
        &GetBudgets
38
        &GetBudgetHierarchy
39
        &GetBudgetHierarchy
39
	    &AddBudget
40
	    &AddBudget
Lines 649-654 sub GetBudget { Link Here
649
    return $result;
650
    return $result;
650
}
651
}
651
652
653
=head2 GetBudgetByOrderNumber
654
655
  &GetBudgetByOrderNumber($ordernumber);
656
657
get a specific budget by order number
658
659
=cut
660
661
# -------------------------------------------------------------------
662
sub GetBudgetByOrderNumber {
663
    my ( $ordernumber ) = @_;
664
    my $dbh = C4::Context->dbh;
665
    my $query = "
666
        SELECT aqbudgets.*
667
        FROM   aqbudgets, aqorders
668
        WHERE  ordernumber=?
669
        AND    aqorders.budget_id = aqbudgets.budget_id
670
        ";
671
    my $sth = $dbh->prepare($query);
672
    $sth->execute( $ordernumber );
673
    my $result = $sth->fetchrow_hashref;
674
    return $result;
675
}
676
652
=head2 GetChildBudgetsSpent
677
=head2 GetChildBudgetsSpent
653
678
654
  &GetChildBudgetsSpent($budget-id);
679
  &GetChildBudgetsSpent($budget-id);
(-)a/C4/Reserves.pm (-2 / +10 lines)
Lines 256-264 of the reserves and an arrayref pointing to the reserves for C<$biblionumber>. Link Here
256
sub GetReservesFromBiblionumber {
256
sub GetReservesFromBiblionumber {
257
    my ($biblionumber) = shift or return (0, []);
257
    my ($biblionumber) = shift or return (0, []);
258
    my ($all_dates) = shift;
258
    my ($all_dates) = shift;
259
    my ($itemnumber) = shift;
260
    warn "ITEMNUMBER: $itemnumber";
259
    my $dbh   = C4::Context->dbh;
261
    my $dbh   = C4::Context->dbh;
260
262
261
    # Find the desired items in the reserves
263
    # Find the desired items in the reserves
264
    my @params;
262
    my $query = "
265
    my $query = "
263
        SELECT  branchcode,
266
        SELECT  branchcode,
264
                timestamp AS rtimestamp,
267
                timestamp AS rtimestamp,
Lines 276-287 sub GetReservesFromBiblionumber { Link Here
276
                suspend_until
279
                suspend_until
277
        FROM     reserves
280
        FROM     reserves
278
        WHERE biblionumber = ? ";
281
        WHERE biblionumber = ? ";
282
    push( @params, $biblionumber );
279
    unless ( $all_dates ) {
283
    unless ( $all_dates ) {
280
        $query .= "AND reservedate <= CURRENT_DATE()";
284
        $query .= " AND reservedate <= CURRENT_DATE() ";
285
    }
286
    if ( $itemnumber ) {
287
        $query .= " AND ( itemnumber IS NULL OR itemnumber = ? )";
288
        push( @params, $itemnumber );
281
    }
289
    }
282
    $query .= "ORDER BY priority";
290
    $query .= "ORDER BY priority";
283
    my $sth = $dbh->prepare($query);
291
    my $sth = $dbh->prepare($query);
284
    $sth->execute($biblionumber);
292
    $sth->execute( @params );
285
    my @results;
293
    my @results;
286
    my $i = 0;
294
    my $i = 0;
287
    while ( my $data = $sth->fetchrow_hashref ) {
295
    while ( my $data = $sth->fetchrow_hashref ) {
(-)a/acqui/parcel.pl (-1 / +6 lines)
Lines 67-72 use CGI; Link Here
67
use C4::Output;
67
use C4::Output;
68
use C4::Dates qw/format_date format_date_in_iso/;
68
use C4::Dates qw/format_date format_date_in_iso/;
69
use C4::Suggestions;
69
use C4::Suggestions;
70
use C4::Reserves qw/GetReservesFromBiblionumber/;
70
use JSON;
71
use JSON;
71
72
72
my $input=new CGI;
73
my $input=new CGI;
Lines 180-185 for my $item ( @parcelitems ) { Link Here
180
    $line{invoice} = $invoice->{invoicenumber};
181
    $line{invoice} = $invoice->{invoicenumber};
181
    $line{total} = sprintf($cfstr, $total);
182
    $line{total} = sprintf($cfstr, $total);
182
    $line{booksellerid} = $invoice->{booksellerid};
183
    $line{booksellerid} = $invoice->{booksellerid};
184
    my ($count) = &GetReservesFromBiblionumber($line{biblionumber},undef,$item->{itemnumber});
185
    $line{holds} = $count;
186
    $line{budget} = GetBudgetByOrderNumber( $line{ordernumber} );
183
    $totalprice += $item->{'unitprice'};
187
    $totalprice += $item->{'unitprice'};
184
    $line{unitprice} = sprintf( $cfstr, $item->{'unitprice'} );
188
    $line{unitprice} = sprintf( $cfstr, $item->{'unitprice'} );
185
    my $gste = get_gste( $line{total}, $line{gstrate}, $bookseller );
189
    my $gste = get_gste( $line{total}, $line{gstrate}, $bookseller );
Lines 197-203 for my $item ( @parcelitems ) { Link Here
197
201
198
    if ( $line{parent_ordernumber} != $line{ordernumber} ) {
202
    if ( $line{parent_ordernumber} != $line{ordernumber} ) {
199
        if ( grep { $_->{ordernumber} == $line{parent_ordernumber} }
203
        if ( grep { $_->{ordernumber} == $line{parent_ordernumber} }
200
            @parcelitems )
204
            @parcelitems
205
            )
201
        {
206
        {
202
            $line{cannot_cancel} = 1;
207
            $line{cannot_cancel} = 1;
203
        }
208
        }
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt (-13 / +38 lines)
Lines 1-3 Link Here
1
[% USE currency = format('%.2f') -%]
1
[% INCLUDE 'doc-head-open.inc' %]
2
[% INCLUDE 'doc-head-open.inc' %]
2
<title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( date ) %]
3
<title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( date ) %]
3
            Receipt summary for [% name %] [% IF ( invoice ) %]invoice [% invoice %][% END %] on [% formatteddatereceived %][% ELSE %]Receive orders from [% name %][% END %]</title>
4
            Receipt summary for [% name %] [% IF ( invoice ) %]invoice [% invoice %][% END %] on [% formatteddatereceived %][% ELSE %]Receive orders from [% name %][% END %]</title>
Lines 40-51 Link Here
40
            "iCookieDuration": 60*60*24*1000, // 1000 days
41
            "iCookieDuration": 60*60*24*1000, // 1000 days
41
            "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
42
            "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
42
            "aoColumnDefs": [
43
            "aoColumnDefs": [
43
                { "aTargets": [ 3, -1 ], "bSortable": false, "bSearchable": false },
44
                { "aTargets": [ 4, -1 ], "bSortable": false, "bSearchable": false },
44
            ],
45
            ],
45
            "aoColumns": [
46
            "aoColumns": [
46
                { "sType": "num-html" },
47
                { "sType": "num-html" },
47
                { "sType": "num-html" },
48
                { "sType": "num-html" },
48
                { "sType": "html" },
49
                { "sType": "html" },
50
                { "sType": "html" },
51
                null,
49
                null,
52
                null,
50
                null,
53
                null,
51
                null,
54
                null,
Lines 270-305 Link Here
270
273
271
274
272
   [% IF ( loop_received ) %]
275
   [% IF ( loop_received ) %]
276
       [% SET funds = {} %]
277
       [% SET estimated_total = 0 %]
278
279
       [% FOREACH loop_receive IN loop_received %]
280
           [% SET estimated_total = estimated_total + ( loop_receive.ecost * loop_receive.quantityreceived ) %]
281
           [% SET funds.${ loop_receive.budget.budget_name }.estimated = funds.${ loop_receive.budget.budget_name }.estimated + ( loop_receive.ecost * loop_receive.quantityreceived )%]
282
           [% SET funds.${ loop_receive.budget.budget_name }.actual = funds.${ loop_receive.budget.budget_name }.actual + loop_receive.total %]
283
       [% END %]
284
273
   <form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
285
   <form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
274
    <table id="receivedt">
286
    <table id="receivedt">
275
        <thead>
287
        <thead>
276
	    <tr>
288
	    <tr>
277
		<th>Basket</th>
289
                <th>Basket</th>
278
        <th>Order line</th>
290
                <th>Order Line</th>
279
		<th>Summary</th>
291
                <th>Holds</th>
280
        <th>View record</th>
292
                <th>Summary</th>
281
		<th>Quantity</th>  
293
                <th>View record</th>
282
		<th>Est cost</th>
294
                <th>Quantity</th>
283
		<th>Actual cost</th>
295
                <th>Fund</th>
284
		<th>TOTAL</th>
296
                <th>Est cost</th>
297
                <th>Actual cost</th>
298
                <th>TOTAL</th>
285
        <th></th>
299
        <th></th>
286
	    </tr>
300
	    </tr>
287
    </thead>
301
    </thead>
288
    <tfoot>
302
    <tfoot>
303
        [% FOREACH key IN funds.keys.sort %]
304
            <tr>
305
                <td colspan="6" class="total"> &nbsp; </td>
306
                <td><i>Subtotal for</i> [% key %]</td>
307
                <td>[% currency( funds.$key.estimated ) %]</td>
308
                <td>[% currency( funds.$key.actual ) %]</td>
309
                <td>&nbsp;</td>
310
                <td>&nbsp;</td>
311
            </tr>
312
        [% END %]
289
        <tr>
313
        <tr>
290
            <th colspan="7" class="total">Total tax exc.</th>
314
            <th colspan="9" class="total">Total tax exc.</th>
291
            <th>[% total_gste %]</th>
315
            <th>[% total_gste %]</th>
292
            <th></th>
316
            <th></th>
293
        </tr>
317
        </tr>
294
        [% FOREACH book_foot IN book_foot_loop %]
318
        [% FOREACH book_foot IN book_foot_loop %]
295
            <tr>
319
            <tr>
296
                <th colspan="7">Total (GST [% book_foot.gstrate * 100 | format ("%.1f") %]%)</th>
320
                <th colspan="9">Total (GST [% book_foot.gstrate * 100 | format ("%.1f") %]%)</th>
297
                <th>[% book_foot.value %]</th>
321
                <th>[% book_foot.value %]</th>
298
                <th></th>
322
                <th></th>
299
            </tr>
323
            </tr>
300
        [% END %]
324
        [% END %]
301
        <tr>
325
        <tr>
302
            <th colspan="7" class="total">Total tax inc.</th>
326
            <th colspan="9" class="total">Total tax inc.</th>
303
            <th>[% total_gsti %]</th>
327
            <th>[% total_gsti %]</th>
304
            <th></th>
328
            <th></th>
305
        </tr>
329
        </tr>
Lines 309-314 Link Here
309
            <tr>
333
            <tr>
310
                <td><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a></td>
334
                <td><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a></td>
311
                <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
335
                <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
336
                <td>[% IF loop_receive.holds %]<span class="error"><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.holds %]</a></span>[% END %]</td>
312
                <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
337
                <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
313
                [% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
338
                [% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
314
                [% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
339
                [% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
Lines 321-326 Link Here
321
                </td>
346
                </td>
322
                <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
347
                <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
323
                <td>[% loop_receive.quantityreceived %]</td>
348
                <td>[% loop_receive.quantityreceived %]</td>
349
                <td>[% loop_receive.budget.budget_name %]</td>
324
                <td>[% loop_receive.ecost %]</td>
350
                <td>[% loop_receive.ecost %]</td>
325
                <td>[% loop_receive.unitprice %]</td>
351
                <td>[% loop_receive.unitprice %]</td>
326
                <td>[% loop_receive.total %]</td>
352
                <td>[% loop_receive.total %]</td>
327
- 

Return to bug 8037