生物由来ロット分解データの作成の外部結合以外までのコミット
This commit is contained in:
parent
bb015efe3a
commit
20907bc4bd
@ -135,211 +135,75 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
||||
logger.info('生物由来ロット分解データの作成開始')
|
||||
try:
|
||||
sql = """
|
||||
INSERT INTO src07.bio_sales_lot
|
||||
INSERT INTO src07.trn_result_data_bio_lot
|
||||
SELECT
|
||||
bio.slip_mgt_num AS slip_mgt_num,
|
||||
bio.account_ym AS account_ym,
|
||||
bio.seq_no AS seq_no,
|
||||
conv.conv_cd AS conv_cd,
|
||||
bio.rec_whs_cd AS rec_whs_cd,
|
||||
bio.rec_whs_sub_cd AS rec_whs_sub_cd,
|
||||
bio.rec_whs_org_cd AS rec_whs_org_cd,
|
||||
bio.rec_comm_cd AS rec_comm_cd,
|
||||
bio.rec_tran_kbn AS rec_tran_kbn,
|
||||
bio.rev_hsdnymd_srk AS rev_hsdnymd_srk,
|
||||
bio.rec_urag_num AS rec_urag_num,
|
||||
bio.rec_comm_name AS rec_comm_name,
|
||||
bio.rec_nonyu_fcl_name AS rec_nonyu_fcl_name,
|
||||
bio.rec_nonyu_fcl_addr AS rec_nonyu_fcl_addr,
|
||||
bio.orig_whlslr_cd AS orig_whlslr_cd,
|
||||
bio.orig_whlslr_sub_cd AS orig_whlslr_sub_cd,
|
||||
bio.edit_whlslr_org_cd AS edit_whlslr_org_cd,
|
||||
bio.orig_univ_product_cd AS orig_univ_product_cd,
|
||||
bio.edit_deal_div_cd AS edit_deal_div_cd,
|
||||
bio.cnvs_sales_dt AS cnvs_sales_dt,
|
||||
bio.orig_slip_no AS orig_slip_no,
|
||||
bio.orig_prod_nm AS orig_prod_nm,
|
||||
bio.edit_endusr_cd AS edit_endusr_cd,
|
||||
bio.orig_endusr_nm AS orig_endusr_nm,
|
||||
bio.orig_jd45_addr_txt AS orig_jd45_addr_txt,
|
||||
-- 3レコードに分解する
|
||||
CASE conv.conv_cd
|
||||
WHEN 1 THEN bio.rec_lot_num1
|
||||
WHEN 2 THEN bio.rec_lot_num2
|
||||
WHEN 3 THEN bio.rec_lot_num3
|
||||
END AS rec_lot_num,
|
||||
bio.rec_ymd AS rec_ymd,
|
||||
bio.v_tran_cd AS v_tran_cd,
|
||||
bio.tran_kbn_name AS tran_kbn_name,
|
||||
bio.whs_org_cd AS whs_org_cd,
|
||||
bio.v_whsorg_cd AS v_whsorg_cd,
|
||||
bio.whs_org_name AS whs_org_name,
|
||||
bio.v_whs_cd AS v_whs_cd,
|
||||
bio.whs_name AS whs_name,
|
||||
bio.nonyu_fcl_cd AS nonyu_fcl_cd,
|
||||
bio.v_inst_cd AS v_inst_cd,
|
||||
bio.v_inst_kn AS v_inst_kn,
|
||||
bio.v_inst_name AS v_inst_name,
|
||||
bio.v_inst_addr AS v_inst_addr,
|
||||
bio.comm_cd AS comm_cd,
|
||||
bio.product_name AS product_name,
|
||||
bio.whs_rep_comm_name AS whs_rep_comm_name,
|
||||
bio.whs_rep_nonyu_fcl_name AS whs_rep_nonyu_fcl_name,
|
||||
bio.whs_rep_nonyu_fcl_addr AS whs_rep_nonyu_fcl_addr,
|
||||
/* 製品名と製品コードは後ほどV製品マスタからセットする */
|
||||
-- 製品名
|
||||
NULL AS mkr_inf_1,
|
||||
-- 製品コード
|
||||
NULL AS mkr_cd,
|
||||
-- 数量
|
||||
-- Veeva取引区分の先頭が「2」の場合、マイナス表示にする
|
||||
CASE conv.conv_cd
|
||||
WHEN 1 THEN
|
||||
CASE
|
||||
WHEN (LEFT(bio.v_tran_cd, 1) = 2 AND bio.qty1 >= 1) THEN -bio.qty1
|
||||
ELSE bio.qty1
|
||||
END
|
||||
WHEN 2 THEN
|
||||
CASE
|
||||
WHEN (LEFT(bio.v_tran_cd, 1) = 2 AND bio.qty2 >= 1) THEN -bio.qty2
|
||||
ELSE bio.qty2
|
||||
END
|
||||
WHEN 3 THEN
|
||||
CASE
|
||||
WHEN (LEFT(bio.v_tran_cd, 1) = 2 AND bio.qty3 >= 1) THEN -bio.qty3
|
||||
ELSE bio.qty3
|
||||
END
|
||||
END AS qty,
|
||||
bio.slip_org_kbn AS slip_org_kbn,
|
||||
bio.bef_slip_mgt_num AS bef_slip_mgt_num,
|
||||
CASE conv.conv_cd
|
||||
WHEN 1 THEN bio.err_flg11
|
||||
WHEN 2 THEN bio.err_flg12
|
||||
WHEN 3 THEN bio.err_flg13
|
||||
END AS lot_no_err_flg,
|
||||
CASE bio.err_flg20
|
||||
WHEN 'M' THEN '*'
|
||||
ELSE NULL
|
||||
END AS iko_flg,
|
||||
CASE bio.rec_sts_kbn
|
||||
WHEN '0' THEN bio.rec_sts_kbn
|
||||
WHEN '1' THEN
|
||||
CASE conv.conv_cd
|
||||
WHEN 1 THEN bio.err_flg11
|
||||
WHEN 2 THEN bio.err_flg12
|
||||
WHEN 3 THEN bio.err_flg13
|
||||
END
|
||||
END AS rec_sts_kbn,
|
||||
CASE
|
||||
WHEN bio.bef_slip_mgt_num IS NOT NULL THEN bio.ins_dt
|
||||
ELSE NULL
|
||||
END AS ins_dt,
|
||||
CASE
|
||||
WHEN bio.bef_slip_mgt_num IS NOT NULL THEN bio.ins_usr
|
||||
ELSE NULL
|
||||
END AS ins_usr,
|
||||
bio.dwh_upd_dt AS dwh_upd_dt,
|
||||
/* 施設情報は後ほどセットする */
|
||||
-- 施設コード
|
||||
NULL AS inst_cd,
|
||||
-- 正式施設名(漢字)
|
||||
NULL AS inst_name_form,
|
||||
-- 施設住所
|
||||
NULL AS address,
|
||||
-- 施設電話番号
|
||||
NULL AS tel_num,
|
||||
CASE conv.conv_cd
|
||||
WHEN 1 THEN
|
||||
CASE bio.err_flg11
|
||||
WHEN '0' THEN '正常'
|
||||
WHEN '1' THEN 'ロットエラー'
|
||||
WHEN '2' THEN 'ロットエラー'
|
||||
WHEN '3' THEN 'エラー(解消済)'
|
||||
WHEN '4' THEN 'ロット不明'
|
||||
WHEN '5' THEN 'エラー(解消済)'
|
||||
WHEN '6' THEN 'ロット不明'
|
||||
WHEN '7' THEN '除外'
|
||||
WHEN '8' THEN '除外'
|
||||
WHEN 'Z' THEN '除外'
|
||||
END
|
||||
WHEN 2 THEN
|
||||
CASE bio.err_flg12
|
||||
WHEN '0' THEN '正常'
|
||||
WHEN '1' THEN 'ロットエラー'
|
||||
WHEN '2' THEN 'ロットエラー'
|
||||
WHEN '3' THEN 'エラー(解消済)'
|
||||
WHEN '4' THEN 'ロット不明'
|
||||
WHEN '5' THEN 'エラー(解消済)'
|
||||
WHEN '6' THEN 'ロット不明'
|
||||
WHEN '7' THEN '除外'
|
||||
WHEN '8' THEN '除外'
|
||||
WHEN 'Z' THEN '除外'
|
||||
END
|
||||
WHEN 3 THEN
|
||||
CASE bio.err_flg13
|
||||
WHEN '0' THEN '正常'
|
||||
WHEN '1' THEN 'ロットエラー'
|
||||
WHEN '2' THEN 'ロットエラー'
|
||||
WHEN '3' THEN 'エラー(解消済)'
|
||||
WHEN '4' THEN 'ロット不明'
|
||||
WHEN '5' THEN 'エラー(解消済)'
|
||||
WHEN '6' THEN 'ロット不明'
|
||||
WHEN '7' THEN '除外'
|
||||
WHEN '8' THEN '除外'
|
||||
WHEN 'Z' THEN '除外'
|
||||
END
|
||||
WHEN 1 THEN bio.cnvs_lot_no_1
|
||||
WHEN 2 THEN bio.cnvs_lot_no_2
|
||||
WHEN 3 THEN bio.cnvs_lot_no_3
|
||||
END AS cnvs_lot_no,
|
||||
bio.load_dt AS load_dt,
|
||||
bio.cnvs_deal_div_cd AS cnvs_deal_div_cd,
|
||||
bio.cls_deal_div_nm AS cls_deal_div_nm,
|
||||
bio.cnvs_depo_cd
|
||||
bio.cls_depo_nm AS cls_depo_nm,
|
||||
bio.cnvs_whlslr_cd AS cnvs_whlslr_cd,
|
||||
bio.cls_whlslr_nm AS cls_whlslr_nm,
|
||||
bio.cls_prod_nm AS cls_prod_nm,
|
||||
bio.cnvs_prod_cd AS nvs_prod_cd,
|
||||
bio.cnvs_lot_sales_qty_1 AS cnvs_lot_sales_qty_1,
|
||||
bio.cnvs_inst_cd AS cnvs_inst_cd,
|
||||
bio.cls_inst_nm AS cls_inst_nm,
|
||||
CASE LEFT(bio.cnvs_inst_cd, 2)
|
||||
WHEN '00' THEN src05.com_inst.inst_addr
|
||||
WHEN '03' THEN src05.com_pharm.inst_addr
|
||||
ELSE src07.mst_inst_merck.addr2_nm_kj
|
||||
END AS inst_addr,
|
||||
CASE LEFT(bio.cnvs_inst_cd, 2)
|
||||
WHEN '00' THEN src05.com_inst.inst_phone_number
|
||||
WHEN '03' THEN src05.com_pharm.inst_phone_number
|
||||
WHEN src07.mst_inst_merck.tel_no
|
||||
END AS inst_tel AS inst_tel,
|
||||
bio.result_cd AS result_cd,
|
||||
bio.src_cd AS src_cd,
|
||||
-- 判定結果CDより値を設定する
|
||||
CASE bio.result_cd
|
||||
WHEN '1:正常' THEN '正常'
|
||||
WHEN '2:卸間転送除外対象データ' THEN '卸間転送除外対象'
|
||||
WHEN 'E:事前想定したエラーが発生したデータ' THEN 'エラー'
|
||||
WHEN 'D:レコード重複エラーが発生したデータ' THEN 'エラー(重複)'
|
||||
WHEN 'Z:想定外のエラーが発生したデータ' THEN 'エラー(想定外)'
|
||||
END AS data_kbn,
|
||||
CASE bio.slip_org_kbn
|
||||
WHEN 'J' THEN 'JD-NET'
|
||||
WHEN 'N' THEN 'NHI'
|
||||
WHEN 'H' THEN '手入力'
|
||||
END AS data_kind,
|
||||
CASE conv.conv_cd
|
||||
WHEN 1 THEN
|
||||
CASE bio.err_flg11
|
||||
WHEN '0' THEN '正常'
|
||||
WHEN '1' THEN 'ロットエラー'
|
||||
WHEN '2' THEN '日付エラー'
|
||||
WHEN '3' THEN 'ロットエラー(解消済)'
|
||||
WHEN '4' THEN 'ロットエラー(調査不能)'
|
||||
WHEN '5' THEN '日付エラー(解消済)'
|
||||
WHEN '6' THEN '日付エラー(調査不能)'
|
||||
WHEN '7' THEN '除外(卸都合)'
|
||||
WHEN '8' THEN '除外(再送信)'
|
||||
WHEN 'Z' THEN '過去データ'
|
||||
END
|
||||
WHEN 2 THEN
|
||||
CASE bio.err_flg12
|
||||
WHEN '0' THEN '正常'
|
||||
WHEN '1' THEN 'ロットエラー'
|
||||
WHEN '2' THEN '日付エラー'
|
||||
WHEN '3' THEN 'ロットエラー(解消済)'
|
||||
WHEN '4' THEN 'ロットエラー(調査不能)'
|
||||
WHEN '5' THEN '日付エラー(解消済)'
|
||||
WHEN '6' THEN '日付エラー(調査不能)'
|
||||
WHEN '7' THEN '除外(卸都合)'
|
||||
WHEN '8' THEN '除外(再送信)'
|
||||
WHEN 'Z' THEN '過去データ'
|
||||
END
|
||||
WHEN 3 THEN
|
||||
CASE bio.err_flg13
|
||||
WHEN '0' THEN '正常'
|
||||
WHEN '1' THEN 'ロットエラー'
|
||||
WHEN '2' THEN '日付エラー'
|
||||
WHEN '3' THEN 'ロットエラー(解消済)'
|
||||
WHEN '4' THEN 'ロットエラー(調査不能)'
|
||||
WHEN '5' THEN '日付エラー(解消済)'
|
||||
WHEN '6' THEN '日付エラー(調査不能)'
|
||||
WHEN '7' THEN '除外(卸都合)'
|
||||
WHEN '8' THEN '除外(再送信)'
|
||||
WHEN 'Z' THEN '過去データ'
|
||||
END
|
||||
END AS err_dtl_kind,
|
||||
NULL AS expr_dt
|
||||
-- SRC_種類より値を設定する
|
||||
CASE bio.result_cd
|
||||
WHEN '1:VAN' THEN 'VAN'
|
||||
WHEN '2:手入力' THEN '手入力'
|
||||
WHEN '3:VAN-Web' THEN 'VAN-Web'
|
||||
WHEN 'S:SCSK-VAN' THEN 'SCSK-VAN'
|
||||
END AS if_kind,
|
||||
-- 製品コード、ロット番号でロットマスタよりセット
|
||||
bio.ck_last_dt_txt AS ck_last_dt_txt
|
||||
FROM
|
||||
src05.bio_sales bio
|
||||
src07.trn_result_data_bio bio
|
||||
-- 生物由来変換マスタ
|
||||
CROSS JOIN src07.bio_conv conv
|
||||
WHERE
|
||||
bio.err_flg1 = '0'
|
||||
AND bio.err_flg2 = '0'
|
||||
AND bio.err_flg3 = '0'
|
||||
AND bio.err_flg4 = '0'
|
||||
AND bio.err_flg5 = '0'
|
||||
AND bio.err_flg6 = '0'
|
||||
AND bio.err_flg7 = '0'
|
||||
AND bio.err_flg8 = '0'
|
||||
AND bio.err_flg9 = '0'
|
||||
AND bio.err_flg10 = '0'
|
||||
AND bio.rec_sts_kbn <> '99'
|
||||
AND DATE(bio.dwh_upd_dt) >= src07.get_syor_date()
|
||||
DATE(bio.last_upd_dtt) >= src07.get_syor_date()
|
||||
"""
|
||||
res = db.execute(sql)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user