Receive a new lot
lotOperationId = system.kanoa.utilities.getFieldValue('lotOperationId', system.kanoa.lot.getLotOperations({'lotOperationName': 'Receive'}))
assetPath = 'Kanoa Safety Inc\Chatillon\Receiving'
assetId = system.kanoa.utilities.getFieldValue('assetId', system.kanoa.asset.getAssets({'assetPath': assetPath}))
sources = system.kanoa.utilities.convertDatasetToDict(system.kanoa.item.getItemSource({}), 'itemSourceName', 'itemSourceId')
lotStates = system.kanoa.utilities.convertDatasetToDict(system.kanoa.lot.getLotStates({}), 'lotStateName', 'lotStateId')
lotOperationEventInfo = {
'lotOperationEventId': None,
'lotOperationId': lotOperationId,
'assetId': assetId,
'tStamp': system.date.now(),
'enabled': True
}
inputLotEvents = []
outputLotEvents = [{
'lotEventId': None,
'lotId': 1,
'lotEventQty': 100,
'workOrderId': None,
'assetId':1,
'itemSourceId': sources['output'],
'lotStateId': lotStates['OK'],
'lotStateReasonId': None,
'shiftId': None,
'tStamp': system.date.now(),
'comment':None,
'lotOperationEventId': None,
'assetTransportId': None
}]
lotOperationEventId, msg = system.kanoa.lot.executeLotOperation(lotOperationEventInfo, inputLotEvents, outputLotEvents, userId)
--------------------------
Transfer lots from a transport to a new location
sources = system.kanoa.utilities.convertDatasetToDict(system.kanoa.item.getItemSource({}), 'itemSourceName', 'itemSourceId')
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})
assetPath = 'Kanoa Safety Inc\Chatillon\Production\Line 1'
assetId = system.kanoa.utilities.getFieldValue('assetId', system.kanoa.asset.getAssets({'assetPath': assetPath}))
timeNow = system.date.now()
lotOperationId = system.kanoa.utilities.getFieldValue('lotOperationId', system.kanoa.lot.getLotOperations({'lotOperationName': 'Transfer'}))
lotOperationEventInfo = {
'lotOperationEventId': None,
'lotOperationId': lotOperationId,
'assetId': assetId,
'tStamp': timeNow,
'enabled': True
}
data = system.kanoa.utilities.convertDatasetToJSON(system.kanoa.lot.getLotActivity({'assetTransportName': '2'}))
keysToKeep = {'lotId', 'lotEventQty', 'workOrderId', 'assetId', 'lotStateId', 'lotStateReasonId'}
inputLotEvents = []
outputLotEvents = []
for lotActivity in data:
lotEventInfo = {k: v for k, v in lotActivity.items() if k in keysToKeep}
inputLotEventInfo = dict(lotEventInfo)
inputLotEventInfo['tStamp'] = timeNow
inputLotEventInfo['itemSourceId'] = sources['input']
inputLotEvents.append(inputLotEventInfo)
outputLotEventInfo = dict(lotEventInfo)
outputLotEventInfo['itemSourceId'] = sources['output']
outputLotEventInfo['assetId'] = assetId
outputLotEventInfo['assetTransportId'] = None
outputLotEvents.append(lotEventInfo)
lotOperationEventId, msg = system.kanoa.lot.executeLotOperation(lotOperationEventInfo, inputLotEvents, outputLotEvents, userId)
print lotOperationEventId, msg