import json

from django.contrib.contenttypes.fields import GenericRelation
from django.db import models

class EmxTtActivityFinal(models.Model):
    activity_id = models.CharField(max_length=255,db_comment="will have 'MV' as prefix, so cant used integer",null=True)
    code = models.CharField(max_length=150)
    name = models.CharField(max_length=255)
    desc = models.TextField(null=True)
    department_code = models.CharField(max_length=255,null=True)
    activity_type_code = models.CharField(max_length=255,null=True)
    group_id = models.IntegerField(null=True, db_comment="follow activity name the last number eg. Activity/1, will get the 1")
    module_code = models.CharField(max_length=255,null=True)
    scheduled_day = models.CharField(max_length=100,null=True,db_comment="Client request send by String 'Monday'")
    duration = models.IntegerField(null=True,db_comment="in minute")
    start_time = models.TextField(null=True, db_comment="client request in datetime format(6/6/2026 12:00:00 PM) so using text field, date just put today date")
    end_time = models.TextField(null=True,db_comment="client request in datetime format(6/6/2026 12:00:00 PM) so using text field, date just put today date")
    planned_size = models.IntegerField(null=True)
    is_jta = models.IntegerField(null=True)
    is_variant = models.IntegerField(null=True)
    record_state = models.CharField(max_length=100, db_comment="U - update/create, D - Delete")

    COLUMN_MATCH_EMX = {
        "activity_id": "ACTIVITY_ID",
        "name": "ACTIVITY_NAME",
        "desc": "ACTIVITY_DESCRIPTION",
        "department_code": "DEPARTMENT_ID",
        "module_code": "SUBJECT_HOST_KEY",
        "activity_type_code": "ACTIVITY_TYPE",
        "group_id": "GROUP_ID",
        "scheduled_day": "ACTIVITY_DAY",
        "duration": "ACTIVITY_DURATION",
        "start_time": "START_TIME",
        "end_time": "END_TIME",
        "planned_size": "PLANNED_SIZE",
        "is_jta": "IS_JTA",
        "is_variant": "IS_VARIANT",
        "code": "ACTIVITY_CODE",
        "record_state": "RECORD_STATE",
    }
    class Meta:
        db_table = "emx_tt_activity_final"

    def __str__(self):
        return self.name