Custom form flowable workflow springboot Vue JS before and after separation, cross domain code generator


Special note: this code is a spring boot workflow before and after separation + cross domain Version (permission control to menus and buttons)

Background framework: springboot2 3.0+ Flowable6. 5.0 + mybaits + Maven + interface

Front page: HTML + Vue JS form jQuery Ajax asynchronous cross domain JSON format data interaction is separated before and after, and the front and back platforms are deployed separately

(note in particular that vue.js used in the front end is the HTML page, which is introduced in the form of vue.js and deployed and run with tomcat, which is more suitable for background developers

1. Code generator: [positive and negative two-way] (single table, main table, detail table, tree table, sharp tool for rapid development)

Freemaker template technology generates a complete module without writing 0 codes, with complete modules such as page, table creation, SQL script, processing class and service

2. Multiple data sources: (it supports connecting countless databases at the same time, and different modules can connect different data databases) it supports n data sources

3. Alibaba database connection pool Druid, security permission framework {Shiro (menu permission and button permission), cache framework} ehcache

4. Code editor, online template editor, imitation development tool editor

5. Call the camera to take photos, customize cutting and edit the avatar, and adjust the chromaticity of the avatar

6. Websocket: timely in station letter and sound reminder, real-time online management, websocket timely refresh page (perfect Ajax Technology)

7. Flowable workflow is currently recognized as a relatively easy-to-use workflow engine, integrating web process designer

Workflow module——————————-

1. Model management: web online process designer, import / export XML, copy process and deployment process

2. Process management: import and export process resource files, view flow charts, reflect process models according to process instances, and activate suspend

3. Running process: view process information, current task node, current flow chart, void and pause process, assign to-do person, and jump freely

4. Historical process: view process information, process time, process status, and view task initiator information

5. To do tasks: view your personal tasks and tasks under this role, handle, reject, void, and assign an agent

6. Completed tasks: view the tasks handled by yourself, as well as the process information, flow chart and process status (voiding and rejecting are completed normally)

When handling tasks, you can select the user to copy, that is, send an in station letter to the copied person to notify the current approval comments and remarks

Note: when the current task is completed, the next task to-do person will receive a new task message prompt through instant messaging, which will be regarded as abandoned and completed,

The task initiator will receive the notification of in station letter message

——————————————-System module

1. Permission management: click the secondary menu to enter the tertiary menu to display roles (basic permissions) and button permissions

Role (basic permission): it is divided into role groups and roles, and independently assigned menu permissions and add, delete, modify and query permissions. (a user can have multiple roles)

Button permissions: assign button permissions to roles.

2. Button Management: Customize button management, maintain button Shiro permission ID, etc

3. Menu management: N-level custom menu, select the menu icon, and the menu status is displayed and hidden (recursive processing)

4. Data dictionary: N-level, supporting multi-level classification. Built in numbering, sorting, etc

5. Log management: record user login and exit and some important operation records

6. Online management: websocket technology can detect the list of online users in real time, count the number of online users, and force users to go offline. The same user can only log in at one client

7. System user: add, delete, modify and query each basic user, export to excel table and delete in batch

8. Code generation: generate complete module code and keep the generation record template, which can be reused (powerful development tool)

Forward generation: generate complete modules, such as HTML pages, processing classes, mapper layer, service layer, XML table creation SQL script of myabaits, etc

Reverse generation: arbitrarily connect other databases (mysql, Oracle, sqlserver) and generate modules of the cost system according to the table

9. Template management: online code editor, manage templates, save editing records, restore with one click, and the code generator is even more powerful

10. Performance monitoring: monitor the performance of the whole system, including SQL monitoring, SQL firewall, URL monitoring, spring monitoring, session monitoring, etc

11. Network monitoring: real time monitor the speed of data packets received by the server network, and display the dynamic chart

12. Server monitoring: monitor JVM memory, server memory and CPU utilization in real time. Read other configuration information of the server in a single time

13. System setting: modify the system name, the number of items displayed on each page, mail service configuration and station mail configuration

14. In station letter: receiving mailbox and sending mailbox, timely receiving reminder made by websocket technology and communication technology, and voice prompt letter can be configured

—————————Communication module single chat group chat send pictures send files offline messages keep chat records

15. Friend management: search, add, delete, blackmail friends and view friends’ data

16. Friend grouping: Customize friend grouping

17. My group: create a group, search for applications to join other people’s groups, kick out group members, and manage group chat records


18. Database backup: single table (not supported by SQL Server) and whole database can be backed up, and local and remote backup (java interface programming technology and socket programming technology) can be supported

19. Backup timer: Quartz powerful task scheduling, multi-threaded backup database, task startup and shutdown asynchronous operation

20. Database restore: restore the historical backup records, restore the database or single table (not supported by SQL Server), and count the backup time and file size

21. SQL editor: powerful SQL editor, which supports editing complex query statements, generating dynamic reports, and exporting to excel


22. Leave application: add a leave form and follow the workflow leave model process

23. Organization: level n, company or department management

24. Employee management: and organization department management. You can bind the login system user to authorize data permissions

25. Work log: fill in daily work content. This module is bound with data permission


26. Interface test: detect the system interface in post or get mode, encrypt parameters, return results in JSON, and calculate the server response time

27. General application: addcurrencySelect the process ID and follow the corresponding model process
——————————————————————Custom form
28. Define template: drag the form element on the left to the right area, edit the form element, and save the form template
29. Form template: edit and maintain form templates, copy form templates, modify template types, and preview form templates
30. My form: select form template, edit form rules, whether to upload pictures, attachments, turn on rich text, attach process switch, etc
31. Form data: from my form, you can add, delete, modify, query form data and modify form rules
32. Affiliated record: records form data and process instance ID associated records, which can be deleted

Menu permissions: different menu permissions are assigned to each role. Each role sees different menus. N-level menus

Button permissions: independently assign different roles and different function permissions. Add, delete, modify and query permissions are assigned to different menus, and user-defined button management

It supports multi-user permission management background. Permissions are specific to different menus and different buttons (a user can have multiple roles)

———————Technical point

1. Import and export Excel files (applied to system users)

2 generate word file (applied to doc document generated by code generator)

3. Download the IO stream file (the application is compressed into a zip file after being generated in the code generator)

4 code zip compression and packaging (compressed into zip file after being generated in the code generator)

5. MD5 encryption Sha encryption (login password is encrypted with this) interface encryption identity verification

6. The Druid of the database connection pool. Druid has obvious advantages in monitoring, scalability, stability and performance, and supports concurrency

7. Security framework Shiro (login authorization) (Session Management) (Shiro annotation menu permission interception) (Shiro label button permission)

8. Freemaker template engine (for code generator)

9. Ehcache customize the cache, select the cache storage directory, handle concurrency, and increase system performance

10. Tab tab page function, the tags can be switched freely without repeated operation of the database (all can be closed, the current can be closed, and others can be closed)

11. Multi data source technology

12. Call camera photographing technology and picture cutting technology (user avatar editing)

13. Online editor, imitation development tool (template editing of code generator)

14. Single group email can be sent in HTML and plain text format

15. Analyze the full spelling (Pinyin) and initials of Chinese characters according to Chinese characters (import Excel to the user table, and generate Pinyin user name according to the user’s Chinese character name)

16. In station signal voice reminder, JS control audio playback

17. Java read / write INI configuration file

18. Java websocket instant messaging technology, peer-to-peer, friends and groups, send picture files, offline messages, and keep chat records

19. Baidu rich text editor can upload pictures and attachments

20. Java quartz task scheduling (Applied in the database scheduled backup module)

21. Ajax asynchronous cross domain technology, cross domain upload of files and pictures