| Line 21... |
Line 21... |
| 21 |
import logging
|
21 |
import logging
|
| 22 |
import os
|
22 |
import os
|
| 23 |
import sys
|
23 |
import sys
|
| 24 |
import time
|
24 |
import time
|
| 25 |
from collections import namedtuple
|
25 |
from collections import namedtuple
|
| - |
|
26 |
import math
|
| 26 |
|
27 |
|
| 27 |
logging.basicConfig(level=logging.DEBUG)
|
28 |
logging.basicConfig(level=logging.DEBUG)
|
| 28 |
|
29 |
|
| 29 |
PincodeProvider = namedtuple("PincodeProvider", ["dest_pin", "provider"])
|
30 |
PincodeProvider = namedtuple("PincodeProvider", ["dest_pin", "provider"])
|
| 30 |
|
31 |
|
| Line 614... |
Line 615... |
| 614 |
if provider_costing_sheet.has_key(providerId) and provider_costing_sheet.get(providerId).has_key(zoneCode):
|
615 |
if provider_costing_sheet.has_key(providerId) and provider_costing_sheet.get(providerId).has_key(zoneCode):
|
| 615 |
logisticsCostObj = provider_costing_sheet.get(providerId).get(zoneCode)
|
616 |
logisticsCostObj = provider_costing_sheet.get(providerId).get(zoneCode)
|
| 616 |
logisticsCost = logisticsCostObj.initialLogisticsCost
|
617 |
logisticsCost = logisticsCostObj.initialLogisticsCost
|
| 617 |
if weight > logisticsCostObj.initialWeightUpperLimit:
|
618 |
if weight > logisticsCostObj.initialWeightUpperLimit:
|
| 618 |
additionalWeight = weight-logisticsCostObj.initialWeightUpperLimit
|
619 |
additionalWeight = weight-logisticsCostObj.initialWeightUpperLimit
|
| 619 |
additionalCostMultiplier = additionalWeight/logisticsCostObj.additionalUnitWeight
|
620 |
additionalCostMultiplier = math.ceil(additionalWeight/logisticsCostObj.additionalUnitWeight)
|
| 620 |
additionalCost = additionalCostMultiplier*logisticsCostObj.additionalUnitLogisticsCost
|
621 |
additionalCost = additionalCostMultiplier*logisticsCostObj.additionalUnitLogisticsCost
|
| 621 |
logisticsCost = logisticsCost + additionalCost
|
622 |
logisticsCost = logisticsCost + additionalCost
|
| 622 |
if isCod:
|
623 |
if isCod:
|
| 623 |
if logisticsCostObj.codCollectionFactor:
|
624 |
if logisticsCostObj.codCollectionFactor:
|
| 624 |
codCollectionCharges = max(logisticsCostObj.minimumCodCollectionCharges, (transactionAmount*logisticsCostObj.codCollectionFactor)/100)
|
625 |
codCollectionCharges = max(logisticsCostObj.minimumCodCollectionCharges, (transactionAmount*logisticsCostObj.codCollectionFactor)/100)
|