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