diff --git a/.vscode/launch.json b/.vscode/launch.json index 753ba49f..7f99ffd0 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,21 +5,18 @@ "version": "0.2.0", "configurations": [ { - "name": "Python: データ取り込みローカル実行", + "name": "Batch Sample", "type": "python", "request": "launch", - // windowsだと\区切りかも - "program": "ecs\\dataimport\\dataimport\\controller.py", + "program": "entrypoint.py", "console": "integratedTerminal", "justMyCode": true, "envFile": "${workspaceFolder}/.env" }, - { - "name": "Python: Attach using Process Id", + { "name": "Python: Current File", "type": "python", - "request": "attach", - "processId": "${command:pickProcess}", - "justMyCode": true + "request": "test", + "console": "integratedTerminal" } ] } \ No newline at end of file diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py new file mode 100644 index 00000000..3824ec3e --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_pharm.py @@ -0,0 +1,129 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComPharm(UltmarcTable): + """レイアウト区分102: COM_薬局""" + dcfhp_id: str # DCF コード(ID) + dcfhp_code: str # DCF コード(コード) + dcfhp_yobi: str # DCF コード(予備) + maint_flag: str # 修正区分 + maintdate: str # メンテナンス年月日 + # 予備/転送年月日(未使用) + unconf_flg: str # 未確認フラグ + del_cd: str # 削除予定理由 + duphp_id: str # 重複時相手先コード(レコードID) + duphp_cd: str # 重複時相手先コード(施設コード) + duphp_yobi: str # 重複時相手先コード(予備) + hp_name: str # 正式施設名(漢字) + hp_name_kana: str # 正式施設名(カナ) + hp_ryaku_name: str # 略式施設名(漢字) + hp_ryaku_name_kana: str # 略式施設名(カナ) + hp_addr_lost_code: str # 住所不明 + prefc_cd: str # 住所コード(県コード) + city_cd: str # 住所コード(市区町村コード) + addrcode1: str # 住所コード(大字・通称コード) + addrcode2: str # 住所コード(字・丁目コード) + zip_code: str # 郵便番号 + addr: str # 住所(漢字) + addr_kana: str # 住所(カナ) + addr_number: str # 住所表示番号 + addrkanjcnt1: str # 住所文字カウント:漢字(県) + addrkanjcnt2: str # 住所文字カウント:漢字(市区町村) + addrkanjcnt3: str # 住所文字カウント:漢字(大字・通称) + addrkanjcnt4: str # 住所文字カウント:漢字(字・丁目) + addrkanacnt1: str # 住所文字カウント:カナ(県) + addrkanacnt2: str # 住所文字カウント:カナ(市区町村) + addrkanacnt3: str # 住所文字カウント:カナ(大字・通称) + addrkanacnt4: str # 住所文字カウント:カナ(字・丁目) + tel_nothing_flag: str # 電話番号なしフラグ + tel_number: str # 電話番号 + mgtclass_code: str # 経営体 + hpclass_code: str # 施設区分 + president: str # 代表者(漢字) + president_Kana: str # 代表者(カナ) + open_flag: str # 開業予定(フラグ) + open_yearmonth: str # 開業予定(年月) + close_flg: str # 休院(休院フラグ) + close_yearmonth: str # 休院(開始年月) + pharmacist: str # 管理薬剤師名(漢字) + pharmacist_kana: str # 管理薬剤師名(カナ) + franchise_hq_id: str # チェーン店本部コード(レコードID) + franchise_hq_cd: str # チェーン店本部コード(施設コード) + franchise_hq_yobi: str # チェーン店本部コード(予備) + + dcfdsf_inst_cd: str # 施設コード + village_code: str # 町字コード + addr_count_kana: str # 住所カウントカナ + addr_count: str # 住所カウント + dup_opp_cd: str # 重複時相手先コード + franchise_hq_cd: str # チェーン店本部コード + + def __init__(self, record: list[str]): + super().__init__(record) + + self.dcfhp_id = record[2] # DCF コード(ID) + self.dcfhp_cd = record[3] # DCF コード(コード) + self.dcfhp_yobi = record[4] # DCF コード(予備) + self.maint_flag = record[5] # 修正区分 + self.maintdate = record[6] # メンテナンス年月日 + # 予備/転送年月日(未使用) + self.unconf_flg = record[8].strip() # 未確認フラグ + self.del_cd = record[9].strip() # 削除予定理由 + self.duphp_id = record[10].strip() # 重複時相手先コード(レコードID) + self.duphp_cd = record[11].strip() # 重複時相手先コード(施設コード) + self.duphp_yobi = record[12].strip() # 重複時相手先コード(予備) + self.hp_name = record[13].strip() # 正式施設名(漢字) + self.hp_name_kana = record[14].strip() # 正式施設名(カナ) + self.hp_ryaku_name = record[15].strip() # 略式施設名(漢字) + self.hp_ryaku_name_kana = record[16].strip() # 略式施設名(カナ) + self.hp_addr_lost_code = record[17].strip() # 住所不明 + self.prefc_cd = record[18].strip() # 住所コード(県コード) + self.city_cd = record[19].strip() # 住所コード(市区町村コード) + self.addrcode1 = record[20].strip() # 住所コード(大字・通称コード) + self.addrcode2 = record[21].strip() # 住所コード(字・丁目コード) + self.zip_code = record[22].strip() # 郵便番号 + self.addr = record[23] # 住所(漢字) + self.addr_kana = record[24] # 住所(カナ) + self.addr_number = record[25] # 住所表示番号 + self.addrkanjcnt1 = record[26].strip() # 住所文字カウント:漢字(県) + self.addrkanjcnt2 = record[27].strip() # 住所文字カウント:漢字(市区町村) + self.addrkanjcnt3 = record[28].strip() # 住所文字カウント:漢字(大字・通称) + self.addrkanjcnt4 = record[29].strip() # 住所文字カウント:漢字(字・丁目) + self.addrkanacnt1 = record[30].strip() # 住所文字カウント:カナ(県) + self.addrkanacnt2 = record[31].strip() # 住所文字カウント:カナ(市区町村) + self.addrkanacnt3 = record[32].strip() # 住所文字カウント:カナ(大字・通称) + self.addrkanacnt4 = record[33].strip() # 住所文字カウント:カナ(字・丁目) + self.tel_nothing_flag = record[34].strip() # 電話番号なしフラグ + self.tel_number = record[35].strip() # 電話番号 + self.mgtclass_code = record[36].strip() # 経営体 + self.hpclass_code = record[37].strip() # 施設区分 + self.president = record[38] .strip() # 代表者(漢字) + self.president_Kana = record[39].strip() # 代表者(カナ) + self.open_flag = record[40].strip() # 開業予定(フラグ) + self.open_yearmonth = record[41].strip() # 開業予定(年月) + self.close_flg = record[42].strip() # 休院(休院フラグ) + self.close_yearmonth = record[43].strip() # 休院(開始年月) + self.pharmacist = record[44] # 管理薬剤師名(漢字) + self.pharmacist_kana = record[45] # 管理薬剤師名(カナ) + self.franchise_hq_id = record[46] # チェーン店本部コード(レコードID) + self.franchise_hq_cd = record[47] # チェーン店本部コード(施設コード) + self.franchise_hq_yobi = record[48] # チェーン店本部コード(予備) + + # 施設コード(2+3+4) + self.dcfdsf_inst_cd = ''.join([self.dcfhp_id, self.dcfhp_cd, self.dcfhp_yobi]) + + # 町字コード(18+19+20+21) + self.village_code = ''.join([self.prefc_cd, self.city_cd, self.addrcode1, self.addrcode2]) + + # 住所カウントカナ(30+31+32+33) + self.addr_count_kana = ''.join([self.addrkanacnt1, self.addrkanacnt2, self.addrkanacnt3, self.addrkanacnt4]) + + # 住所カウント(26+27+28+29) + self.addr_count = ''.join([self.addrkanjcnt1, self.addrkanjcnt2, self.addrkanjcnt3, self.addrkanjcnt4]) + + # 重複時相手先コード(10+11+12) + self.dup_opp_cd = ''.join([self.duphp_id, self.duphp_cd, self.duphp_yobi]) + + # チェーン店本部コード(46+47+48) + self.franchise_hq_cd = ''.join([self.franchise_hq_id, self.franchise_hq_cd, self.franchise_hq_yobi]) +