User Tools

Site Tools


it-transspedi_druck

IT-TransSpedi Druck

Am 30.04.2019 fragte Rolf Reichmuth, ob ich für ihn PDF-/HTML-Reports machen könnte.

Insgesamt 12 Dokumente

Wir starten mit Frachtbrief.

IT-TransSpedi Print Issues

Installation

Copy file to the server:

scp -P 1002 jrserver.zip kalaschnikow@94.199.215.198:/home/kalaschnikow
 
# Or for my avril2019 server:
# scp -P 1002 jrserver.zip kalaschnikow@avril2019.wialon-consulting.de:/home/kalaschnikow

Then copy/move the file to /dockerdata/jrserver and unzip it.

After that build the container (not necessary if it is already built) :

./builddockerimage.sh

Copy license directory to the new destination:

cp /dockerdata/jrserver/src/license /dockerdata/jrserver/license

Start the container:

docker run -p 8080:8080/tcp -v /dockerdata/jrserver/license:/src/license jrserver/jrserver-server
 
# On the server this variant would be better
 
sudo docker run --restart=always --name=jrserver -d -p 8080:8080/tcp \
  -v /dockerdata/jrserver/license:/src/license \
  -v /dockerdata/jrserver/reports:/src/reports \
  -v /dockerdata/jrserver/log:/src/log \
  jrserver/jrserver-server
 
# Or with other port
 
sudo docker run --restart=always --name=jrserver -d -p 8380:8080/tcp \
  -v /dockerdata/jrserver/license:/src/license \
  -v /dockerdata/jrserver/reports:/src/reports \
  -v /dockerdata/jrserver/log:/src/log \
  jrserver/jrserver-server

There is also a script start.sh but it should not be used on the server.

Also we have a cron job restarting our container every 15 minutes. To change it:

sudo crontab -e

Installation in Avril environment

From the local computer:

scp -P1002 ~/Desktop/build.jar  kalaschnikow@avril2019.wialon-consulting.de:/home/kalaschnikow
 
# if necessary copy the report(s) too
scp -P1002 ~/Desktop/*.jrxml  kalaschnikow@avril2019.wialon-consulting.de:/home/kalaschnikow
 
#
# The same for avril2021:
#
scp -P1002 ~/Desktop/build.jar  kalaschnikow@avril2021.avril.work:/home/kalaschnikow
 
scp -P1002 ~/Desktop/*.jrxml  kalaschnikow@avril2021.avril.work:/home/kalaschnikow

On the server:

# copy jar
cp ~/build.jar /dockerdata/jrserver/src/build.jar
 
# copy report, if necessary
cp ~/avtonavix.jrxml /dockerdata/volumes/jrserver/reports/avtonavix.jrxml
 
# then rebuild the docker image
cd /dockerdata/jrserver/
sudo ./builddockerimage.sh

Then restart the compose:

cd /dockerdata/compose
sudo docker-compose down
sudo docker-compose up -d

Reports

Report abrufen

Both parameters id and conn are mandatory.

http://127.0.0.1:8080/report1?id=500005&conn=default
 
# the same report for many ids 
http://127.0.0.1:8080/report1?id=500005,500006,500007,500008&conn=default
 
# on the productive server
http://94.199.215.198:8080/frachtbrief?id=500051&conn=default
http://94.199.215.198:8080/frachtbrief?id=502058&conn=lupprian
 
# on my avril2019 server
http://avril2019.wialon-consulting.de:8380/frachtbrief?id=500051&conn=default

Which reports are enabled is defined in JRHttpServer. At the moment the following reports are developed:

  • /allgemeiner_frachtbrief → id = View_Frachtbrief_Detail_Neu.AuftragsdetailID
  • /einzel_rechnung → id = ?
  • /frachtbrief → id = ?
  • /skarabeus → id = ?
  • /viking → id = ?
  • /avtonavix
  • /skarabeus_simplified_ru
  • /skarabeus_technical
  • /skarabeus_technical_en
  • /skarabeus_technical_ru
  • /valveteenus_technical
  • /viking
  • /viking_ru
  • /viking_technical

Generate licenses

# generate a key
gpg --full-generate-key
 
# export the generated public key
gpg --export > license/public.gpg
 
# export the secret key
gpg --export-secret-keys > license/secret.gpg

After that create a “plain” license file “license/license-plain.txt” with the following content and change (at least) the valid date:

person=Rolf Reichmuth
edition=asp
phone=+4972529664261
email=v.kalaschnikow@wialon-consulting.de
company=IT-TransSpedi
application=jrserver
release-version=1.0.0
valid-date=2019-12-31
release-date=2019-06-22
issue-date=2019-06-22

Encode this license file (password is jrserverpass!“§, backslashes are used to escape the quotes and exclamation mark):

./license3j.sh encode --license-file=license/license-plain.txt --keyring-file=license/secret.gpg --key="valeri" --password=jrserverpass\!\"§ --output=license/license.bin

Decode it to generate digest:

./license3j.sh decode --license-file=license/license.bin --keyring-file=license/public.gpg

After that replace digest in the method JRHttpServer.checkLicense().

DONE.

For more details see: https://github.com/verhas/License3j/wiki/tuto

Jasper Reports encoding issues with cyrillic text

The cyrillic texts do not work in Jasper Reports when the font name is not set. This causes empty cells:

<font size="7"/>

But this works:

<font fontName="DejaVu Sans" size="7"/>

Finanzielles

Wir arbeiten auf Basis einer Jahreslizenz.

Frage: wie viel kann ich verlangen?

Mindestens meine Kosten.

Meine Kosten sind:

  • pro Report min. 2 Tage, wobei mehr als 5 Tage zu verlangen macht normalerweise keinen Sinn. Sagen wir im Schnitt 3 Tage (*600€ = 1800€)
  • Programmierung eines Webservers, der die Reports liefert. Nehmen wir mal an 3 Tage (*600€ = 1800€)

D.h. mind. N*1800€ + 1800€.

Also für den Rolf: N*2000€ + 3000€, aber min. N*2000€ + 2500€

Der erste Report (Frachtbrief) wurde ca. in der KW29 geuploaded und wird momentan von Lupprians genutzt. ⇒ ab dem 1. Oktober 2019 die Rechnung für September schreiben.

Absolutes Minimum: N*150€ + 300€, bei 12 Dokumenten : 12*150€ + 300€ = 2100€

2100€ + Serverkosten + Marge = 3600€ (300€ pro Monat) wären vernünftig?

Ich glaube wir sind so verblieben: N*50 + 125, wo N - Anzahl der Reports

Rolf fragen

Freitag 31.05.2019

  • - Das System ist offen. Jeder kann dort Reports holen. Verhindern: z.B. mit einem Hash.
  • - Wie sollen wir signalisieren, wenn die ID nicht vorhanden ist?
  • - Welche Schriftart soll verwendet werden?

Freitag 14.06.2019

  • - Finanzielles:
    • 6*500 + 3*500 = 3000 + 1500 = 4500 (250 + 125 = 375€ monatlich) ⇒ heißt ca. N*50 + 125
  • - Docker Container auf Azure installieren?
it-transspedi_druck.txt · Last modified: by kalaschnikow