BG Development


Страници: (17) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> НАП -> Фискално устройство -> Java Windows Service
!TuringComplete
Публикувано на: 28-02-2019, 22:01
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 29
Регистриран на: 28.02.19



Според Наредбата, когато потребителите на едно джаварско уеб приложение издават фактури в брой, трябва да се принтира Фискален Бон(чрез записване на файл с команди в определна директория).

Тъй като освен с аплети сякаш не може браузъра ей така да си пише в дадена директория, звучи правдоподобно да съществува някакъв минималистичен медиатор сървис(който безболезнено да се инсталира на машините им) и с WebSocket да се регистрира в бекенда, който вече да му пушва файлчетата.

Звучи правдоподобно да работи и като NT service(за да е user friendly), та се зачудих дали да го направя на Java(с jetty или glassfish-ските WebSocket клиенти) и после да го wrap-на с Non-Sucking Service Manager или Yet Another Java Service Wrapper.

Или на C там с native WIN API-то. Или пък на C#?

Някакви препоръки или предупреждения?
PMEmail Poster
Top
Реконструктор
Публикувано на: 28-02-2019, 22:13
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 565
Регистриран на: 18.12.06



локален веб сървър, постваш му бележки през хтмл-а
PMEmail Poster
Top
!TuringComplete
Публикувано на: 28-02-2019, 22:33
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 29
Регистриран на: 28.02.19



QUOTE (Реконструктор @ 28-02-2019, 22:13)
локален веб сървър, постваш му бележки през хтмл-а

От бекенда не мога да отворя кънекции към клиентските машини. Или друго имаш предвид?

Също трябва да е двустранна комуникацията, защото и ще трябва да се прочита респонса от апарата.
PMEmail Poster
Top
ici
Публикувано на: 28-02-2019, 22:34
Quote Post


Group Icon
Име: Ивайло Илчев ики
Група: VIP
Ранг: Почетен член

Мнения: 16315
Регистриран на: 06.06.04



CODE
from __future__ import print_function
import cherrypy

class ExportTicket(object):
   @cherrypy.expose
   def index(self, **kw):
       with open("check.txt","a+") as fout:
           print(kw.__str__(), file=fout)
       return "OK"

cherrypy.quickstart(ExportTicket())
QUOTE

{'a/b/12.50/ASD': u''}
{'z/b/4.30/XXL': u''}
{'a/b/12.50/ASD': u''}
{'name': u'Ha', 'suma': u'34.18'}


Ако се направи на bundle exe то ще е около 3МБ стартирано като NT сървис ще изисква към 20-30МБ RAM

https://stackoverflow.com/questions/2574138...ice-the-example

CODE

C:\Users\ivaylo\WEB\cherry3>cherry1.py
[28/Feb/2019:22:27:31] ENGINE Listening for SIGTERM.
[28/Feb/2019:22:27:31] ENGINE Bus STARTING
CherryPy Checker:
The Application mounted at '' has an empty config.

[28/Feb/2019:22:27:31] ENGINE Set handler for console events.
[28/Feb/2019:22:27:31] ENGINE Started monitor thread 'Autoreloader'.
[28/Feb/2019:22:27:31] ENGINE Serving on http://127.0.0.1:8080
[28/Feb/2019:22:27:31] ENGINE Bus STARTED
127.0.0.1 - - [28/Feb/2019:22:27:54] "GET /a/b/12.50/ASD HTTP/1.1" 404 1474 "" "
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/72.0.3626.119 Safari/537.36"
127.0.0.1 - - [28/Feb/2019:22:27:55] "GET /favicon.ico HTTP/1.1" 200 1406 "http:
//127.0.0.1:8080/a/b/12.50/ASD" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleW
ebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"
127.0.0.1 - - [28/Feb/2019:22:28:17] "GET /?a/b/12.50/ASD HTTP/1.1" 200 2 "" "Mo
zilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Ch
rome/72.0.3626.119 Safari/537.36"
127.0.0.1 - - [28/Feb/2019:22:29:12] "GET /?z/b/4.30/XXL HTTP/1.1" 200 2 "" "Moz
illa/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chr
ome/72.0.3626.119 Safari/537.36"
127.0.0.1 - - [28/Feb/2019:22:30:30] "GET /?a/b/12.50/ASD HTTP/1.1" 200 2 "" "Mo
zilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Ch
rome/72.0.3626.119 Safari/537.36"
127.0.0.1 - - [28/Feb/2019:22:31:32] "GET /?name=Ha&suma=34.18 HTTP/1.1" 200 2 "
" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck
o) Chrome/72.0.3626.119 Safari/537.36"


Това мнение е било редактирано от ici на 28-02-2019, 22:39


--------------------
Reading undefined locations provides undefined data.
PMEmail PosterUsers Website
Top
!TuringComplete
Публикувано на: 28-02-2019, 22:45
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 29
Регистриран на: 28.02.19



Всъщност имате предвид от респонса(html/js), който връщам на потребителите при фактуриране да постна бележката към локален уеб сървър. Интересно.

Тъй като фреймуърка е vaadin(с GWT генерира фронт енда) ще е малко особено. Също и локалния сървър ще трябва да поства респонса от апарата към бекенда.
PMEmail Poster
Top
ici
Публикувано на: 28-02-2019, 22:47
Quote Post


Group Icon
Име: Ивайло Илчев ики
Група: VIP
Ранг: Почетен член

Мнения: 16315
Регистриран на: 06.06.04



CODE
return "OK"
Това в случая е просто текст/ХТМЛ. Може да е JSON, XML или каквото и да е друго. icon_idea.gif


Това е метод който връща таблица на клиентите с отворени сметки:
CODE
   @cherrypy.expose
   @cherrypy.tools.jinja(template='credit.html')
   def credit(self,*args,**kwargs):

       return {
           'ver': __VER__,
           'copyright': str(self.getLogin()) + " / " + serverTag,
           'title': u"Credit",
           'names': db_get_clients()
       }


Това е шаблона:
CODE
{% extends "base.html" %}
{% import 'forms.html' as forms %}

{% block scripts %}
   {{ super() }}
   <script src="/js/jquery.dataTables.min.js" type="text/javascript"></script>
   <link type="text/css" href="/css/jquery.dataTables.css" rel="stylesheet" />
   <link type="text/css" href="/css/demo_table_jui.css" rel="stylesheet" />
{% endblock scripts %}

{% block head %}
   {{ super() }}
{% endblock %}

{% block onready %}
   {{ super() }}
   $(".report").button().click(function(event) {
       $('#form1').submit();
       return false;
   });
{% endblock onready%}

{% block content %}
   <div class="ui-widget-header ui-corner-all form">
       <form method="get" id="form1">
       <p>&nbsp;&nbsp;|&nbsp;&nbsp;
           За: <select id="names">
               <option value=''></option>
               {{ names }}
           </select>&nbsp;&nbsp;|&nbsp;&nbsp;
           От: <input type="text" id="datepicker1" />&nbsp;&nbsp;|&nbsp;&nbsp;
           До: <input type="text" id="datepicker2" />&nbsp;&nbsp;|&nbsp;&nbsp;
           <a href="/credit" class="report">Справка</a>&nbsp;&nbsp;|&nbsp;&nbsp;
       </p>
       </form>
   </div>
   {% block datatable %}
   {% endblock datatable%}
{% endblock %}


Това мнение е било редактирано от ici на 28-02-2019, 22:56


--------------------
Reading undefined locations provides undefined data.
PMEmail PosterUsers Website
Top
wqw
Публикувано на: 02-03-2019, 00:15
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6092
Регистриран на: 10.06.04





--------------------
PMEmail PosterUsers Website
Top
!TuringComplete
Публикувано на: 02-03-2019, 00:41
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 29
Регистриран на: 28.02.19



QUOTE (wqw @ 02-03-2019, 00:15)
https://serveo.net/

Не съм сигурен за тези методи, защото няма да имам достъп до клиентките машини. Те ще искат само да изтеглят и инсталират необходмото приложение(next -> next -> finish) което да си работи в background-а.
PMEmail Poster
Top
!TuringComplete
Публикувано на: 01-04-2019, 18:23
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 29
Регистриран на: 28.02.19



Между другото имали ли сте проблеми с USB to RS232 преходниците? Сегашният ми е някакво менте и прекъсва комуникацията, поне според тази статия относно качествените конвертори

То и на много места са изчерпени напоследък, сигурно много хора купуват.
PMEmail Poster
Top
thrawn
Публикувано на: 01-04-2019, 20:20
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2365
Регистриран на: 17.01.17



Е ако имаш проблеми с комуникацията, пробвай да свалиш скоростта. Ментетата се денят при високи скорости.
PMEmail Poster
Top
2 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента: enf

Topic Options Страници: (17) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0