====== Postup nastavení importu Windchill =======
====== Nastavení přepínačů ======
Administrace > Nástroje administrátora > Objekty systému > Řízené objekty\\
Vyhledat KonstrKusImport\\
Záložka Přepínače\\
Vyhledat přepínač KonstrKusImportSchvalTransformuj\\
Záložka Firemní\\
Založit\\
Vybrat z poptextu **Schválení a transformace**\\
Uložit\\
{{:orfertopen:lp:konstrkusimport:cfiremninastavenischvaleni.png?800|Nastavení přepínače schválení}}\\
Podobně přepínač varianta\\
Vyhledat přepínač KonstrKusImportVarianta\\
Záložka Firemní\\
Založit\\
Zapsat **Deprag**\\
Uložit\\
====== Nastavení parametrů příchozích souborů ======
== Založit agendu AXA ==
Administrace > MSK - Webové služby > Agendy komunikace\\
Agenda - WINDCHILL\\
Cílový systém - OR-SYSTEM\\
Odkaz na úlohu - 58 CSTANDKUS_IMPORT (předpokládá se, že bude řešena logika třídou cz.orcz.mskws.CStandKusImport)\\
{{:orfertopen:lp:konstrkusimport:axa.png?400|Správa agend AXA}}
== Založit parametr příchozích souborů Fmp ==
Administrace > MSK - Webové služby > Příchozí/odchozí soubory > Parametry příchozích/odchozích souborů \\
Vstup/Výstup - Import s podporou Groovy do OR-SYSTEM Open (vybrat z poptextu - hodnotu "w"\\
Adresář pro uložení - libovolný např import-g - založit na serveru relativně k datovému adresáři, tedy např. /dlf1/oropen/cvicna/import-g\\
Adresář protokolu - libovolný např import-g/protokoly - založit podobně jako předchozí bod na serveru\\
{{:orfertopen:lp:konstrkusimport:axa.png?400|Parametry příchozích souborů}}
== Založit agendu souborů Fma ==
Administrace > MSK - Webové služby > Příchozí/odchozí soubory > Agendy souborů \\
Vstupní/Výstupní - vybrat parametr z předchozího kroku - Import s podporou Groovy maker do OR-SYSTEM Open\\
Priorita - střední (jakákoliv kromě okamžité)\\
Jméno adresáře příchozího -URL cesta /dlf1/importopen/cvicna/windchill (Obvykle se jedná o adresář z NAS serveru připojený k aplikačnímu serveru)\\
Jméno souboru příchozího: *.xml\\
Agenda WINDCHILL\\
{{:orfertopen:lp:konstrkusimport:fma.png?400|Soráva agend příchozích souborů}}
== Založit naplánovanou úlohu ==
Administrace > Parametry > Plánovač úloh > Plánovač úloh \\
Plán spouštění - dle potřeby. Např. denně každou hodinu.
Úloha - OxSpustDav\\
Název úlohy - Import Windchill\\
Příkazový řádek - AutoImport runBatch WINDCHILL\\
{{:orfertopen:lp:konstrkusimport:o0taskwindchill.png?400|Naplánovaná úloha Windchill}}
====== Nastavení konverzní tabulky ======
Pomocí konverzní tabulky lze naplnit atributy entit CPolozka(ts) a CPolozkaRozmer(tsr).\\
Lze nastavit způsob jaký se konvertují atributy konstrukčního kusovníku do výše uvedených entit.\\
A to z hlavičky [[orfertopen:lp:ckonstrkushlav|CKonstrKusHlav]], tak řádků [[orfertopen:lp:ckonstrkuskomp|CKonstrKusKomp]]\\
Konverzní tabulku je možné založit **ručně**.\\
A to pro tyto části:\\
* DepragTsKonstrKusHlavImp
* DepragTsrKonstrKusHlavImp
* DepragTsKonstrKusKompImp
* DepragTsrKonstrKusKompImp
V řádcích se potom nastaví plnění konstant nebo plnění z Importovaných podkladů přímo nebo s konverzí.\\
Existuje také varianta **naimportování** předpřipraveného souboru.\\
Administrace > MSK - Webové služby > Konverzní tabulka\\
Další nabídka > Import záznamů.\\
Vybrat export_wkh_Deprag.json \\
Popřípadě založit ručně:
== Založit hlavičku konverzní tabulky Wkh ==
Zapsat postupně 4 entity výše uvedené.\\
Příklad pro vyplnění názvu tsZn z atributu nazev konstrukčního kusovníku.\\
Název tabulky v OR vybrat z poptextu - **Ts**\\
Název atributu v OR např. **tsZn**\\
Název atributu v konstrukčním kusovníku - **nazev**\\
{{:orfertopen:lp:konstrkusimport:wkhdepragtskonstrkuskompimp.png?800|}}
Příklad pro vyplnění konstanty "J" do tsStJn\\
Název tabulky v OR vybrat z poptextu - **Ts**\\
Název atributu v OR např. **tsStJn**\\
Název atributu v konstrukčním kusovníku - ponechat prázdný\\
Značka **K** jako konstanta\\
Konstanta **J**\\
Obecně je potřeba prověřit plnění měrné jednotky a doplnit konstanty.\\
====== Vytvoření Groovy makra ======
Makro provádí konverzi XML souboru do [[orfertopen:lp:ckonstrkushlavimp|Importovaných podkladů konstrukčního kusovníku]].
== Založit makro ==
Administrace > Nástroje administrátora > Správa vlastních zdrojů aplikace > Groovy makra \\
Druh: Skupinové\\
Kód WINDCHILL (dle agendy)\\
Název WINDCHILL (dle agendy)\\
Třída definice cz.ortex.common.o0.mailTemplateTypes.GroovyType\\
Předmět Import kusovníku Windchill\\
{{:orfertopen:lp:konstrkusimport:o0taskwindchill.png?400|Makro WINDCHILL}}
záložka "Programování"\\
(Groovy makrem je možné modifikovat funkčnost importu)\\
[[orfertopen:lp:konstrkusimport:deprag#varianta_makra_or-system_do_verze_z_25102023|varianta makra pro verzi OR-SYSTEM Open do 25.10.2023]]\\
[[orfertopen:lp:konstrkusimport:deprag#varianta_makra_or-system_od_verze_z_26102023|varianta makra pro verzi OR-SYSTEM Open od 26.10.2023]]\\
====== Testování importu Windchill ======
Nakopírovat cvičné xml soubory do adresáře dle Fmp.\\
Např. /dlf1/importopen/cvicna/windchill/6018980B.xml\\
V naplánovaných úlohách přes pravý klik provést spuštění.
Výsledek se zobrazí v záložce historie, popřípadě vyběhne chyba na popředí.\\
{{:orfertopen:lp:konstrkusimport:o0taskwindchillrun.png?800|}}
Princip importu spočívá v procházení adresáře importu.
Pro každý XML soubor se vygeneruje úloha do fronty Axz.
====== Varianta makra OR-SYSTEM do verze z 25.10.2023 ======
import cz.orcz.orfmodel.CKonstrKusHlavWsImp;
import cz.orcz.orfmodel.CPolozka;
import cz.orcz.orfmodel.CKonstrKusKompImp;
import cz.orcz.orfmodel.Axz;
import cz.orcz.mskws.ws.KonstrKusImport;
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cz.ortex.util.o0.O0Session;
import javax.swing.JOptionPane;
import org.hibernate.Session;
import org.hibernate.Transaction;
import static cz.ortex.implutil.o0.HibernateUtil.getSessionFactory;
import java.io.FileOutputStream;
import java.io.PrintStream;
import cz.ortex.implutil.o0.O0CfgSrv;
import cz.ortex.implutil.o0.O0CfgSrvPar;
import cz.ortex.impldao.o0.admin.O0logDaoImpl;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import cz.ortex.impllogic.o0.task.O0taskDemonUtil;
import cz.ortex.impllogic.o0.task.OxSpustDavTaskRun;
protected static void autoImport(String urlCesta, O0Session o0Session,Axz axz) {
CKonstrKusKompImp lastKusKompImp;
int lastLevel;
// Create a Random object
Random random = new Random();
// Generate a random integer between 0 (inclusive) and an upper bound (exclusive)
int randomInt = random.nextInt(100); // Change 100 to your desired upper bound
if (axz == null){
axz = new Axz();
axz.setAxzId=randomInt;
}
try {
//Adresář protokolu obecný
String adrProtokol = O0CfgSrv.get(O0CfgSrvPar.ADR_PROTOKOLY);
// Zadejte cestu k souboru, kam chcete přesměrovat výstup
String soubor = adrProtokol + "axz_"+axz.axzId+".log";
axz.axzHlaseni = soubor;
// Vytvořte nový výstupní proud pro soubor
FileOutputStream fileOutputStream = new FileOutputStream(soubor);
// Vytvořte PrintStream pro nový výstupní proud
PrintStream printStream = new PrintStream(fileOutputStream);
// Uložte stávající System.out do záložního PrintStreamu
PrintStream systemOutBackup = System.out;
// Nastavte nový PrintStream jako System.out
System.setOut(printStream);
// Nyní vše, co je vypsáno na System.out, bude přesměrováno do souboru
// Vytvoření JAXB kontextu pro CKonstrKusHlavWsImp a CKonstrKusKompImp třídy
JAXBContext context = JAXBContext.newInstance(CKonstrKusHlavWsImp.class, CKonstrKusKompImp.class,SearchResults.class,SearchObject.class);
// Vytvoření unmarshalleru
Unmarshaller unmarshaller = context.createUnmarshaller();
// Nastavení validace XML (volitelné)
unmarshaller.setSchema(null); // null znamená, že se validace neprovádí
// Načtení XML ze souboru
File xmlFile = new File(urlCesta);
JAXBElement rootElement = unmarshaller.unmarshal(new StreamSource(xmlFile), SearchResults.class);
// Získání načtených dat
SearchResults searchResults = rootElement.getValue();
List objects = searchResults.getObjects();
// Vytvoření seznamu CKonstrKusHlavWsImp objektů
List kusHlavImpList = new ArrayList<>();
//JOptionPane.showMessageDialog(null, "CKonstrKusHlavWsImp: zacatek");
// Mapa pro uchování předchozích úrovní
Map previousLevels = new HashMap<>();
Session s2 = getSessionFactory().getCurrentSession();//udelam novou
String autor = o0Session.getLoginName();
// Procházení načtených objektů
for (SearchObject searchObject : objects) {
List attributes = searchObject.getAttributes();
int level = Integer.parseInt(attributes.get(0));
if (level == 0) {
CKonstrKusHlavWsImp kusHlavImp = new CKonstrKusHlavWsImp();
kusHlavImp.setIdentPol(attributes.get(2));
kusHlavImp.setIdCSyst(String.valueOf(level));
kusHlavImp.setVykres(attributes.get(2));
kusHlavImp.setNazev(attributes.get(3));
kusHlavImp.setStatus((short) 200);
kusHlavImp.setEdat(new Date());
kusHlavImp.setEname(autor);
kusHlavImp.setRevize("00");
CPolozka cPolozka=s2.get(CPolozka.class,kusHlavImp.getIdentPol());
if (cPolozka != null){
kusHlavImp.setTypPol(cPolozka.getBs());
} else {
kusHlavImp.setTypPol((short) 0);
}
kusHlavImpList.add(kusHlavImp);
// Přidání CKonstrKusHlavWsImp do mapy předchozích úrovní
previousLevels.put(level, kusHlavImp);
} else {
CKonstrKusHlavWsImp parentHlavImp = previousLevels.get(level - 1);
if (parentHlavImp == null) {
CKonstrKusHlavWsImp kusHlavImp = new CKonstrKusHlavWsImp();
kusHlavImp.setIdentPol(lastKusKompImp.getIdentPol());
kusHlavImp.setVykres(lastKusKompImp.getIdentPol());
kusHlavImp.setNazev(lastKusKompImp.getNazev());
previousLevels.put(level - 1, kusHlavImp);
kusHlavImp.setIdCSyst(String.valueOf(level - 1));
kusHlavImpList.add(kusHlavImp);
kusHlavImp.setStatus((short) 200);
kusHlavImp.setEdat(new Date());
kusHlavImp.setEname(autor);
kusHlavImp.setRevize("00");
CPolozka cPolozka=s2.get(CPolozka.class,kusHlavImp.getIdentPol());
if (cPolozka != null){
kusHlavImp.setTypPol(cPolozka.getBs());
} else {
kusHlavImp.setTypPol((short) 0);
}
parentHlavImp = previousLevels.get(level - 1);
}
if (parentHlavImp != null) {
CKonstrKusKompImp kusKompImp = new CKonstrKusKompImp();
kusKompImp.setIdentPol(attributes.get(2));
kusKompImp.setIdCSyst(attributes.get(2));
kusKompImp.setVykres(attributes.get(2));
kusKompImp.setNazev(attributes.get(3));
kusKompImp.setMnoz(new BigDecimal(attributes.get(1)));
kusKompImp.setcKonstrKusHlavImp(parentHlavImp);
parentHlavImp.getcKonstrKusKompImps().add(kusKompImp);
if (lastLevel > level){
previousLevels.remove(level);
}
kusKompImp.setRevize("00");
CPolozka cPolozka=s2.get(CPolozka.class,kusKompImp.getIdentPol());
if (cPolozka != null){
kusKompImp.setTypPol(cPolozka.getBs());
} else {
kusKompImp.setTypPol((short) 0);
}
kusKompImp.setEdat(new Date());
kusKompImp.setEname(autor);
lastKusKompImp=kusKompImp;
lastLevel=level;
}
else{
}
}
}
// Výpis naimportovaných dat
for (CKonstrKusHlavWsImp kusHlavImp : kusHlavImpList) {
System.out.println("CKonstrKusHlavWsImp: identPol=" + kusHlavImp.getIdentPol() + "level "+kusHlavImp.getIdCSyst());
for (CKonstrKusKompImp kusKompImp : kusHlavImp.getcKonstrKusKompImps()) {
System.out.println(" CKonstrKusKompImp: identPol=" + kusKompImp.getIdentPol() + ", mnozstvi=" + kusKompImp.getMnoz());
}
//JOptionPane.showMessageDialog(null, "CKonstrKusHlavWsImp: identPol=" + kusHlavImp.getIdentPol() + "level "+kusHlavImp.getIdCSyst());
Session s = getSessionFactory().openSession();//udelam novou
Transaction tx = s.getTransaction();
tx.begin();
s.save(kusHlavImp);
s.update(axz);
tx.commit();
KonstrKusImport i = new KonstrKusImport(o0Session);
i.transformuj(kusHlavImp);
}
// Obnovte původní System.out
System.setOut(systemOutBackup);
// Zavřete souborový výstup
printStream.close();
String obsahLogu = new String(Files.readAllBytes(Paths.get(axz.axzHlaseni)));
O0logDaoImpl o0logDaoImpl;
o0logDaoImpl = new O0logDaoImpl();
o0logDaoImpl.setOrsoftSession(o0Session);
Character v='V';
Character g='G';
try {
o0logDaoImpl.zapisLog("WINDCHILL axz:"+axz.axzId, obsahLogu, null, null, null, null, null, null, null, v,g);
} catch (Exception e){
//JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(" vyjimka " + e.getMessage());
}
try {
if (O0taskDemonUtil.getOrsoftSessionRun() != null) {
OxSpustDavTaskRun.zapisVysledek(obsahLogu);
}
} catch (Exception e){
//JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(" vyjimka " + e.getMessage());
}
} catch (JAXBException e) {
e.printStackTrace();
}
}
@XmlRootElement(name = "SearchResults")
@XmlAccessorType(XmlAccessType.FIELD)
public class SearchResults {
@XmlElement(name = "Object")
private List objects;
// Gettery a settery pro objects
public List getObjects() {
return objects;
}
public void setObjects(List objects) {
this.objects = objects;
}
}
@XmlAccessorType(XmlAccessType.FIELD)
public class SearchObject {
@XmlElement(name = "Attribute")
private List attributes;
// Gettery a settery pro attributes
public List getAttributes() {
return attributes;
}
public void setAttributes(List attributes) {
this.attributes = attributes;
}
}
====== Varianta makra OR-SYSTEM od verze z 26.10.2023 ======
import cz.orcz.orfmodel.CKonstrKusHlavWsImp;
import cz.orcz.orfmodel.CPolozka;
import cz.orcz.orfmodel.CKonstrKusKompImp;
import cz.orcz.orfmodel.Axz;
import cz.orcz.mskws.ws.KonstrKusImport;
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cz.ortex.util.o0.O0Session;
import javax.swing.JOptionPane;
import org.hibernate.Session;
import org.hibernate.Transaction;
import static cz.ortex.implutil.o0.HibernateUtil.getSessionFactory;
import java.io.FileOutputStream;
import java.io.PrintStream;
import cz.ortex.implutil.o0.O0CfgSrv;
import cz.ortex.implutil.o0.O0CfgSrvPar;
import cz.ortex.impldao.o0.admin.O0logDaoImpl;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import cz.ortex.impllogic.o0.task.O0taskDemonUtil;
import cz.ortex.impllogic.o0.task.OxSpustDavTaskRun;
import cz.ortex.util.o0.O0StringUtil;
protected static void autoImport(String urlCesta, O0Session o0Session,Axz axz) {
CKonstrKusKompImp lastKusKompImp;
int lastLevel;
// Create a Random object
Random random = new Random();
// Generate a random integer between 0 (inclusive) and an upper bound (exclusive)
int randomInt = random.nextInt(100); // Change 100 to your desired upper bound
if (axz == null){
axz = new Axz();
axz.setAxzId=randomInt;
}
try {
//Adresář protokolu obecný
String adrProtokol = O0CfgSrv.get(O0CfgSrvPar.ADR_PROTOKOLY);
// Zadejte cestu k souboru, kam chcete přesměrovat výstup
String soubor = adrProtokol + "axz_"+axz.axzId+".log";
axz.axzHlaseni = soubor;
// Vytvořte nový výstupní proud pro soubor
FileOutputStream fileOutputStream = new FileOutputStream(soubor);
// Vytvořte PrintStream pro nový výstupní proud
PrintStream printStream = new PrintStream(fileOutputStream);
// Uložte stávající System.out do záložního PrintStreamu
PrintStream systemOutBackup = System.out;
// Nastavte nový PrintStream jako System.out
System.setOut(printStream);
// Nyní vše, co je vypsáno na System.out, bude přesměrováno do souboru
// Vytvoření JAXB kontextu pro CKonstrKusHlavWsImp a CKonstrKusKompImp třídy
JAXBContext context = JAXBContext.newInstance(CKonstrKusHlavWsImp.class, CKonstrKusKompImp.class,SearchResults.class,SearchObject.class);
// Vytvoření unmarshalleru
Unmarshaller unmarshaller = context.createUnmarshaller();
// Nastavení validace XML (volitelné)
unmarshaller.setSchema(null); // null znamená, že se validace neprovádí
// Načtení XML ze souboru
File xmlFile = new File(urlCesta);
JAXBElement rootElement = unmarshaller.unmarshal(new StreamSource(xmlFile), SearchResults.class);
// Získání načtených dat
SearchResults searchResults = rootElement.getValue();
List objects = searchResults.getObjects();
// Vytvoření seznamu CKonstrKusHlavWsImp objektů
List kusHlavImpList = new ArrayList<>();
//JOptionPane.showMessageDialog(null, "CKonstrKusHlavWsImp: zacatek");
// Mapa pro uchování předchozích úrovní
Map previousLevels = new HashMap<>();
Session s2 = getSessionFactory().getCurrentSession();//udelam novou
String autor = o0Session.getLoginName();
// Procházení načtených objektů
for (SearchObject searchObject : objects) {
List attributes = searchObject.getAttributes();
int level = Integer.parseInt(attributes.get(0));
if (level == 0) {
CKonstrKusHlavWsImp kusHlavImp = new CKonstrKusHlavWsImp();
kusHlavImp.setIdentPol(attributes.get(2));
kusHlavImp.setIdCSyst(String.valueOf(level));
kusHlavImp.setVykres(attributes.get(2));
kusHlavImp.setNazev(attributes.get(3));
kusHlavImp.setAtrAn05(O0StringUtil.substring(attributes.get(4),0,40));
kusHlavImp.setAtrAn06(O0StringUtil.substring(attributes.get(5),0,40));
kusHlavImp.setStatus((short) 200);
kusHlavImp.setEdat(new Date());
kusHlavImp.setEname(autor);
kusHlavImp.setRevize("00");
CPolozka cPolozka=s2.get(CPolozka.class,kusHlavImp.getIdentPol());
if (cPolozka != null){
kusHlavImp.setTypPol(cPolozka.getBs());
} else {
kusHlavImp.setTypPol((short) 0);
}
kusHlavImpList.add(kusHlavImp);
// Přidání CKonstrKusHlavWsImp do mapy předchozích úrovní
previousLevels.put(level, kusHlavImp);
} else {
CKonstrKusHlavWsImp parentHlavImp = previousLevels.get(level - 1);
if (parentHlavImp == null) {
CKonstrKusHlavWsImp kusHlavImp = new CKonstrKusHlavWsImp();
kusHlavImp.setIdentPol(lastKusKompImp.getIdentPol());
kusHlavImp.setVykres(lastKusKompImp.getIdentPol());
kusHlavImp.setNazev(lastKusKompImp.getNazev());
kusHlavImp.setAtrAn05(O0StringUtil.substring(lastKusKompImp.getAtrAn05(),0,40));
kusHlavImp.setAtrAn06(O0StringUtil.substring(lastKusKompImp.getAtrAn06(),0,40));
previousLevels.put(level - 1, kusHlavImp);
kusHlavImp.setIdCSyst(String.valueOf(level - 1));
kusHlavImpList.add(kusHlavImp);
kusHlavImp.setStatus((short) 200);
kusHlavImp.setEdat(new Date());
kusHlavImp.setEname(autor);
kusHlavImp.setRevize("00");
CPolozka cPolozka=s2.get(CPolozka.class,kusHlavImp.getIdentPol());
if (cPolozka != null){
kusHlavImp.setTypPol(cPolozka.getBs());
} else {
kusHlavImp.setTypPol((short) 0);
}
parentHlavImp = previousLevels.get(level - 1);
}
if (parentHlavImp != null) {
CKonstrKusKompImp kusKompImp = new CKonstrKusKompImp();
kusKompImp.setIdentPol(attributes.get(2));
kusKompImp.setIdCSyst(attributes.get(2));
kusKompImp.setVykres(attributes.get(2));
kusKompImp.setNazev(attributes.get(3));
kusKompImp.setAtrAn05(O0StringUtil.substring(attributes.get(4),0,40));
kusKompImp.setAtrAn06(O0StringUtil.substring(attributes.get(5),0,40));
kusKompImp.setMnoz(new BigDecimal(attributes.get(1)));
kusKompImp.setcKonstrKusHlavImp(parentHlavImp);
parentHlavImp.getcKonstrKusKompImps().add(kusKompImp);
if (lastLevel > level){
previousLevels.remove(level);
}
kusKompImp.setRevize("00");
CPolozka cPolozka=s2.get(CPolozka.class,kusKompImp.getIdentPol());
if (cPolozka != null){
kusKompImp.setTypPol(cPolozka.getBs());
} else {
kusKompImp.setTypPol((short) 0);
}
kusKompImp.setEdat(new Date());
kusKompImp.setEname(autor);
lastKusKompImp=kusKompImp;
lastLevel=level;
}
else{
}
}
}
// Výpis naimportovaných dat
for (CKonstrKusHlavWsImp kusHlavImp : kusHlavImpList) {
System.out.println("KusHlavWsImp: identPol=" + kusHlavImp.getIdentPol() + "level "+kusHlavImp.getIdCSyst());
for (CKonstrKusKompImp kusKompImp : kusHlavImp.getcKonstrKusKompImps()) {
System.out.println(" KusKompImp: identPol=" + kusKompImp.getIdentPol() + ", mnozstvi=" + kusKompImp.getMnoz());
}
//JOptionPane.showMessageDialog(null, "CKonstrKusHlavWsImp: identPol=" + kusHlavImp.getIdentPol() + "level "+kusHlavImp.getIdCSyst());
Session s = getSessionFactory().openSession();//udelam novou
Transaction tx = s.getTransaction();
tx.begin();
s.save(kusHlavImp);
s.update(axz);
tx.commit();
KonstrKusImport i = new KonstrKusImport(o0Session);
i.transformuj(kusHlavImp);
}
// Obnovte původní System.out
System.setOut(systemOutBackup);
// Zavřete souborový výstup
printStream.close();
String obsahLogu = new String(Files.readAllBytes(Paths.get(axz.axzHlaseni)));
O0logDaoImpl o0logDaoImpl;
o0logDaoImpl = new O0logDaoImpl();
o0logDaoImpl.setOrsoftSession(o0Session);
Character v='V';
Character g='G';
try {
o0logDaoImpl.zapisLog("WINDCHILL axz:"+axz.axzId, obsahLogu, null, null, null, null, null, null, null, v,g);
} catch (Exception e){
//JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(" vyjimka " + e.getMessage());
}
try {
if (O0taskDemonUtil.getOrsoftSessionRun() != null) {
if (obsahLogu != null && obsahLogu.length() > 2550) {
obsahLogu =obsahLogu.substring(0, 2550);
}
OxSpustDavTaskRun.zapisVysledek(obsahLogu);
}
} catch (Exception e){
//JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(" vyjimka " + e.getMessage());
}
} catch (JAXBException e) {
e.printStackTrace();
}
}
@XmlRootElement(name = "SearchResults")
@XmlAccessorType(XmlAccessType.FIELD)
public class SearchResults {
@XmlElement(name = "Object")
private List objects;
// Gettery a settery pro objects
public List getObjects() {
return objects;
}
public void setObjects(List objects) {
this.objects = objects;
}
}
@XmlAccessorType(XmlAccessType.FIELD)
public class SearchObject {
@XmlElement(name = "Attribute")
private List attributes;
// Gettery a settery pro attributes
public List getAttributes() {
return attributes;
}
public void setAttributes(List attributes) {
this.attributes = attributes;
}
}