-- 工资部分数据
select
    ifnull(S0203,'') 身份证号,
    ifnull(S0201,'') 姓名,
    '-' 出生时间,
    '-' 性别,
    '-' 民族,
    '-' 参加工作时间,
    '-' 政治面貌,
    '-' 全日制学历,
    ifnull((select min(code_name) from code_value where S0225=code_value and code_type='M_D_C11'),'') 最高学历,
    '-' 最高学位,
    '-' 职位类别,
    ifnull((select min(code_name) from code_value where S0204=code_value and code_type='M_D_S0204'),'') 现职务层次,
    '-' 任现职务层次时间,
    ifnull((select min(code_name) from code_value where S0205=code_value and code_type='ZB148'),'') 现职级层次,
    '-' 任现职级层次时间,
    '-' 是否具有2年以上基层经验,
    '-' 2023年度考核结果,
    '-' 人员类别,
    '-' 2024年考录选调生
from m_s02  where rpt='2024' union all
select
    ifnull(S0403,'') 身份证号,
    ifnull(S0401,'') 姓名,
    '-' 出生时间,
    '-' 性别,
    '-' 民族,
    '-' 参加工作时间,
    '-' 政治面貌,
    '-' 全日制学历,
    ifnull((select min(code_name) from code_value where S0425=code_value and code_type='M_D_C11'),'') 最高学历,
    '-' 最高学位,
    '-' 职位类别,
    ifnull((select min(code_name) from code_value where S0404=code_value and code_type='M_D_S0204'),'') 现职务层次,
    '-' 任现职务层次时间,
    ifnull((select min(code_name) from code_value where S0405=code_value and code_type='ZB148'),'') 现职级层次,
    '-' 任现职级层次时间,
    '-' 是否具有2年以上基层经验,
    '-' 2023年度考核结果,
    '-' 人员类别,
    '-' 2024年考录选调生
from m_s04  where rpt='2024';


-- 中间部分数据
select
    ifnull(M0203,'') 身份证号,
    ifnull(M0201,'') 姓名,
    ifnull(substr(M0204, 1, 6) ,'') 出生时间,
    IF(M0202 = 1, '男', '女') 性别,
    ifnull((select min(code_name) from code_value where M0205=code_value and code_type='M_D_CM16'),'') 民族,
    ifnull(substr(M0216, 1, 6) ,'') 参加工作时间,
    ifnull((select min(code_name) from code_value where M0206=code_value and code_type='M_D_CD17'),'') 政治面貌,
    ifnull((select min(code_name) from code_value where M0242=code_value and code_type='M_D_C11'),'') 全日制学历,
    ifnull((select min(code_name) from code_value where M0212=code_value and code_type='M_D_C11'),'') 最高学历,
    ifnull((select min(code_name) from code_value where M0213=code_value and code_type='M_D_C12'),'') 最高学位,
    ifnull((select min(code_name) from code_value where M0246=code_value and code_type='M_D_M0246_1'),'') 职位类别,
    ifnull((select min(code_name) from code_value where M0208=code_value and code_type='M_D_C32_2019'),'') 现职务层次,
    ifnull(substr(M0233, 1, 6) ,'') 任现职务层次时间,
    ifnull((select min(code_name) from code_value where M0243=code_value and code_type='M_D_C31_2019'),'') 现职级层次,
    ifnull(substr(M0244, 1, 6) ,'') 任现职级层次时间,
    IF(M0215 = 1, '是', '否') 是否具有2年以上基层经验,
    ifnull((select min(code_name) from M_M09, code_value where M0905=code_value and code_type='M_D_CM16' and M0902=M0203),'') 2023年度考核结果,
    ifnull((select case M0104 when 2 then '参照管理机关工作人员' when 3 then '参照管理事业单位人员' else '公务员' end from M_M01 where M_M01.UNID=M_M02.UNID and rpt='2024' limit 1),'') 人员类别,
    ifnull((select '是' from M_M05 where M0503=M0203 and rpt='2024' limit 1),'否') 2024年考录选调生
from M_M02  where rpt='2024';




-- 基础部分数据
select
    ifnull(A0184,'')                                                                                                        身份证号,
    ifnull(A0101,'')                                                                                                        姓名,
    ifnull(substr(a0107, 1, 6),'')                                                                                          出生时间,
    IF(A0104 = 1, '男', '女')                                                                                                性别,
    ifnull((select min(code_name) from code_value where A0117=code_value and code_type='GB3304'),'')                        民族,
    ifnull(substr(a0134, 1, 6),'')                                                                                          参加工作时间,
    ifnull((select min(code_name) from code_value where A0141=code_value and code_type='GB4762'),'')                        政治面貌,
    ifnull((select case when A0801B like '1%' then '研究生' when A0801B like '2%' then '大学本科' when A0801B like '3%' then '大学专科' else '中专及以下' end
            from A08 where A0831=1 and A01.A0000=A08.A0000), '') 全日制学历,
    ifnull((select case when A0801B like '1%' then '研究生' when A0801B like '2%' then '大学本科' when A0801B like '3%' then '大学专科' else '中专及以下' end
            from A08 where A0834=1 and A01.A0000=A08.A0000), '') 最高学历,
    ifnull((select case when A0831 like '3%' then '硕士' when A0831 like '4%' then '学士' else '博士' end from A08 where A0835=1 and A01.A0000=A08.A0000), '') 最高学位,
    ifnull((select min(code_name) from code_value where A0123=code_value and code_type='XZ93'),'')                          职位类别,
    ifnull((select min(code_name) from A05, code_value where A0501B=code_value and code_type='ZB09' and A0531=0 and A0524=1 and A01.A0000=A05.A0000), '') 现职务层次,
    ifnull((select substr(A0504, 1, 6) from A05 where A0531=0 and A0524=1 and A01.A0000=A05.A0000), '')                     任现职务层次时间,
    ifnull((select min(code_name) from A05, code_value where A0501B=code_value and code_type='ZB148' and A0531=1 and A0524=1 and A01.A0000=A05.A0000), '') 现职级层次,
    (select ifnull(DATE_FORMAT(DATE_ADD(concat(substr(A0530, 1, 4),'-',substr(A0530, 5, 2),'-01'), INTERVAL ifnull(A0532, 0) MONTH), '%Y%m'),
                   substr(A0504, 1, 6)) from A05 where A0531=1 and A0524=1 and A01.A0000=A05.A0000)                                                任现职级层次时间,
    IF(A0197 = 1, '是', '否')                                                                                                是否具有2年以上基层经验,
    ifnull((select min(code_name) from A15, code_value where A1517=code_value and code_type='ZB18' and A1521='2023' and A01.A0000=A15.A0000), '') 2023年度考核结果,
    ifnull((select min(code_name) from code_value where A0160=code_value and code_type='ZB125'),'')                         人员类别,
    ifnull((select '是' from A99Z1 where A99Z101=1 and A99Z103=1 and A99Z102 like '2024%' and A01.A0000=A99Z1.A0000), '否')  2024年考录选调生
from A01  where A0163='1';

