3 İşlemeler 57ed2d5b28 ... c384c1bc8c

Yazar SHA1 Mesaj Tarih
  jialuyao c384c1bc8c tijiao 1 hafta önce
  jialuyao 073559c7c6 tiaojiao 1 hafta önce
  jialuyao 0ea8c6c77c tiaojiao 1 hafta önce
2 değiştirilmiş dosya ile 56 ekleme ve 1 silme
  1. 39 1
      tables/fields/bidamount.py
  2. 17 0
      tables/fields/budget.py

+ 39 - 1
tables/fields/bidamount.py

@@ -39,6 +39,18 @@ class BidAmountChecker(object):
                 "parent_name": "金额错误",
                 "parent_code": "01",
                 "checkFn": self.check0301
+            },
+            "0601": {
+                "name": "中标金额 > 预算金额",
+                "parent_name": "金额错误",
+                "parent_code": "01",
+                "checkFn": self.check0601
+            },
+            "0701": {
+                "name": "建筑行业中标金额不在预算的 70%-130%范围",
+                "parent_name": "金额错误",
+                "parent_code": "01",
+                "checkFn": self.check0701
             }
         }
 
@@ -109,4 +121,30 @@ class BidAmountChecker(object):
         """
         if  bidamount < 0:
             return True
-        return False
+        return False
+
+    @staticmethod
+    def check0601(bidamount: float,budget:float) -> bool:
+        """
+        中标金额>预算,视为异常
+        :return: 返回true 代表异常
+        """
+        if bidamount > budget:
+            return True
+        return False
+
+    @staticmethod
+    def check0701(bidamount: float, budget: float,s_topscopeclass:str) -> bool:
+        """
+        建筑行业中标金额不在预算的 70%-130%范围,视为异常
+        :return: 返回true 代表异常
+        """
+        if s_topscopeclass in ["建筑", "建筑工程"]:
+            # 独立判断1:低于70%
+            if bidamount < budget * 0.7:
+                return True
+            # 独立判断2:高于130%
+            if bidamount > budget * 1.3:
+                return True
+        return False
+

+ 17 - 0
tables/fields/budget.py

@@ -1,6 +1,8 @@
 """
     预算金额字段检查
 """
+
+
 class BudgetChecker(object):
     """
         预算字段检查
@@ -31,6 +33,12 @@ class BudgetChecker(object):
                 "parent_name": "金额错误",
                 "parent_code": "01",
                 "checkFn": self.check0201
+            },
+            "0401": {
+                "name": "预算金额 < 中标金额",
+                "parent_name": "金额错误",
+                "parent_code": "01",
+                "checkFn": self.check0401
             }
         }
 
@@ -92,3 +100,12 @@ class BudgetChecker(object):
             return True
         return False
 
+    @staticmethod
+    def check0401(budget: float, bidamount: float) -> bool:
+        """
+        预算金额 < 中标金额,视为异常
+        :return: 返回true 代表异常
+        """
+        if budget < bidamount:
+            return True
+        return False