===== Poslední aktivita ===== Pro možnost přidat do editačního programu Adresář nebo Subjekty údaje z aktivit existuje metoda ohaktDao.getPoslAktivita. Pomocí této metody použité v groovy makru pohledu lze podat aktivitu vyfiltrovanou dle požadovaných parametrů s max. nebo min. hodnotou datumu (poslední nebo první aktivitu). Parametry pro filtr i název datumového atributu pro hledání min./max. hodnoty lze zadat v parametrech metody. **Postup přidání atributu z Aktivity do pohledu** 1) **Vytvoříme vlastní verzi pohledu**, kam přidáme nově požadované položky, např. bychom chtěli přidat tyto položky: {{:orsoftopen:oh1:crm:ohakt:poslakt0.png?|}} 2) **Do pohledu přidáme požadovaná pole** a pojmenujeme je: {{:orsoftopen:oh1:crm:ohakt:poslakt1.png?|}} 3) Pro naplnění položek **připojíme k pohledu Groovy makro**, v tomto případě bude vypadat takto: import cz.ortex.groovy.GroovyBrowsePar; import cz.ortex.util.o0.O0Data; import cz.ortex.util.o0.O0Session; import cz.ortex.util.o0.AppContext; import cz.ortex.model.Ohakt; import cz.ortex.model.O6a; import cz.ortex.apidao.oh1.crm.OhaktDao; GroovyBrowsePar editUvod(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { //zde vypiste kod return naplnGroovyBrowsePar(entity, dotahovane, groovyBrowsePar, o0session, browsePanel); } GroovyBrowsePar validate(Object entity, O0Data dotahovane, String fieldName, Object fieldValue, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { //zde vypiste kod } GroovyBrowsePar noEditDetail(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { //zde vypiste kod return naplnGroovyBrowsePar(entity, dotahovane, groovyBrowsePar, o0session, browsePanel); } GroovyBrowsePar kontrolaVeta(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { //zde vypiste kod } String getPgmVars(Object entity, Object dotahovane) { //zde vypiste kod } GroovyBrowsePar naplnGroovyBrowsePar(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { HashMap// componentValues = new HashMap(); Date poDatum = doctiZaFirmuPoDatum(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); String predmet = doctiZaFirmuPredmet(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); componentValues.put("zaFirmuPoDatum", poDatum); componentValues.put("zaFirmuPredmet", predmet); poDatum = doctiMojeZaFirmuPoDatum(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); predmet = doctiMojeZaFirmuPredmet(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); componentValues.put("mojeZaFirmuPoDatum", poDatum); componentValues.put("mojeZaFirmuPredmet", predmet); poDatum = doctiZaPobockuPoDatum(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); predmet = doctiZaPobockuPredmet(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); componentValues.put("zaPobockuPoDatum", poDatum); componentValues.put("zaPobockuPredmet", predmet); poDatum = doctiSchuzkaZaFirmuPoDatum(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); predmet = doctiSchuzkaZaFirmuPredmet(entity , dotahovane, groovyBrowsePar, o0session, browsePanel); componentValues.put("schuzkaZaFirmuPoDatum", poDatum); componentValues.put("schuzkaZaFirmuPredmet", predmet); groovyBrowsePar.setComponentValues(componentValues); return groovyBrowsePar; } Date doctiZaFirmuPoDatum(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { Date poDatum = null; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {poDatum = poslAkt.getPoDatum();} return poDatum; } String doctiZaFirmuPredmet(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { String predmet = " "; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {predmet = poslAkt.getPredmet();} return predmet; } Date doctiMojeZaFirmuPoDatum(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { Date poDatum = null; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu filtrKeysValues.put("osobyByIdpkOsoby.oscis", o0session.getUserNumber()); // moje Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {poDatum = poslAkt.getPoDatum();} return poDatum; } String doctiMojeZaFirmuPredmet(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { String predmet = " "; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu filtrKeysValues.put("osobyByIdpkOsoby.oscis", o0session.getUserNumber()); // moje Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {predmet = poslAkt.getPredmet();} return predmet; } Date doctiZaPobockuPoDatum(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { Date poDatum = null; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("CPobockaFirmy.o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {poDatum = poslAkt.getPoDatum();} return poDatum; } String doctiZaPobockuPredmet(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { String predmet = " "; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("CPobockaFirmy.o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {predmet = poslAkt.getPredmet();} return predmet; } Date doctiSchuzkaZaFirmuPoDatum(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { Date poDatum = null; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu filtrKeysValues.put("o0ciselnikByIdpkOhaktdruh.kodaCiseln", "SCH"); // schůzka Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {poDatum = poslAkt.getPoDatum();} return poDatum; } String doctiSchuzkaZaFirmuPredmet(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { String predmet = " "; HashMap// filtrKeysValues = new HashMap//(); filtrKeysValues.put("o6a.dkaNr", ((O6a)entity).getDkaNr()); // za firmu filtrKeysValues.put("o0ciselnikByIdpkOhaktdruh.kodaCiseln", "SCH"); // schůzka Ohakt poslAkt = doctiPoslAkt(entity , dotahovane, groovyBrowsePar, o0session, browsePanel, "poDatum", true, filtrKeysValues); if (poslAkt != null) {predmet = poslAkt.getPredmet();} return predmet; } Ohakt doctiPoslAkt(O6a o6a, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel, String kritDatumAtrib, Boolean kritDatumMax, HashMap// filtrKeysValues) { Ohakt ohakt = null; if (o6a != null && o6a.getDkaNr() != null) { OhaktDao dao = (OhaktDao) AppContext.getDaoService("ohaktDao"); if (dao != null) { ohakt = dao.getPoslAktivita(kritDatumAtrib, kritDatumMax, filtrKeysValues); } } return ohakt; }