feat: 施設担当者マスタ洗替(仮製造)
This commit is contained in:
parent
e326347496
commit
ceaeffa02c
@ -21,10 +21,10 @@ def exec():
|
||||
_truncate_emp_chg_inst_lau(db)
|
||||
# emp_chg_inst から、`emp_chg_inst_lau`へInsert
|
||||
_insert_into_emp_chg_inst_lau_from_emp_chg_inst(db)
|
||||
# vop_hco_merge_vから、emp_chg_inst_lauをUpdate
|
||||
_update_emp_chg_inst_lau_from_vop_hco_merge_v(db, syor_date)
|
||||
# dcf_inst_mergeから、emp_chg_inst_lauをUpdate
|
||||
_update_dcf_inst_merge_from_emp_chg_inst_lau(db, syor_date)
|
||||
# v_inst_merge_tから、emp_chg_inst_lauをUpdate
|
||||
_update_emp_chg_inst_lau_from_v_inst_merge_t(db, syor_date)
|
||||
# v_inst_merge_tから、emp_chg_inst_lauをUpdate
|
||||
_update_v_inst_merge_t_from_emp_chg_inst_lau(db, syor_date)
|
||||
logger.debug('##########################')
|
||||
logger.debug('End All Processing PGM.')
|
||||
except Exception as e:
|
||||
@ -81,8 +81,8 @@ def _insert_into_emp_chg_inst_lau_from_emp_chg_inst(db: Database):
|
||||
return
|
||||
|
||||
|
||||
def _update_emp_chg_inst_lau_from_vop_hco_merge_v(db: Database, syor_date: str):
|
||||
# vop_hco_merge_vはデータが作られないため、この洗い替え処理は基本空振りする
|
||||
def _update_emp_chg_inst_lau_from_v_inst_merge_t(db: Database, syor_date: str):
|
||||
# v_inst_merge_tはデータが作られないため、この洗い替え処理は基本空振りする
|
||||
logger.debug("##########################")
|
||||
try:
|
||||
select_result = db.execute_select(
|
||||
@ -90,35 +90,29 @@ def _update_emp_chg_inst_lau_from_vop_hco_merge_v(db: Database, syor_date: str):
|
||||
SELECT
|
||||
COUNT(v_inst_cd) AS row_count
|
||||
FROM
|
||||
src05.vop_hco_merge_v
|
||||
WHERE
|
||||
STR_TO_DATE(apply_dt, '%Y-%m-%d') <= :syor_date
|
||||
""",
|
||||
{'syor_date': syor_date}
|
||||
internal05.v_inst_merge_t
|
||||
"""
|
||||
)
|
||||
except Exception as e:
|
||||
logger.debug("Error! `vop_hco_merge_v` Table count error!")
|
||||
logger.debug("Error! `v_inst_merge_t` Table count error!")
|
||||
raise e
|
||||
count = [row for row in select_result][0]['row_count']
|
||||
if count == 0:
|
||||
logger.info('vop_hco_merge_v Table Data is not exists!')
|
||||
logger.info('v_inst_merge_t Table Data is not exists!')
|
||||
return
|
||||
|
||||
logger.info('vop_hco_merge_v Table Data is exists!')
|
||||
# vop_hco_merge_v から、emp_chg_inst_lauをUpdateします
|
||||
logger.info('v_inst_merge_t Table Data is exists!')
|
||||
# v_inst_merge_t から、emp_chg_inst_lauをUpdateします
|
||||
result = db.execute_select(
|
||||
"""
|
||||
SELECT
|
||||
v_inst_cd,
|
||||
v_inst_cd_merg
|
||||
FROM
|
||||
src05.vop_hco_merge_v
|
||||
WHERE
|
||||
STR_TO_DATE(apply_dt, '%Y-%m-%d') <= :syor_date
|
||||
internal05.v_inst_merge_t
|
||||
ORDER BY
|
||||
STR_TO_DATE(apply_dt, '%Y-%m-%d') ASC
|
||||
""",
|
||||
{'syor_date': syor_date}
|
||||
"""
|
||||
)
|
||||
for row in result:
|
||||
v_inst_cd = row['v_inst_cd']
|
||||
@ -147,9 +141,9 @@ def _update_emp_chg_inst_lau_from_vop_hco_merge_v(db: Database, syor_date: str):
|
||||
return
|
||||
|
||||
|
||||
def _update_dcf_inst_merge_from_emp_chg_inst_lau(db: Database, syor_date: str):
|
||||
# dcf_inst_mergeから、emp_chg_inst_lauをUpdate
|
||||
# Get count from DCF_INST_MERGE
|
||||
def _update_v_inst_merge_t_from_emp_chg_inst_lau(db: Database, syor_date: str):
|
||||
# inst_merge_tから、emp_chg_inst_lauをUpdate
|
||||
# Get count from INST_MERGE_T
|
||||
logger.debug("##########################")
|
||||
try:
|
||||
select_result = db.execute_select(
|
||||
@ -157,26 +151,20 @@ def _update_dcf_inst_merge_from_emp_chg_inst_lau(db: Database, syor_date: str):
|
||||
SELECT
|
||||
COUNT(dcf_inst_cd) AS row_count
|
||||
FROM
|
||||
src05.dcf_inst_merge
|
||||
WHERE
|
||||
muko_flg = '0'
|
||||
AND dcf_inst_cd_new IS NOT NULL
|
||||
AND enabled_flg = 'Y'
|
||||
AND STR_TO_DATE(CONCAT(tekiyo_month, '01'), '%Y%m%d') <= :syor_date
|
||||
""",
|
||||
{'syor_date': syor_date}
|
||||
internal05.inst_merge_t
|
||||
"""
|
||||
)
|
||||
except Exception as e:
|
||||
logger.debug("Error! Getting Count of dcf_inst_merge was failed!")
|
||||
logger.debug("Error! Getting Count of internal05.inst_merge_t was failed!")
|
||||
raise e
|
||||
|
||||
count = [row for row in select_result][0]['row_count']
|
||||
if count == 0:
|
||||
logger.info('dcf_inst_merge Table Data is not exists!')
|
||||
logger.info('inst_merge_t Table Data is not exists!')
|
||||
return
|
||||
|
||||
logger.debug('dcf_inst_merge Table Data is exists!')
|
||||
# dcf_inst_mergeから、emp_chg_inst_lauをUpdate
|
||||
logger.debug('inst_merge_t Table Data is exists!')
|
||||
# inst_merge_tから、emp_chg_inst_lauをUpdate
|
||||
logger.debug("##########################")
|
||||
logger.debug("#### UPDATE DATA #########")
|
||||
logger.debug("##########################")
|
||||
@ -184,28 +172,15 @@ def _update_dcf_inst_merge_from_emp_chg_inst_lau(db: Database, syor_date: str):
|
||||
elapsed_time = ElapsedTime()
|
||||
update_sql = """
|
||||
UPDATE
|
||||
src05.emp_chg_inst_lau el,
|
||||
(
|
||||
SELECT
|
||||
dcf_inst_cd,
|
||||
dcf_inst_cd_new
|
||||
FROM
|
||||
src05.dcf_inst_merge
|
||||
WHERE
|
||||
muko_flg = '0'
|
||||
AND dcf_inst_cd_new IS NOT NULL
|
||||
AND enabled_flg = 'Y'
|
||||
AND STR_TO_DATE(CONCAT(tekiyo_month, '01'), '%Y%m%d') <= :syor_date
|
||||
) dm
|
||||
src05.emp_chg_inst_lau el, internal05.inst_merge_t imt
|
||||
SET
|
||||
el.inst_cd = dm.dcf_inst_cd_new,
|
||||
el.inst_cd = imt.dcf_inst_cd_new,
|
||||
el.lua_ope_dt = SYSDATE()
|
||||
WHERE
|
||||
el.inst_cd = dm.dcf_inst_cd
|
||||
el.inst_cd = imt.dcf_inst_cd
|
||||
"""
|
||||
res = db.execute(
|
||||
update_sql,
|
||||
{'syor_date': syor_date}
|
||||
update_sql
|
||||
)
|
||||
logging_sql(logger, update_sql)
|
||||
logger.info(f'Query OK, {res.rowcount} rows affected ({elapsed_time.of})')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user