12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- """
- 中标金额字段检查
- """
- class BidAmountChecker(object):
- """
- 中标字段检查
- """
- def __init__(self):
- self.errors_tables = {
- "0101": {
- "name": "互相校验(预算和中标金额的比例)",
- "parent_name": "金额错误",
- "parent_code": "01",
- "checkFn": self.check0101
- },
- "0102": {
- "name": "过大过小[100,10亿]",
- "parent_name": "金额错误",
- "parent_code": "01",
- "checkFn": self.check0102
- },
- "0104": {
- "name": "中标金额存在费率,折扣率",
- "parent_name": "金额错误",
- "parent_code": "01",
- "checkFn": self.check0104
- },
- }
- @staticmethod
- def check0101(budget: float, bidamount: float) -> bool:
- """
- 预算和中标金额的比例
- :param budget:
- :param amount:
- :return:返回true 代表异常
- """
- if budget and bidamount:
- if 0.7 < budget / bidamount < 1.3:
- return False
- else:
- return True
- else:
- # 两者中有一方为空不判断,---0,None,空字符,空字符串都是空
- return False
- @staticmethod
- def check0102(bidamount: float) -> bool:
- """
- 中标金额过大过小[100,10亿]
- :param price:
- :return: 返回true 代表异常
- """
- if 100 < bidamount < 1000000000:
- return False
- return True
- @staticmethod
- def check0104(supervisorrate:float) -> bool:
- """
- 中标金额存在费率,折扣率
- :param price:
- :return: 返回true 代表异常
- """
- if supervisorrate==0 :
- return False
- return True
|