COM_薬局からのinsert

This commit is contained in:
mori.k 2025-06-02 10:15:20 +09:00
parent 77d1ca41f5
commit 80da987224

View File

@ -97,10 +97,10 @@ class MstInstAll(JskultBatchEntrypoint):
logger.debug('メルク施設マスタ作成処理開始')
# mst_inst_allをTruncate
self._truncate_mst_inst_all(self._db)
# com_pharmから、mst_inst_allへInsert
self._insert_mst_inst_all_from_com_pharm(self._db)
# com_instから、mst_inst_allへInsert
self._insert_mst_inst_all_from_com_inst(self._db)
# com_pharmから、mst_inst_allへInsert
self._insert_mst_inst_all_from_com_pharm(self._db)
logger.debug('メルク施設マスタ作成処理終了')
except Exception as e:
raise BatchOperationException(e)
@ -134,61 +134,52 @@ class MstInstAll(JskultBatchEntrypoint):
address,
postal_cd,
tel_num,
bed_num,
manage_cd,
manage_name,
delete_date,
v_inst_cd,
inst_div_cd,
inst_div_name,
yobi,
creater,
create_date,
updater,
update_date
)
SELECT
fmv1.v_inst_cd,
CASE
WHEN fmv1.fcl_type IN ('A1', 'A0') THEN '3'
WHEN fmv1.fcl_type BETWEEN '20' AND '29' THEN '2'
END AS inst_clas_cd,
fmv1.fcl_name,
fmv1.fcl_abb_name,
fmv1.prft_cd,
RIGHT(fmv1.admin_kbn, 3),
cp.dcf_dsf_inst_cd,
'2',
cp.form_inst_name_kanji,
cp.inst_name_kanji,
cp.prefc_cd,
cp.city_cd,
mp.prefc_name,
LEFT(mc.city_name, 40),
CASE
WHEN fmv1.fcl_type IN ('A1', 'A0') THEN LEFT(fmv1.fmt_addr, 200)
WHEN fmv1.fcl_type BETWEEN '20' AND '29' THEN CONCAT(fmv1.prft_name,fmv1.city_name,fmv1.addr_line_1)
END AS address,
fmv1.postal_cd,
fmv1.tel_num,
CASE
WHEN
fmv1.fcl_type BETWEEN '20' AND '29' THEN LEFT(fmv1.closed_dt, 10)
WHEN
fmv1.fcl_type IN ('A1', 'A0') AND fmv1.end_date != '9999-12-31' THEN DATE_FORMAT(fmv1.end_date, "%Y-%m-%d")
ELSE
null
END AS delete_date,
fmv1.v_inst_cd,
fmv1.ins_dt,
fmv1.upd_dt
cp.inst_addr,
cp.postal_number,
null,
null,
null,
LEFT(cm.manage_name, 40),
cp.abolish_ymd,
cp.inst_div_cd,
LEFT(cid.inst_div_name, 40),
null,
cp.create_user,
cp.regist_date,
cp.update_user,
cp.update_date
FROM
src05.fcl_mst_v AS fmv1
INNER JOIN (
SELECT
v_inst_cd,
MAX(sub_num) AS sno
FROM
src05.fcl_mst_v
GROUP BY
v_inst_cd
) fmv2
ON fmv1.v_inst_cd = fmv2.v_inst_cd
AND fmv1.sub_num = fmv2.sno
src05.com_pharm AS cp
LEFT OUTER JOIN src05.mst_prefc AS mp
ON fmv1.prft_cd = mp.prefc_cd
ON cp.prefc_cd = mp.prefc_cd
LEFT OUTER JOIN src05.mst_city AS mc
ON LEFT(fmv1.admin_kbn, 2) = mc.prefc_cd
AND RIGHT(fmv1.admin_kbn, 3) = mc.city_cd
WHERE
((fmv1.fcl_type IN ('A1', 'A0')) OR fmv1.fcl_type BETWEEN '20' AND '29')
AND fmv1.rec_sts_kbn != '9'
ON cp.prefc_cd = mc.prefc_cd
AND cp.city_cd = mc.city_cd
LEFT OUTER JOIN src05.com_manage AS cm
ON cp.manage_cd = cm.manage_cd
LEFT OUTER JOIN src05.com_inst_div AS cid
ON cp.inst_div_cd = cid.inst_div_cd
"""
res = db.execute(sql)
logger.info(f'COM_薬局からメルク施設マスタに登録成功')
@ -232,6 +223,7 @@ class MstInstAll(JskultBatchEntrypoint):
delete_date,
inst_div_cd,
inst_div_name,
yobi,
creater,
create_date,
updater,
@ -255,6 +247,7 @@ class MstInstAll(JskultBatchEntrypoint):
ci.abolish_ymd,
ci.inst_div_cd,
LEFT(cid.inst_div_name, 40),
null,
ci.create_user,
ci.regist_date,
ci.update_user,
@ -272,9 +265,9 @@ class MstInstAll(JskultBatchEntrypoint):
ON ci.inst_div_cd = cid.inst_div_cd
"""
res = db.execute(sql)
logger.info(f'COM施設からメルク施設マスタに登録成功')
logger.info(f'COM_施設からメルク施設マスタに登録成功')
except Exception as e:
logger.debug("COM施設からメルク施設マスタに登録失敗")
logger.debug("COM_施設からメルク施設マスタに登録失敗")
raise e
return