1573 lines
62 KiB
Python
1573 lines
62 KiB
Python
import textwrap
|
||
|
||
|
||
class VjskReceiveFileMapper:
|
||
"""
|
||
V実消化データファイルI/Fマッピング定義クラス
|
||
"""
|
||
CONDKEY_SLIP_DATA = "SLIP_DATA" # 販売実績データ
|
||
CONDKEY_HLD_MST = "HLD_MST" # V卸ホールディングスマスタ
|
||
CONDKEY_WHS_MST = "WHS_MST" # V卸マスタ
|
||
CONDKEY_MKR_ORG_HORIZON = "MKR_ORG_HORIZON" # Vメーカー卸組織展開表
|
||
CONDKEY_ORG_CNV_MST = "ORG_CNV_MST" # V卸組織変換マスタ
|
||
CONDKEY_TRAN_KBN_MST = "TRAN_KBN_MST" # V取引区分マスタ
|
||
CONDKEY_FCL_MST = "FCL_MST" # V施設マスタ
|
||
CONDKEY_PHM_PRD_MST = "PHM_PRD_MST" # V製品マスタ
|
||
CONDKEY_PHM_PRICE_MST = "PHM_PRICE_MST" # V製品価格マスタ
|
||
CONDKEY_VOP_HCO_MERGE = "VOP_HCO_MERGE" # V施設統合マスタ
|
||
CONDKEY_WHS_CUSTOMER_MST = "WHS_CUSTOMER_MST" # V卸得意先情報マスタ
|
||
CONDKEY_MDB_CONV_MST = "MDB_CONV_MST" # MDBコード変換表
|
||
CONDKEY_STOCK_SLIP_DATA = "STOCK_SLIP_DATA" # 卸在庫データ
|
||
CONDKEY_BIO_SLIP_DATA = "BIO_SLIP_DATA" # 生物由来データ
|
||
CONDKEY_LOT_NUM_MST = "LOT_NUM_MST" # ロットマスタデータ
|
||
|
||
_KEY_DATA_NAME = "data_name"
|
||
_KEY_FILE_PREFIX = "file_prefix"
|
||
_KEY_FILE_SUFFIX = "file_suffix"
|
||
_KEY_FILE_COLUMN_SEPARATORS = "file_column_separators"
|
||
_KEY_ORG_TABLE = "org_table"
|
||
_KEY_SRC_TABLE = "src_table"
|
||
_KEY_UPSERT_SQL = "upsert_sql"
|
||
_VJSK_INTERFACE_MAPPING = {
|
||
# 販売実績データ
|
||
CONDKEY_SLIP_DATA: {
|
||
_KEY_DATA_NAME: "販売実績データ",
|
||
_KEY_FILE_PREFIX: "slip_data_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "82",
|
||
_KEY_ORG_TABLE: "org05.sales",
|
||
_KEY_SRC_TABLE: "src05.sales",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.sales (
|
||
rec_data
|
||
,rec_whs_cd
|
||
,rec_whs_sub_cd
|
||
,rec_whs_org_cd
|
||
,rec_cust_cd
|
||
,rec_comm_cd
|
||
,rec_tran_kbn
|
||
,rev_hsdnymd_wrk
|
||
,rev_hsdnymd_srk
|
||
,rec_urag_num
|
||
,rec_qty
|
||
,rec_nonyu_price
|
||
,rec_nonyu_amt
|
||
,rec_comm_name
|
||
,rec_nonyu_fcl_name
|
||
,free_item
|
||
,rec_nonyu_fcl_addr
|
||
,rec_nonyu_fcl_post
|
||
,rec_nonyu_fcl_tel
|
||
,rec_bef_hsdn_ymd
|
||
,rec_bef_slip_num
|
||
,rec_ymd
|
||
,sale_data_cat
|
||
,slip_file_name
|
||
,slip_mgt_num
|
||
,row_num
|
||
,hsdn_ymd
|
||
,exec_dt
|
||
,v_tran_cd
|
||
,tran_kbn_name
|
||
,whs_org_cd
|
||
,v_whsorg_cd
|
||
,whs_org_name
|
||
,whs_org_kn
|
||
,v_whs_cd
|
||
,whs_name
|
||
,nonyu_fcl_cd
|
||
,v_inst_cd
|
||
,v_inst_kn
|
||
,v_inst_name
|
||
,v_inst_addr
|
||
,comm_cd
|
||
,comm_name
|
||
,nonyu_qty
|
||
,nonyu_price
|
||
,nonyu_amt
|
||
,shikiri_price
|
||
,shikiri_amt
|
||
,nhi_price
|
||
,nhi_amt
|
||
,whspos_err_kbn
|
||
,htdnymd_err_kbn
|
||
,prd_exis_kbn
|
||
,fcl_exis_kbn
|
||
,bef_hsdn_ymd
|
||
,bef_slip_num
|
||
,slip_org_kbn
|
||
,err_flg1
|
||
,err_flg2
|
||
,err_flg3
|
||
,err_flg4
|
||
,err_flg5
|
||
,err_flg6
|
||
,err_flg7
|
||
,err_flg8
|
||
,err_flg9
|
||
,err_flg10
|
||
,err_flg11
|
||
,err_flg12
|
||
,err_flg13
|
||
,err_flg14
|
||
,err_flg15
|
||
,err_flg16
|
||
,err_flg17
|
||
,err_flg18
|
||
,err_flg19
|
||
,err_flg20
|
||
,kjyo_ym
|
||
,tksnbk_kbn
|
||
,fcl_exec_kbn
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,ins_usr
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.rec_data
|
||
,t.rec_whs_cd
|
||
,t.rec_whs_sub_cd
|
||
,t.rec_whs_org_cd
|
||
,t.rec_cust_cd
|
||
,t.rec_comm_cd
|
||
,t.rec_tran_kbn
|
||
,t.rev_hsdnymd_wrk
|
||
,t.rev_hsdnymd_srk
|
||
,t.rec_urag_num
|
||
,t.rec_qty
|
||
,t.rec_nonyu_price
|
||
,t.rec_nonyu_amt
|
||
,t.rec_comm_name
|
||
,t.rec_nonyu_fcl_name
|
||
,t.free_item
|
||
,t.rec_nonyu_fcl_addr
|
||
,t.rec_nonyu_fcl_post
|
||
,t.rec_nonyu_fcl_tel
|
||
,t.rec_bef_hsdn_ymd
|
||
,t.rec_bef_slip_num
|
||
,t.rec_ymd
|
||
,t.sale_data_cat
|
||
,t.slip_file_name
|
||
,t.slip_mgt_num
|
||
,t.row_num
|
||
,t.hsdn_ymd
|
||
,t.exec_dt
|
||
,t.v_tran_cd
|
||
,t.tran_kbn_name
|
||
,t.whs_org_cd
|
||
,t.v_whsorg_cd
|
||
,t.whs_org_name
|
||
,t.whs_org_kn
|
||
,t.v_whs_cd
|
||
,t.whs_name
|
||
,t.nonyu_fcl_cd
|
||
,t.v_inst_cd
|
||
,t.v_inst_kn
|
||
,t.v_inst_name
|
||
,t.v_inst_addr
|
||
,t.comm_cd
|
||
,t.comm_name
|
||
,t.nonyu_qty
|
||
,t.nonyu_price
|
||
,t.nonyu_amt
|
||
,t.shikiri_price
|
||
,t.shikiri_amt
|
||
,t.nhi_price
|
||
,t.nhi_amt
|
||
,t.whspos_err_kbn
|
||
,t.htdnymd_err_kbn
|
||
,t.prd_exis_kbn
|
||
,t.fcl_exis_kbn
|
||
,t.bef_hsdn_ymd
|
||
,t.bef_slip_num
|
||
,t.slip_org_kbn
|
||
,t.err_flg1
|
||
,t.err_flg2
|
||
,t.err_flg3
|
||
,t.err_flg4
|
||
,t.err_flg5
|
||
,t.err_flg6
|
||
,t.err_flg7
|
||
,t.err_flg8
|
||
,t.err_flg9
|
||
,t.err_flg10
|
||
,t.err_flg11
|
||
,t.err_flg12
|
||
,t.err_flg13
|
||
,t.err_flg14
|
||
,t.err_flg15
|
||
,t.err_flg16
|
||
,t.err_flg17
|
||
,t.err_flg18
|
||
,t.err_flg19
|
||
,t.err_flg20
|
||
,t.kjyo_ym
|
||
,t.tksnbk_kbn
|
||
,t.fcl_exec_kbn
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,t.ins_usr
|
||
,SYSDATE()
|
||
FROM org05.sales AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
rec_data=t.rec_data
|
||
,rec_whs_cd=t.rec_whs_cd
|
||
,rec_whs_sub_cd=t.rec_whs_sub_cd
|
||
,rec_whs_org_cd=t.rec_whs_org_cd
|
||
,rec_cust_cd=t.rec_cust_cd
|
||
,rec_comm_cd=t.rec_comm_cd
|
||
,rec_tran_kbn=t.rec_tran_kbn
|
||
,rev_hsdnymd_wrk=t.rev_hsdnymd_wrk
|
||
,rev_hsdnymd_srk=t.rev_hsdnymd_srk
|
||
,rec_urag_num=t.rec_urag_num
|
||
,rec_qty=t.rec_qty
|
||
,rec_nonyu_price=t.rec_nonyu_price
|
||
,rec_nonyu_amt=t.rec_nonyu_amt
|
||
,rec_comm_name=t.rec_comm_name
|
||
,rec_nonyu_fcl_name=t.rec_nonyu_fcl_name
|
||
,free_item=t.free_item
|
||
,rec_nonyu_fcl_addr=t.rec_nonyu_fcl_addr
|
||
,rec_nonyu_fcl_post=t.rec_nonyu_fcl_post
|
||
,rec_nonyu_fcl_tel=t.rec_nonyu_fcl_tel
|
||
,rec_bef_hsdn_ymd=t.rec_bef_hsdn_ymd
|
||
,rec_bef_slip_num=t.rec_bef_slip_num
|
||
,rec_ymd=t.rec_ymd
|
||
,sale_data_cat=t.sale_data_cat
|
||
,slip_file_name=t.slip_file_name
|
||
,slip_mgt_num=t.slip_mgt_num
|
||
,row_num=t.row_num
|
||
,hsdn_ymd=t.hsdn_ymd
|
||
,exec_dt=t.exec_dt
|
||
,v_tran_cd=t.v_tran_cd
|
||
,tran_kbn_name=t.tran_kbn_name
|
||
,whs_org_cd=t.whs_org_cd
|
||
,v_whsorg_cd=t.v_whsorg_cd
|
||
,whs_org_name=t.whs_org_name
|
||
,whs_org_kn=t.whs_org_kn
|
||
,v_whs_cd=t.v_whs_cd
|
||
,whs_name=t.whs_name
|
||
,nonyu_fcl_cd=t.nonyu_fcl_cd
|
||
,v_inst_cd=t.v_inst_cd
|
||
,v_inst_kn=t.v_inst_kn
|
||
,v_inst_name=t.v_inst_name
|
||
,v_inst_addr=t.v_inst_addr
|
||
,comm_cd=t.comm_cd
|
||
,comm_name=t.comm_name
|
||
,nonyu_qty=t.nonyu_qty
|
||
,nonyu_price=t.nonyu_price
|
||
,nonyu_amt=t.nonyu_amt
|
||
,shikiri_price=t.shikiri_price
|
||
,shikiri_amt=t.shikiri_amt
|
||
,nhi_price=t.nhi_price
|
||
,nhi_amt=t.nhi_amt
|
||
,whspos_err_kbn=t.whspos_err_kbn
|
||
,htdnymd_err_kbn=t.htdnymd_err_kbn
|
||
,prd_exis_kbn=t.prd_exis_kbn
|
||
,fcl_exis_kbn=t.fcl_exis_kbn
|
||
,bef_hsdn_ymd=t.bef_hsdn_ymd
|
||
,bef_slip_num=t.bef_slip_num
|
||
,slip_org_kbn=t.slip_org_kbn
|
||
,err_flg1=t.err_flg1
|
||
,err_flg2=t.err_flg2
|
||
,err_flg3=t.err_flg3
|
||
,err_flg4=t.err_flg4
|
||
,err_flg5=t.err_flg5
|
||
,err_flg6=t.err_flg6
|
||
,err_flg7=t.err_flg7
|
||
,err_flg8=t.err_flg8
|
||
,err_flg9=t.err_flg9
|
||
,err_flg10=t.err_flg10
|
||
,err_flg11=t.err_flg11
|
||
,err_flg12=t.err_flg12
|
||
,err_flg13=t.err_flg13
|
||
,err_flg14=t.err_flg14
|
||
,err_flg15=t.err_flg15
|
||
,err_flg16=t.err_flg16
|
||
,err_flg17=t.err_flg17
|
||
,err_flg18=t.err_flg18
|
||
,err_flg19=t.err_flg19
|
||
,err_flg20=t.err_flg20
|
||
,kjyo_ym=t.kjyo_ym
|
||
,tksnbk_kbn=t.tksnbk_kbn
|
||
,fcl_exec_kbn=t.fcl_exec_kbn
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,ins_usr=t.ins_usr
|
||
,dwh_upd_dT=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V卸ホールディングスマスタ
|
||
CONDKEY_HLD_MST: {
|
||
_KEY_DATA_NAME: "V卸ホールディングスマスタ",
|
||
_KEY_FILE_PREFIX: "hld_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "10",
|
||
_KEY_ORG_TABLE: "org05.hld_mst_v",
|
||
_KEY_SRC_TABLE: "src05.hld_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.hld_mst_v (
|
||
v_hld_cd
|
||
,sub_num
|
||
,name
|
||
,kn_name
|
||
,abb_name
|
||
,start_date
|
||
,end_date
|
||
,dsp_odr
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.v_hld_cd
|
||
,t.sub_num
|
||
,t.name
|
||
,t.kn_name
|
||
,t.abb_name
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.dsp_odr
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.hld_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
v_hld_cd=t.v_hld_cd
|
||
,sub_num=t.sub_num
|
||
,name=t.name
|
||
,kn_name=t.kn_name
|
||
,abb_name=t.abb_name
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,dsp_odr=t.dsp_odr
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V卸マスタ
|
||
CONDKEY_WHS_MST: {
|
||
_KEY_DATA_NAME: "V卸マスタ",
|
||
_KEY_FILE_PREFIX: "whs_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "15",
|
||
_KEY_ORG_TABLE: "org05.whs_mst_v",
|
||
_KEY_SRC_TABLE: "src05.whs_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.whs_mst_v (
|
||
v_whs_cd
|
||
,sub_num
|
||
,name
|
||
,kn_name
|
||
,abb_name
|
||
,postal_cd
|
||
,addr
|
||
,kn_addr
|
||
,tel_num
|
||
,v_hld_cd
|
||
,start_date
|
||
,end_date
|
||
,dsp_odr
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.v_whs_cd
|
||
,t.sub_num
|
||
,t.name
|
||
,t.kn_name
|
||
,t.abb_name
|
||
,t.postal_cd
|
||
,t.addr
|
||
,t.kn_addr
|
||
,t.tel_num
|
||
,t.v_hld_cd
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.dsp_odr
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.whs_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
v_whs_cd=t.v_whs_cd
|
||
,sub_num=t.sub_num
|
||
,name=t.name
|
||
,kn_name=t.kn_name
|
||
,abb_name=t.abb_name
|
||
,postal_cd=t.postal_cd
|
||
,addr=t.addr
|
||
,kn_addr=t.kn_addr
|
||
,tel_num=t.tel_num
|
||
,v_hld_cd=t.v_hld_cd
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,dsp_odr=t.dsp_odr
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# Vメーカー卸組織展開表
|
||
CONDKEY_MKR_ORG_HORIZON: {
|
||
_KEY_DATA_NAME: "Vメーカー卸組織展開表",
|
||
_KEY_FILE_PREFIX: "mkr_org_horizon_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "45",
|
||
_KEY_ORG_TABLE: "org05.mkr_org_horizon_v",
|
||
_KEY_SRC_TABLE: "src05.mkr_org_horizon_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.mkr_org_horizon_v (
|
||
vid_kind_1
|
||
,v_cd_1
|
||
,name_1
|
||
,dsp_odr_1
|
||
,vid_kind_2
|
||
,v_cd_2
|
||
,name_2
|
||
,dsp_odr_2
|
||
,vid_kind_3
|
||
,v_cd_3
|
||
,name_3
|
||
,dsp_odr_3
|
||
,vid_kind_4
|
||
,v_cd_4
|
||
,name_4
|
||
,dsp_odr_4
|
||
,vid_kind_5
|
||
,v_cd_5
|
||
,name_5
|
||
,dsp_odr_5
|
||
,vid_kind_6
|
||
,v_cd_6
|
||
,name_6
|
||
,dsp_odr_6
|
||
,vid_kind_7
|
||
,v_cd_7
|
||
,name_7
|
||
,dsp_odr_7
|
||
,vid_kind_8
|
||
,v_cd_8
|
||
,name_8
|
||
,dsp_odr_8
|
||
,vid_kind_9
|
||
,v_cd_9
|
||
,name_9
|
||
,dsp_odr_9
|
||
,vid_kind_10
|
||
,v_cd_10
|
||
,name_10
|
||
,dsp_odr_10
|
||
,v_whs_cd
|
||
,start_date
|
||
,end_date
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.vid_kind_1
|
||
,t.v_cd_1
|
||
,t.name_1
|
||
,t.dsp_odr_1
|
||
,t.vid_kind_2
|
||
,t.v_cd_2
|
||
,t.name_2
|
||
,t.dsp_odr_2
|
||
,t.vid_kind_3
|
||
,t.v_cd_3
|
||
,t.name_3
|
||
,t.dsp_odr_3
|
||
,t.vid_kind_4
|
||
,t.v_cd_4
|
||
,t.name_4
|
||
,t.dsp_odr_4
|
||
,t.vid_kind_5
|
||
,t.v_cd_5
|
||
,t.name_5
|
||
,t.dsp_odr_5
|
||
,t.vid_kind_6
|
||
,t.v_cd_6
|
||
,t.name_6
|
||
,t.dsp_odr_6
|
||
,t.vid_kind_7
|
||
,t.v_cd_7
|
||
,t.name_7
|
||
,t.dsp_odr_7
|
||
,t.vid_kind_8
|
||
,t.v_cd_8
|
||
,t.name_8
|
||
,t.dsp_odr_8
|
||
,t.vid_kind_9
|
||
,t.v_cd_9
|
||
,t.name_9
|
||
,t.dsp_odr_9
|
||
,t.vid_kind_10
|
||
,t.v_cd_10
|
||
,t.name_10
|
||
,t.dsp_odr_10
|
||
,t.v_whs_cd
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.mkr_org_horizon_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
vid_kind_1=t.vid_kind_1
|
||
,v_cd_1=t.v_cd_1
|
||
,name_1=t.name_1
|
||
,dsp_odr_1=t.dsp_odr_1
|
||
,vid_kind_2=t.vid_kind_2
|
||
,v_cd_2=t.v_cd_2
|
||
,name_2=t.name_2
|
||
,dsp_odr_2=t.dsp_odr_2
|
||
,vid_kind_3=t.vid_kind_3
|
||
,v_cd_3=t.v_cd_3
|
||
,name_3=t.name_3
|
||
,dsp_odr_3=t.dsp_odr_3
|
||
,vid_kind_4=t.vid_kind_4
|
||
,v_cd_4=t.v_cd_4
|
||
,name_4=t.name_4
|
||
,dsp_odr_4=t.dsp_odr_4
|
||
,vid_kind_5=t.vid_kind_5
|
||
,v_cd_5=t.v_cd_5
|
||
,name_5=t.name_5
|
||
,dsp_odr_5=t.dsp_odr_5
|
||
,vid_kind_6=t.vid_kind_6
|
||
,v_cd_6=t.v_cd_6
|
||
,name_6=t.name_6
|
||
,dsp_odr_6=t.dsp_odr_6
|
||
,vid_kind_7=t.vid_kind_7
|
||
,v_cd_7=t.v_cd_7
|
||
,name_7=t.name_7
|
||
,dsp_odr_7=t.dsp_odr_7
|
||
,vid_kind_8=t.vid_kind_8
|
||
,v_cd_8=t.v_cd_8
|
||
,name_8=t.name_8
|
||
,dsp_odr_8=t.dsp_odr_8
|
||
,vid_kind_9=t.vid_kind_9
|
||
,v_cd_9=t.v_cd_9
|
||
,name_9=t.name_9
|
||
,dsp_odr_9=t.dsp_odr_9
|
||
,vid_kind_10=t.vid_kind_10
|
||
,v_cd_10=t.v_cd_10
|
||
,name_10=t.name_10
|
||
,dsp_odr_10=t.dsp_odr_10
|
||
,v_whs_cd=t.v_whs_cd
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V卸組織変換マスタ
|
||
CONDKEY_ORG_CNV_MST: {
|
||
_KEY_DATA_NAME: "V卸組織変換マスタ",
|
||
_KEY_FILE_PREFIX: "org_cnv_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "10",
|
||
_KEY_ORG_TABLE: "org05.org_cnv_mst_v",
|
||
_KEY_SRC_TABLE: "src05.org_cnv_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.org_cnv_mst_v (
|
||
whs_cd
|
||
,whs_sub_cd
|
||
,org_cd
|
||
,sub_num
|
||
,v_org_cd
|
||
,start_date
|
||
,end_date
|
||
,dsp_odr
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.whs_cd
|
||
,t.whs_sub_cd
|
||
,t.org_cd
|
||
,t.sub_num
|
||
,t.v_org_cd
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.dsp_odr
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.org_cnv_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
whs_cd=t.whs_cd
|
||
,whs_sub_cd=t.whs_sub_cd
|
||
,org_cd=t.org_cd
|
||
,sub_num=t.sub_num
|
||
,v_org_cd=t.v_org_cd
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,dsp_odr=t.dsp_odr
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V取引区分マスタ
|
||
CONDKEY_TRAN_KBN_MST: {
|
||
_KEY_DATA_NAME: "V取引区分マスタ",
|
||
_KEY_FILE_PREFIX: "tran_kbn_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "8",
|
||
_KEY_ORG_TABLE: "org05.tran_kbn_mst_v",
|
||
_KEY_SRC_TABLE: "src05.tran_kbn_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.tran_kbn_mst_v (
|
||
v_tran_cd
|
||
,sub_num
|
||
,name
|
||
,start_date
|
||
,end_date
|
||
,dsp_odr
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.v_tran_cd
|
||
,t.sub_num
|
||
,t.name
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.dsp_odr
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.tran_kbn_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
v_tran_cd=t.v_tran_cd
|
||
,sub_num=t.sub_num
|
||
,name=t.name
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,dsp_odr=t.dsp_odr
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V施設マスタ
|
||
CONDKEY_FCL_MST: {
|
||
_KEY_DATA_NAME: "V施設マスタ",
|
||
_KEY_FILE_PREFIX: "fcl_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "23",
|
||
_KEY_ORG_TABLE: "org05.fcl_mst_v",
|
||
_KEY_SRC_TABLE: "src05.fcl_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.fcl_mst_v (
|
||
v_inst_cd
|
||
,sub_num
|
||
,start_date
|
||
,end_date
|
||
,closed_dt
|
||
,fcl_name
|
||
,fcl_kn_name
|
||
,fcl_abb_name
|
||
,fcl_abb_kn_name
|
||
,mkr_cd
|
||
,jsk_proc_kbn
|
||
,fmt_addr
|
||
,fmt_kn_addr
|
||
,postal_cd
|
||
,prft_cd
|
||
,prft_name
|
||
,city_name
|
||
,addr_line_1
|
||
,tel_num
|
||
,admin_kbn
|
||
,fcl_type
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.v_inst_cd
|
||
,t.sub_num
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.closed_dt
|
||
,t.fcl_name
|
||
,t.fcl_kn_name
|
||
,t.fcl_abb_name
|
||
,t.fcl_abb_kn_name
|
||
,t.mkr_cd
|
||
,t.jsk_proc_kbn
|
||
,t.fmt_addr
|
||
,t.fmt_kn_addr
|
||
,t.postal_cd
|
||
,t.prft_cd
|
||
,t.prft_name
|
||
,t.city_name
|
||
,t.addr_line_1
|
||
,t.tel_num
|
||
,t.admin_kbn
|
||
,t.fcl_type
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.fcl_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
v_inst_cd=t.v_inst_cd
|
||
,sub_num=t.sub_num
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,closed_dt=t.closed_dt
|
||
,fcl_name=t.fcl_name
|
||
,fcl_kn_name=t.fcl_kn_name
|
||
,fcl_abb_name=t.fcl_abb_name
|
||
,fcl_abb_kn_name=t.fcl_abb_kn_name
|
||
,mkr_cd=t.mkr_cd
|
||
,jsk_proc_kbn=t.jsk_proc_kbn
|
||
,fmt_addr=t.fmt_addr
|
||
,fmt_kn_addr=t.fmt_kn_addr
|
||
,postal_cd=t.postal_cd
|
||
,prft_cd=t.prft_cd
|
||
,prft_name=t.prft_name
|
||
,city_name=t.city_name
|
||
,addr_line_1=t.addr_line_1
|
||
,tel_num=t.tel_num
|
||
,admin_kbn=t.admin_kbn
|
||
,fcl_type=t.fcl_type
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V製品マスタ
|
||
CONDKEY_PHM_PRD_MST: {
|
||
_KEY_DATA_NAME: "V製品マスタ",
|
||
_KEY_FILE_PREFIX: "phm_prd_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "27",
|
||
_KEY_ORG_TABLE: "org05.phm_prd_mst_v",
|
||
_KEY_SRC_TABLE: "src05.phm_prd_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.phm_prd_mst_v (
|
||
prd_cd
|
||
,sub_num
|
||
,prd_name
|
||
,prd_e_name
|
||
,mkr_cd
|
||
,mkr_inf_1
|
||
,mkr_inf_2
|
||
,phm_itm_cd
|
||
,itm_name
|
||
,itm_abb_name
|
||
,form_cd
|
||
,form_name
|
||
,vol_cd
|
||
,vol_name
|
||
,cont_cd
|
||
,cont_name
|
||
,pkg_cd
|
||
,pkg_name
|
||
,cnv_num
|
||
,jsk_start_dt
|
||
,prd_sale_kbn
|
||
,jsk_proc_kbn
|
||
,start_date
|
||
,end_date
|
||
,dsp_odr
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.prd_cd
|
||
,t.sub_num
|
||
,t.prd_name
|
||
,t.prd_e_name
|
||
,t.mkr_cd
|
||
,t.mkr_inf_1
|
||
,t.mkr_inf_2
|
||
,t.phm_itm_cd
|
||
,t.itm_name
|
||
,t.itm_abb_name
|
||
,t.form_cd
|
||
,t.form_name
|
||
,t.vol_cd
|
||
,t.vol_name
|
||
,t.cont_cd
|
||
,t.cont_name
|
||
,t.pkg_cd
|
||
,t.pkg_name
|
||
,t.cnv_num
|
||
,nullif(t.jsk_start_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,t.prd_sale_kbn
|
||
,t.jsk_proc_kbn
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.dsp_odr
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.phm_prd_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
prd_cd=t.prd_cd
|
||
,sub_num=t.sub_num
|
||
,prd_name=t.prd_name
|
||
,prd_e_name=t.prd_e_name
|
||
,mkr_cd=t.mkr_cd
|
||
,mkr_inf_1=t.mkr_inf_1
|
||
,mkr_inf_2=t.mkr_inf_2
|
||
,phm_itm_cd=t.phm_itm_cd
|
||
,itm_name=t.itm_name
|
||
,itm_abb_name=t.itm_abb_name
|
||
,form_cd=t.form_cd
|
||
,form_name=t.form_name
|
||
,vol_cd=t.vol_cd
|
||
,vol_name=t.vol_name
|
||
,cont_cd=t.cont_cd
|
||
,cont_name=t.cont_name
|
||
,pkg_cd=t.pkg_cd
|
||
,pkg_name=t.pkg_name
|
||
,cnv_num=t.cnv_num
|
||
,jsk_start_dt=nullif(t.jsk_start_dt, 0)
|
||
,prd_sale_kbn=t.prd_sale_kbn
|
||
,jsk_proc_kbn=t.jsk_proc_kbn
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,dsp_odr=t.dsp_odr
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V製品価格マスタ
|
||
CONDKEY_PHM_PRICE_MST: {
|
||
_KEY_DATA_NAME: "V製品価格マスタ",
|
||
_KEY_FILE_PREFIX: "phm_price_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "9",
|
||
_KEY_ORG_TABLE: "org05.phm_price_mst_v",
|
||
_KEY_SRC_TABLE: "src05.phm_price_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.phm_price_mst_v (
|
||
phm_prd_cd
|
||
,phm_price_kind
|
||
,sub_num
|
||
,price
|
||
,start_date
|
||
,end_date
|
||
,dsp_odr
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.phm_prd_cd
|
||
,t.phm_price_kind
|
||
,t.sub_num
|
||
,t.price
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.dsp_odr
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.phm_price_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
phm_prd_cd=t.phm_prd_cd
|
||
,phm_price_kind=t.phm_price_kind
|
||
,sub_num=t.sub_num
|
||
,price=t.price
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,dsp_odr=t.dsp_odr
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V施設統合マスタ
|
||
CONDKEY_VOP_HCO_MERGE: {
|
||
_KEY_DATA_NAME: "V施設統合マスタ",
|
||
_KEY_FILE_PREFIX: "vop_hco_merge_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "3",
|
||
_KEY_ORG_TABLE: "org05.vop_hco_merge_v",
|
||
_KEY_SRC_TABLE: "src05.vop_hco_merge_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.vop_hco_merge_v (
|
||
v_inst_cd
|
||
,v_inst_cd_merg
|
||
,apply_dt
|
||
,merge_reason
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.v_inst_cd
|
||
,t.v_inst_cd_merg
|
||
,t.apply_dt
|
||
,t.merge_reason
|
||
,SYSDATE()
|
||
FROM org05.vop_hco_merge_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
v_inst_cd=t.v_inst_cd
|
||
,v_inst_cd_merg=t.v_inst_cd_merg
|
||
,apply_dt=t.apply_dt
|
||
,merge_reason=t.merge_reason
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# V卸得意先情報マスタ
|
||
CONDKEY_WHS_CUSTOMER_MST: {
|
||
_KEY_DATA_NAME: "V卸得意先情報マスタ",
|
||
_KEY_FILE_PREFIX: "whs_customer_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "16",
|
||
_KEY_ORG_TABLE: "org05.whs_customer_mst_v",
|
||
_KEY_SRC_TABLE: "src05.whs_customer_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.whs_customer_mst_v (
|
||
whs_cd
|
||
,whs_sub_cd
|
||
,customer_cd
|
||
,sub_num
|
||
,start_date
|
||
,end_date
|
||
,whs_org_cd
|
||
,src_org_cd
|
||
,name
|
||
,kn_name
|
||
,addr
|
||
,kn_addr
|
||
,postal_cd
|
||
,tel_num
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.whs_cd
|
||
,t.whs_sub_cd
|
||
,t.customer_cd
|
||
,t.sub_num
|
||
,t.start_date
|
||
,t.end_date
|
||
,t.whs_org_cd
|
||
,t.src_org_cd
|
||
,t.name
|
||
,t.kn_name
|
||
,t.addr
|
||
,t.kn_addr
|
||
,t.postal_cd
|
||
,t.tel_num
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.whs_customer_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
whs_cd=t.whs_cd
|
||
,whs_sub_cd=t.whs_sub_cd
|
||
,customer_cd=t.customer_cd
|
||
,sub_num=t.sub_num
|
||
,start_date=t.start_date
|
||
,end_date=t.end_date
|
||
,whs_org_cd=t.whs_org_cd
|
||
,src_org_cd=t.src_org_cd
|
||
,name=t.name
|
||
,kn_name=t.kn_name
|
||
,addr=t.addr
|
||
,kn_addr=t.kn_addr
|
||
,postal_cd=t.postal_cd
|
||
,tel_num=t.tel_num
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# MDBコード変換表
|
||
CONDKEY_MDB_CONV_MST: {
|
||
_KEY_DATA_NAME: "MDBコード変換表",
|
||
_KEY_FILE_PREFIX: "mdb_conv_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "7",
|
||
_KEY_ORG_TABLE: "org05.mdb_cnv_mst_v",
|
||
_KEY_SRC_TABLE: "src05.mdb_cnv_mst_v",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.mdb_cnv_mst_v (
|
||
hco_vid_v
|
||
,sub_num
|
||
,mdb_cd
|
||
,reliability
|
||
,start_date
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,upd_dt
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.hco_vid_v
|
||
,t.sub_num
|
||
,t.mdb_cd
|
||
,t.reliability
|
||
,t.start_date
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,nullif(t.upd_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,SYSDATE()
|
||
FROM org05.mdb_cnv_mst_v AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
hco_vid_v=t.hco_vid_v
|
||
,sub_num=t.sub_num
|
||
,mdb_cd=t.mdb_cd
|
||
,reliability=t.reliability
|
||
,start_date=t.start_date
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,upd_dt=nullif(t.upd_dt, 0)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# 卸在庫データ
|
||
CONDKEY_STOCK_SLIP_DATA: {
|
||
_KEY_DATA_NAME: "卸在庫データ",
|
||
_KEY_FILE_PREFIX: "stock_slip_data_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "28",
|
||
_KEY_ORG_TABLE: "org05.whole_stock",
|
||
_KEY_SRC_TABLE: "src05.whole_stock",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.whole_stock (
|
||
rec_data
|
||
,rec_whs_cd
|
||
,rec_whs_sub_cd
|
||
,rec_sto_place
|
||
,rec_stock_ymd
|
||
,rec_comm_cd
|
||
,rec_qty
|
||
,rec_stock_no_sign
|
||
,rec_jan_cd
|
||
,free_item
|
||
,rec_ymd
|
||
,sale_data_cat
|
||
,slip_file_name
|
||
,slip_mgt_num
|
||
,row_num
|
||
,exec_dt
|
||
,err_flg1
|
||
,err_flg2
|
||
,err_flg3
|
||
,err_flg4
|
||
,err_flg5
|
||
,err_flg6
|
||
,err_flg7
|
||
,err_flg8
|
||
,err_flg9
|
||
,err_flg10
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,ins_usr
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.rec_data
|
||
,t.rec_whs_cd
|
||
,t.rec_whs_sub_cd
|
||
,t.rec_sto_place
|
||
,t.rec_stock_ymd
|
||
,t.rec_comm_cd
|
||
,t.rec_qty
|
||
,t.rec_stock_no_sign
|
||
,t.rec_jan_cd
|
||
,t.free_item
|
||
,t.rec_ymd
|
||
,t.sale_data_cat
|
||
,t.slip_file_name
|
||
,t.slip_mgt_num
|
||
,t.row_num
|
||
,t.exec_dt
|
||
,t.err_flg1
|
||
,t.err_flg2
|
||
,t.err_flg3
|
||
,t.err_flg4
|
||
,t.err_flg5
|
||
,t.err_flg6
|
||
,t.err_flg7
|
||
,t.err_flg8
|
||
,t.err_flg9
|
||
,t.err_flg10
|
||
,t.rec_sts_kbn
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,t.ins_usr
|
||
,SYSDATE()
|
||
FROM org05.whole_stock AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
rec_data=t.rec_data
|
||
,rec_whs_cd=t.rec_whs_cd
|
||
,rec_whs_sub_cd=t.rec_whs_sub_cd
|
||
,rec_sto_place=t.rec_sto_place
|
||
,rec_stock_ymd=t.rec_stock_ymd
|
||
,rec_comm_cd=t.rec_comm_cd
|
||
,rec_qty=t.rec_qty
|
||
,rec_stock_no_sign=t.rec_stock_no_sign
|
||
,rec_jan_cd=t.rec_jan_cd
|
||
,free_item=t.free_item
|
||
,rec_ymd=t.rec_ymd
|
||
,sale_data_cat=t.sale_data_cat
|
||
,slip_file_name=t.slip_file_name
|
||
,slip_mgt_num=t.slip_mgt_num
|
||
,row_num=t.row_num
|
||
,exec_dt=t.exec_dt
|
||
,err_flg1=t.err_flg1
|
||
,err_flg2=t.err_flg2
|
||
,err_flg3=t.err_flg3
|
||
,err_flg4=t.err_flg4
|
||
,err_flg5=t.err_flg5
|
||
,err_flg6=t.err_flg6
|
||
,err_flg7=t.err_flg7
|
||
,err_flg8=t.err_flg8
|
||
,err_flg9=t.err_flg9
|
||
,err_flg10=t.err_flg10
|
||
,rec_sts_kbn=t.rec_sts_kbn
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,ins_usr=t.ins_usr
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# 生物由来データ
|
||
CONDKEY_BIO_SLIP_DATA: {
|
||
_KEY_DATA_NAME: "生物由来データ",
|
||
_KEY_FILE_PREFIX: "bio_slip_data_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "77",
|
||
_KEY_ORG_TABLE: "org05.bio_sales",
|
||
_KEY_SRC_TABLE: "src05.bio_sales",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.bio_sales (
|
||
rec_data
|
||
,rec_whs_cd
|
||
,rec_whs_sub_cd
|
||
,rec_whs_org_cd
|
||
,rec_cust_cd
|
||
,rec_comm_cd
|
||
,rec_tran_kbn
|
||
,rev_hsdnymd_wrk
|
||
,rev_hsdnymd_srk
|
||
,rec_urag_num
|
||
,rec_comm_name
|
||
,rec_nonyu_fcl_name
|
||
,rec_nonyu_fcl_addr
|
||
,rec_lot_num1
|
||
,rec_qty1
|
||
,rec_lot_num2
|
||
,rec_qty2
|
||
,rec_lot_num3
|
||
,rec_qty3
|
||
,rec_ymd
|
||
,sale_data_cat
|
||
,slip_file_name
|
||
,slip_mgt_num
|
||
,row_num
|
||
,hsdn_ymd
|
||
,exec_dt
|
||
,v_tran_cd
|
||
,tran_kbn_name
|
||
,whs_org_cd
|
||
,v_whsorg_cd
|
||
,whs_org_name
|
||
,whs_org_kn
|
||
,v_whs_cd
|
||
,whs_name
|
||
,nonyu_fcl_cd
|
||
,v_inst_cd
|
||
,v_inst_name
|
||
,v_inst_kn
|
||
,v_inst_addr
|
||
,comm_cd
|
||
,product_name
|
||
,htdnymd_err_kbn
|
||
,prd_exis_kbn
|
||
,fcl_exis_kbn
|
||
,qty1
|
||
,qty2
|
||
,qty3
|
||
,slip_org_kbn
|
||
,bef_slip_mgt_num
|
||
,whs_rep_comm_name
|
||
,whs_rep_nonyu_fcl_name
|
||
,whs_rep_nonyu_fcl_addr
|
||
,err_flg1
|
||
,err_flg2
|
||
,err_flg3
|
||
,err_flg4
|
||
,err_flg5
|
||
,err_flg6
|
||
,err_flg7
|
||
,err_flg8
|
||
,err_flg9
|
||
,err_flg10
|
||
,err_flg11
|
||
,err_flg12
|
||
,err_flg13
|
||
,err_flg14
|
||
,err_flg15
|
||
,err_flg16
|
||
,err_flg17
|
||
,err_flg18
|
||
,err_flg19
|
||
,err_flg20
|
||
,kjyo_ym
|
||
,tksnbk_kbn
|
||
,fcl_exec_kbn
|
||
,rec_sts_kbn
|
||
,ins_dt
|
||
,ins_usr
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
src05.convert_empty_to_null(t.rec_data)
|
||
,src05.convert_empty_to_null(t.rec_whs_cd)
|
||
,src05.convert_empty_to_null(t.rec_whs_sub_cd)
|
||
,src05.convert_empty_to_null(t.rec_whs_org_cd)
|
||
,src05.convert_empty_to_null(t.rec_cust_cd)
|
||
,src05.convert_empty_to_null(t.rec_comm_cd)
|
||
,src05.convert_empty_to_null(t.rec_tran_kbn)
|
||
,src05.convert_empty_to_null(t.rev_hsdnymd_wrk)
|
||
,src05.convert_empty_to_null(t.rev_hsdnymd_srk)
|
||
,src05.convert_empty_to_null(t.rec_urag_num)
|
||
,src05.convert_empty_to_null(t.rec_comm_name)
|
||
,src05.convert_empty_to_null(t.rec_nonyu_fcl_name)
|
||
,src05.convert_empty_to_null(t.rec_nonyu_fcl_addr)
|
||
,src05.convert_empty_to_null(t.rec_lot_num1)
|
||
,src05.convert_empty_to_null(t.rec_qty1)
|
||
,src05.convert_empty_to_null(t.rec_lot_num2)
|
||
,src05.convert_empty_to_null(t.rec_qty2)
|
||
,src05.convert_empty_to_null(t.rec_lot_num3)
|
||
,src05.convert_empty_to_null(t.rec_qty3)
|
||
,src05.convert_empty_to_null(t.rec_ymd)
|
||
,src05.convert_empty_to_null(t.sale_data_cat)
|
||
,src05.convert_empty_to_null(t.slip_file_name)
|
||
,src05.convert_empty_to_null(t.slip_mgt_num)
|
||
,t.row_num
|
||
,src05.convert_empty_to_null(t.hsdn_ymd)
|
||
,src05.convert_empty_to_null(t.exec_dt)
|
||
,t.v_tran_cd
|
||
,src05.convert_empty_to_null(t.tran_kbn_name)
|
||
,src05.convert_empty_to_null(t.whs_org_cd)
|
||
,t.v_whsorg_cd
|
||
,src05.convert_empty_to_null(t.whs_org_name)
|
||
,src05.convert_empty_to_null(t.whs_org_kn)
|
||
,t.v_whs_cd
|
||
,src05.convert_empty_to_null(t.whs_name)
|
||
,src05.convert_empty_to_null(t.nonyu_fcl_cd)
|
||
,nullif(t.v_inst_cd,'')
|
||
,nullif(t.v_inst_name,'')
|
||
,nullif(t.v_inst_kn,'')
|
||
,nullif(t.v_inst_addr,'')
|
||
,nullif(t.comm_cd,'')
|
||
,nullif(t.product_name,'')
|
||
,nullif(t.htdnymd_err_kbn,'')
|
||
,nullif(t.prd_exis_kbn,'')
|
||
,nullif(t.fcl_exis_kbn,'')
|
||
,t.qty1
|
||
,t.qty2
|
||
,t.qty3
|
||
,t.slip_org_kbn
|
||
,src05.convert_empty_to_null(t.bef_slip_mgt_num)
|
||
,src05.convert_empty_to_null(t.whs_rep_comm_name)
|
||
,src05.convert_empty_to_null(t.whs_rep_nonyu_fcl_name)
|
||
,src05.convert_empty_to_null(t.whs_rep_nonyu_fcl_addr)
|
||
,src05.convert_empty_to_null(t.err_flg1)
|
||
,src05.convert_empty_to_null(t.err_flg2)
|
||
,src05.convert_empty_to_null(t.err_flg3)
|
||
,src05.convert_empty_to_null(t.err_flg4)
|
||
,src05.convert_empty_to_null(t.err_flg5)
|
||
,src05.convert_empty_to_null(t.err_flg6)
|
||
,src05.convert_empty_to_null(t.err_flg7)
|
||
,src05.convert_empty_to_null(t.err_flg8)
|
||
,src05.convert_empty_to_null(t.err_flg9)
|
||
,src05.convert_empty_to_null(t.err_flg10)
|
||
,src05.convert_empty_to_null(t.err_flg11)
|
||
,src05.convert_empty_to_null(t.err_flg12)
|
||
,src05.convert_empty_to_null(t.err_flg13)
|
||
,src05.convert_empty_to_null(t.err_flg14)
|
||
,src05.convert_empty_to_null(t.err_flg15)
|
||
,src05.convert_empty_to_null(t.err_flg16)
|
||
,src05.convert_empty_to_null(t.err_flg17)
|
||
,src05.convert_empty_to_null(t.err_flg18)
|
||
,src05.convert_empty_to_null(t.err_flg19)
|
||
,src05.convert_empty_to_null(t.err_flg20)
|
||
,src05.convert_empty_to_null(t.kjyo_ym)
|
||
,src05.convert_empty_to_null(t.tksnbk_kbn)
|
||
,src05.convert_empty_to_null(t.fcl_exec_kbn)
|
||
,src05.convert_empty_to_null(t.rec_sts_kbn)
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,src05.convert_empty_to_null(t.ins_usr)
|
||
,SYSDATE()
|
||
FROM org05.bio_sales AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
rec_data=VALUES(rec_data)
|
||
,rec_whs_cd=VALUES(rec_whs_cd)
|
||
,rec_whs_sub_cd=VALUES(rec_whs_sub_cd)
|
||
,rec_whs_org_cd=VALUES(rec_whs_org_cd)
|
||
,rec_cust_cd=VALUES(rec_cust_cd)
|
||
,rec_comm_cd=VALUES(rec_comm_cd)
|
||
,rec_tran_kbn=VALUES(rec_tran_kbn)
|
||
,rev_hsdnymd_wrk=VALUES(rev_hsdnymd_wrk)
|
||
,rev_hsdnymd_srk=VALUES(rev_hsdnymd_srk)
|
||
,rec_urag_num=VALUES(rec_urag_num)
|
||
,rec_comm_name=VALUES(rec_comm_name)
|
||
,rec_nonyu_fcl_name=VALUES(rec_nonyu_fcl_name)
|
||
,rec_nonyu_fcl_addr=VALUES(rec_nonyu_fcl_addr)
|
||
,rec_lot_num1=VALUES(rec_lot_num1)
|
||
,rec_qty1=VALUES(rec_qty1)
|
||
,rec_lot_num2=VALUES(rec_lot_num2)
|
||
,rec_qty2=VALUES(rec_qty2)
|
||
,rec_lot_num3=VALUES(rec_lot_num3)
|
||
,rec_qty3=VALUES(rec_qty3)
|
||
,rec_ymd=VALUES(rec_ymd)
|
||
,sale_data_cat=VALUES(sale_data_cat)
|
||
,slip_file_name=VALUES(slip_file_name)
|
||
,slip_mgt_num=VALUES(slip_mgt_num)
|
||
,row_num=VALUES(row_num)
|
||
,hsdn_ymd=VALUES(hsdn_ymd)
|
||
,exec_dt=VALUES(exec_dt)
|
||
,v_tran_cd=VALUES(v_tran_cd)
|
||
,tran_kbn_name=VALUES(tran_kbn_name)
|
||
,whs_org_cd=VALUES(whs_org_cd)
|
||
,v_whsorg_cd=VALUES(v_whsorg_cd)
|
||
,whs_org_name=VALUES(whs_org_name)
|
||
,whs_org_kn=VALUES(whs_org_kn)
|
||
,v_whs_cd=VALUES(v_whs_cd)
|
||
,whs_name=VALUES(whs_name)
|
||
,nonyu_fcl_cd=VALUES(nonyu_fcl_cd)
|
||
,v_inst_cd=VALUES(v_inst_cd)
|
||
,v_inst_name=VALUES(v_inst_name)
|
||
,v_inst_kn=VALUES(v_inst_kn)
|
||
,v_inst_addr=VALUES(v_inst_addr)
|
||
,comm_cd=VALUES(comm_cd)
|
||
,product_name=VALUES(product_name)
|
||
,htdnymd_err_kbn=VALUES(htdnymd_err_kbn)
|
||
,prd_exis_kbn=VALUES(prd_exis_kbn)
|
||
,fcl_exis_kbn=VALUES(fcl_exis_kbn)
|
||
,qty1=VALUES(qty1)
|
||
,qty2=VALUES(qty2)
|
||
,qty3=VALUES(qty3)
|
||
,slip_org_kbn=VALUES(slip_org_kbn)
|
||
,bef_slip_mgt_num=VALUES(bef_slip_mgt_num)
|
||
,whs_rep_comm_name=VALUES(whs_rep_comm_name)
|
||
,whs_rep_nonyu_fcl_name=VALUES(whs_rep_nonyu_fcl_name)
|
||
,whs_rep_nonyu_fcl_addr=VALUES(whs_rep_nonyu_fcl_addr)
|
||
,err_flg1=VALUES(err_flg1)
|
||
,err_flg2=VALUES(err_flg2)
|
||
,err_flg3=VALUES(err_flg3)
|
||
,err_flg4=VALUES(err_flg4)
|
||
,err_flg5=VALUES(err_flg5)
|
||
,err_flg6=VALUES(err_flg6)
|
||
,err_flg7=VALUES(err_flg7)
|
||
,err_flg8=VALUES(err_flg8)
|
||
,err_flg9=VALUES(err_flg9)
|
||
,err_flg10=VALUES(err_flg10)
|
||
,err_flg11=VALUES(err_flg11)
|
||
,err_flg12=VALUES(err_flg12)
|
||
,err_flg13=VALUES(err_flg13)
|
||
,err_flg14=VALUES(err_flg14)
|
||
,err_flg15=VALUES(err_flg15)
|
||
,err_flg16=VALUES(err_flg16)
|
||
,err_flg17=VALUES(err_flg17)
|
||
,err_flg18=VALUES(err_flg18)
|
||
,err_flg19=VALUES(err_flg19)
|
||
,err_flg20=VALUES(err_flg20)
|
||
,kjyo_ym=VALUES(kjyo_ym)
|
||
,tksnbk_kbn=VALUES(tksnbk_kbn)
|
||
,fcl_exec_kbn=VALUES(fcl_exec_kbn)
|
||
,rec_sts_kbn=VALUES(rec_sts_kbn)
|
||
,ins_dt=VALUES(ins_dt)
|
||
,ins_usr=VALUES(ins_usr)
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
|
||
# ロットマスタデータ
|
||
CONDKEY_LOT_NUM_MST: {
|
||
_KEY_DATA_NAME: "ロットマスタデータ",
|
||
_KEY_FILE_PREFIX: "lot_num_mst_",
|
||
_KEY_FILE_SUFFIX: ".gz",
|
||
_KEY_FILE_COLUMN_SEPARATORS: "5",
|
||
_KEY_ORG_TABLE: "org05.lot_num_mst",
|
||
_KEY_SRC_TABLE: "src05.lot_num_mst",
|
||
_KEY_UPSERT_SQL: textwrap.dedent("""\
|
||
INSERT INTO src05.lot_num_mst (
|
||
ser_num
|
||
,lot_num
|
||
,expr_dt
|
||
,frst_mov_dt
|
||
,ins_dt
|
||
,ins_usr
|
||
,dwh_upd_dt
|
||
)
|
||
SELECT
|
||
t.ser_num
|
||
,t.lot_num
|
||
,t.expr_dt
|
||
,t.frst_mov_dt
|
||
,nullif(t.ins_dt, 0) -- 受領データがブランクだった場合にゼロ日付で取得されるので明示的にNULL値に変換する
|
||
,t.ins_usr
|
||
,SYSDATE()
|
||
FROM org05.lot_num_mst AS t
|
||
ON DUPLICATE KEY UPDATE
|
||
ser_num=t.ser_num
|
||
,lot_num=t.lot_num
|
||
,expr_dt=t.expr_dt
|
||
,frst_mov_dt=t.frst_mov_dt
|
||
,ins_dt=nullif(t.ins_dt, 0)
|
||
,ins_usr=t.ins_usr
|
||
,dwh_upd_dt=SYSDATE()
|
||
;
|
||
""")
|
||
},
|
||
}
|
||
|
||
def _get_interface_property(self, condkey: str, property_name: str) -> str:
|
||
ret = None
|
||
if condkey in self._VJSK_INTERFACE_MAPPING:
|
||
ret = self._VJSK_INTERFACE_MAPPING.get(condkey).get(property_name)
|
||
return ret
|
||
|
||
def get_data_name(self, condkey: str) -> str:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、ファイル論理名を取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return self._get_interface_property(condkey, self._KEY_DATA_NAME)
|
||
|
||
def get_file_prefix(self, condkey: str) -> str:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、ファイル名接頭辞を取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return self._get_interface_property(condkey, self._KEY_FILE_PREFIX)
|
||
|
||
def get_file_suffix(self, condkey: str) -> str:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、ファイル拡張子を取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return self._get_interface_property(condkey, self._KEY_FILE_SUFFIX)
|
||
|
||
def get_file_column_separators(self, condkey: str) -> int:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、1行あたりのタブ文字数を取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return int(self._get_interface_property(condkey, self._KEY_FILE_COLUMN_SEPARATORS))
|
||
|
||
def get_org_table(self, condkey: str) -> str:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、LOAD先ロードスキーマテーブル名を取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return self._get_interface_property(condkey, self._KEY_ORG_TABLE)
|
||
|
||
def get_src_table(self, condkey: str) -> str:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、登録先蓄積スキーマテーブル名を取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return self._get_interface_property(condkey, self._KEY_SRC_TABLE)
|
||
|
||
def get_upsert_sql(self, condkey: str) -> str:
|
||
"""
|
||
概要
|
||
受領ファイルI/Fが想定する、upsert (ロードスキーマ→蓄積スキーマ) CMLステートメントを取得する
|
||
引数
|
||
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
|
||
"""
|
||
return self._get_interface_property(condkey, self._KEY_UPSERT_SQL)
|
||
|
||
def get_condkey_by_s3_file_path(self, s3_file_path: str) -> str:
|
||
"""
|
||
概要
|
||
S3受領バケットに受領したファイル名から、I/F想定に該当する condkey 値を取得する
|
||
引数
|
||
s3_file_path: S3受領バケットにある受領したファイルパス
|
||
"""
|
||
ret = None
|
||
filename = s3_file_path[s3_file_path.rfind("/") + 1:]
|
||
for condkey in self._VJSK_INTERFACE_MAPPING:
|
||
element = self._VJSK_INTERFACE_MAPPING.get(condkey)
|
||
if filename.startswith(element.get(self._KEY_FILE_PREFIX)) \
|
||
and filename.endswith(element.get(self._KEY_FILE_SUFFIX)):
|
||
ret = condkey
|
||
break
|
||
return ret
|