d2aura 26.0.11 → 26.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/eda/edaManagerApi.d.ts +19 -2
- package/api/eda/edaManagerApi.js +36 -3
- package/api/eda/edaManagerApi.js.map +1 -1
- package/api/eda/generated/events.d.ts +86 -28
- package/api/eda/generated/events.js +154 -42
- package/api/eda/generated/events.js.map +1 -1
- package/api/eda/generated/structures.d.ts +21 -0
- package/api/eda/generated/structures.js.map +1 -1
- package/api/impl/utils/reportError.js +16 -0
- package/api/impl/utils/reportError.js.map +1 -1
- package/api/webPush/webPushApi.js.map +1 -1
- package/api/webPush/webPushUtils.js.map +1 -1
- package/core/i18n/d2aura.sk.json +8 -0
- package/core/i18n/jsapi.sk.json +4 -0
- package/core/i18n/jsapi.ua.json +4 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +13 -37
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +114 -211
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +2 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +2 -2
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +14 -5
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +338 -326
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +15 -4
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +139 -64
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +3 -8
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +12 -38
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +5 -5
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +8 -2
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +39 -11
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +33 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js +3 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.d.ts +9 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +267 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/loadingContext.d.ts +7 -0
- package/coreui/components/edaManagerComponent/context/loadingContext.js +3 -0
- package/coreui/components/edaManagerComponent/context/loadingContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.d.ts +1 -2
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +10 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +4 -12
- package/coreui/components/edaManagerComponent/edaDetail.js +53 -88
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +2 -1
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaSelect.d.ts +13 -7
- package/coreui/components/edaManagerComponent/edaSelect.js +211 -7
- package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +17 -0
- package/coreui/components/edaManagerComponent/utils/utils.js +57 -0
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
- package/coreui/components/webPush/webPushSwitch.js.map +1 -1
- package/coreui/images/logo.svg +9 -9
- package/coreui/images/logo_full.svg +11 -11
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +64 -2
- package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +51 -13
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +304 -4
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +9 -3
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +89 -3
- package/d2configuration/edaManager/EDA_StatVectorRec.xml +56 -0
- package/d2configuration/edaManager/SD.EM_EDA_StatVectorRec_V1.xml +125 -0
- package/d2configuration/edaManager/SD.EM_Filter_Condition.xml +156 -0
- package/d2configuration/edaManager/SD.EM_Tree_Item.xml +34 -1
- package/package.json +3 -3
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.d.ts +0 -6
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js +0 -14
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
3
|
-
<svg width="100%" height="100%" viewBox="172 295 459 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
|
4
|
-
<g id="Layer-1" serif:id="Layer 1">
|
|
5
|
-
<g transform="matrix(1,0,0,1,182.93,310.677)">
|
|
6
|
-
<path d="M0,32.646L-10.365,32.646L-10.365,41.595L0,41.595C1.637,44.92 5.052,47.189 9.036,47.189C13.018,47.189 16.433,44.92 18.07,41.595L56.763,41.595L56.763,32.646L18.071,32.646C16.434,29.321 13.018,27.053 9.036,27.053C5.052,27.053 1.637,29.321 0,32.646M28.326,11.846L-10.365,11.846L-10.365,20.795L28.327,20.795C29.963,24.12 33.379,26.388 37.364,26.388C41.346,26.388 44.761,24.12 46.398,20.795L56.763,20.795L56.763,11.846L46.398,11.846C44.761,8.521 41.346,6.254 37.364,6.254C33.379,6.254 29.963,8.521 28.326,11.846M0.001,-8.951L-10.365,-8.951L-10.365,-0.003L0,-0.003C1.637,3.323 5.052,5.59 9.036,5.59C13.018,5.59 16.434,3.323 18.071,-0.003L56.763,-0.003L56.763,-8.951L18.07,-8.951C16.433,-12.276 13.018,-14.543 9.036,-14.543C5.052,-14.543 1.637,-12.276 0.001,-8.951" style="stroke:black;stroke-width:1px;"/>
|
|
7
|
-
</g>
|
|
8
|
-
<g transform="matrix(1,0,0,1,398.066,302.582)">
|
|
9
|
-
<path d="M0,48.893L0,36.861C5.901,39.084 13.946,40.54 23.143,40.54C35.023,40.54 37.627,38.702 37.627,35.712C37.627,26.057 -1.533,34.947 -1.533,13.64C-1.533,3.141 7.357,-3.142 27.512,-3.142C34.18,-3.142 41,-2.223 46.441,-0.766L48.509,11.036C42.685,9.503 34.868,8.354 25.978,8.354C14.101,8.354 11.494,10.193 11.494,13.181C11.494,22.837 50.656,13.948 50.656,35.252C50.656,45.751 41.767,52.035 21.611,52.035C13.716,52.035 5.746,50.734 0,48.893M-62.23,24.447C-62.23,6.208 -51.96,-3.142 -29.429,-3.142C-23.759,-3.142 -17.168,-2.452 -11.19,-1.532L-9.198,10.27C-14.792,9.195 -22.533,8.354 -29.429,8.354C-43.071,8.354 -48.053,10.653 -49.277,19.083L-10.194,19.083L-10.194,29.812L-49.277,29.812C-48.053,38.242 -43.071,40.541 -29.429,40.541C-22.533,40.541 -14.792,39.698 -9.198,38.624L-11.19,50.426C-17.168,51.345 -23.759,52.035 -29.429,52.035C-51.96,52.035 -62.23,42.687 -62.23,24.447M56.481,24.447C56.481,5.365 66.214,-3.142 88.132,-3.142C110.051,-3.142 119.782,5.365 119.782,24.447C119.782,43.53 110.051,52.035 88.132,52.035C66.214,52.035 56.481,43.53 56.481,24.447M-120.167,-2.377L-95.184,-2.377C-76.331,-2.377 -68.055,4.215 -68.055,19.005C-68.055,33.797 -76.331,40.386 -95.184,40.386L-107.827,40.386L-107.827,51.27L-120.167,51.27L-120.167,-2.377ZM-144.688,-0.844L-132.426,-2.758L-132.426,51.269L-144.688,51.269L-144.688,-0.844ZM219.637,44.756C219.637,40.924 222.319,38.242 226.151,38.242C229.983,38.242 232.664,40.924 232.664,44.756C232.664,48.587 229.983,51.269 226.151,51.269C222.319,51.269 219.637,48.587 219.637,44.756M155.188,-3.142C161.318,-3.142 166.453,-2.682 171.127,-1.532L173.121,10.193C167.987,9.044 162.084,8.354 156.643,8.354C144.153,8.354 140.934,10.883 140.934,19.389L140.934,22.915L171.972,22.915L171.972,34.027L140.934,34.027L140.934,50.964L128.672,50.964L128.672,19.849C128.672,4.829 137.944,-3.142 155.188,-3.142M197.872,9.12L177.717,9.12L177.717,-2.375L230.366,-2.375L230.366,9.12L210.212,9.12L210.212,50.964L197.872,50.964L197.872,9.12ZM226.151,50.121C229.216,50.121 231.439,47.898 231.439,44.756C231.439,41.614 229.216,39.392 226.151,39.392C223.084,39.392 220.862,41.614 220.862,44.756C220.862,47.898 223.084,50.121 226.151,50.121M223.852,41.154L226.456,41.154C228.067,41.154 228.757,41.996 228.757,43.377C228.757,44.372 228.373,45.061 227.606,45.369L229.216,48.127L227.684,48.127L226.226,45.599L225.155,45.599L225.155,48.127L223.852,48.127L223.852,41.154ZM226.304,44.448C227.071,44.448 227.376,44.296 227.376,43.377C227.376,42.456 227.071,42.304 226.304,42.304L225.155,42.304L225.155,44.448L226.304,44.448ZM88.132,40.541C102.694,40.541 106.371,37.321 106.371,24.447C106.371,11.573 102.694,8.354 88.132,8.354C73.571,8.354 69.892,11.573 69.892,24.447C69.892,37.321 73.571,40.541 88.132,40.541M-92.272,28.892C-84.531,28.892 -81.081,26.21 -81.081,19.005C-81.081,12.108 -84.147,9.12 -92.272,9.12L-107.827,9.12L-107.827,28.892L-92.272,28.892Z" style="fill-rule:nonzero;"/>
|
|
10
|
-
</g>
|
|
11
|
-
</g>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
3
|
+
<svg width="100%" height="100%" viewBox="172 295 459 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
|
4
|
+
<g id="Layer-1" serif:id="Layer 1">
|
|
5
|
+
<g transform="matrix(1,0,0,1,182.93,310.677)">
|
|
6
|
+
<path d="M0,32.646L-10.365,32.646L-10.365,41.595L0,41.595C1.637,44.92 5.052,47.189 9.036,47.189C13.018,47.189 16.433,44.92 18.07,41.595L56.763,41.595L56.763,32.646L18.071,32.646C16.434,29.321 13.018,27.053 9.036,27.053C5.052,27.053 1.637,29.321 0,32.646M28.326,11.846L-10.365,11.846L-10.365,20.795L28.327,20.795C29.963,24.12 33.379,26.388 37.364,26.388C41.346,26.388 44.761,24.12 46.398,20.795L56.763,20.795L56.763,11.846L46.398,11.846C44.761,8.521 41.346,6.254 37.364,6.254C33.379,6.254 29.963,8.521 28.326,11.846M0.001,-8.951L-10.365,-8.951L-10.365,-0.003L0,-0.003C1.637,3.323 5.052,5.59 9.036,5.59C13.018,5.59 16.434,3.323 18.071,-0.003L56.763,-0.003L56.763,-8.951L18.07,-8.951C16.433,-12.276 13.018,-14.543 9.036,-14.543C5.052,-14.543 1.637,-12.276 0.001,-8.951" style="stroke:black;stroke-width:1px;"/>
|
|
7
|
+
</g>
|
|
8
|
+
<g transform="matrix(1,0,0,1,398.066,302.582)">
|
|
9
|
+
<path d="M0,48.893L0,36.861C5.901,39.084 13.946,40.54 23.143,40.54C35.023,40.54 37.627,38.702 37.627,35.712C37.627,26.057 -1.533,34.947 -1.533,13.64C-1.533,3.141 7.357,-3.142 27.512,-3.142C34.18,-3.142 41,-2.223 46.441,-0.766L48.509,11.036C42.685,9.503 34.868,8.354 25.978,8.354C14.101,8.354 11.494,10.193 11.494,13.181C11.494,22.837 50.656,13.948 50.656,35.252C50.656,45.751 41.767,52.035 21.611,52.035C13.716,52.035 5.746,50.734 0,48.893M-62.23,24.447C-62.23,6.208 -51.96,-3.142 -29.429,-3.142C-23.759,-3.142 -17.168,-2.452 -11.19,-1.532L-9.198,10.27C-14.792,9.195 -22.533,8.354 -29.429,8.354C-43.071,8.354 -48.053,10.653 -49.277,19.083L-10.194,19.083L-10.194,29.812L-49.277,29.812C-48.053,38.242 -43.071,40.541 -29.429,40.541C-22.533,40.541 -14.792,39.698 -9.198,38.624L-11.19,50.426C-17.168,51.345 -23.759,52.035 -29.429,52.035C-51.96,52.035 -62.23,42.687 -62.23,24.447M56.481,24.447C56.481,5.365 66.214,-3.142 88.132,-3.142C110.051,-3.142 119.782,5.365 119.782,24.447C119.782,43.53 110.051,52.035 88.132,52.035C66.214,52.035 56.481,43.53 56.481,24.447M-120.167,-2.377L-95.184,-2.377C-76.331,-2.377 -68.055,4.215 -68.055,19.005C-68.055,33.797 -76.331,40.386 -95.184,40.386L-107.827,40.386L-107.827,51.27L-120.167,51.27L-120.167,-2.377ZM-144.688,-0.844L-132.426,-2.758L-132.426,51.269L-144.688,51.269L-144.688,-0.844ZM219.637,44.756C219.637,40.924 222.319,38.242 226.151,38.242C229.983,38.242 232.664,40.924 232.664,44.756C232.664,48.587 229.983,51.269 226.151,51.269C222.319,51.269 219.637,48.587 219.637,44.756M155.188,-3.142C161.318,-3.142 166.453,-2.682 171.127,-1.532L173.121,10.193C167.987,9.044 162.084,8.354 156.643,8.354C144.153,8.354 140.934,10.883 140.934,19.389L140.934,22.915L171.972,22.915L171.972,34.027L140.934,34.027L140.934,50.964L128.672,50.964L128.672,19.849C128.672,4.829 137.944,-3.142 155.188,-3.142M197.872,9.12L177.717,9.12L177.717,-2.375L230.366,-2.375L230.366,9.12L210.212,9.12L210.212,50.964L197.872,50.964L197.872,9.12ZM226.151,50.121C229.216,50.121 231.439,47.898 231.439,44.756C231.439,41.614 229.216,39.392 226.151,39.392C223.084,39.392 220.862,41.614 220.862,44.756C220.862,47.898 223.084,50.121 226.151,50.121M223.852,41.154L226.456,41.154C228.067,41.154 228.757,41.996 228.757,43.377C228.757,44.372 228.373,45.061 227.606,45.369L229.216,48.127L227.684,48.127L226.226,45.599L225.155,45.599L225.155,48.127L223.852,48.127L223.852,41.154ZM226.304,44.448C227.071,44.448 227.376,44.296 227.376,43.377C227.376,42.456 227.071,42.304 226.304,42.304L225.155,42.304L225.155,44.448L226.304,44.448ZM88.132,40.541C102.694,40.541 106.371,37.321 106.371,24.447C106.371,11.573 102.694,8.354 88.132,8.354C73.571,8.354 69.892,11.573 69.892,24.447C69.892,37.321 73.571,40.541 88.132,40.541M-92.272,28.892C-84.531,28.892 -81.081,26.21 -81.081,19.005C-81.081,12.108 -84.147,9.12 -92.272,9.12L-107.827,9.12L-107.827,28.892L-92.272,28.892Z" style="fill-rule:nonzero;"/>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
12
|
</svg>
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
<objType>EVENT</objType>
|
|
14
14
|
<valType>Int</valType>
|
|
15
15
|
</HOBJ_REF>
|
|
16
|
+
<HOBJ_REF>
|
|
17
|
+
<uid>A12101E2F3662D4A87E8282EBC5659FC</uid>
|
|
18
|
+
<name>SD.EM_Filter_Condition</name>
|
|
19
|
+
<objType>STRUCTDEF</objType>
|
|
20
|
+
<valType>NAN</valType>
|
|
21
|
+
</HOBJ_REF>
|
|
16
22
|
<HOBJ_REF>
|
|
17
23
|
<uid>3E9CFD9A52DF1A43913EBCD3FFE3871E</uid>
|
|
18
24
|
<name>SD.EM_Tree_Item</name>
|
|
@@ -35,7 +41,7 @@
|
|
|
35
41
|
<ParentId>SELF.EVH</ParentId>
|
|
36
42
|
<Value_Type>Int</Value_Type>
|
|
37
43
|
<CreateTime>11.03.2026 12:21:02.586</CreateTime>
|
|
38
|
-
<ModifyTime>
|
|
44
|
+
<ModifyTime>11.05.2026 12:28:52.264</ModifyTime>
|
|
39
45
|
<Text_Palette/>
|
|
40
46
|
<Read_Only>False</Read_Only>
|
|
41
47
|
<TECH_UNIT/>
|
|
@@ -134,13 +140,69 @@ RPC PROCEDURE GetScenarioChildren(IN INT _id, IN BOOL _showOmitted, IN INT _coun
|
|
|
134
140
|
END GetScenarioChildren
|
|
135
141
|
|
|
136
142
|
;*********************************************************
|
|
137
|
-
;
|
|
143
|
+
; GetScenarioVectors
|
|
138
144
|
;*********************************************************
|
|
139
145
|
|
|
140
146
|
RPC PROCEDURE GetScenarioVectors(IN INT _id, IN BOOL _showOmitted, IN BOOL _showDynamic, IN INT _count, IN INT _offset, RECORD NOALIAS (SD.EM_Tree_Item) _items, INT _leftCount, BOOL _isOk, TEXT _errorMsg)
|
|
141
147
|
CALL [_unit] GetScenarioVectors(_handle, _id, _showOmitted, _showDynamic, _count, _offset, _items, _leftCount, _isOk, _errorMsg)
|
|
142
148
|
END GetScenarioVectors
|
|
143
149
|
|
|
150
|
+
;*********************************************************
|
|
151
|
+
; GetVector
|
|
152
|
+
;*********************************************************
|
|
153
|
+
|
|
154
|
+
RPC PROCEDURE GetVector(IN INT _id, RECORD NOALIAS (SD.EM_Tree_Item) _item, BOOL _isOk, TEXT _errorMsg)
|
|
155
|
+
CALL [_unit] GetVector(_handle, _id, _item, _isOk, _errorMsg)
|
|
156
|
+
END GetVector
|
|
157
|
+
|
|
158
|
+
;*********************************************************
|
|
159
|
+
; GetGroup
|
|
160
|
+
;*********************************************************
|
|
161
|
+
|
|
162
|
+
RPC PROCEDURE GetGroup(IN INT _id, RECORD NOALIAS (SD.EM_Tree_Item) _item, BOOL _isOk, TEXT _errorMsg)
|
|
163
|
+
CALL [_unit] GetGroup(_handle, _id, _item, _isOk, _errorMsg)
|
|
164
|
+
END GetGroup
|
|
165
|
+
|
|
166
|
+
;*********************************************************
|
|
167
|
+
; GetScenario
|
|
168
|
+
;*********************************************************
|
|
169
|
+
|
|
170
|
+
RPC PROCEDURE GetScenario(IN INT _id, RECORD NOALIAS (SD.EM_Tree_Item) _item, BOOL _isOk, TEXT _errorMsg)
|
|
171
|
+
CALL [_unit] GetScenario(_handle, _id, _item, _isOk, _errorMsg)
|
|
172
|
+
END GetScenario
|
|
173
|
+
|
|
174
|
+
;*********************************************************
|
|
175
|
+
; FindVectors
|
|
176
|
+
;*********************************************************
|
|
177
|
+
|
|
178
|
+
RPC PROCEDURE FindVectors(IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, IN INT _count, RECORD NOALIAS (SD.EM_Tree_Item) _items, BOOL _isOk, TEXT _errorMsg)
|
|
179
|
+
CALL [_unit] FindVectors(_handle, _count, _conditions, _items, _isOk, _errorMsg)
|
|
180
|
+
END FindVectors
|
|
181
|
+
|
|
182
|
+
;*********************************************************
|
|
183
|
+
; FindGroups
|
|
184
|
+
;*********************************************************
|
|
185
|
+
|
|
186
|
+
RPC PROCEDURE FindGroups(IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, IN INT _count, RECORD NOALIAS (SD.EM_Tree_Item) _items, BOOL _isOk, TEXT _errorMsg)
|
|
187
|
+
CALL [_unit] FindGroups(_handle, _count, _conditions, _items, _isOk, _errorMsg)
|
|
188
|
+
END FindGroups
|
|
189
|
+
|
|
190
|
+
;*********************************************************
|
|
191
|
+
; FindScenarios
|
|
192
|
+
;*********************************************************
|
|
193
|
+
|
|
194
|
+
RPC PROCEDURE FindScenarios(IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, IN INT _count, RECORD NOALIAS (SD.EM_Tree_Item) _items, BOOL _isOk, TEXT _errorMsg)
|
|
195
|
+
CALL [_unit] FindScenarios(_handle, _count, _conditions, _items, _isOk, _errorMsg)
|
|
196
|
+
END FindScenarios
|
|
197
|
+
|
|
198
|
+
;*********************************************************
|
|
199
|
+
; SearchVectors
|
|
200
|
+
;*********************************************************
|
|
201
|
+
|
|
202
|
+
; RPC PROCEDURE SearchVectors(IN TEXT _, BOOL _isOk, TEXT _errorMsg)
|
|
203
|
+
|
|
204
|
+
; END SearchVectors
|
|
205
|
+
|
|
144
206
|
;*********************************************************
|
|
145
207
|
;*********************************************************
|
|
146
208
|
;*********************************************************
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<ParentId>SELF.EVH</ParentId>
|
|
35
35
|
<Value_Type>Int</Value_Type>
|
|
36
36
|
<CreateTime>13.03.2026 14:45:11.232</CreateTime>
|
|
37
|
-
<ModifyTime>
|
|
37
|
+
<ModifyTime>11.05.2026 12:28:06.572</ModifyTime>
|
|
38
38
|
<Text_Palette/>
|
|
39
39
|
<Read_Only>False</Read_Only>
|
|
40
40
|
<TECH_UNIT/>
|
|
@@ -93,7 +93,7 @@ RPC PROCEDURE GetGroupCountSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL
|
|
|
93
93
|
END GetGroupCountSql
|
|
94
94
|
|
|
95
95
|
RPC PROCEDURE GetGroupItemsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
96
|
-
_sql := "SELECT ID_SkVektor, EDA_ID_SkVektor, Meno, Cesta, Zobraz_Meno, 0 FROM EDA_SkVektor WHERE "
|
|
96
|
+
_sql := "SELECT ID_SkVektor, EDA_ID_SkVektor, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_SkVektor WHERE "
|
|
97
97
|
|
|
98
98
|
IF _showOmitted THEN
|
|
99
99
|
_sql := _sql + "EDA_ID_SkVektor = ID_SkVektor"
|
|
@@ -121,7 +121,7 @@ RPC PROCEDURE GetGroupVectorsCountSql(IN INT _id, IN BOOL _showOmitted, TEXT _sq
|
|
|
121
121
|
END GetGroupVectorsCountSql
|
|
122
122
|
|
|
123
123
|
RPC PROCEDURE GetGroupVectorItemsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
124
|
-
_sql := "SELECT ID_Vektor, ID_SkVektor, Meno, '', Zobraz_Meno, Typ FROM EDA_Vektor WHERE "
|
|
124
|
+
_sql := "SELECT ID_Vektor, ID_SkVektor, Meno, '', Zobraz_Meno, Typ, Tech_Jednotky, View_Round, View_Dec_Pl FROM EDA_Vektor WHERE "
|
|
125
125
|
|
|
126
126
|
IF _showOmitted THEN
|
|
127
127
|
_sql := _sql + "ID_SkVektor IS NULL"
|
|
@@ -153,7 +153,7 @@ RPC PROCEDURE GetScenarioItemsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, B
|
|
|
153
153
|
TEXT _sql2
|
|
154
154
|
TEXT _where
|
|
155
155
|
|
|
156
|
-
_sql1 := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0 FROM EDA_Scenar WHERE "
|
|
156
|
+
_sql1 := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_Scenar WHERE "
|
|
157
157
|
_where := "FILTER IS NULL AND "
|
|
158
158
|
|
|
159
159
|
IF _showOmitted THEN
|
|
@@ -166,7 +166,7 @@ RPC PROCEDURE GetScenarioItemsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, B
|
|
|
166
166
|
|
|
167
167
|
_sql1 := _sql1 + _where
|
|
168
168
|
|
|
169
|
-
_sql2 := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0 FROM EDA_Scenar WHERE "
|
|
169
|
+
_sql2 := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_Scenar WHERE "
|
|
170
170
|
_where := "FILTER IS NOT NULL AND "
|
|
171
171
|
|
|
172
172
|
IF _showOmitted THEN
|
|
@@ -211,9 +211,6 @@ RPC PROCEDURE GetScenarioVectorsCountSql(IN INT _id, IN BOOL _showOmitted, IN BO
|
|
|
211
211
|
IF _EDA_Scenar[1]^FILTER\VLD THEN
|
|
212
212
|
_sqlPom := "SELECT Count(*) AS amount FROM EDA_VEKTOR v, (" + _EDA_Scenar[1]^FILTER + ") filter WHERE filter.id_vektor = v.ID_Vektor"
|
|
213
213
|
_sql := "SELECT Sum(amount) AS celkovy_pocet FROM (" + _sql + " UNION ALL " + _sqlPom + ") subquery"
|
|
214
|
-
|
|
215
|
-
_sql := %ReplaceStr(_sql, "OD_VW_Filter_Zmluva z WHERE (z.dat_do_zmluvy >= :1 and z.dat_od_zmluvy <= :2) AND ", "OD_VW_Filter_Zmluva z WHERE ", @TRUE)
|
|
216
|
-
_sql := %ReplaceStr(_sql, "OD_VW_Filter_Zmluva_Short z WHERE (z.dat_do_zmluvy >= :1 and z.dat_od_zmluvy <= :2) AND ", "OD_VW_Filter_Zmluva_Short z WHERE ", @TRUE)
|
|
217
214
|
ENDIF
|
|
218
215
|
ENDIF
|
|
219
216
|
|
|
@@ -222,7 +219,7 @@ END GetScenarioVectorsCountSql
|
|
|
222
219
|
|
|
223
220
|
RPC PROCEDURE GetScenarioVectorItemsSql(IN INT _id, IN BOOL _showOmitted, IN BOOL _showDynamic, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
224
221
|
_sql := "SELECT v.ID_Vektor, vs.ID, v.Meno, '', CASE WHEN vs.zobraz_Meno is NULL THEN (v.zobraz_meno) ELSE (vs.Zobraz_Meno || ' (' || v.Zobraz_meno || ')') END zobraz_meno,"
|
|
225
|
-
_sql := _sql + " v.Typ, vs.idx IDX FROM EDA_VEKTOR v, EDA_VEKTOR_SCENAR vs WHERE v.ID_Vektor = vs.ID_Vektor AND "
|
|
222
|
+
_sql := _sql + " v.Typ, v.Tech_Jednotky, v.View_Round, v.View_Dec_Pl, vs.idx IDX FROM EDA_VEKTOR v, EDA_VEKTOR_SCENAR vs WHERE v.ID_Vektor = vs.ID_Vektor AND "
|
|
226
223
|
|
|
227
224
|
IF !_id\VLD | _showOmitted THEN
|
|
228
225
|
_sql := _sql + "1 = 0"
|
|
@@ -245,12 +242,9 @@ RPC PROCEDURE GetScenarioVectorItemsSql(IN INT _id, IN BOOL _showOmitted, IN BOO
|
|
|
245
242
|
ENDIF
|
|
246
243
|
|
|
247
244
|
IF _EDA_Scenar[1]^FILTER\VLD THEN
|
|
248
|
-
_sqlPom := "SELECT v.ID_Vektor, v.ID_SkVektor, v.Meno, '', v.Zobraz_meno, v.Typ, null FROM EDA_VEKTOR v, (" + _EDA_Scenar[1]^FILTER + ") filter WHERE filter.id_vektor = v.ID_Vektor"
|
|
245
|
+
_sqlPom := "SELECT v.ID_Vektor, v.ID_SkVektor, v.Meno, '', v.Zobraz_meno, v.Typ, v.Tech_Jednotky, v.View_Round, v.View_Dec_Pl, null FROM EDA_VEKTOR v, (" + _EDA_Scenar[1]^FILTER + ") filter WHERE filter.id_vektor = v.ID_Vektor"
|
|
249
246
|
_sql := _sql + " UNION " + _sqlPom
|
|
250
247
|
_sql := _sql + " ORDER BY 7, 5"
|
|
251
|
-
|
|
252
|
-
_sql := %ReplaceStr(_sql, "OD_VW_Filter_Zmluva z WHERE (z.dat_do_zmluvy >= :1 and z.dat_od_zmluvy <= :2) AND ", "OD_VW_Filter_Zmluva z WHERE ", @TRUE)
|
|
253
|
-
_sql := %ReplaceStr(_sql, "OD_VW_Filter_Zmluva_Short z WHERE (z.dat_do_zmluvy >= :1 and z.dat_od_zmluvy <= :2) AND ", "OD_VW_Filter_Zmluva_Short z WHERE ", @TRUE)
|
|
254
248
|
ENDIF
|
|
255
249
|
ELSE
|
|
256
250
|
_sql := _sql + " ORDER BY Idx, Zobraz_Meno"
|
|
@@ -259,6 +253,50 @@ RPC PROCEDURE GetScenarioVectorItemsSql(IN INT _id, IN BOOL _showOmitted, IN BOO
|
|
|
259
253
|
_isOk := @TRUE
|
|
260
254
|
END GetScenarioVectorItemsSql
|
|
261
255
|
|
|
256
|
+
RPC PROCEDURE GetVectorSql(IN INT _id, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
257
|
+
_sql := "SELECT ID_Vektor, ID_SkVektor, Meno, '', Zobraz_Meno, Typ, Tech_Jednotky, View_Round, View_Dec_Pl FROM EDA_Vektor WHERE ID_Vektor = " + %IToStr(_id)
|
|
258
|
+
_isOk := @TRUE
|
|
259
|
+
END GetVectorSql
|
|
260
|
+
|
|
261
|
+
RPC PROCEDURE GetGroupSql(IN INT _id, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
262
|
+
_sql := "SELECT ID_SkVektor, EDA_ID_SkVektor, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_SkVektor WHERE ID_SkVektor = " + %IToStr(_id)
|
|
263
|
+
_isOk := @TRUE
|
|
264
|
+
END GetGroupSql
|
|
265
|
+
|
|
266
|
+
RPC PROCEDURE GetScenarioSql(IN INT _id, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
267
|
+
_sql := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_Scenar WHERE ID_Scenar = " + %IToStr(_id)
|
|
268
|
+
_isOk := @TRUE
|
|
269
|
+
END GetScenarioSql
|
|
270
|
+
|
|
271
|
+
RPC PROCEDURE FindVectorsSql(IN TEXT _filter, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
272
|
+
_sql := "SELECT ID_Vektor, ID_SkVektor, Meno, '', Zobraz_Meno, Typ, Tech_Jednotky, View_Round, View_Dec_Pl FROM EDA_Vektor WHERE " + _filter
|
|
273
|
+
_isOk := @TRUE
|
|
274
|
+
END FindVectorsSql
|
|
275
|
+
|
|
276
|
+
RPC PROCEDURE FindGroupsSql(IN TEXT _filter, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
277
|
+
_sql := "SELECT ID_SkVektor, EDA_ID_SkVektor, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_SkVektor WHERE " + _filter
|
|
278
|
+
_isOk := @TRUE
|
|
279
|
+
END FindGroupsSql
|
|
280
|
+
|
|
281
|
+
RPC PROCEDURE FindScenariosSql(IN TEXT _filter, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
282
|
+
TEXT _sql1
|
|
283
|
+
TEXT _sql2
|
|
284
|
+
TEXT _where
|
|
285
|
+
|
|
286
|
+
_sql1 := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_Scenar WHERE "
|
|
287
|
+
_where := "FILTER IS NULL AND " + _filter
|
|
288
|
+
|
|
289
|
+
_sql1 := _sql1 + _where
|
|
290
|
+
|
|
291
|
+
_sql2 := "SELECT ID_Scenar, EDA_ID_Scenar, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_Scenar WHERE "
|
|
292
|
+
_where := "FILTER IS NOT NULL AND " + _filter
|
|
293
|
+
|
|
294
|
+
_sql2 := _sql2 + _where
|
|
295
|
+
|
|
296
|
+
_sql := _sql1 + " UNION " + _sql2
|
|
297
|
+
_isOk := @TRUE
|
|
298
|
+
END FindScenariosSql
|
|
299
|
+
|
|
262
300
|
BEGIN
|
|
263
301
|
PRAGMA "ENABLE_INOUT_BY_REF"
|
|
264
302
|
END
|
|
@@ -7,6 +7,52 @@
|
|
|
7
7
|
<objType>EVENT</objType>
|
|
8
8
|
<valType>Int</valType>
|
|
9
9
|
</HOBJ_REF>
|
|
10
|
+
<HOBJ_REF>
|
|
11
|
+
<uid>A12101E2F3662D4A87E8282EBC5659FC</uid>
|
|
12
|
+
<name>SD.EM_Filter_Condition</name>
|
|
13
|
+
<objType>STRUCTDEF</objType>
|
|
14
|
+
<valType>NAN</valType>
|
|
15
|
+
</HOBJ_REF>
|
|
16
|
+
<COL_REF>
|
|
17
|
+
<col_idx>5</col_idx>
|
|
18
|
+
<col_name>column_name</col_name>
|
|
19
|
+
<col_valType>Text</col_valType>
|
|
20
|
+
</COL_REF>
|
|
21
|
+
<COL_REF>
|
|
22
|
+
<col_idx>4</col_idx>
|
|
23
|
+
<col_name>left_par</col_name>
|
|
24
|
+
<col_valType>Int</col_valType>
|
|
25
|
+
</COL_REF>
|
|
26
|
+
<COL_REF>
|
|
27
|
+
<col_idx>10</col_idx>
|
|
28
|
+
<col_name>logical_operator</col_name>
|
|
29
|
+
<col_valType>Text</col_valType>
|
|
30
|
+
</COL_REF>
|
|
31
|
+
<COL_REF>
|
|
32
|
+
<col_idx>3</col_idx>
|
|
33
|
+
<col_name>not_flag</col_name>
|
|
34
|
+
<col_valType>Int</col_valType>
|
|
35
|
+
</COL_REF>
|
|
36
|
+
<COL_REF>
|
|
37
|
+
<col_idx>6</col_idx>
|
|
38
|
+
<col_name>operator</col_name>
|
|
39
|
+
<col_valType>Text</col_valType>
|
|
40
|
+
</COL_REF>
|
|
41
|
+
<COL_REF>
|
|
42
|
+
<col_idx>9</col_idx>
|
|
43
|
+
<col_name>right_par</col_name>
|
|
44
|
+
<col_valType>Int</col_valType>
|
|
45
|
+
</COL_REF>
|
|
46
|
+
<COL_REF>
|
|
47
|
+
<col_idx>7</col_idx>
|
|
48
|
+
<col_name>value</col_name>
|
|
49
|
+
<col_valType>Text</col_valType>
|
|
50
|
+
</COL_REF>
|
|
51
|
+
<COL_REF>
|
|
52
|
+
<col_idx>8</col_idx>
|
|
53
|
+
<col_name>value_type</col_name>
|
|
54
|
+
<col_valType>Int</col_valType>
|
|
55
|
+
</COL_REF>
|
|
10
56
|
<HOBJ_REF>
|
|
11
57
|
<uid>3E9CFD9A52DF1A43913EBCD3FFE3871E</uid>
|
|
12
58
|
<name>SD.EM_Tree_Item</name>
|
|
@@ -29,7 +75,7 @@
|
|
|
29
75
|
<ParentId>SELF.EVH</ParentId>
|
|
30
76
|
<Value_Type>Int</Value_Type>
|
|
31
77
|
<CreateTime>11.03.2026 12:20:57.326</CreateTime>
|
|
32
|
-
<ModifyTime>
|
|
78
|
+
<ModifyTime>11.05.2026 12:28:42.283</ModifyTime>
|
|
33
79
|
<Text_Palette/>
|
|
34
80
|
<Read_Only>False</Read_Only>
|
|
35
81
|
<TECH_UNIT/>
|
|
@@ -75,6 +121,16 @@
|
|
|
75
121
|
|
|
76
122
|
BOOL _LOG_SQL = @TRUE
|
|
77
123
|
|
|
124
|
+
TEXT _LIST_SEPARATOR = "@#@"
|
|
125
|
+
|
|
126
|
+
; condition value types
|
|
127
|
+
INT _TYPE_STRING = 1
|
|
128
|
+
INT _TYPE_NUMBER = 2
|
|
129
|
+
INT _TYPE_STRING_LIST = 3
|
|
130
|
+
INT _TYPE_NUMBER_LIST = 4
|
|
131
|
+
INT _TYPE_DATE = 5
|
|
132
|
+
INT _TYPE_DATE_WITHOUT_TIME = 6
|
|
133
|
+
|
|
78
134
|
;*********************************************************
|
|
79
135
|
; GetGroupChildren
|
|
80
136
|
;*********************************************************
|
|
@@ -255,6 +311,123 @@ PUBLIC PROCEDURE GetScenarioVectors(IN DB_HANDLE _hndl, IN INT _id, IN BOOL _sho
|
|
|
255
311
|
CALL GetItems(_hndl, _sql, _count, _offset, _items, _isOk, _errorMsg)
|
|
256
312
|
END GetScenarioVectors
|
|
257
313
|
|
|
314
|
+
;*********************************************************
|
|
315
|
+
; GetVector
|
|
316
|
+
;*********************************************************
|
|
317
|
+
|
|
318
|
+
PUBLIC PROCEDURE GetVector(IN DB_HANDLE _hndl, IN INT _id, RECORD NOALIAS (SD.EM_Tree_Item) _item, BOOL _isOk, TEXT _errorMsg)
|
|
319
|
+
TEXT _sql
|
|
320
|
+
|
|
321
|
+
CALL [E.EM_NAVIGATOR_SQL] GetVectorSql(_id, _sql, _isOk, _errorMsg) ON (%GetParentProcessHBJ())
|
|
322
|
+
|
|
323
|
+
IF !_isOk THEN
|
|
324
|
+
RETURN
|
|
325
|
+
ENDIF
|
|
326
|
+
|
|
327
|
+
CALL GetItems(_hndl, _sql, 1, 0, _item, _isOk, _errorMsg)
|
|
328
|
+
END GetVector
|
|
329
|
+
|
|
330
|
+
;*********************************************************
|
|
331
|
+
; GetGroup
|
|
332
|
+
;*********************************************************
|
|
333
|
+
|
|
334
|
+
PUBLIC PROCEDURE GetGroup(IN DB_HANDLE _hndl, IN INT _id, RECORD NOALIAS (SD.EM_Tree_Item) _item, BOOL _isOk, TEXT _errorMsg)
|
|
335
|
+
TEXT _sql
|
|
336
|
+
|
|
337
|
+
CALL [E.EM_NAVIGATOR_SQL] GetGroupSql(_id, _sql, _isOk, _errorMsg) ON (%GetParentProcessHBJ())
|
|
338
|
+
|
|
339
|
+
IF !_isOk THEN
|
|
340
|
+
RETURN
|
|
341
|
+
ENDIF
|
|
342
|
+
|
|
343
|
+
CALL GetItems(_hndl, _sql, 1, 0, _item, _isOk, _errorMsg)
|
|
344
|
+
END GetGroup
|
|
345
|
+
|
|
346
|
+
;*********************************************************
|
|
347
|
+
; GetScenario
|
|
348
|
+
;*********************************************************
|
|
349
|
+
|
|
350
|
+
PUBLIC PROCEDURE GetScenario(IN DB_HANDLE _hndl, IN INT _id, RECORD NOALIAS (SD.EM_Tree_Item) _item, BOOL _isOk, TEXT _errorMsg)
|
|
351
|
+
TEXT _sql
|
|
352
|
+
|
|
353
|
+
CALL [E.EM_NAVIGATOR_SQL] GetScenarioSql(_id, _sql, _isOk, _errorMsg) ON (%GetParentProcessHBJ())
|
|
354
|
+
|
|
355
|
+
IF !_isOk THEN
|
|
356
|
+
RETURN
|
|
357
|
+
ENDIF
|
|
358
|
+
|
|
359
|
+
CALL GetItems(_hndl, _sql, 1, 0, _item, _isOk, _errorMsg)
|
|
360
|
+
END GetScenario
|
|
361
|
+
|
|
362
|
+
;*********************************************************
|
|
363
|
+
; FindVectors
|
|
364
|
+
;*********************************************************
|
|
365
|
+
|
|
366
|
+
PUBLIC PROCEDURE FindVectors(IN DB_HANDLE _hndl, IN INT _count, IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, RECORD NOALIAS (SD.EM_Tree_Item) _items, BOOL _isOk, TEXT _errorMsg)
|
|
367
|
+
TEXT _sql
|
|
368
|
+
TEXT _filter
|
|
369
|
+
|
|
370
|
+
CALL GetFilterAsText(_conditions, _filter, _isOk, _errorMsg)
|
|
371
|
+
|
|
372
|
+
IF !_isOk THEN
|
|
373
|
+
RETURN
|
|
374
|
+
ENDIF
|
|
375
|
+
|
|
376
|
+
CALL [E.EM_NAVIGATOR_SQL] FindVectorsSql(_filter, _sql, _isOk, _errorMsg) ON (%GetParentProcessHBJ())
|
|
377
|
+
|
|
378
|
+
IF !_isOk THEN
|
|
379
|
+
RETURN
|
|
380
|
+
ENDIF
|
|
381
|
+
|
|
382
|
+
CALL GetItems(_hndl, _sql, _count, 0, _items, _isOk, _errorMsg)
|
|
383
|
+
END FindVectors
|
|
384
|
+
|
|
385
|
+
;*********************************************************
|
|
386
|
+
; FindGroups
|
|
387
|
+
;*********************************************************
|
|
388
|
+
|
|
389
|
+
PUBLIC PROCEDURE FindGroups(IN DB_HANDLE _hndl, IN INT _count, IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, RECORD NOALIAS (SD.EM_Tree_Item) _items, BOOL _isOk, TEXT _errorMsg)
|
|
390
|
+
TEXT _sql
|
|
391
|
+
TEXT _filter
|
|
392
|
+
|
|
393
|
+
CALL GetFilterAsText(_conditions, _filter, _isOk, _errorMsg)
|
|
394
|
+
|
|
395
|
+
IF !_isOk THEN
|
|
396
|
+
RETURN
|
|
397
|
+
ENDIF
|
|
398
|
+
|
|
399
|
+
CALL [E.EM_NAVIGATOR_SQL] FindGroupsSql(_filter, _sql, _isOk, _errorMsg) ON (%GetParentProcessHBJ())
|
|
400
|
+
|
|
401
|
+
IF !_isOk THEN
|
|
402
|
+
RETURN
|
|
403
|
+
ENDIF
|
|
404
|
+
|
|
405
|
+
CALL GetItems(_hndl, _sql, _count, 0, _items, _isOk, _errorMsg)
|
|
406
|
+
END FindGroups
|
|
407
|
+
|
|
408
|
+
;*********************************************************
|
|
409
|
+
; FindScenarios
|
|
410
|
+
;*********************************************************
|
|
411
|
+
|
|
412
|
+
PUBLIC PROCEDURE FindScenarios(IN DB_HANDLE _hndl, IN INT _count, IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, RECORD NOALIAS (SD.EM_Tree_Item) _items, BOOL _isOk, TEXT _errorMsg)
|
|
413
|
+
TEXT _sql
|
|
414
|
+
TEXT _filter
|
|
415
|
+
|
|
416
|
+
CALL GetFilterAsText(_conditions, _filter, _isOk, _errorMsg)
|
|
417
|
+
|
|
418
|
+
IF !_isOk THEN
|
|
419
|
+
RETURN
|
|
420
|
+
ENDIF
|
|
421
|
+
|
|
422
|
+
CALL [E.EM_NAVIGATOR_SQL] FindScenariosSql(_filter, _sql, _isOk, _errorMsg) ON (%GetParentProcessHBJ())
|
|
423
|
+
|
|
424
|
+
IF !_isOk THEN
|
|
425
|
+
RETURN
|
|
426
|
+
ENDIF
|
|
427
|
+
|
|
428
|
+
CALL GetItems(_hndl, _sql, _count, 0, _items, _isOk, _errorMsg)
|
|
429
|
+
END FindScenarios
|
|
430
|
+
|
|
258
431
|
;*********************************************************
|
|
259
432
|
; GetGroupCount
|
|
260
433
|
;*********************************************************
|
|
@@ -317,19 +490,146 @@ PROCEDURE GetItems(IN DB_HANDLE _hndl, IN TEXT _sql, IN INT _count, IN INT _offs
|
|
|
317
490
|
|
|
318
491
|
SQL_FETCH _hndl, _retCode, _maxRows
|
|
319
492
|
|
|
320
|
-
IF _retCode # _ERR_NO_ERROR THEN
|
|
493
|
+
IF _retCode # _ERR_NO_ERROR & _retCode # _ERR_NO_DATA THEN
|
|
321
494
|
_isOk := @FALSE
|
|
322
495
|
_errorMsg := "Error SQL_FETCH [" + %IToStr(_retCode) + "] " + _sql
|
|
323
496
|
LOG _errorMsg PRIORITY _LOG_PRTY_ERROR
|
|
324
497
|
RETURN
|
|
325
498
|
ENDIF
|
|
326
499
|
|
|
327
|
-
|
|
328
|
-
|
|
500
|
+
IF _tmp\DIM = 0 THEN
|
|
501
|
+
_isOk := @TRUE
|
|
502
|
+
RETURN
|
|
503
|
+
ENDIF
|
|
504
|
+
|
|
505
|
+
REDIM _items[_tmp\DIM - _offset]
|
|
506
|
+
COPYSTRUCT _items, 1, _tmp[_fromRow], _tmp[_tmp\DIM]
|
|
329
507
|
|
|
330
508
|
_isOk := @TRUE
|
|
331
509
|
END GetItems
|
|
332
510
|
|
|
511
|
+
;*********************************************************
|
|
512
|
+
; GetFilterAsText
|
|
513
|
+
;*********************************************************
|
|
514
|
+
|
|
515
|
+
PROCEDURE GetFilterAsText(IN RECORD NOALIAS(SD.EM_Filter_Condition) _conditions, TEXT _filter, BOOL _isOk, TEXT _errorMsg)
|
|
516
|
+
INT _i, _j
|
|
517
|
+
TEXT _value, _nextValue, _errorMsgUnsupported, _start_of_day, _start_of_next_day
|
|
518
|
+
|
|
519
|
+
_isOk := @TRUE
|
|
520
|
+
_errorMsg := ""
|
|
521
|
+
|
|
522
|
+
_filter := ""
|
|
523
|
+
|
|
524
|
+
IF _conditions\DIM = 0 THEN
|
|
525
|
+
_filter := _filter + "1 = 1"
|
|
526
|
+
ENDIF
|
|
527
|
+
|
|
528
|
+
; build filter
|
|
529
|
+
; each condition has format :
|
|
530
|
+
; [NOT] [(] [UPPER(] column_name [)] [> | < | = | in ...] value_or_list [)] [AND | OR]
|
|
531
|
+
; NOTE : One condition of type _TYPE_DATE_WITHOUT_TIME can generate multiple conditions (depending on operator). See the implementation below.
|
|
532
|
+
FOR _i RANGE _conditions DO_LOOP
|
|
533
|
+
_errorMsgUnsupported := "Filter error : Unsupported combination of operator (" + _conditions[_i]^operator + ") and value_type (" +%IToStr(_conditions[_i]^value_type) + ") in condition " + %IToStr(_i) + "."
|
|
534
|
+
|
|
535
|
+
IF _conditions[_i]^not_flag = 1 THEN
|
|
536
|
+
_filter := _filter + " NOT"
|
|
537
|
+
ENDIF
|
|
538
|
+
|
|
539
|
+
IF _conditions[_i]^left_par = 1 THEN
|
|
540
|
+
_filter := _filter + " ("
|
|
541
|
+
ENDIF
|
|
542
|
+
|
|
543
|
+
IF _conditions[_i]^value_type = _TYPE_STRING_LIST | _conditions[_i]^value_type = _TYPE_STRING THEN
|
|
544
|
+
_filter := _filter + " UPPER(" + _conditions[_i]^column_name + ")"
|
|
545
|
+
ELSIF _conditions[_i]^value_type = _TYPE_DATE_WITHOUT_TIME THEN
|
|
546
|
+
_filter := _filter + " (" + _conditions[_i]^column_name
|
|
547
|
+
ELSE
|
|
548
|
+
_filter := _filter + " " + _conditions[_i]^column_name
|
|
549
|
+
ENDIF
|
|
550
|
+
|
|
551
|
+
IF _conditions[_i]^value_type != _TYPE_DATE_WITHOUT_TIME THEN
|
|
552
|
+
IF _conditions[_i]^operator = "=" & (_conditions[_i]^value_type = _TYPE_NUMBER_LIST | _conditions[_i]^value_type = _TYPE_STRING_LIST) THEN
|
|
553
|
+
_filter := _filter + " IN"
|
|
554
|
+
ELSE
|
|
555
|
+
_filter := _filter + " " + _conditions[_i]^operator
|
|
556
|
+
ENDIF
|
|
557
|
+
ENDIF
|
|
558
|
+
|
|
559
|
+
IF %ToUpper(_conditions[_i]^operator) = "IS" THEN
|
|
560
|
+
IF _conditions[_i]^value_type = _TYPE_DATE_WITHOUT_TIME THEN
|
|
561
|
+
_filter := _filter + " IS NULL )"
|
|
562
|
+
ELSE
|
|
563
|
+
_filter := _filter + " NULL "
|
|
564
|
+
ENDIF
|
|
565
|
+
ELSIF %ToUpper(_conditions[_i]^operator) = "IN" | %ToUpper(_conditions[_i]^operator) = "=" & (_conditions[_i]^value_type = _TYPE_NUMBER_LIST | _conditions[_i]^value_type = _TYPE_STRING_LIST) THEN
|
|
566
|
+
_filter := _filter + " ("
|
|
567
|
+
_j := 1
|
|
568
|
+
DO_LOOP
|
|
569
|
+
_value := %GetStrItem(_conditions[_i]^value, _j, _LIST_SEPARATOR, @TRUE)
|
|
570
|
+
_nextValue := %GetStrItem(_conditions[_i]^value, _j + 1, _LIST_SEPARATOR, @TRUE)
|
|
571
|
+
EXIT_LOOP _value = ""
|
|
572
|
+
IF _conditions[_i]^value_type = _TYPE_STRING_LIST | _conditions[_i]^value_type = _TYPE_STRING THEN
|
|
573
|
+
_filter := _filter + " UPPER('" + _value + "')"
|
|
574
|
+
ELSIF _conditions[_i]^value_type = _TYPE_NUMBER_LIST | _conditions[_i]^value_type = _TYPE_NUMBER THEN
|
|
575
|
+
_filter := _filter + " " + _value
|
|
576
|
+
ELSE
|
|
577
|
+
_errorMsg := _errorMsgUnsupported
|
|
578
|
+
_isOk := @FALSE
|
|
579
|
+
RETURN
|
|
580
|
+
ENDIF
|
|
581
|
+
IF _nextValue != "" THEN
|
|
582
|
+
_filter := _filter + ","
|
|
583
|
+
ENDIF
|
|
584
|
+
_j := _j + 1
|
|
585
|
+
END_LOOP
|
|
586
|
+
_filter := _filter + " )"
|
|
587
|
+
ELSIF _conditions[_i]^value_type = _TYPE_STRING THEN
|
|
588
|
+
_filter := _filter + " UPPER('" + _conditions[_i]^value + "')"
|
|
589
|
+
ELSIF _conditions[_i]^value_type = _TYPE_NUMBER THEN
|
|
590
|
+
_filter := _filter + " " + _conditions[_i]^value
|
|
591
|
+
ELSIF _conditions[_i]^value_type = _TYPE_DATE THEN
|
|
592
|
+
; TO_TIMESTAMP('2012-07-18 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
|
|
593
|
+
_filter := _filter + " TO_TIMESTAMP('" + _conditions[_i]^value + "', 'YYYY-MM-DD HH24:MI:SS')"
|
|
594
|
+
ELSIF _conditions[_i]^value_type = _TYPE_DATE_WITHOUT_TIME THEN
|
|
595
|
+
_start_of_day := "TO_TIMESTAMP('" + _conditions[_i]^value + "', 'YYYY-MM-DD HH24:MI:SS')"
|
|
596
|
+
_start_of_next_day := "(TO_TIMESTAMP('" + _conditions[_i]^value + "', 'YYYY-MM-DD HH24:MI:SS') + interval '1' day)"
|
|
597
|
+
IF _conditions[_i]^operator = "=" THEN
|
|
598
|
+
_filter := _filter + " >= " + _start_of_day + " AND " + _conditions[_i]^column_name + " < " + _start_of_next_day
|
|
599
|
+
ELSIF _conditions[_i]^operator = "<" THEN
|
|
600
|
+
_filter := _filter + " < " + _start_of_day
|
|
601
|
+
ELSIF _conditions[_i]^operator = ">" THEN
|
|
602
|
+
_filter := _filter + " >= " + _start_of_next_day
|
|
603
|
+
ELSIF _conditions[_i]^operator = "<>" THEN
|
|
604
|
+
_filter := _filter + " < " + _start_of_day + " OR " + _conditions[_i]^column_name + " >= " + _start_of_next_day
|
|
605
|
+
ELSIF _conditions[_i]^operator = "<=" THEN
|
|
606
|
+
_filter := _filter + " < " + _start_of_next_day
|
|
607
|
+
ELSIF _conditions[_i]^operator = ">=" THEN
|
|
608
|
+
_filter := _filter + " >= " + _start_of_day
|
|
609
|
+
ELSE
|
|
610
|
+
_errorMsg := _errorMsgUnsupported
|
|
611
|
+
_isOk := @FALSE
|
|
612
|
+
RETURN
|
|
613
|
+
ENDIF
|
|
614
|
+
_filter := _filter + " )"
|
|
615
|
+
ELSE
|
|
616
|
+
_errorMsg := _errorMsgUnsupported
|
|
617
|
+
_isOk := @FALSE
|
|
618
|
+
RETURN
|
|
619
|
+
ENDIF
|
|
620
|
+
|
|
621
|
+
IF _conditions[_i]^right_par = 1 THEN
|
|
622
|
+
_filter := _filter + " )"
|
|
623
|
+
ENDIF
|
|
624
|
+
|
|
625
|
+
IF _conditions[_i]^logical_operator\VLD & _conditions[_i]^logical_operator != "" THEN
|
|
626
|
+
_filter := _filter + " " + _conditions[_i]^logical_operator
|
|
627
|
+
ENDIF
|
|
628
|
+
|
|
629
|
+
END_LOOP
|
|
630
|
+
|
|
631
|
+
END GetFilterAsText
|
|
632
|
+
|
|
333
633
|
;*********************************************************
|
|
334
634
|
;*********************************************************
|
|
335
635
|
;*********************************************************
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
<objType>EVENT</objType>
|
|
8
8
|
<valType>Int</valType>
|
|
9
9
|
</HOBJ_REF>
|
|
10
|
+
<HOBJ_REF>
|
|
11
|
+
<uid>88D757FB3AD367478EDD36D2EC77BC26</uid>
|
|
12
|
+
<name>SD.EM_EDA_VectorStats</name>
|
|
13
|
+
<objType>STRUCTDEF</objType>
|
|
14
|
+
<valType>NAN</valType>
|
|
15
|
+
</HOBJ_REF>
|
|
10
16
|
<HOBJ_REF>
|
|
11
17
|
<uid>0C36D083CCA9034B8DF4A98D4D824202</uid>
|
|
12
18
|
<name>SD.EM_EDA_VectorValues</name>
|
|
@@ -29,7 +35,7 @@
|
|
|
29
35
|
<ParentId>SELF.EVH</ParentId>
|
|
30
36
|
<Value_Type>Int</Value_Type>
|
|
31
37
|
<CreateTime>08.04.2026 07:43:45.523</CreateTime>
|
|
32
|
-
<ModifyTime>
|
|
38
|
+
<ModifyTime>30.04.2026 12:40:26.244</ModifyTime>
|
|
33
39
|
<Text_Palette/>
|
|
34
40
|
<Read_Only>False</Read_Only>
|
|
35
41
|
<TECH_UNIT/>
|
|
@@ -75,8 +81,8 @@
|
|
|
75
81
|
|
|
76
82
|
UNIT (E.EM_VECTOR_UNIT) _unit
|
|
77
83
|
|
|
78
|
-
RPC PROCEDURE ReadValuesFromVector(IN INT _id, IN TIME _from, IN TIME _to, IN INT _step, RECORD NOALIAS(SD.EM_EDA_VectorValues) _data, BOOL _isOk, TEXT _errorMsg)
|
|
79
|
-
CALL [_unit] ReadValuesFromVector(_id, _from, _to, _step, _data, _isOk, _errorMsg)
|
|
84
|
+
RPC PROCEDURE ReadValuesFromVector(IN INT _id, IN TIME _from, IN TIME _to, IN INT _step, RECORD NOALIAS(SD.EM_EDA_VectorValues) _data, RECORD NOALIAS(SD.EM_EDA_VectorStats) _stats, BOOL _isOk, TEXT _errorMsg)
|
|
85
|
+
CALL [_unit] ReadValuesFromVector(_id, _from, _to, _step, _data, _stats, _isOk, _errorMsg)
|
|
80
86
|
END ReadValuesFromVector
|
|
81
87
|
|
|
82
88
|
BEGIN
|