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


class ComPrefcMedDisTreat(UltmarcTable):
    """レイアウト区分134: COM_都道府県医療機能情報(疾患治療)"""
    dcfhp_id: str               # DCFｺｰﾄﾞ（ﾚｺｰﾄﾞID）
    dcfhp_code: str             # DCFｺｰﾄﾞ（施設ｺｰﾄﾞ）
    dcfhp_yobi: str             # DCFｺｰﾄﾞ（予備）
    treatment_code: str         # 疾患治療ｺｰﾄﾞ
    pre_num: str                # 前年比
    adddel_div: str             # 追加削除区分
    maint_flag: str             # 修正区分

    dcfdsf_inst_code: str        # DCFDSF施設コード

    def __init__(self, record: list[str]):
        super().__init__(record)
        self.dcfhp_id = record[1]
        self.dcfhp_code = record[2]
        self.dcfhp_yobi = record[3].strip()
        self.maint_flag = record[4]
        self.treatment_code = record[5].strip()
        self.adddel_div = record[6]
        self.pre_num = record[9]

        # smallint型のカラム値は、空文字で渡ってきた場合はNULLに変換する
        self.pre_num = self.pre_num if len(self.pre_num) > 0 else None

        # DCFDSF施設コード
        self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi])
