from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable


class ComDrWrkplace(UltmarcTable):
    """レイアウト区分502 :COM_医師勤務先"""
    maint_flag: str       # 修正区分
    dcfdr_id: str         # 個人ｺｰﾄﾞ（ID）
    dcfdr_code: str       # 個人ｺｰﾄﾞ（個人ｺｰﾄﾞ）
    dcfdr_yobi: str       # 個人ｺｰﾄﾞ（予備）
    hp_id: str            # 施設ｺｰﾄﾞ（ID）
    hp_code: str          # 施設ｺｰﾄﾞ（施設ｺｰﾄﾞ）
    hp_yobi: str          # 施設ｺｰﾄﾞ（予備）
    drretflag: str        # 予備/退職異動区分
    maintdate: str        # ﾒﾝﾃﾅﾝｽ年月日
    trndate: str          # 予備/転送年月日
    postcode: str         # 役職ｺｰﾄﾞ
    identitycode: str     # 大学職位
    sectcode: str         # 所属部科ｺｰﾄﾞ
    sectname: str         # 所属部科(漢字)
    sectname_kana: str    # 所属部科(ｶﾅ)
    notdm_flg: str        # DM不可ﾌﾗｸﾞ
    full_dcfdr_code: str  # 個人ID+個人コード+個人コード予備
    full_hp_code: str     # 施設ID+施設コード+施設コード予備

    def __init__(self, record: list[str]):
        super().__init__(record)
        self.maintflag = record[4]
        self.dcfdr_id = record[1]
        self.dcfdr_code = record[2]
        self.dcfdr_yobi = record[3].strip()
        self.hp_id = record[5]
        self.hp_code = record[6]
        self.hp_yobi = record[7].strip()
        self.drretflag = record[8]
        self.maintdate = record[9]
        self.trndate = record[10]
        self.postcode = record[11].strip()
        self.identitycode = record[12].strip()

        # 所属部科の集合項目
        self.sectcode = record[13].strip()
        self.sectname = record[14].strip()
        self.sectname_kana = record[15].strip()

        self.notdm_flg = record[16].strip()

        # ID、コード、予備を結合してフル桁コードに変換
        self.full_dcfdr_code = ''.join([self.dcfdr_id, self.dcfdr_code, self.dcfdr_yobi])
        self.full_hp_code = ''.join([self.hp_id, self.hp_code, self.hp_yobi])
