====== 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();
}
}