Obsah
Groovy makra v Openu
5. Drobné utility
5.1. Formát datumu
import cz.ortex.model.PpfHl; import java.text.SimpleDateFormat; import java.util.Date; String getSplatnost(Ofwo ofwo, Ofwp ofwp, Ofwk ofwk, PpfHl primZazn, O0Session o0Session) { //zde vypište kód //return primZazn.getDatSplatnost(); Date datum = primZazn.getDatSplatnost(); SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy"); String datumSplatnosti = format.format(datum); return datumSplatnosti; }
5.2. Formát obnosu
String getObnos(Ofwo ofwo, Ofwp ofwp, Ofwk ofwk, PpfHl primZazn, O0Session o0Session) { //zde vypište kód String num01Str = "0,00"; if (primZazn.getObnosFakt() != null) { num01Str = String.format("%,.2f", primZazn.getObnosFakt()); } return num01Str; }
nebo
import java.text.DecimalFormat; String getObnos(Ofwo ofwo, Ofwp ofwp, Ofwk ofwk, PpfHl primZazn, O0Session o0Session) { //zde vypište kód DecimalFormat format = new DecimalFormat("#,##0.00"); return format.format(primZazn.getObnosFakt()); }
5.3. Výpočet tuzemské měny z cizí
Zde pro objednávku – nq10
import java.math.BigDecimal; BigDecimal obnos = BigDecimal.ZERO; obnos = nq10.getDzakl(); if ((nq10.getKurz() != null) && (nq10.getKurz().compareTo(BigDecimal.ZERO) != 0)) { obnos = obnos.multiply(nq10.getKurz()); if ((nq10.getKoef() != null) && (nq10.getKoef().compareTo(BigDecimal.ZERO) >= 0)) { obnos = obnos.divide(nq10.getKoef()); } }
5.4. Dočtení osoby
Zde z WF – dle idpk
Osoby osoby = (Osoby) OEntityUtil.getRecordByParam(Osoby.class.getCanonicalName(), "idpk", ofwk.getUcastnikIdpk()); if (osoby != null) { … }
Zde z objednávek – dle oscis
Osoby osoby = (Osoby) OEntityUtil.getRecordByParam(Osoby.class.getCanonicalName(), "oscis", nq10.getPrac2()); if (osoby != null) { … }
5.5. Dočtení z číselníku
Do sloupce browsu – dočtení proběhne na serveru.
import cz.ortex.util.o0.OEntityUtil; import cz.ortex.util.o0.O0StringUtil; import cz.ortex.model.O0ciselnik; import cz.ortex.model.Lcicen; import cz.ortex.impldao.o0.ciseln.O0ciselnikDaoImpl; Object getCellValue(Lcicen entity, Object dotahovane) { if (entity != null) { O0ciselnikDaoImpl o0ciselnikDaoImpl = new O0ciselnikDaoImpl(); if (o0ciselnikDaoImpl != null) { O0ciselnik cis = o0ciselnikDaoImpl.getByKod("L0CISSK", entity.getSsk1()); if (cis != null) { return cis.getHodCiseln(); } } } return " "; }
Do detailu – dočtení proběhne na klientu:
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.util.o0.OEntityUtil; import cz.ortex.util.o0.O0StringUtil; import cz.ortex.model.O0ciselnik; import cz.ortex.model.Nqz1; import cz.ortex.apidao.o0.ciseln.O0ciselnikDao; GroovyBrowsePar editUvod(Object entity, O0Data dotahovane, GroovyBrowsePar groovyBrowsePar, O0Session o0session, Object browsePanel) { //zde vypiste kod if (entity != null) { O0ciselnikDao o0ciselnikDao = (O0ciselnikDao) AppContext.getDaoService("o0ciselnikDao"); if (o0ciselnikDao != null) { O0ciselnik cis = o0ciselnikDao.getByKod("L0CISSK", entity.getKomodita()); if (cis != null) { … } } } return groovyBrowsePar; }
5.6. Převos string na integer
String garantS1 = cis.getHodCiselnS1(); if (O0StringUtil.notBlank(garantS1)) { Integer oscis = Integer.parseInt(garantS1); … }
5.7. Složení jména a přijmení
Spojení dvou řetězců s oddělovačem – zde „ “
String prJm = O0StringUtil.slozit(osoby.getJmPrijm(), osoby.getJmJmeno(), " ");
5.8. Zjištění uživatele na serveru
Na klientu se používá AppContext, na serveru je třeba použít O0Session
import cz.ortex.util.o0.O0Session; import cz.ortex.aop.OMethodAspect; import cz.ortex.impldao.o0.O0DaoImpl; Object getCellValue(Object entity, Object dotahovane) { //zde vypiste kod Object o = OMethodAspect.getRemoteByThread(java.lang.Thread.currentThread()); if (o instanceof O0DaoImpl) { O0DaoImpl dao = (O0DaoImpl) o; O0Session o0Session = dao.getOrsoftSession(); return o0Session.getUserNumber(); } }