| COMMON STOCK TRANSACTIONS (Details - Nonvested Option activity) - Restricted Stock [Member] | 3 Months Ended | 
|---|---|
| Jul. 31, 2021  $ / shares  shares | |
| Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |
| Beginning balance | shares | 2,933 | 
| Beginning balance | $ / shares | $ 10.05 | 
| Granted | shares | 1,336 | 
| Granted | $ / shares | $ 23.96 | 
| Vested | shares | (2,185) | 
| Vested | $ / shares | $ 16.66 | 
| Forfeited | shares | 0 | 
| Forfeited | $ / shares | |
| Ending balance | shares | 2,084 | 
| Ending balance | $ / shares | $ 12.03 | 
| X | ||||||||||
| 
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Net number of non-option equity instruments granted to participants. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Definition The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Definition Number of non-vested options outstanding. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Number of non-vested options forfeited. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Weighted average grant-date fair value of non-vested options forfeited. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Weighted average grant-date fair value of non-vested options outstanding. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Number of options vested. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Weighted average grant-date fair value of options vested. No definition available. 
 | 
| X | ||||||||||
| 
- Details 
 |