standard_service.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from service.public_method import PublicMethodClass
  2. from chiller_safety_modify.multi_comp_safety_verify import MultiCompSafetyVerify
  3. from data_initialize_standard.data_standardization import DataStandardization
  4. from data_initialize_standard.results import *
  5. from logs.logger import *
  6. class StandardService(PublicMethodClass):
  7. def __init__(self, dict_input):
  8. super(StandardService, self).__init__(dict_input)
  9. self.dict_input = dict_input
  10. def main_multi_comp_service(self):
  11. # 数据校核
  12. logger.critical("============开始对输入数据进行完整性校验============")
  13. self.ds = DataStandardization(self.dict_input)
  14. missing_fields, empty_paths = self.ds.check_data()
  15. # 判断输入数据是否满足计算条件,且智控开关开启
  16. if missing_fields or empty_paths or self.dict_input['controlConfigInfo']['controlMode'] != 1:
  17. self.output_abnormal_situation(missing_fields, empty_paths)
  18. else:
  19. logger.critical("============输入数据完整性校验通过============")
  20. # 数据校核正常,开启计算
  21. self.dict_chiller_inner, self.dict_chiller_outer, self.dict_code, self.dict_upper_correct, \
  22. self.data_temp_humi = self.ds.data_multi_comp()
  23. # 运行安全校验
  24. logger.critical("============开始设备安全运行校验============")
  25. mcsv = MultiCompSafetyVerify(self.dict_chiller_inner, self.dict_upper_correct)
  26. is_safety_issue, self.water_temp_set_new = mcsv.safety_verify_main_process()
  27. # 控制周期和控制条件判断
  28. logger.critical("============开始控制周期和控制条件判断============")
  29. is_control = self.control_period_cal(is_safety_issue)
  30. if is_control == 1:
  31. # 满足控制条件
  32. if self.water_temp_set_new:
  33. # 存在安全问题
  34. self.water_temp_set_new = round(self.water_temp_set_new, 1)
  35. # 水温设定值校验
  36. logger.critical("============开始水温设定值校核============")
  37. self.water_temp_set_new = self.water_temp_set_verify(True)
  38. self.isAdjustWaterTemp = 1
  39. else:
  40. # 不存在安全问题,根据监测点进行水温计算
  41. self.water_temp_set_new = self.water_temp_main_process()
  42. if self.water_temp_set_new:
  43. # 水温设定值校验
  44. logger.critical("============开始水温设定值校核============")
  45. self.water_temp_set_new = round(self.water_temp_set_new, 1)
  46. self.water_temp_set_verify(self.terminal_cal)
  47. # 判断是否要调节水温
  48. logger.critical("============开始水温调整条件判断============")
  49. self.is_adjust_judge()
  50. self.output_normal_situation(is_safety_issue)
  51. else:
  52. self.output_abnormal_situation(missing_fields, empty_paths, is_control)
  53. return self.dict_results