独自施設マスタからのinsertの実装
This commit is contained in:
parent
a232923909
commit
75d4f85bb2
@ -103,6 +103,8 @@ class MstInstAll(JskultBatchEntrypoint):
|
||||
self._insert_mst_inst_all_from_com_inst(db)
|
||||
# com_pharmから、mst_inst_allへInsert
|
||||
self._insert_mst_inst_all_from_com_pharm(db)
|
||||
# mst_inst_merckから、最新レコードをmst_inst_allへInsert
|
||||
self._insert_mst_inst_all_from_mst_inst_merck(db)
|
||||
logger.info("メルク施設マスタ作成処理終了")
|
||||
|
||||
jskult_batch_run_manager.batch_success()
|
||||
@ -281,3 +283,85 @@ class MstInstAll(JskultBatchEntrypoint):
|
||||
raise e
|
||||
|
||||
return
|
||||
|
||||
def _insert_mst_inst_all_from_mst_inst_merck(self, db:Database):
|
||||
# mst_inst_merckから、mst_inst_allへInsert
|
||||
try:
|
||||
sql = """
|
||||
INSERT INTO
|
||||
src07.mst_inst_all (
|
||||
inst_cd,
|
||||
inst_clas_cd,
|
||||
inst_name_form,
|
||||
inst_name,
|
||||
pref_cd,
|
||||
city_cd,
|
||||
pref_name,
|
||||
city_name,
|
||||
address,
|
||||
postal_cd,
|
||||
tel_num,
|
||||
bed_num,
|
||||
manage_cd,
|
||||
manage_name,
|
||||
delete_date,
|
||||
inst_div_cd,
|
||||
inst_div_name,
|
||||
yobi,
|
||||
creater,
|
||||
create_date,
|
||||
updater,
|
||||
update_date
|
||||
)
|
||||
SELECT
|
||||
mim.inst_cd,
|
||||
CASE LEFT(mim.inst_cd, 2)
|
||||
WHEN '59' THEN '3'
|
||||
ELSE '2'
|
||||
END,
|
||||
mim.inst_nm_kj,
|
||||
mim.inst_nm_kj_s,
|
||||
mim.jis_pref_cd,
|
||||
mim.jis_city_cd,
|
||||
mjp.jis_pref_nm_kj,
|
||||
LEFT(mjc.jis_city_nm_kj, 40),
|
||||
CONCAT(mim.addr1_nm_kj, mim.addr2_nm_kj),
|
||||
mim.postal_no,
|
||||
mim.tel_no,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
CASE mim.eff_end_ym
|
||||
WHEN '999912' THEN null
|
||||
ELSE CONCAT(mim.eff_end_ym, DATE_FORMAT(LAST_DAY(STR_TO_DATE(mim.eff_end_ym, '%Y%m')), '%d'))
|
||||
END,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
mim.ins_user,
|
||||
mim.ins_date,
|
||||
mim.upd_user,
|
||||
mim.upd_date
|
||||
FROM
|
||||
src07.mst_inst_merck AS mim
|
||||
JOIN (
|
||||
SELECT mim.inst_cd, MAX(mim.eff_end_ym) AS max_end_ym
|
||||
FROM src07.mst_inst_merck AS mim
|
||||
GROUP BY mim.inst_cd
|
||||
) AS mim_max_end_ym
|
||||
ON mim.inst_cd = mim_max_end_ym.inst_cd
|
||||
AND mim.eff_end_ym = mim_max_end_ym.max_end_ym
|
||||
LEFT OUTER JOIN src07.mst_jis_pref AS mjp
|
||||
ON mim.jis_pref_cd = mjp.jis_pref_cd
|
||||
LEFT OUTER JOIN src07.mst_jis_city AS mjc
|
||||
ON mim.jis_pref_cd = mjc.jis_pref_cd
|
||||
AND mim.jis_city_cd = mjc.jis_city_cd;
|
||||
|
||||
"""
|
||||
res = db.execute(sql)
|
||||
logger.info("メルク独自施設マスタからメルク施設マスタに登録成功")
|
||||
except Exception as e:
|
||||
logger.info("メルク独自施設マスタからメルク施設マスタに登録失敗")
|
||||
raise e
|
||||
|
||||
return
|
||||
Loading…
x
Reference in New Issue
Block a user