010
Бизнес - процессы
011
012
Бизнес-процессы используются для управления инстанциями
013 бизнес-объектов в системе. Бизнес-процесс — это многократно
014 повторяющаяся, логически связанная последовательность действий,
015 направленная на выполнение определенного действия и формирование
016 результата.
017
018
Пример бизнес-процесса — выдача талона с порядковым номером
019 очереди:
020
021
022 - Банк принимает заявку от клиента.
023
024 - Оформляет документы.
025
026 - Выдает талон с номером очереди клиента.
027
028
029
Схема выполнения этих действий повторяется при выдаче каждого
030 талона.
031
032
Создание бизнес-процесса
033
034
Для создания нового бизнес-процесса в системе:
035
036
037 - Необходимо перейти в режим администрирования по нажатию на
038 кнопку “
” в
039 меню “Бизнес” в левом верхнем углу страницы.
040
041 - В открывшемся окне необходимо нажать на кнопку “
” и выбрать
043 пункт “Бизнес - процесс”.
044
045
046

048
049
Кнопка добавления нового процесса
050
051
052 - Далее откроется страница с заполненным наименованием процесса,
053 где номер соответствует количеству имеющихся процессов в системе. В
054 поле с наименованием необходимо ввести название процесса, которое
055 будет соответствовать логике использования процесса, например,
056 “Выдача талона”.
057
058
059

061
062
Новый процесс “Выдача талона”
063
064
Диаграмма последовательности - моделирование взаимодействия
065 между объектами в бизнес-процессе. Эта диаграмма показывает
066 последовательность событий, происходящих во время выполнения
067 процесса. Таким образом, эти “фигуры” с набором действий,
068 последовательность которых, пользователь настраивает в системе.
069
070
Для построения диаграммы последовательности, по которому будет
071 работать процесс, необходимо "потянуть" за один из трех зеленых
072 точек расположенных на фигуре “
”. Откроется окно
074 с выбором фигур.
075
076
078
079
080
Фигуры для создания диаграммы последовательности
081
082
Каждая из фигур применяется для разных действий:
083
084
085
-
086 применяется при завершении бизнес-процесса;
087
088
-
089 применяется при создании условия с набором действий, имеющих
090 несколько точек входа и выхода;
091
092
-
093 применяется для ожидания какого-либо действия в определенном
094 объекте. При двойном нажатии на фигуру может быть задан таймер
095 ожидания;
096
097
-
098 применяется при создании условия с набором действий, имеющих только
099 одну точку входа и выхода;
100
101
-
102 применяется для задания ожидания - указывается определенное кол-во
103 времени, после которого, процесс перейдет к следующей фигуре;
104
105
-
107 применяется для распараллеливания процесса, когда необходимо, чтобы
108 два действия выполнялись параллельно друг другу, или когда общее
109 действие должно начаться только при завершении двух параллельных
110 действий;
111
112
113 применяется для завершения всего бизнес-процесса. Например, процесс
114 идет параллельно в двух ветках, у одной из веток имеется данная
115 фигура. В таком случае, при достижении участка с данной фигурой,
116 процесс остановится вне зависимости от этапа процесса в другой
117 ветке.
118
119
120
Пример построения диаграммы последовательности показан в Пример №1. Построение
122 диаграммы последовательности процесса
123
124
Элементы скрипта
125
126
Скрипт - это последовательность команд для выполнения набора
127 действий. По сути, это небольшая программа, заточенная под
128 определенное действие. После выполнения скрипта в одной фигуре,
129 процесс переходит в следующую фигуру по связке в диаграмме
130 последовательности, и выполняет скрипт этой фигуры. Для того чтобы
131 написать скрипт, необходимо провалиться внутрь фигуры по двойному
132 нажатию на нее в диаграмме последовательности.
133
134
В появившимся окне, представлены инструменты создания и
135 изменения скриптов:
136
137

139
140
Описания инструментов:
141
142
143
-
144 Точка входа. Начала скрипта начинается с данного элемента. (Система
145 определяет начала скрипта по этому элементу);
146
147
-
148 Повторяющийся скрипт (на этапе разработки, в данный момент не
149 применяется);
150
151
-
152 Назначение локальной переменной в скрипте;
153
154
155 - Присвоение Значений переменным или полям. Присвоение
156 осуществляется левому компоненту от правого. При нажатии на голубую
157 область, возникает выпадающий список, в котором существует
158 возможность выбора переменной (помещенной в переменные
159 бизнес-процесса или назначенной выше по скрипту), этого процесса,
160 какого- либо бизнес-объекта или конкретного экземпляра какого-либо
161 объекта, встроенного компонента (создание ссылки, уведомления,
162 email и т.д.), геокоординат, логических констант Да/Нет,
163 Даты/времени, Одиночного выбора (используется при выборе
164 конкретного значения из одиночных списков бизнес-объектов,
165 например, статуса ИД), перечисления, печатной формы, текста или
166 числа .
167
168
-
169 блок условия в скрипте. Нажатием на плюс в конце блока, можно
170 задать условия "Иначе если".
171
172
- блок
173 создания цикла в скрипте.
174
175
-
177 используется для операции суммирования переменных или полей.
178
179
-
181 используется для операции умножения переменных или полей.
182
183
-
184 используется в блоке "Условия". Аналогична оператору "and" или
185 "&&" в языках программирования.
186
187
-
188 используется для приравнивания значений перемен или полей.
189
190
191
192
at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:80)
at kz.greetgo.md_reader.core.MdConverter.prepareHtmlFileFrom(MdConverter.java:136)
at kz.greetgo.md_reader.core.MdConverter.convert(MdConverter.java:208)
at kz.greetgo.md_reader.controller.RenderController.downloadToc(RenderController.java:360)
at kz.greetgo.md_reader.controller.RenderController.request(RenderController.java:108)
at jdk.internal.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at kz.greetgo.md_reader.interceptors.TextReplaceFilter.doFilter(TextReplaceFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2000)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1397)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1333)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.startPE(XMLDTDScannerImpl.java:732)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.skipSeparator(XMLDTDScannerImpl.java:2101)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDecls(XMLDTDScannerImpl.java:2064)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDTDExternalSubset(XMLDTDScannerImpl.java:299)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1165)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1040)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:943)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)
at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:71)
... 48 more