-- Databricks notebook source
-- log 20250226 auth:庄伟
-- MA和AIA权限表改造如下
--1.MA销售权限表（dm.dm_auth_sales_ta），通过辖区中销售负责的产品（Family）找到对应的TA,然后按照权限矩阵的限制对用户所能看到的BU进行筛选
-- Market Analysis_CHPA         全BU可看  
-- Market Analysis_County       除BU：EC以外可以看
-- Market Analysis_CHC          除BU:EC&RDU 以外可以看
-- Market Analysis_THC          除BU:EC&RDU 以外可以看          
-- Market Analysis_Retail/DTP   除BU:EC&RDU 以外可以看
-- Market Analysis_EC           仅EC可看 --修改 全BU可看
-- Market Analysis_AIA          除BU：EC以外可以看
-- Market Analysis_科室市场数据 全BU可看

--2.MA和AIA非销售权限表,按照workmate和mds用户申请的权限看
-- dm.dm_auth_nonsales_ta  直接按照用户申请的TA权限查看
-- dm.dm_auth_nonsales_org  根据用户申请的Sub_bu/BU转换为TA权限查看

-- log 20251105 auth:chenwu
-- MA和AIA权限范围修改 dm.dm_auth_sales_ta
-- Market Analysis_AIA          除BU：EC，Retail以外可以看
-- Market Analysis_科室市场数据  除BU：EC以外可以看
-- Market Analysis_Retail/DTP   除BU: EC以外可以看

-- COMMAND ----------

--for ec into retail 
create or replace temporary view dm_td_org_temp
as 
SELECT org_key,mr_trty_tag,district_code,rsm_name,rc_name,p2.region_name,p2.rsd_kcode,p2.rsd_name
  ,CASE WHEN p2.yyyymm >= '202601' and p2.bu_code = 'PC12' then 'PC09' else p2.bu_code end bu_code
  ,CASE WHEN p2.yyyymm >= '202601' and p2.bu_report = 'EC' THEN 'Retail' ELSE p2.bu_report end bu_report
  ,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_code = 'NA27' then 'NA06' else p2.sub_bu_code end sub_bu_code
  ,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name = 'EC' then 'Retail' else p2.sub_bu_name end sub_bu_name
  ,CASE WHEN p2.yyyymm >= '202601' and p2.sub_bu_name_en = 'EC' then 'Retail' else p2.sub_bu_name_en end sub_bu_name_en
  ,CASE WHEN p2.yyyymm >= '202601' and p2.bu_name = 'EC' then 'Retail' else p2.bu_name end bu_name
  ,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_kcode = 'ND_EC0001_V' then 'KSGX559' else p2.nsd_kcode end nsd_kcode
  ,CASE WHEN p2.yyyymm >= '202601' and p2.nsd_trty_code = 'ND_EC0001' then 'ND_RT0001' else p2.nsd_trty_code end nsd_trty_code
  ,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_kcode = 'VP_EC0001_V' then 'VP_RT0001_V' else p2.bsd_kcode end bsd_kcode
  ,CASE WHEN p2.yyyymm >= '202601' and p2.bsd_trty_code = 'VP_EC0001' then 'VP_RT0001' else p2.bsd_trty_code end bsd_trty_code
  ,p2.rsm_kcode,p2.rc_code,p2.rc_name_en,p2.region_code,p2.region_name_en,BU_CATEGORY,yyyymm,mr_trty_code
  ,mr_kcode,dsm_trty_code,rsm_trty_code,dsm_kcode,rsd_trty_code
FROM DM.dm_td_org P2

-- COMMAND ----------

------销售权限
---从C月辖区中提取USER与TA映射
drop view if exists tmp_auth_sales_user_ta_mapping;
create temporary view tmp_auth_sales_user_ta_mapping
as
(
select
bu_active_list.bm_name,
org.bu_code,
org.bu_name,
org.sub_bu_code,
org.sub_bu_name,
org.dsm_trty_code,
org.dsm_kcode,
org.rsm_trty_code,
org.rsm_kcode,
org.rsd_trty_code,
org.rsd_kcode,
org.nsd_trty_code,
org.nsd_kcode,
org.rc_code,
prod.ta_code,
case when prod.ta_name ='ONC' then 'ONCO' else prod.ta_name end ta_name
from
(
select distinct
yyyymm,
trty_code,
family_code
from dm.dm_td_sd_territory_indication
where yyyymm in(
select key_value as yyyymm
from dm.dm_td_date_config
where key_code = 'pfmc_cvh'
) and bu not in ('CUBE','KA') and family_code not in ('RTRT','ECEC')
and key_hp<>3 --chenwu 20250904 排除双考影响
)trty_ind_c
left join dm.dm_td_product prod
on trty_ind_c.family_code  = prod.prd_key
left join dm_td_org_temp org 
on trty_ind_c.yyyymm = org.yyyymm and trty_ind_c.trty_code = org.mr_trty_code
left join dws.dws_td_bu_active bu_active_list
on org.bu_name =bu_active_list.bu_name
);

-- COMMAND ----------

insert overwrite table dm.dm_auth_sales_ta
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
data_source,
concat(ta,data_source) ta_source,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt 
from
(
----chpa  1
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'IQVIA-CHPA(Monthly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
)auth_chpa
----county  2
union 
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'IQVIA-COUNTY(Quarterly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where 
-- bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where 
-- bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where 
-- bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where 
-- bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
)auth_county
----chc  3
union 
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'CHC(Quarterly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where 
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where 
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('RDU','EC')
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('RDU','EC')
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
)auth_chc
----thc  4
union 
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'THC(Quarterly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('RDU','EC') 
bu_name not in ('RDU') and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('RDU','EC')
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('RDU','EC')
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('RDU','EC')
bu_name not in ('RDU')
and not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
)auth_thc
union 
----retail  5
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'Retail(Quarterly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
)auth_retail
----ec  6
union 
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'EC(Monthly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
-- where --bu_name ='EC'
-- -- (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
-- not (bu_name in ('Retail') and rc_code in ('RC198')) -- EC 改成和CHPA一样， 全BU可看 20260305 yusuo
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
-- where --bu_name ='EC'
-- -- (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
-- not (bu_name in ('Retail') and rc_code in ('RC198')) -- EC 改成和CHPA一样， 全BU可看 20260305 yusuo
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
-- where --bu_name ='EC'
-- -- (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
-- not (bu_name in ('Retail') and rc_code in ('RC198')) -- EC 改成和CHPA一样， 全BU可看 20260305 yusuo
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
-- where --bu_name ='EC'
-- -- (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
-- not (bu_name in ('Retail') and rc_code in ('RC198')) -- EC 改成和CHPA一样， 全BU可看 20260305 yusuo
)auth_ec
----aia  7
union 
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'AIA(Monthly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where bu_name not in ('Retail','EC')
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where bu_name not in ('Retail','EC')
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where bu_name not in ('Retail','EC')
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where bu_name not in ('Retail','EC')
)auth_aia
----xiehe  8
union 
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'XH Data(Quarterly)' data_source
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
)auth_xiehe
)auth_sales_ta

----DTP  9
union all
select
bu_name,
user_trty_code,
user_kcode,
ta,
role,
'DTP(Quarterly)' data_source,
concat(ta,data_source) ta_source,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt 
from 
(
--dsm
select
bu_name,
dsm_trty_code user_trty_code,
dsm_kcode user_kcode,
ta_name ta,
'dsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsm
select
bu_name,
rsm_trty_code user_trty_code,
rsm_kcode user_kcode,
ta_name ta,
'rsm' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--rsd
select
bu_name,
rsd_trty_code user_trty_code,
rsd_kcode user_kcode,
ta_name ta,
'rsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
union
--nsd
select
bu_name,
nsd_trty_code user_trty_code,
nsd_kcode user_kcode,
ta_name ta,
'nsd' role
from tmp_auth_sales_user_ta_mapping
where --bu_name not in ('EC')
not (bu_name in ('Retail') and rc_code in ('RC198')) --架构中 EC 合并到 Retail 调整 20260127
)auth_retail

;


-- COMMAND ----------

-----非销售权限  用户申请的TA维度权限
insert overwrite table dm.dm_auth_nonsales_ta
select
user_kcode,
user_role,
ta_code,
case when ta_name ='ONC' then 'ONCO' else ta_name end ta_name,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt 
from
(
select distinct user_kcode,role user_role,ta_code,ta_name
from dm.dm_td_user_permission_derived
where nvl(ta_name,'')<>''
)nonsales_ta;

-- COMMAND ----------

drop view if exists tmp_auth_sales_bu_ta_mapping;
create temporary view tmp_auth_sales_bu_ta_mapping
as
(
select distinct bu_code,bu_name,sub_bu_code,sub_bu_name,ta_code,ta_name
from tmp_auth_sales_user_ta_mapping
);

-- COMMAND ----------

-----用户申请的BU维度权限转换为架构中负责的TA
insert overwrite table dm.dm_auth_nonsales_org
select
coalesce(subbu_ta_map.bu_code,nonsales_subbu.bu_code) bu_code,
coalesce(subbu_ta_map.bu_name,nonsales_subbu.bu_name) bu_name,
nonsales_subbu.user_kcode,
nonsales_subbu.user_role,
coalesce(subbu_ta_map.sub_bu_code,nonsales_subbu.sub_bu_code) sub_bu_code,
coalesce(subbu_ta_map.sub_bu_name,nonsales_subbu.sub_bu_name) sub_bu_name,
subbu_ta_map.ta_code,
subbu_ta_map.ta_name,
'SUB_BU' row_tag,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt 
from
(
select 
distinct 
user_kcode,
role user_role,
bu_code,
bu_name,
sub_bu_code,
sub_bu_name
from dm.dm_td_user_permission_detail
where nvl(sub_bu_code,'')<>''
)nonsales_subbu
left join
(
select bu_code,bu_name,sub_bu_code,sub_bu_name,ta_code,ta_name
from tmp_auth_sales_bu_ta_mapping
)subbu_ta_map
on nonsales_subbu.sub_bu_code = subbu_ta_map.sub_bu_code
union
select
nonsales_bu.user_kcode,
nonsales_bu.user_role,
coalesce(bu_ta_map.bu_code,nonsales_bu.bu_code) bu_code,
coalesce(bu_ta_map.bu_name,nonsales_bu.bu_name) bu_name,
bu_ta_map.sub_bu_code,
bu_ta_map.sub_bu_name,
bu_ta_map.ta_code,
bu_ta_map.ta_name,
'BU' row_tag,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_insert_dt,
from_utc_timestamp(current_timestamp,'UTC+8') as etl_update_dt 
from
(
select 
distinct 
user_kcode,
role user_role,
bu_code,
bu_name
from dm.dm_td_user_permission_detail
where nvl(sub_bu_code,'')='' and nvl(bu_code,'')<>''
)nonsales_bu 
left join
(
select distinct bu_code,bu_name,sub_bu_code,sub_bu_name,ta_code,ta_name
from tmp_auth_sales_bu_ta_mapping
)bu_ta_map
on nonsales_bu.bu_code = bu_ta_map.bu_code;

-- COMMAND ----------

-- DBTITLE 1,old version
-- insert overwrite dm.dm_auth_geo(KCODE,CITY_CODE)
-- select distinct
-- t1.k_account as KCODE,
-- t2.AUDIT_COD as CITY_CODE
-- from (
-- select K_ACCOUNT,
-- USER_NAME,
-- Province_GEO
-- from dm.DM_TD_SPECIAL_GROUP
-- where ROLE = 'PI_GEO_IMS'
-- and length(Province_GEO) > 0
-- ) t1
-- join
-- (
-- select distinct
-- PROVINCE_C,
-- AUDIT_COD
-- from dm.DM_IMS_TD_GEO
-- where length(AUDIT_COD) > 0
-- ) t2
-- on t1.Province_GEO = t2.PROVINCE_C

-- COMMAND ----------

-- insert overwrite dm.dm_auth_org(KCODE,SUB_BU_CODE)
-- select
-- t1.user_kcode as KCODE,
-- t2.SUB_BU_CODE as SUB_BU_CODE
-- from (
-- select K_ACCOUNT as user_kcode,
-- bu_org as BU_NAME
-- from dm.DM_TD_SPECIAL_GROUP
-- where ROLE = 'PI_ORG_IMS'
-- and length(bu_org) > 0
-- ) t1
-- join (
-- select distinct
-- BU_NAME,
-- SUB_BU_CODE
-- from DM.DM_TD_ORG
-- ) t2
-- on t1.BU_NAME = t2.BU_NAME

-- COMMAND ----------

-- ---------------------------------------------------------------------------
-- --修改时间：20241112
-- --修改人：Fanxujia
-- --修改内容：
-- --for AIA Dashboard:
-- --1）MA报告没有权限，旧AIA报告有权限：增加旧AIA报告的权限人员，以旧AIA报告的范围开权限（by TA）
-- --2）MA报告有权限，旧AIA报告也有权限：以旧AIA报告权限范围为准
-- --3）MA报告有权限，旧AIA报告没有权限：保持不变
-- ---------------------------------------------------------------------------
-- with AIA_USERS as (
-- select
-- distinct gu.k_account as KCODE,
-- upper(rg.ta_prd) as TA_PRD
-- from
-- dm.DM_TD_GROUP_USERS gu
-- join dm.DM_TD_REPORT_GROUP rg on gu.user_team = rg.user_group
-- where
-- rg.role = 'PI_PRD_CPA'
-- and length(rg.ta_prd) > 0
-- union
-- SELECT distinct
-- K_ACCOUNT as KCODE,
-- upper(TA_PRD) as TA_PRD
-- FROM
-- dm.DM_TD_SPECIAL_GROUP
-- WHERE
-- ROLE = 'PI_PRD_CPA'
-- AND length(TA_PRD) > 0
-- )

-- ,CHPA_USERS as (
-- select
-- distinct gu.k_account as KCODE,
-- upper(rg.ta_prd) as TA_PRD
-- from
-- dm.DM_TD_GROUP_USERS gu
-- join dm.DM_TD_REPORT_GROUP rg on gu.user_team = rg.user_group
-- where
-- rg.role = 'PI_PRD_IMS'
-- and length(rg.ta_prd) > 0
-- union
-- SELECT distinct
-- K_ACCOUNT as KCODE,
-- upper(TA_PRD) as TA_PRD
-- FROM
-- dm.DM_TD_SPECIAL_GROUP
-- WHERE
-- ROLE = 'PI_PRD_IMS'
-- AND length(TA_PRD) > 0
-- )

-- ,ALL_USERS as (
-- --单独CHPA用户
-- select distinct
-- KCODE,
-- TA_PRD
-- from CHPA_USERS
-- where KCODE not in (
-- select KCODE from AIA_USERS
-- )
-- union
-- --1：单独AIA用户
-- --2：同时存在于CHPA以及AIA的用户，以AIA的权限为准
-- select distinct
-- KCODE,
-- TA_PRD
-- from AIA_USERS
-- )

-- ,TA_MARKET as (
-- SELECT
-- DISTINCT TA,
-- MARKET
-- FROM
-- dm.dm_td_external_market_pack_mapping_temp
-- WHERE
-- length(TA) > 0
-- )


-- insert overwrite dm.dm_auth_prd(
-- KCODE,
-- MARKET
-- )
-- select distinct
-- t1.KCODE,
-- t2.MARKET
-- from ALL_USERS t1
-- inner join TA_MARKET t2
-- on t1.TA_PRD = t2.TA


-- COMMAND ----------

-- ------------------------------------------------------------------------
-- --修改时间：20241108
-- --修改人：Fanxujia
-- --修改内容：
-- --增加产品粒度的权限表
-- ------------------------------------------------------------------------
-- insert overwrite table dm.dm_auth_prd_pack
-- (
-- KCODE,
-- PACK_COD
-- )
-- with market_pack as (
-- select distinct
-- PACK_COD,
-- MARKET
-- from dm.dm_td_external_market_pack_mapping
-- )

-- select distinct 
-- t1.KCODE,
-- t2.PACK_COD
-- from dm.dm_auth_prd t1
-- inner join market_pack t2
-- on t1.MARKET = t2.MARKET



-- COMMAND ----------

-- --------------------------------chpa--------------------------------------------------------------------
-- ------------------所有BU能看CHPA,用户需要排除非重点城市之外的人
-- insert overwrite dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- WITH EMP AS (
-- select distinct dsm_kcode KCODE,concat(bu_code,'IQVIA-CHPA(Monthly)') as bu_code_auth,bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) --and audit_cod is not null
-- union all
-- select distinct rsm_kcode KCODE,concat(bu_code,'IQVIA-CHPA(Monthly)') as bu_code_auth,bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 --and audit_cod is not null 
-- union all
-- select distinct rsd_kcode KCODE,concat(bu_code,'IQVIA-CHPA(Monthly)') as bu_code_auth,bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 --and audit_cod is not null 
-- union all
-- select distinct nsd_kcode KCODE,concat(bu_code,'IQVIA-CHPA(Monthly)') as bu_code_auth,bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 --and audit_cod is not null 
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'IQVIA-CHPA(Monthly)') MKT_SOURCE,concat(B.AUDIT_COD,'IQVIA-CHPA(Monthly)') AUDIT_SOURCE
-- ,'IQVIA-CHPA(Monthly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- ----------------------------------------------------CHC------------------------------------------------------------------------------
-- -----------------------CHC的人能看
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- with emp as (
-- select distinct dsm_kcode KCODE,concat(bu_code,'CHC(Quarterly)') as bu_code_auth,'' bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) AND BU_NAME_EN = 'CHC'
-- union all
-- select distinct rsm_kcode KCODE,concat(bu_code,'CHC(Quarterly)') as bu_code_auth,'' bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 AND BU_NAME_EN = 'CHC'
-- union all
-- select distinct rsd_kcode KCODE,concat(bu_code,'CHC(Quarterly)') as bu_code_auth,'' bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 AND BU_NAME_EN = 'CHC'
-- union all
-- select distinct nsd_kcode KCODE,concat(bu_code,'CHC(Quarterly)') as bu_code_auth,'' bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 AND BU_NAME_EN = 'CHC'
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'CHC(Quarterly)') MKT_SOURCE,concat(B.AUDIT_COD,'CHC(Quarterly)') AUDIT_SOURCE
-- ,'CHC(Quarterly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org ) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- ----------------------------------------------------county------------------------------------------------------------------------------
-- -----------------------除了Eagle、CHC、Retail、EC的人都能看
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- with emp as (
-- select distinct dsm_kcode KCODE,concat('','IQVIA-COUNTY(Quarterly)') bu_code_auth,'' bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) AND BU_NAME_EN NOT IN ('Eagle','CHC','EC','Retail')
-- union all
-- select distinct rsm_kcode KCODE,concat('','IQVIA-COUNTY(Quarterly)') bu_code_auth,'' bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 AND BU_NAME_EN NOT IN ('Eagle','CHC','EC','Retail') 
-- union all
-- select distinct rsd_kcode KCODE,concat('','IQVIA-COUNTY(Quarterly)') bu_code_auth,'' bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 AND BU_NAME_EN NOT IN ('Eagle','CHC','EC','Retail') 
-- union all
-- select distinct nsd_kcode KCODE,concat('','IQVIA-COUNTY(Quarterly)') bu_code_auth,'' bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 AND BU_NAME_EN NOT IN ('Eagle','CHC','EC','Retail') 
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'IQVIA-COUNTY(Quarterly)') MKT_SOURCE,concat(B.AUDIT_COD,'IQVIA-COUNTY(Quarterly)') AUDIT_SOURCE
-- ,'IQVIA-COUNTY(Quarterly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org ) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- ----------------------------------------------------THC------------------------------------------------------------------------------
-- -----------------------Eagle的人能看
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- with emp as (
-- select distinct dsm_kcode KCODE,concat('','THC(Quarterly)') as bu_code_auth,'' bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) AND BU_NAME_EN = 'Eagle'
-- union all
-- select distinct rsm_kcode KCODE,concat('','THC(Quarterly)') as bu_code_auth,'' bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 AND BU_NAME_EN = 'Eagle'
-- union all
-- select distinct rsd_kcode KCODE,concat('','THC(Quarterly)') as bu_code_auth,'' bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 AND BU_NAME_EN = 'Eagle'
-- union all
-- select distinct nsd_kcode KCODE,concat('','THC(Quarterly)') as bu_code_auth,'' bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 AND BU_NAME_EN = 'Eagle'
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'THC(Quarterly)') MKT_SOURCE,concat(B.AUDIT_COD,'THC(Quarterly)') AUDIT_SOURCE
-- ,'THC(Quarterly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org ) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- --------------------------------Retail--------------------------------------------------------------------
-- ------------------------------------------------
-- --修改时间：20241016
-- --修改人：FanXujia
-- --修改内容：
-- --给Eagle的人查看Metoprolol Tartrate Market的权限
-- -------------------------------------------------
-- ------------------所有BU能看CHPA,用户需要排除非重点城市之外的人
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- with emp as (
-- select distinct dsm_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) and bu_name_en in ('Retail','OBU')
-- union all
-- select distinct rsm_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 and bu_name_en in ('Retail','OBU')
-- union all
-- select distinct rsd_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 and bu_name_en in ('Retail','OBU')
-- union all
-- select distinct nsd_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 and bu_name_en in ('Retail','OBU')
-- )
-- ,Eagle as (
-- select distinct dsm_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) and bu_name_en in ('Eagle')
-- union all
-- select distinct rsm_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 and bu_name_en in ('Eagle')
-- union all
-- select distinct rsd_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 and bu_name_en in ('Eagle')
-- union all
-- select distinct nsd_kcode KCODE,concat('PC09','Retail(Quarterly)') as bu_code_auth,bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 and bu_name_en in ('Eagle')
-- )
-- ,audit as (
-- select distinct t1.AUDIT_COD
-- from dm.dm_tf_external_sales t1
-- left join dm.dm_td_external_market_pack_mapping_temp t2
-- on t1.DATA_SOURCE = t2.DATA_SOURCE
-- and t1.PACK_COD = t2.PACK_COD
-- where t1.DATA_SOURCE = 'Retail(Quarterly)'
-- and t2.MARKET = 'Metoprolol Tartrate Market'
-- )

-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'Retail(Quarterly)') MKT_SOURCE,concat(B.AUDIT_COD,'Retail(Quarterly)') AUDIT_SOURCE
-- ,'Retail(Quarterly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org ) B ON A.bu_code_auth = B.bu_code_auth
-- union all
-- select t1.KCODE,
-- t1.bu_code_auth,
-- t1.bu_name,
-- t1.role,
-- concat('Metoprolol Tartrate Market','Retail(Quarterly)') MKT_SOURCE,
-- concat(t2.AUDIT_COD,'Retail(Quarterly)') AUDIT_SOURCE,
-- 'Retail(Quarterly)' DATA_SOURCE
-- from Eagle t1
-- cross join audit t2


-- COMMAND ----------

-- --------------------------------EC--------------------------------------------------------------------
-- ------------------EC的数据暂时开通给EC
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- with emp as (
-- select distinct dsm_kcode KCODE,concat('','EC(Monthly)') as bu_code_auth,bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) and bu_name_en = 'EC'
-- union all
-- select distinct rsm_kcode KCODE,concat('','EC(Monthly)') as bu_code_auth,bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 and bu_name_en = 'EC'
-- union all
-- select distinct rsd_kcode KCODE,concat('','EC(Monthly)') as bu_code_auth,bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 and bu_name_en = 'EC'
-- union all
-- select distinct nsd_kcode KCODE,concat('','EC(Monthly)') as bu_code_auth,bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 and bu_name_en = 'EC'
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'EC(Monthly)') MKT_SOURCE,concat(B.AUDIT_COD,'EC(Monthly)') AUDIT_SOURCE
-- ,'EC(Monthly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org ) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- --------------------------------AIA--------------------------------------------------------------------
-- ------------------所有BU能看AIA
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- WITH EMP AS (
-- select distinct dsm_kcode KCODE,concat(bu_code,'AIA(Monthly)') as bu_code_auth,bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) --and audit_cod is not null
-- union all
-- select distinct rsm_kcode KCODE,concat(bu_code,'AIA(Monthly)') as bu_code_auth,bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 --and audit_cod is not null 
-- union all
-- select distinct rsd_kcode KCODE,concat(bu_code,'AIA(Monthly)') as bu_code_auth,bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 --and audit_cod is not null 
-- union all
-- select distinct nsd_kcode KCODE,concat(bu_code,'AIA(Monthly)') as bu_code_auth,bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 --and audit_cod is not null 
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'AIA(Monthly)') MKT_SOURCE,concat(B.AUDIT_COD,'AIA(Monthly)') AUDIT_SOURCE
-- ,'AIA(Monthly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- --------------------------------XIEHE--------------------------------------------------------------------
-- ------------------所有BU能看XIEHE
-- insert into dm.dm_auth_sales(KCODE,bu_code_auth,bu_name,role,MKT_SOURCE,AUDIT_SOURCE,DATA_SOURCE)
-- WITH EMP AS (
-- select distinct dsm_kcode KCODE,concat(bu_code,'XH Data(Quarterly)') as bu_code_auth,bu_name,'dsm' role from DM.DM_IMS_TD_ORG_HVH where length(dsm_kcode) > 0 and yyyymm=(select max(yyyymm) from DM.DM_IMS_TD_ORG_HVH) --and audit_cod is not null
-- union all
-- select distinct rsm_kcode KCODE,concat(bu_code,'XH Data(Quarterly)') as bu_code_auth,bu_name,'rsm' role from DM.DM_IMS_TD_ORG where length(rsm_kcode) > 0 --and audit_cod is not null 
-- union all
-- select distinct rsd_kcode KCODE,concat(bu_code,'XH Data(Quarterly)') as bu_code_auth,bu_name,'rsd' role from DM.DM_IMS_TD_ORG where length(rsd_kcode) > 0 --and audit_cod is not null 
-- union all
-- select distinct nsd_kcode KCODE,concat(bu_code,'XH Data(Quarterly)') as bu_code_auth,bu_name,'nsd' role from DM.DM_IMS_TD_ORG where length(nsd_kcode) > 0 --and audit_cod is not null 
-- )
-- SELECT A.KCODE,A.bu_code_auth,A.bu_name,A.role,concat(B.MARKET,'XH Data(Quarterly)') MKT_SOURCE,concat(B.AUDIT_COD,'XH Data(Quarterly)') AUDIT_SOURCE
-- ,'XH Data(Quarterly)' DATA_SOURCE FROM EMP A 
-- INNER JOIN (SELECT DISTINCT bu_code_auth,AUDIT_COD,MARKET FROM DM.dm_td_external_org) B ON A.bu_code_auth = B.bu_code_auth

-- COMMAND ----------

-- -------------------------------------------------------------------------
-- --修改时间：20241106
-- --修改人：Fanxujia
-- --修改内容：
-- --将PBI的逻辑移到DBR上（dm_auth_sales_geo）
-- -------------------------------------------------------------------------
-- insert overwrite table dm.dm_auth_sales_geo(
-- KCODE,
-- AUDIT_SOURCE
-- )
-- select
--   distinct KCODE,
--   AUDIT_SOURCE
-- from
--   dm.dm_auth_sales

-- COMMAND ----------

-- -------------------------------------------------------------------------
-- --修改时间：20241106
-- --修改人：Fanxujia
-- --修改内容：
-- --将PBI的逻辑移到DBR上（dm_auth_sales_mkt）
-- -------------------------------------------------------------------------
-- insert overwrite table dm.dm_auth_sales_mkt(
-- KCODE,
-- MKT_SOURCE
-- )
-- select
--   distinct KCODE,
--   MKT_SOURCE
-- from
--   dm.dm_auth_sales

-- COMMAND ----------

-- -------------------------------------------------------------------------
-- --修改时间：20241106
-- --修改人：Fanxujia
-- --修改内容：
-- --将PBI的逻辑移到DBR上（dm_auth_sales_org）
-- -------------------------------------------------------------------------
-- insert overwrite table dm.dm_auth_sales_org(
-- KCODE,
-- BU_CODE_AUTH
-- )
-- select
--   distinct KCODE,
--   BU_CODE_AUTH
-- from
--   dm.dm_auth_sales

-- COMMAND ----------

-- DBTITLE 1,old version
-- -------------------------------------------------------------------------
-- --修改时间：20241106
-- --修改人：Fanxujia
-- --修改内容：
-- --将PBI的逻辑移到DBR上（dm_auth_sales_pack）
-- -------------------------------------------------------------------------
-- insert overwrite table dm.dm_auth_sales_pack(
-- KCODE,
-- PACK_SOURCE
-- )
-- with market_pack as (
-- select distinct
-- concat(MARKET,DATA_SOURCE) as MKT_SOURCE,
-- concat(PACK_COD,DATA_SOURCE) as PACK_SOURCE
-- from dm.dm_td_external_market_pack_mapping
-- )
-- ,user_market as (
-- select distinct KCODE,MKT_SOURCE
-- from dm.dm_auth_sales
-- )

-- select distinct 
-- t1.KCODE,
-- t2.PACK_SOURCE
-- from user_market t1
-- inner join market_pack t2
-- on t1.MKT_SOURCE = t2.MKT_SOURCE

-- COMMAND ----------

-- MAGIC %md
-- MAGIC ### -------------------------

-- COMMAND ----------

------------------------------------------------------------------------
--修改时间：20241112
--修改人：Fanxujia
--修改内容：
--CHPA渠道不显示以下几个BU的架构 ('BBU_County','CHC','EC','Eagle','Retail')
------------------------------------------------------------------------
delete from DM.DM_TD_EXTERNAL_ORG
where bu_name_en in ('BBU_County','CHC','EC','Retail')
and data_source = 'IQVIA-CHPA(Monthly)';
/*
修改时间：20251124
修改人：Chenwu
修改内容：CHPA数据源,消化口服产品（Nexium Oral, Losec Oral)架构需要增加Eagle团队
*/
WITH market_list AS (
  SELECT DISTINCT m.MARKET 
  FROM dws.dws_ims_td_market m
  INNER JOIN dwd.dwd_td_imscode_azcode a ON m.PACK_COD = a.ims_pack_cod
  WHERE a.brandcode IN ('B018','B019')
    AND a.ims_pack_cod IS NOT NULL
)
DELETE FROM DM.DM_TD_EXTERNAL_ORG
WHERE data_source = 'IQVIA-CHPA(Monthly)' 
  AND bu_name_en = 'Eagle'
  AND MARKET NOT IN (SELECT MARKET FROM market_list);

-- COMMAND ----------

---------------------------------------------------------------------------
--修改时间：20240828
--修改人：FanXujia
--修改内容：
--同一个城市的同一个市场同时对应了正常的大区以及ROC，这是不对的，需要把ROC的数据删除
----------------------------------------------------------------------------
with org as (
select distinct DATA_SOURCE,AUDIT_COD,MARKET,'ROC' as region_name_en
from DM.DM_TD_EXTERNAL_ORG
where region_name_en <> 'ROC'
)

merge into DM.DM_TD_EXTERNAL_ORG as t1
using org t2
on t1.DATA_SOURCE = t2.DATA_SOURCE
and t1.AUDIT_COD = t2.AUDIT_COD
and t1.MARKET = t2.MARKET
and t1.region_name_en = t2.region_name_en
when matched then
delete ;

-- COMMAND ----------

---------------------------------------------------------------------------
--修改时间：20240828
--修改人：FanXujia
--修改内容：
--在上一步删除完之后
--同一个城市的同一个市场只对应ROC，但是有多条数据对应ROC，保留1条数据，其余的删除
----------------------------------------------------------------------------
with org_1 as (
select DATA_SOURCE,AUDIT_COD,MARKET
from DM.DM_TD_EXTERNAL_ORG
where region_name_en = 'ROC'
group by DATA_SOURCE,AUDIT_COD,MARKET
having count(1) >1
)
,org_2 as (
select t1.DATA_SOURCE,t1.AUDIT_COD,t1.MARKET,
max(concat(t1.RSM_Name,t1.rc_name,t1.regioncenter,t1.bu_category,t1.bu_name_en,t1.sub_bu_name,t1.sub_bu_code_auth,t1.bu_code_auth,t1.MR_TRTY_CODE)) link_key
from DM.DM_TD_EXTERNAL_ORG t1
inner join org_1 t2
on t1.DATA_SOURCE = t2.DATA_SOURCE
and t1.AUDIT_COD = t2.AUDIT_COD
and t1.MARKET = t2.MARKET
group by t1.DATA_SOURCE,t1.AUDIT_COD,t1.MARKET
)

merge into DM.DM_TD_EXTERNAL_ORG as t1
using org_2 t2
on t1.DATA_SOURCE = t2.DATA_SOURCE
and t1.AUDIT_COD = t2.AUDIT_COD
and t1.MARKET = t2.MARKET
and concat(t1.RSM_Name,t1.rc_name,t1.regioncenter,t1.bu_category,t1.bu_name_en,t1.sub_bu_name,t1.sub_bu_code_auth,t1.bu_code_auth,t1.MR_TRTY_CODE) <> t2.link_key
when matched then
delete ;