Project

General

Profile

« Previous | Next » 

Revision 41316

Added number of paid requests per publication

View differences:

StatsManagerImpl.java
39 39
	public static final String NUMBERS_AVERAGE_PER_BOOK_CHAPTER = "select avg(apc_paid)::INTEGER from request r join publication p on r.publication=p.id where p.type='BOOK_CHAPTER'";
40 40
	public static final String NUMBERS_PAID_REQUESTS_WITH_DOI = "select count(*) from request r join publication p on r.publication=p.id where p.doi is not null and r.status=" + Request.RequestStatus.ACCOUNTING_PAID.getCode();
41 41
	public static final String NUMBERS_APPROVED_REQUESTS_WITH_DOI = "select count(*) from request r join publication p on r.publication=p.id where p.doi is not null and r.status in (" + Request.RequestStatus.APPROVED.getCode() + ", " + Request.RequestStatus.ACCOUNTING_PROCESSING.getCode() + ", " + Request.RequestStatus.ACCOUNTING_PAID.getCode() + ", " + Request.RequestStatus.CONDITIONALLY_APPROVED.getCode() + ", " + Request.RequestStatus.ACCOUNTING_ON_HOLD.getCode() + ", " + Request.RequestStatus.CONDITIONALLY_APPROVED.getCode() + ")";
42
	public static final String NUMBERS_PAID_ARTICLE_REQUESTS = "select count(*) from request r join publication p on r.publication=p.id where r.status in (" + Request.RequestStatus.ACCOUNTING_PAID.getCode() + ") and p.type='ARTICLE'" ;
43
	public static final String NUMBERS_PAID_MONOGRAPH_REQUESTS = "select count(*) from request r join publication p on r.publication=p.id where r.status in (" + Request.RequestStatus.ACCOUNTING_PAID.getCode() + ") and p.type='MONOGRAPH'" ;
44
	public static final String NUMBERS_PAID_BOOK_CHAPTER_REQUESTS = "select count(*) from request r join publication p on r.publication=p.id where r.status in (" + Request.RequestStatus.ACCOUNTING_PAID.getCode() + ") and p.type='BOOK_CHAPTER'" ;
42 45

  
43 46
	public static final String SERIES_COUNTRY = "select c.name as category, count(r.id) as count, sum(apc_paid) as apc, avg(apc_paid) as avgapc from request r join organisation o on r.organization=o.id join country c on c.id=o.country %WHERE% group by c.name";
44 47
	public static final String SERIES_STATUS = "select r.status as category, count(r.id) as count, sum(apc_paid) as apc, avg(apc_paid) as avgapc from request r %WHERE% group by r.status";
......
92 95
				case APPROVED_REQUESTS_WITH_DOI:
93 96
					map.put(Numbers.Category.APPROVED_REQUESTS_WITH_DOI, jdbcTemplate.queryForObject(NUMBERS_APPROVED_REQUESTS_WITH_DOI, Integer.class));
94 97
					break;
98
				case PAID_ARTICLE_REQUESTS:
99
					map.put(Numbers.Category.PAID_ARTICLE_REQUESTS, jdbcTemplate.queryForObject(NUMBERS_PAID_ARTICLE_REQUESTS, Integer.class));
100
					break;
101
				case PAID_MONOGRAPH_REQUESTS:
102
					map.put(Numbers.Category.PAID_MONOGRAPH_REQUESTS, jdbcTemplate.queryForObject(NUMBERS_PAID_MONOGRAPH_REQUESTS, Integer.class));
103
					break;
104
				case PAID_BOOK_CHAPTER_REQUESTS:
105
					map.put(Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS, jdbcTemplate.queryForObject(NUMBERS_PAID_BOOK_CHAPTER_REQUESTS, Integer.class));
106
					break;
95 107
			}
96 108
		}
97 109

  

Also available in: Unified diff