Advertisement
Masinac

IS2

Mar 31st, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.71 KB | None | 0 0
  1. List getZaduziliNaUpisu(){
  2.     try{
  3.         EntityManager em=JPAUtil.getEntityManager();
  4.         Query q=em.createQuery("SELECT c FROM Clan c join c.zaduzenjes z WHERE z.datumZaduzenja LIKE c.datumUpisa");
  5.         List rez=(List)q.getResultList();
  6.         em.close();
  7.         return rez;
  8.     }  catch(Exception e){
  9.         e.printStackTrace();
  10.         return null;
  11.     }
  12.  
  13. }
  14.  
  15. public int getBrojUpisanihClanovaZaPeriod(Date datumOd, Date datumDo)
  16. {
  17.     EntityManager em = JPAUtil.getEntityManager();
  18.     TypedQuery q = em.createQuery("SELECT COUNT(c) FROM Clan c WHERE c.datumUpisa BETWEEN :dO AND :dD", Long.class);
  19.     q.setParameter("dO", datumOd);
  20.     q.setParameter("dD", datumDo);
  21.     Long l = q.getSingleResult();
  22.     int br = l.intValue();
  23.     return br;
  24. }
  25.  
  26. public List kreirajKategorijuIDodeliRodjenima(String nazivKategorije, Date datumOd, Date datumDo)
  27. {
  28.     EntityManager em = JPAUtil.getEntityManager();
  29.     em.getTransaction().begin();
  30.     TypedQuery q = em.createQuery("SELECT c FROM Clan c WHERE c.datumRodjenja BETWEEN :dO AND :dD", Clan.class);
  31.     q.setParameter("dO", datumOd);
  32.     q.setParameter("dD", datumDo);
  33.     List lista = q.getResultList();
  34.     Kategorija k = new Kategorija();
  35.     k.setNazivkategorije(nazivKategorije);
  36.     for (Clan c : lista)
  37.     {
  38.         c = k.addClan(c);
  39.     }
  40.     em.persist(k);
  41.     em.getTransaction().commit();
  42.     em.close();
  43.     return lista;
  44. }
  45.  
  46. /**
  47. *
  48. *
  49. * Operacija vraca sve clanove koji imaju nerazduzenih zaduzenja
  50. */
  51.    
  52.     public List<Clan> getNerazduzeniClanovi(EntityManager em){
  53.         TypedQuery<Clan> tq = em.createQuery("SELECT c FROM Clan c join fetch c.zaduzenjes z "
  54.                 + "WHERE z.datumVracanja is null", Clan.class);
  55.         List<Clan> retVal = tq.getResultList();
  56.         return retVal;
  57.     }
  58.  
  59.  
  60. /**
  61. * Operacija vraca sva zaduzenja clana sa clanskim brojem @param clanskiBroj
  62. * koju su zaduzena za dan @param datumZaduzenja
  63. */
  64.    
  65.     public List<Zaduzenje> getZaduzenjaClana(EntityManager em,Integer clanskiBroj, Date datumZaduzenja){
  66.         TypedQuery<Zaduzenje> tq = em.createQuery("SELECT z FROM Zaduzenje z WHERE "
  67.                 + "z.clan.clanskiBroj like :zadPar and z.datumZaduzenja = :datumParam ",Zaduzenje.class);
  68.         tq.setParameter("zadPar", clanskiBroj);
  69.         tq.setParameter("datumParam", datumZaduzenja);
  70.         List<Zaduzenje> retrez = tq.getResultList();
  71.         return retrez;
  72.     }
  73.  
  74.  
  75.  
  76. /**
  77. * Operacija vraca sve clanove koji su se uclanili u biblioteku u periodu od @param datumOd
  78. *  do @param datumDo i zaduzili su primerak sa inventarnim brojem @param invBroj
  79. * @return
  80. */
  81.    
  82.     public int intClanoviUclanjenjeUPerioduSaZaduzenjem(EntityManager em, Date datumOd, Date datumDo, Integer invBroj){
  83.         Query  tq = em.createQuery("SELECT c FROM Clan c join fetch c.zaduzenjes z WHERE "
  84.                 + "c.datumUpisa between :datumOd and :datumDo and z.primerak.invBroj = :invBroj "
  85.                 , Clan.class);
  86.         tq.setParameter("datumOd", datumOd);
  87.         tq.setParameter("datumDo", datumDo);
  88.         tq.setParameter("invBroj", invBroj);
  89.         int retVal = tq.getResultList().size();
  90.         return retVal;
  91.     }
  92.  
  93.  
  94.  
  95. /**
  96. *
  97. * Snimanje novog clana u bazu
  98. *
  99. * @param em
  100. * @param ime
  101. * @param prezime
  102. * @param adresa
  103. * @param datumRodjenja
  104. * @param datumUpisa
  105. * @param kat
  106. * @return izgenerisan clanski broj
  107. */
  108.    
  109.     public Integer saveClan(EntityManager em, String ime,
  110.             String prezime, String adresa, Date datumRodjenja, Date datumUpisa, Kategorija kat){
  111.          try{
  112.             em.getTransaction().begin();
  113.             Clan c = new Clan();
  114.             c.setIme(ime);
  115.             c.setPrezime(prezime);
  116.             c.setAdresa(adresa);
  117.             c.setDatumRodjenja(datumRodjenja);
  118.             c.setDatumUpisa(datumUpisa);
  119.             c.setKategorija(kat);
  120.             em.persist(c);         
  121.             em.getTransaction().commit();
  122.             return c.getClanskiBroj();         
  123.         }catch(Exception e){
  124.             e.printStackTrace();
  125.             return null;
  126.         }
  127.     }
  128.  
  129. /**
  130. *
  131. * kreiraj novu kategoriju sa nazivom "nazivKategorije" i dodeljuje je svim clanovima rodjenim
  132. * u periodu izmedju dva datuma (datumOd i datumDo)
  133. *
  134. */
  135. public List<Clan> kreirajKategorijuIDodeliRodjenjima(EntityManager em,String nazivKategorije, Date datumOd, Date datumDo) {
  136.        
  137.         //kreira novu kategoriju i taj deo radi
  138.     try{
  139.         em.getTransaction().begin();
  140.         Kategorija k = new Kategorija();
  141.         k.setNazivkategorije(nazivKategorije);
  142.         em.persist(k);
  143.         em.getTransaction().commit();
  144.     } catch(Exception e){
  145.         e.printStackTrace();
  146.         return null;
  147.     }
  148.        
  149.     //ovo je samo ideja i nista ispod ne radi
  150.     Query query = em.createQuery("UPDATE Clan set kategorija = '82' WHERE datumRodjenja between :datumOd and :datumDo");
  151.     query.setParameter("datumOd", 1000-01-01);
  152.     query.setParameter("datumDo", 2015-12-31);
  153.     int result = query.executeUpdate();
  154.     System.out.println(result);
  155.     @SuppressWarnings("unchecked")
  156.     List<Clan> retVal = query.getResultList();
  157.     return retVal;
  158. }
  159.  
  160. // jos gomila primera na : http://hiddensciencex.blogspot.com/2013/04/is2-hql-upiti-i-kriterijumi.html
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement