Updates a route. A route can be associated with an itemId or an itemClassId

---
### Parameters
**routeInfo** `Dictionary`: All keys are required unless otherwise stated.<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - enabled</td><td>Boolean</td><td></td></tr>	
 	<tr><td> - itemClassId</td><td>Integer</td><td>An itemId or an itemClassId is required</td></tr>	
 	<tr><td> - itemId</td><td>Integer</td><td>An itemId or an itemClassId is required</td></tr>	
 	<tr><td> - routeDescription</td><td>String</td><td>Not required</td></tr>	
 	<tr><td> - routeId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - routeName</td><td>String</td><td></td></tr>	
	</tbody>
</table>

**userId** `Integer`: Id of user executing the function<br />

---
### Returns
**# of records modified** `Integer`<br />
**message** `String` None if success<br />

---
### Example
```python
# Update an existing route with a new description
routeInfo = {
    "routeId": 12,
    "routeName": "Assembly Line 3",
    "routeDescription": "Updated assembly flow for Widget C",
    "itemId": 102,
    "itemClassId": None,
    "enabled": True
}
recordsModified, msg = system.kanoa.lot.updateRoute(routeInfo, userId=123)

# Disable a specific route
routeInfo = {
    "routeId": 15,
    "routeName": "Packaging Route",
    "routeDescription": "Temporarily disabled for maintenance",
    "itemId": 205,
    "itemClassId": None,
    "enabled": False
}
recordsModified, msg = system.kanoa.lot.updateRoute(routeInfo, 123)
```
