Project

General

Profile

« Previous | Next » 

Revision 50206

1. Change queries on stats

View differences:

modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/AlternativeFundingBidDao.java
38 38
        Criteria cr = getSession().createCriteria(Country.class);
39 39
        return (Country) cr.add(Restrictions.eq("id", country)).list().get(0);
40 40
    }
41

  
42
    public String getIdSeq() {
43
        return String.valueOf(getSession().createSQLQuery("select nextval('alternative_funding_bid_seq') as id").list().get(0));
44
    }
41 45
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/RequestDAO.java
716 716

  
717 717
		String NUMBERS_REQUESTS = "select count(*) from request r where r.status in (" + Request.RequestStatus.APPROVED.getCode() + ", "
718 718
				+ Request.RequestStatus.ACCOUNTING_PROCESSING.getCode() + ", " + Request.RequestStatus.ACCOUNTING_PAID.getCode() + ", "
719
				+ Request.RequestStatus.CONDITIONALLY_APPROVED.getCode() + ", " + Request.RequestStatus.ACCOUNTING_ON_HOLD.getCode() + ")" ;
719
				+ Request.RequestStatus.CONDITIONALLY_APPROVED.getCode() + ", " + Request.RequestStatus.ACCOUNTING_ON_HOLD.getCode() + ","
720
				+ Request.RequestStatus.PUBLISHER_FUND_PAID.getCode() + ", " + Request.RequestStatus.LIBRARY_FUND_PAID.getCode() + ")" ;
720 721

  
721 722
		Query q = getSession().createSQLQuery(NUMBERS_REQUESTS);
722 723
		return ((BigInteger) q.list().get(0));
723 724
	}
724 725

  
725 726
	public BigInteger getPaidNumber() {
726
		String NUMBERS_PAID_REQUESTS = "select count(*) from request r where r.status in (" + Request.RequestStatus.ACCOUNTING_PAID.getCode() + ")" ;
727
		String NUMBERS_PAID_REQUESTS = "select count(*) from request r where r.status in ("
728
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ","
729
				+ Request.RequestStatus.LIBRARY_FUND_PAID.getCode() + ","
730
				+ Request.RequestStatus.PUBLISHER_FUND_PAID.getCode() + ")" ;
727 731

  
728 732
		Query q = getSession().createSQLQuery(NUMBERS_PAID_REQUESTS);
729 733
		return ((BigInteger) q.list().get(0));
......
779 783

  
780 784
	public BigInteger getNumberOfPaidRequestsWithDOI() {
781 785
		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 " +
782
				"and r.status=" + Request.RequestStatus.ACCOUNTING_PAID.getCode();
786
				"and r.status=" + Request.RequestStatus.ACCOUNTING_PAID.getCode() +
787
				" or r.status=" + + Request.RequestStatus.LIBRARY_FUND_PAID.getCode() +
788
				" or r.status=" + + Request.RequestStatus.PUBLISHER_FUND_PAID.getCode();
789

  
783 790
		Query q = getSession().createSQLQuery(NUMBERS_PAID_REQUESTS_WITH_DOI);
784 791
		BigInteger result = (BigInteger) q.list().get(0);
785 792
		if(result == null) return BigInteger.valueOf(0);
......
800 807

  
801 808
	public BigInteger getNumberOfPaidPublicationPerArticle(){
802 809
		String NUMBERS_PAID_ARTICLE_REQUESTS = "select count(*) from request r join publication p on r.publication=p.id where r.status in ("
803
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ") and p.type='ARTICLE'" ;
810
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ","
811
				+ Request.RequestStatus.LIBRARY_FUND_PAID.getCode() + ","
812
				+ Request.RequestStatus.PUBLISHER_FUND_PAID.getCode() +
813
				") and p.type='ARTICLE'" ;
804 814
		Query q = getSession().createSQLQuery(NUMBERS_PAID_ARTICLE_REQUESTS);
805 815
		BigInteger result = (BigInteger) q.list().get(0);
806 816
		if(result == null) return BigInteger.valueOf(0);
......
809 819

  
810 820
	public BigInteger getNumberOfPaidPublicationPerMonograph(){
811 821
		String NUMBERS_PAID_MONOGRAPH_REQUESTS = "select count(*) from request r join publication p on r.publication=p.id where r.status in ("
812
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ") and p.type='MONOGRAPH'" ;
822
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ","
823
				+ Request.RequestStatus.LIBRARY_FUND_PAID.getCode() + ","
824
				+ Request.RequestStatus.PUBLISHER_FUND_PAID.getCode() + ") and p.type='MONOGRAPH'" ;
813 825
		Query q = getSession().createSQLQuery(NUMBERS_PAID_MONOGRAPH_REQUESTS);
814 826
		BigInteger result = (BigInteger) q.list().get(0);
815 827
		if(result == null) return BigInteger.valueOf(0);
......
818 830

  
819 831
	public BigInteger getNumberOfPaidPublicationPerBookChapter(){
820 832
		String NUMBERS_PAID_BOOK_CHAPTER_REQUESTS = "select count(*) from request r join publication p on r.publication=p.id where r.status in ("
821
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ") and p.type='BOOK_CHAPTER'" ;
833
				+ Request.RequestStatus.ACCOUNTING_PAID.getCode() + ","
834
				+ Request.RequestStatus.LIBRARY_FUND_PAID.getCode() + ","
835
				+ Request.RequestStatus.PUBLISHER_FUND_PAID.getCode() + ") and p.type='BOOK_CHAPTER'" ;
822 836
		Query q = getSession().createSQLQuery(NUMBERS_PAID_BOOK_CHAPTER_REQUESTS);
823 837
		BigInteger result = (BigInteger) q.list().get(0);
824 838
		if(result == null) return BigInteger.valueOf(0);
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/AlternativeFundingBidManagerImpl.java
183 183

  
184 184
        AlternativeFundingBid bid = new AlternativeFundingBid();
185 185
        bid.setBidName(funding_name);
186
        bid.setId(id);
186
        bid.setId(alternativeFundingBidDao.getIdSeq());
187 187
        bid.setCountry(alternativeFundingBidDao.getCountry(country));
188
        bid.setBidNo(Integer.valueOf(id));
188
        bid.setBidNo(Integer.valueOf(bid.getId()));
189 189
        bid.setTotalAmountRequested(Double.parseDouble(totalAmount));
190 190
        bid.setFirstPayment(Double.parseDouble(totalAmount)/2);
191 191
        bid.setSecondPayment(Double.parseDouble(totalAmount)/2);

Also available in: Unified diff