Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- List getZaduziliNaUpisu(){
- try{
- EntityManager em=JPAUtil.getEntityManager();
- Query q=em.createQuery("SELECT c FROM Clan c join c.zaduzenjes z WHERE z.datumZaduzenja LIKE c.datumUpisa");
- List rez=(List)q.getResultList();
- em.close();
- return rez;
- } catch(Exception e){
- e.printStackTrace();
- return null;
- }
- }
- public int getBrojUpisanihClanovaZaPeriod(Date datumOd, Date datumDo)
- {
- EntityManager em = JPAUtil.getEntityManager();
- TypedQuery q = em.createQuery("SELECT COUNT(c) FROM Clan c WHERE c.datumUpisa BETWEEN :dO AND :dD", Long.class);
- q.setParameter("dO", datumOd);
- q.setParameter("dD", datumDo);
- Long l = q.getSingleResult();
- int br = l.intValue();
- return br;
- }
- public List kreirajKategorijuIDodeliRodjenima(String nazivKategorije, Date datumOd, Date datumDo)
- {
- EntityManager em = JPAUtil.getEntityManager();
- em.getTransaction().begin();
- TypedQuery q = em.createQuery("SELECT c FROM Clan c WHERE c.datumRodjenja BETWEEN :dO AND :dD", Clan.class);
- q.setParameter("dO", datumOd);
- q.setParameter("dD", datumDo);
- List lista = q.getResultList();
- Kategorija k = new Kategorija();
- k.setNazivkategorije(nazivKategorije);
- for (Clan c : lista)
- {
- c = k.addClan(c);
- }
- em.persist(k);
- em.getTransaction().commit();
- em.close();
- return lista;
- }
- /**
- *
- *
- * Operacija vraca sve clanove koji imaju nerazduzenih zaduzenja
- */
- public List<Clan> getNerazduzeniClanovi(EntityManager em){
- TypedQuery<Clan> tq = em.createQuery("SELECT c FROM Clan c join fetch c.zaduzenjes z "
- + "WHERE z.datumVracanja is null", Clan.class);
- List<Clan> retVal = tq.getResultList();
- return retVal;
- }
- /**
- * Operacija vraca sva zaduzenja clana sa clanskim brojem @param clanskiBroj
- * koju su zaduzena za dan @param datumZaduzenja
- */
- public List<Zaduzenje> getZaduzenjaClana(EntityManager em,Integer clanskiBroj, Date datumZaduzenja){
- TypedQuery<Zaduzenje> tq = em.createQuery("SELECT z FROM Zaduzenje z WHERE "
- + "z.clan.clanskiBroj like :zadPar and z.datumZaduzenja = :datumParam ",Zaduzenje.class);
- tq.setParameter("zadPar", clanskiBroj);
- tq.setParameter("datumParam", datumZaduzenja);
- List<Zaduzenje> retrez = tq.getResultList();
- return retrez;
- }
- /**
- * Operacija vraca sve clanove koji su se uclanili u biblioteku u periodu od @param datumOd
- * do @param datumDo i zaduzili su primerak sa inventarnim brojem @param invBroj
- * @return
- */
- public int intClanoviUclanjenjeUPerioduSaZaduzenjem(EntityManager em, Date datumOd, Date datumDo, Integer invBroj){
- Query tq = em.createQuery("SELECT c FROM Clan c join fetch c.zaduzenjes z WHERE "
- + "c.datumUpisa between :datumOd and :datumDo and z.primerak.invBroj = :invBroj "
- , Clan.class);
- tq.setParameter("datumOd", datumOd);
- tq.setParameter("datumDo", datumDo);
- tq.setParameter("invBroj", invBroj);
- int retVal = tq.getResultList().size();
- return retVal;
- }
- /**
- *
- * Snimanje novog clana u bazu
- *
- * @param em
- * @param ime
- * @param prezime
- * @param adresa
- * @param datumRodjenja
- * @param datumUpisa
- * @param kat
- * @return izgenerisan clanski broj
- */
- public Integer saveClan(EntityManager em, String ime,
- String prezime, String adresa, Date datumRodjenja, Date datumUpisa, Kategorija kat){
- try{
- em.getTransaction().begin();
- Clan c = new Clan();
- c.setIme(ime);
- c.setPrezime(prezime);
- c.setAdresa(adresa);
- c.setDatumRodjenja(datumRodjenja);
- c.setDatumUpisa(datumUpisa);
- c.setKategorija(kat);
- em.persist(c);
- em.getTransaction().commit();
- return c.getClanskiBroj();
- }catch(Exception e){
- e.printStackTrace();
- return null;
- }
- }
- /**
- *
- * kreiraj novu kategoriju sa nazivom "nazivKategorije" i dodeljuje je svim clanovima rodjenim
- * u periodu izmedju dva datuma (datumOd i datumDo)
- *
- */
- public List<Clan> kreirajKategorijuIDodeliRodjenjima(EntityManager em,String nazivKategorije, Date datumOd, Date datumDo) {
- //kreira novu kategoriju i taj deo radi
- try{
- em.getTransaction().begin();
- Kategorija k = new Kategorija();
- k.setNazivkategorije(nazivKategorije);
- em.persist(k);
- em.getTransaction().commit();
- } catch(Exception e){
- e.printStackTrace();
- return null;
- }
- //ovo je samo ideja i nista ispod ne radi
- Query query = em.createQuery("UPDATE Clan set kategorija = '82' WHERE datumRodjenja between :datumOd and :datumDo");
- query.setParameter("datumOd", 1000-01-01);
- query.setParameter("datumDo", 2015-12-31);
- int result = query.executeUpdate();
- System.out.println(result);
- @SuppressWarnings("unchecked")
- List<Clan> retVal = query.getResultList();
- return retVal;
- }
- // 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