EquipmentInfoService.py 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # -*- encoding: utf-8 -*-
  2. """
  3. @File : EquipmentInfoService.py
  4. @Time : 2022/4/14 17:28
  5. @Author : stephen
  6. @Email : zhangdongming@asj6.wecom.work
  7. @Software: PyCharm
  8. """
  9. import logging
  10. from django.db import transaction
  11. from Model.models import EquipmentInfoMonday, EquipmentInfoTuesday, EquipmentInfoWednesday, EquipmentInfoThursday, \
  12. EquipmentInfoFriday, EquipmentInfoSaturday, EquipmentInfoSunday
  13. from Object.utils import LocalDateTimeUtil
  14. class EquipmentInfoService:
  15. @staticmethod
  16. def get_equipment_info_obj(dt, **kwargs):
  17. """
  18. 根据日期判断是星期几,返回相应的对象实例
  19. @param dt: 日期 例:2022-03-03
  20. @param kwargs: 设备信息属性值
  21. @return: 星期一至星期天equipment_info对象实例
  22. """
  23. logger = logging.getLogger('info')
  24. week = LocalDateTimeUtil.date_to_week(dt)
  25. logger.info('本周{}'.format(str(week)))
  26. equipment_info = None
  27. if week == 1:
  28. equipment_info = EquipmentInfoMonday(**kwargs)
  29. elif week == 2:
  30. equipment_info = EquipmentInfoTuesday(**kwargs)
  31. elif week == 3:
  32. equipment_info = EquipmentInfoWednesday(**kwargs)
  33. elif week == 4:
  34. equipment_info = EquipmentInfoThursday(**kwargs)
  35. elif week == 5:
  36. equipment_info = EquipmentInfoFriday(**kwargs)
  37. elif week == 6:
  38. equipment_info = EquipmentInfoSaturday(**kwargs)
  39. elif week == 7:
  40. equipment_info = EquipmentInfoSunday(**kwargs)
  41. logger.info(type(equipment_info))
  42. logger.info('model数据为:'.format(equipment_info))
  43. return equipment_info
  44. @staticmethod
  45. def equipment_info_bulk_create(week_val, equipment_info_list):
  46. """
  47. 根据week_val判断,进行表对象选择存储
  48. @param week_val: 星期一至星期天,int类型
  49. @param equipment_info_list: 设备信息实例列表
  50. @return: True or False
  51. """
  52. try:
  53. with transaction.atomic():
  54. if equipment_info_list and len(equipment_info_list) > 0:
  55. if week_val == 0:
  56. return False
  57. if week_val == 1:
  58. EquipmentInfoMonday.objects.bulk_create(equipment_info_list)
  59. elif week_val == 2:
  60. EquipmentInfoTuesday.objects.bulk_create(equipment_info_list)
  61. elif week_val == 3:
  62. EquipmentInfoWednesday.objects.bulk_create(equipment_info_list)
  63. elif week_val == 4:
  64. EquipmentInfoThursday.objects.bulk_create(equipment_info_list)
  65. elif week_val == 5:
  66. EquipmentInfoFriday.objects.bulk_create(equipment_info_list)
  67. elif week_val == 6:
  68. EquipmentInfoSaturday.objects.bulk_create(equipment_info_list)
  69. elif week_val == 7:
  70. EquipmentInfoSunday.objects.bulk_create(equipment_info_list)
  71. return True
  72. return False
  73. except Exception as e:
  74. er_log = logging.getLogger('django')
  75. er_log.exception(repr(e))
  76. er_log.error(repr(e))
  77. return False