Our main specialization is the combination of relational and object-oriented approaches. We are not afraid of the functional approach (similar to the one used by the statistical language R). We like recursive structures and recursion in general. And this is how we analyze and design applications.
In our last job, we made a lot of use of recursive selects to create sophisticated reports, for which conventional analysis tools are not sufficient—converting and synchronizing data between heterogeneous systems (using XML web services). We also processed data from tree structure (directory structure of job hierarchy), which is difficult to process and model using relational databases.
Creating complex reports from HELIOS iNuvio
The customer needed to create automated processes that use both the HELIOS report settings and the resulting data from various HELIOS reports. Unfortunately, HELIOS has SQL reports stored in a format that only partially looks like an SQL query. Therefore, we were forced to use "reverse engineering" to understand this format and thus produce valid SQL queries only from the stored database data. Once we had them compiled in MS SQL compatible format, it was no longer a problem to parse them classically, transform them sophisticatedly, modify them according to our needs and use them as a basis for other queries.
Clear display of user rights from HELIOS iNuvio and their display in the intranet
Dynamic organisation chart
The customer needed to add additional information to the employees, in this case, their job positions. The job positions directly derive other settings that are related to them - for example, instructions, procedures, manuals, etc. Our task was to clearly display this information on the website in image form and allow dynamic user interaction with this image. This means filtering to "light up" certain job titles (in a certain section) and when an employee clicks on it, displaying the job titles of employees who have that position. We used the SVG vector format, where the complete diagram of all job positions is in a graphically attractive form. The vector format has the advantage of being object oriented in nature. Thus, one can easily add meta-information to the objects used to identify the job. The web application dynamically modifies the resulting image before sending it to the user's browser, "lighting up" the positions and allowing interactions on them. A logged-in user can see where they are within the organizational structure and click on their position to view their workflow, instructions, etc. For the intranet solution, we used the Umbraco CMS.
Generating complex reports from HELIOS to Excel
Automatic generation of complex reports using NPOI on the server side. These excel reports were filled with data from HELIOS from individual reports in HELIOS. Output to Excel involves editing existing Excel files, adding values and formulas to specific required areas of the Excel sheet, formatting styles.