project_data.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. from datetime import datetime
  2. class ProjectModel:
  3. def __init__(self,
  4. project_name: str = None,
  5. description:str = None,
  6. project_id: int = None,
  7. delete_by:str = None,
  8. delete_time: datetime = None,
  9. create_by: str = None,
  10. create_time: datetime = None,
  11. update_by: str = None,
  12. update_time: datetime = None,
  13. ):
  14. self.id = project_id
  15. self.project_name = project_name
  16. self.description = description
  17. self.delete_by = delete_by
  18. self.delete_time = delete_time
  19. self.create_by = create_by
  20. self.create_time = create_time
  21. self.update_by = update_by
  22. self.update_time = update_time
  23. class SubProjectModel:
  24. def __init__(self,
  25. project_id: int = None,
  26. sub_project_name: str = None,
  27. work_catalog: str = None,
  28. work_content: str = None,
  29. standard_version: str = None,
  30. status: int = 0,
  31. completion_tokens: int = 0,
  32. prompt_tokens: int = 0,
  33. total_tokens: int = 0,
  34. sub_id: int = None,
  35. delete_by: str = None,
  36. delete_time: datetime = None,
  37. create_by: str = None,
  38. create_time: datetime = None,
  39. update_by: str = None,
  40. update_time: datetime = None,
  41. ):
  42. self.id = sub_id
  43. self.project_id = project_id
  44. self.sub_project_name = sub_project_name
  45. self.work_catalog = work_catalog
  46. self.work_content = work_content
  47. self.standard_version = standard_version
  48. self.status = status
  49. self.completion_tokens = completion_tokens
  50. self.prompt_tokens = prompt_tokens
  51. self.total_tokens = total_tokens
  52. self.delete_by = delete_by
  53. self.delete_time = delete_time
  54. self.create_by = create_by
  55. self.create_time = create_time
  56. self.update_by = update_by
  57. self.update_time = update_time
  58. self.items = []
  59. def __str__(self):
  60. return f"SubProjectModel(id={self.id}, project_no={self.project_id}, project_name={self.sub_project_name}, work_catalog={self.work_catalog}, work_content={self.work_content}, standard_version={self.standard_version}, status={self.status}, completion_tokens={self.completion_tokens}, prompt_tokens={self.prompt_tokens}, total_tokens={self.total_tokens}, update_time={self.update_time}, create_time={self.create_time})"
  61. def set_items(self, items: list):
  62. self.items = items
  63. def add_item(self, item: 'SubProjectItemModel'):
  64. self.items.append(item)
  65. class SubProjectItemModel:
  66. def __init__(self,
  67. project_id: int = None,
  68. sub_project_id: int=None,
  69. device_name: str=None,
  70. device_model: str=None,
  71. device_unit: str = None,
  72. device_count: float = 0,
  73. standard_version: str = None,
  74. standard_no: str = None,
  75. process_status: int = 0,
  76. process_time: datetime = None,
  77. send_status: int = 0,
  78. send_time: datetime = None,
  79. item_id: int = None,
  80. remark: str = None,
  81. update_time: datetime = None):
  82. self.id = item_id
  83. self.project_id = project_id
  84. self.sub_project_id = sub_project_id
  85. self.device_name = device_name
  86. self.device_model = device_model
  87. self.device_unit = device_unit
  88. self.device_count = device_count
  89. self.standard_no = standard_no
  90. self.standard_version = standard_version
  91. self.process_status = process_status
  92. self.process_time = process_time
  93. self.send_status = send_status
  94. self.send_time = send_time
  95. self.remark = remark
  96. self.update_time = update_time
  97. def __str__(self):
  98. return f"ProjectItemModel(id={self.id}, project_no={self.sub_project_id}, device_name={self.device_name}, device_model={self.device_model}, device_unit={self.device_unit}, device_count={self.device_count}, standard_no={self.standard_no}, standard_version={self.standard_version})"
  99. def to_ai_json(self):
  100. return {
  101. "i": self.id,
  102. "n": self.device_name,
  103. "m": self.device_model,
  104. "u": self.device_unit,
  105. "c": self.device_count,
  106. }
  107. @staticmethod
  108. def list_to_ai_json(items):
  109. return [item.to_ai_json() for item in items]