| Consolidated Balance Sheets | 
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| Trade accounts receivable |   | $ | 75,000 |   |   | $ | 71,113 |   |  
| Other receivables |   |   | 731 |   |   |   | 1,098 |   |  
| Allowance for doubtful accounts |   |   | (2,325 | ) |   |   | (2,292 | ) |  
| Total |   | $ | 73,406 |   |   | $ | 69,919 |   |    
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| Opening |   | $ | 26,271 |   |   | $ | 20,405 |   |  
| Contract assets additions |   |   | 276,330 |   |   |   | 350,709 |   |  
| Contract assets invoiced |   |   | (259,865 | ) |   |   | (344,843 | ) |  
| Ending |   | $ | 42,736 |   |   | $ | 26,271 |   |    
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| Raw materials |   | $ | 51,783 |   |   | $ | 48,067 |   |  
| Parts and other |   |   | 292 |   |   |   | 586 |   |  
| Provision for obsolescence |   |   | (538 | ) |   |   | (827 | ) |  
| Total |   | $ | 51,537 |   |   | $ | 47,826 |   |    
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| Cost: |   |   |   |   |   |   |   |   |  
| Land |   | $ | 1,648 |   |   | $ | 1,648 |   |  
| Buildings (b) |   |   | 18,985 |   |   |   | 18,985 |   |  
| Machinery and equipment (a) (e) |   |   | 44,116 |   |   |   | 42,732 |   |  
| Office furniture and equipment (c) (e) |   |   | 869 |   |   |   | 1,005 |   |  
| Computer hardware and software (d) (e) |   |   | 3,940 |   |   |   | 3,979 |   |  
| Leasehold improvements (e) |   |   | 4,447 |   |   |   | 4,265 |   |  
|   |   |   | 74,005 |   |   |   | 72,614 |   |  
| Less accumulated depreciation: |   |   |   |   |   |   |   |   |  
| Land |   |   | — |   |   |   | — |   |  
| Buildings (b) |   |   | (11,220 | ) |   |   | (10,392 | ) |  
| Machinery and equipment (a) (e) |   |   | (33,727 | ) |   |   | (31,192 | ) |  
| Office furniture and equipment (c) (e) |   |   | (423 | ) |   |   | (546 | ) |  
| Computer hardware and software (d) (e) |   |   | (3,162 | ) |   |   | (3,289 | ) |  
| Leasehold improvements (e) |   |   | (2,076 | ) |   |   | (1,885 | ) |  
|   |   |   | (50,608 | ) |   |   | (47,304 | ) |  
| Property, plant and equipment—net |   | $ | 23,397 |   |   | $ | 25,310 |   |    
| (a) | Included within machinery and equipment were assets under finance leases with costs of $4,193 and $2,275 and associated accumulated depreciation of $1,539 and $974 as of September 27, 2020 and December 29, 2019, respectively. The related depreciation expense for the three months ended September 27, 2020 and September 29, 2019 was $134 and $142, respectively. The related depreciation expense for the nine months ended September 27, 2020 and September 29, 2019 was $356 and $426, respectively. |    
| (b) | Included within buildings are costs associated with Melbourne facility under finance leases of $9,082 and associated accumulated depreciation of $1,504 and $900 as of September 27, 2020 and December 29, 2019, respectively. The related depreciation expense for the three months ended September 27, 2020 and September 29, 2019 was $201 and $201, respectively. The related depreciation expense for nine months ended September 27, 2020 and September 29, 2019 was $604 and $603, respectively.    |    
| (c) | Included within office furniture and equipment were assets under finance leases with costs of $307 and $307 and associated accumulated depreciation of $101 and $52 as of September 27, 2020 and December 29, 2019, respectively. The related depreciation expense for the three months ended September 27, 2020 and September 29, 2019 was $16 and $9, respectively. The related depreciation expense for the nine months ended September 27, 2020 and September 29, 2019 was $49 and $29, respectively.  |    
| (d) | Included within computer hardware and software were assets under finance leases with costs of $91 and associated accumulated depreciation of $73 and $51 as of September 27, 2020 and December 29, 2019, respectively. The related depreciation expense for the three months ended September 27, 2020 and September 29, 2019 was $7 and $8, respectively. The related depreciation expense for the nine months ended September 27, 2020 and September 29, 2019 was $22 and $23, respectively. |    
| (e) | Fully depreciated property, plant and equipment with cost of $1,466 and accumulated amortization of $1,463 was written off in the nine months ended September 27, 2020.             |  
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| Cost: |   |   |   |   |   |   |   |   |  
| Customer relationships |   | $ | 12,350 |   |   | $ | 12,350 |   |  
| Order backlog |   |   | 6,990 |   |   |   | 6,990 |   |  
| Trade name |   |   | 1,300 |   |   |   | 1,300 |   |  
| Non-compete agreements |   |   | 360 |   |   |   | 360 |   |  
|   |   |   | 21,000 |   |   |   | 21,000 |   |  
| Less accumulated amortization: |   |   |   |   |   |   |   |   |  
| Customer relationships |   |   | (2,340 | ) |   |   | (1,414 | ) |  
| Order backlog |   |   | (6,990 | ) |   |   | (5,333 | ) |  
| Trade name |   |   | (1,300 | ) |   |   | (1,300 | ) |  
| Non-compete agreements |   |   | (341 | ) |   |   | (206 | ) |  
|   |   |   | (10,971 | ) |   |   | (8,253 | ) |  
| Intangible assets—net |   | $ | 10,029 |   |   | $ | 12,747 |   |    
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| U.S. |   | $ | 3,009 |   |   | $ | 3,824 |   |  
| Mexico |   |   | 7,020 |   |   |   | 8,923 |   |  
| Total |   | $ | 10,029 |   |   | $ | 12,747 |   |    
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| U.S. |   | $ | 5,449 |   |   | $ | 5,449 |   |  
| Mexico |   |   | 12,716 |   |   |   | 12,716 |   |  
| Total |   | $ | 18,165 |   |   | $ | 18,165 |   |    
|   |   | September 27, 2020 |   |   | December 29, 2019 |   |  
| Payroll |   | $ | 7,515 |   |   | $ | 5,504 |   |  
| Customer related |   |   | 6,347 |   |   |   | 2,185 |   |  
| Deferred revenue |   |   | 5,915 |   |   |   | — |   |  
| Vendor related |   |   | 1,436 |   |   |   | 1,742 |   |  
| Professional services |   |   | 644 |   |   |   | 612 |   |  
| Interest |   |   | 330 |   |   |   | 860 |   |  
| Other |   |   | 938 |   |   |   | 261 |   |  
| Total |   | $ | 23,125 |   |   | $ | 11,164 |   |    |