/);
sub circ_count {
- my( $self, $client, $copyid, $range ) = @_;
+ my( $self, $client, $copyid ) = @_;
+
+ my $count = new_editor()->json_query({
+ select => {
+ circbyyr => [{
+ column => 'count',
+ transform => 'sum',
+ aggregate => 1
+ }]
+ },
+ from => 'circbyyr',
+ where => {'+circbyyr' => {copy => $copyid}}
+ })->[0]->{count};
- return $U->simplereq(
- 'open-ils.storage',
- 'open-ils.storage.asset.copy.circ_count',
- $copyid, $range
- );
+ return {
+ total => {
+ when => 'total',
+ count => $count
+ }
+ };
}
-
__PACKAGE__->register_method(
method => 'fetch_notes',
authoritative => 1,
use MARC::Record;
use MARC::File::XML ( BinaryEncoding => 'UTF-8' );
-sub circ_count {
- my $self = shift;
- my $client = shift;
- my $copy = shift;
- my $granularity = shift;
-
- my $c_table = action::circulation->table;
-
- if (lc($granularity) eq 'year') {
- $granularity = ", to_char(xact_start, 'YYYY') as when";
- } elsif (lc($granularity) eq 'month') {
- $granularity = ", to_char(xact_start, 'YYYY-MM') as when";
- } elsif (lc($granularity) eq 'day') {
- $granularity = ", to_char(xact_start, 'YYYY-MM-DD') as when";
- } else {
- $granularity = ", 'total' as when";
- }
-
- my $SQL = <<" SQL";
- SELECT COUNT(*) as count $granularity
- FROM $c_table
- WHERE target_copy = ?
- SQL
-
-
- if ($granularity !~ /total/o) {
- $SQL .= ' GROUP BY 2 ORDER BY 2';
- }
-
- $log->debug("Circ count SQL [$SQL]", DEBUG);
-
- return action::circulation->db_Main->selectall_hashref($SQL, 'when', {}, $copy);
-}
-__PACKAGE__->register_method(
- method => 'circ_count',
- api_name => 'open-ils.storage.asset.copy.circ_count',
- argc => 1,
-);
-
-
#our $_default_subfield_map = {
# call_number => $cn,
# barcode => $bc,