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


class ComPrefcMedEqupment(UltmarcTable):
    """レイアウト区分133: COM_都道府県医療機能情報(施設設備)"""
    dcfhp_id: str               # DCFｺｰﾄﾞ（ﾚｺｰﾄﾞID）
    dcfhp_code: str             # DCFｺｰﾄﾞ（施設ｺｰﾄﾞ）
    dcfhp_yobi: str             # DCFｺｰﾄﾞ（予備）
    equipment_code: str         # 施設設備ｺｰﾄﾞ
    bed_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.equipment_code = record[5].strip()
        self.adddel_div = record[6]
        self.bed_num = record[9]

        # Update判断フラグ。数値が空の場合は更新しない。
        self.is_bed_num_not_empty = True

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

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