-- *****************************
-- 创建人员: 杨坤安
-- 创建时间: 2024-08-21
-- 功能描述: 多径合同到期表填报表
-- *****************************



DROP TABLE IF EXISTS dw.ods_divfmanage_contract_d;
CREATE TABLE IF NOT EXISTS dw.ods_divfmanage_contract_d (
     id                     VARCHAR(100)  PRIMARY KEY
    ,CommID 	            VARCHAR(100) COMMENT '项目ID'
    ,comm_name              VARCHAR(100) COMMENT '项目名称'
    ,OrganCode              VARCHAR(100) COMMENT '片区ID'
    ,organ_name             VARCHAR(100) COMMENT '片区名称'
    ,ContractCategory       VARCHAR(100) COMMENT '合同类型'
    ,ContractName           VARCHAR(100) COMMENT '合同名称'
    ,BuyerConnectpeople     VARCHAR(100) COMMENT '商家名称-乙方'
    ,ContractBeginTime      VARCHAR(100) COMMENT '合同开始时间'
    ,ContractEndTime        VARCHAR(100) COMMENT '合同结束时间'
    ,ContractTotalPrice     DECIMAL(12,6) COMMENT '合同金额'
    ,is_renew               VARCHAR(100) COMMENT '是否续签'
)COMMENT = '多径合同到期表填报表'
;


SELECT count(1) from dw.ods_divfmanage_contract_d
where is_renew = '1';

SELECT
    *
FROM dw.ods_divfmanage_contract_d
where is_renew = '1' ;

SELECT
*
FROM dw.ods_divfmanage_contract_d
ORDER BY ContractEndTime;

         TRUNCATE TABLE dw.ods_divfmanage_contract_d;

INSERT INTO ods_divfmanage_contract_d
SELECT
      a.id 				    as id
     ,A.CommID 	            AS CommID 	           -- 项目ID
     ,B.comm_name           AS comm_name         -- 项目名称
     ,B.organ_code           AS OrganCode          -- 片区ID
     ,B.organ_name          AS organ_name       -- 片区名称
     ,A.ContractCategory    AS ContractCategory   -- 合同类型
     ,A.ContractName        AS ContractName       -- 合同名称
     ,A.BuyerConnectpeople  AS BuyerConnectpeople -- 商家名称-乙方
     ,A.ContractBeginTime   AS ContractBeginTime  -- 合同开始时间
     ,A.ContractEndTime     AS ContractEndTime    -- 合同结束时间
     ,A.ContractTotalPrice  AS ContractTotalPrice -- 合同金额
     ,'0'                   AS is_renew           -- 是否续签
FROM
    (
        SELECT
            id
             ,CommID 	        -- 项目ID
             ,OrganCode          -- 片区ID
             ,ContractCategory   -- 合同类型
             ,ContractName       -- 合同名称
             ,BuyerConnectpeople -- 商家名称-乙方
             ,ContractBeginTime  -- 合同开始时间
             ,ContractEndTime    -- 合同结束时间
             ,ContractTotalPrice -- 合同金额
        FROM dw.ods_erp_tb_divfmanage_contract_d
        WHERE IFNULL(IsDelete, 0) = 0
          AND IFNULL (AuditStatus, '') = '已审核'
          AND IFNULL (ContractChangeType, '') <> '终止'
          AND ContractEndTime >= CURDATE()
          AND datediff(ContractEndTime,CURDATE()) BETWEEN 0 AND 90
    )A
        JOIN
    (
        SELECT
            DISTINCT
            organ_code -- erp片区id
                   ,organ_name -- erp片区名称
                   ,comm_id    -- erp项目id
                   ,comm_name  -- erp项目名称
        FROM dw.dim_organ_mapping -- 组织结构映射维度表
        WHERE comm_id IS NOT NULL
    )B
    ON A.CommID = B.comm_id
;



-- 【数据集】
SELECT
    id
     ,CommID 	           -- 项目ID
     ,comm_name         -- 项目名称
     ,OrganCode          -- 片区ID
     ,organ_name       -- 片区名称
     ,ContractCategory   -- 合同类型
     ,ContractName       -- 合同名称
     ,BuyerConnectpeople -- 商家名称-乙方
     ,substr(ContractBeginTime,1,10) AS ContractBeginTime  -- 合同开始时间
     ,substr(ContractEndTime,1,10) AS ContractEndTime    -- 合同结束时间
     ,ContractTotalPrice -- 合同金额
     ,is_renew           -- 是否续签
FROM dw.ods_divfmanage_contract_d
WHERE is_renew = '0'
${IF(LEN(p_area)!=0," and OrganCode IN ('"+JOINARRAY(p_area,"','")+"')","")}
${IF(LEN(p_shop)!=0," and CommID IN ('"+JOINARRAY(p_shop,"','")+"')","")}
${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}