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


class ComSndMedSphe(UltmarcTable):
    """レイアウト区分123: COM_医療圏二次医療圏"""
    prefc_cd: str                       # 県コード
    med_sphe_cd: str                    # 医療圏コード
    thrd_cd: str                        # 3次コード
    snd_med_sphe_name: str              # 2次医療圏名
    requd_bed_or_equip_target: str      # 基準病床数 or 整備目標数
    exist_bed_num: str                  # 既存病床数(病床数)
    exist_bed_num_regist_ymd: str       # 既存病床数(年月日)
    plsmns_bed_num: str                 # 過不足病床数
    maintflag: str                      # 修正区分

    def __init__(self, record: list[str]):
        super().__init__(record)
        self.prefc_cd = record[1]
        self.med_sphe_cd = record[2]
        self.maintflag = record[3]
        self.snd_med_sphe_name = record[6]
        self.thrd_cd = record[7]
        self.requd_bed_or_equip_target = record[8].strip()
        self.exist_bed_num = record[9].strip()
        self.exist_bed_num_regist_ymd = record[10]
        self.plsmns_bed_num = record[11]

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