`
haofeng0305
  • 浏览: 31260 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

合并清洗

阅读更多

CREATE OR REPLACE PACKAGE BODY NETS_TCIMS_PC_SHIELD IS

  SPLIT_CHR   VARCHAR2(1) := ',';

/*
   屏蔽代码要使用  基表查询
   BDL_RULE_REF_SHIELD
*/ 
  /***********************************************************
  --功能说明:   合并清洗 供 核保限制车型屏蔽 使用(入库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在所有清洗功能完成之后   PC_ENTER_RESULT_STG_0_TMP
  --*********************************************************/
  PROCEDURE SP_UNITE_FOR_SHIELD_CAR_MODEL
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,56,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_1_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_1_STG_TMP
           (
            SYS_ID,
            AUTOMODEL_NAME,
            VEHICLE_TYPE,
            TON_NUMBER,
            SEAT_NUMBER,
            CITY,
            SECONDARY_ORG
           )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2)*/
           A.SYS_ID,
           B.AUTOMODEL_NAME,
           --C.VEHICLE_TYPE  VEHICLE_CLASS,  -- 字段备用,待确认字段
           C.VEHICLE_TYPE_CODE,
           D.TON_NUMBER,
           D.SEAT_NUMBER,
           A.CITY,
           A.SECONDARY_ORG
      FROM PC_ENTER_RESULT_STG_0_TMP       A,  -- 清除了 非法 city 和 重复记录
           --IDL_SEP_SRC_DATA                A,
           (SELECT SYS_ID,AUTOMODEL_NAME,PURCHASE_PRICE,FACTORY_LOGO,
                   VEHICLE_SERIES,VEHICLE_CLASS_CODE,IS_PRICE_VALID
             FROM PC_CLEAN_CAR_NAME_PRIC_STG_TMP
           WHERE CLEAN_STATUS = '1')  B,  --车型名称
           (SELECT SYS_ID,VEHICLE_TYPE_CODE,VEHICLE_TYPE
             FROM PC_CLEAN_VEHIC_TYPE_CD_STG_TMP
           WHERE CLEAN_STATUS = '1')  C,  --车辆种类
           PC_CLEAN_SOME_NUMBER_STG_TMP    D   --数字
           --PC_COMPARE_REPEAT_STG_TMP       E    -- 重复记录
      WHERE A.SYS_ID = B.SYS_ID(+)
        AND A.SYS_ID = C.SYS_ID(+)
        AND A.SYS_ID = D.SYS_ID(+);
     COMMIT;
   
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,56,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,56,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_FOR_SHIELD_CAR_MODEL; 

  /***********************************************************
  --功能说明:   抽取准备数据 供 核保限制车型屏蔽 使用(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序 名单准备 完成之后
  --*********************************************************/
  PROCEDURE SP_FETCH_FOR_SHIELD_CAR_MODEL
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,85,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_1_STG_TMP');
       
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_1_STG_TMP
           (
            SYS_ID,
            AUTOMODEL_NAME,
            VEHICLE_TYPE,
            TON_NUMBER,
            SEAT_NUMBER,
            CITY,
            SECONDARY_ORG
           )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2)*/
           A.USE_SYS_ID SYS_ID,
           A.AUTOMODEL_NAME,          
           A.VEHICLE_TYPE_CODE,
           A.TON_NUMBER,
           A.SEAT_NUMBER,
           A.CITY,
           A.SECONDARY_ORG
      FROM DML_SEP_USE_CUST_INFO  A,
           DML_SEP_USE_CUST_BATCH B,
           IDL_SEP_EP_BATCH       C
      WHERE A.BATCH_ID = B.BATCH_ID
        AND (B.BATCH_STATUS = '26'
         OR (B.BATCH_ID = C.BATCH_NO
             AND B.BATCH_STATUS = '27'
             AND C.BATCH_STATUS = '28'));
     COMMIT;
   
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,85,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,85,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_FETCH_FOR_SHIELD_CAR_MODEL; 

  /***********************************************************
  --功能说明:   屏蔽核保限制车型(出入屏蔽可重用)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  入库时 必须 在  SP_UNITE_FOR_SHIELD_CAR_MODEL 运行完毕后
                出库时          SP_FETCH_FOR_SHIELD_CAR_MODEL
  --*********************************************************/
  PROCEDURE SP_SHIELD_RESTRICT_CAR_MODEL
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,61,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_CAR_MODEL_STG_TMP');

    --标识屏蔽结果   数值比较要判断,  比较条件要改改
    INSERT /*+APPEND*/
      INTO PC_SHIELD_CAR_MODEL_STG_TMP
           ( SYS_ID, SHIELD_FLAG )
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.SYS_ID,
             'B' SHIELD_FLAG
        FROM PC_SHIELD_PREPARE_1_STG_TMP A,
             BDL_RULE_REF_SHIELD_CAR_MODEL B
        WHERE ((A.AUTOMODEL_NAME LIKE B.AUTOMODEL_NAME) OR B.AUTOMODEL_NAME IS NULL)
          AND ((A.VEHICLE_TYPE LIKE B.VEHICLE_TYPE) OR B.VEHICLE_TYPE IS NULL)
          AND (INSTR(TON_NUMBER_SIGN,DECODE(SIGN(A.TON_NUMBER - B.TON_NUMBER),'1','>','0','=','-1','<'))>0
                OR B.TON_NUMBER IS NULL)
          AND (INSTR(SEAT_NUMBER_SIGN ,DECODE(SIGN(A.SEAT_NUMBER - B.SEAT_NUMBER),'1','>','0','=','-1','<'))>0
                OR B.SEAT_NUMBER IS NULL)
          AND ((A.CITY LIKE B.CITY) OR B.CITY IS NULL)
          AND ((A.SECONDARY_ORG LIKE B.SECONDARY_ORG) OR B.SECONDARY_ORG IS NULL);
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,61,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,61,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_RESTRICT_CAR_MODEL;

  /***********************************************************
  --功能说明:   合并清洗 供 出租车 屏蔽 使用(入库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在所有清洗功能完成之后 PC_ENTER_RESULT_STG_0_TMP
  --*********************************************************/
  PROCEDURE SP_UNITE_FOR_SHIELD_TAXI
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,57,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_2_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_2_STG_TMP
           (
            SYS_ID,
            VEHICLE_NO,
            CUST_NAME,
            AUTOMODEL_NAME
           )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2)*/
           A.SYS_ID,
           B.VEHICLE_NO,
           C.CUST_NAME ,
           D.AUTOMODEL_NAME
      FROM PC_ENTER_RESULT_STG_0_TMP       A,  -- 清除了非法 city -- 重复记录
           --IDL_SEP_SRC_DATA                A,
           (SELECT SYS_ID, VEHICLE_NO ,CITY ,VEHICLE_NO_INTEGRITY
             FROM PC_CLEAN_VEHICLE_NO_STG_TMP  
           WHERE CLEAN_STATUS = '1')  B, 
           (SELECT SYS_ID,CUST_NAME, ORG_FLAG
             FROM PC_CLEAN_CUST_NAME_STG_TMP 
           WHERE CLEAN_STATUS = '1')    C,
           (SELECT SYS_ID ,AUTOMODEL_NAME ,PURCHASE_PRICE ,FACTORY_LOGO,
                   VEHICLE_SERIES ,VEHICLE_CLASS_CODE ,IS_PRICE_VALID
             FROM PC_CLEAN_CAR_NAME_PRIC_STG_TMP
             WHERE CLEAN_STATUS = '1')  D
           --PC_COMPARE_REPEAT_STG_TMP       E    -- 重复记录
      WHERE A.SYS_ID = B.SYS_ID(+)
        AND A.SYS_ID = C.SYS_ID(+)
        AND A.SYS_ID = D.SYS_ID(+);
     COMMIT; 
    
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,57,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,57,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_FOR_SHIELD_TAXI;  

  /***********************************************************
  --功能说明:   抽取准备数据 供 出租车 屏蔽 使用(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在 名单准备 完成之后
  --*********************************************************/
  PROCEDURE SP_FETCH_FOR_SHIELD_TAXI
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,86,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_2_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_2_STG_TMP
           (
            SYS_ID,
            VEHICLE_NO,
            CUST_NAME,
            AUTOMODEL_NAME
           )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2)*/
           A.USE_SYS_ID SYS_ID,
           A.VEHICLE_NO,
           A.CUST_NAME ,
           A.AUTOMODEL_NAME
      FROM DML_SEP_USE_CUST_INFO  A,
           DML_SEP_USE_CUST_BATCH B,
           IDL_SEP_EP_BATCH       C
      WHERE A.BATCH_ID = B.BATCH_ID
        AND (B.BATCH_STATUS = '26'
         OR (B.BATCH_ID = C.BATCH_NO
             AND B.BATCH_STATUS = '27'
             AND C.BATCH_STATUS = '28'));
     COMMIT; 
    
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,86,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,86,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_FETCH_FOR_SHIELD_TAXI; 
 
  /***********************************************************
  --功能说明:   屏蔽出租车(出入屏蔽可重用)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  入库时 必须 在  SP_UNITE_FOR_SHIELD_TAXI 运行完毕后
                出库时          SP_FETCH_FOR_SHIELD_TAXI
  --*********************************************************/
  PROCEDURE SP_SHIELD_TAXI
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,62,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_TAXI_STG_TMP');

    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_TAXI_STG_TMP
           (SYS_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.SYS_ID,
             'C' SHIELD_FLAG
        FROM PC_SHIELD_PREPARE_2_STG_TMP A,
             BDL_RULE_REF_SHIELD_TAXI    B
        WHERE ((A.VEHICLE_NO LIKE B.VEHICLE_NO) OR B.VEHICLE_NO IS NULL)
          AND ((A.CUST_NAME LIKE B.CUST_NAME) OR B.CUST_NAME IS NULL)
          AND ((A.AUTOMODEL_NAME LIKE B.AUTOMODEL_NAME) OR B.AUTOMODEL_NAME IS NULL);
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,62,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,62,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_TAXI;

  /***********************************************************
  --功能说明:   合并清洗 供 无法送单地区 屏蔽 使用(入库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在所有清洗功能完成之后 PC_ENTER_RESULT_STG_0_TMP
  --*********************************************************/
  PROCEDURE SP_UNITE_FOR_SHIELD_UNABL_AREA
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,58,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_3_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_3_STG_TMP
           (SYS_ID,AREA_INFO,CITY,SECONDARY_ORG)
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
           A.SYS_ID,
           B.CRM_AREA_FLAG AREA_INFO,
           A.CITY,
           A.SECONDARY_ORG
           --A.PROVINCE
      FROM PC_ENTER_RESULT_STG_0_TMP       A,  -- 清除了非法 city -- 重复记录
           --IDL_SEP_SRC_DATA                A,
           PC_CLEAN_CRM_AREA_FLAG_STG_TMP  B  --地区标识
           --PC_COMPARE_REPEAT_STG_TMP       E    -- 重复记录
      WHERE A.SYS_ID = B.SYS_ID(+);
     COMMIT;
        
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,58,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,58,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_FOR_SHIELD_UNABL_AREA;

  /***********************************************************
  --功能说明:   抽取准备数据 供 无法送单地区 屏蔽 使用(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在 名单准备 完成之后
  --*********************************************************/
  PROCEDURE SP_FETCH_FOR_SHIELD_UNABL_AREA
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,87,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_3_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_3_STG_TMP
           (SYS_ID,AREA_INFO,CITY,SECONDARY_ORG)
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2)*/
           A.USE_SYS_ID SYS_ID,
           A.AREA_INFO,
           A.CITY,
           A.SECONDARY_ORG
           --A.PROVINCE             匹配时不要使用省份字段
      FROM DML_SEP_USE_CUST_INFO A,
           DML_SEP_USE_CUST_BATCH B,
           IDL_SEP_EP_BATCH       C
      WHERE A.BATCH_ID = B.BATCH_ID
        AND (B.BATCH_STATUS = '26'
         OR (B.BATCH_ID = C.BATCH_NO
             AND B.BATCH_STATUS = '27'
             AND C.BATCH_STATUS = '28'));
     COMMIT;
        
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,87,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,87,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_FETCH_FOR_SHIELD_UNABL_AREA;

  /***********************************************************
  --功能说明:   屏蔽无法送单地区(出入屏蔽可重用)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  入库时 必须 在  SP_UNITE_FOR_SHIELD_UNABL_AREA 运行完毕后
                出库时          SP_FETCH_FOR_SHIELD_UNABL_AREA
  --*********************************************************/
  PROCEDURE SP_SHIELD_UNABLE_AREA
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,63,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_UNABLE_AREA_STG_TMP');

    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_UNABLE_AREA_STG_TMP
           (SYS_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.SYS_ID,
             'D' SHIELD_FLAG
        FROM PC_SHIELD_PREPARE_3_STG_TMP       A,
             BDL_RULE_REF_SHIELD_UNABL_AREA    B
        WHERE ((A.AREA_INFO LIKE B.AREA_INFO) OR B.AREA_INFO IS NULL)
          AND ((A.CITY LIKE B.CITY) OR B.CITY IS NULL)
          AND ((A.SECONDARY_ORG LIKE B.SECONDARY_ORG) OR B.SECONDARY_ORG IS NULL);
          --AND ((A.PROVINCE LIKE B.PROVINCE) OR A.PROVINCE IS NULL);
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,63,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,63,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_UNABLE_AREA;

  /***********************************************************
  --功能说明:   合并清洗 供 无法承保车 屏蔽 使用
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在所有清洗功能完成之后 PC_ENTER_RESULT_STG_0_TMP
  --*********************************************************/
  PROCEDURE SP_UNITE_FOR_SHIELD_UNINSURABL
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,59,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_4_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_4_STG_TMP
           (
              SYS_ID,
              CITY,
              VT_FACTORY,
              VEHICLE_STATUS,
              BRAND_TYPE_CODE,
              CUST_NAME,
              VEHICLE_NO,
              AUTOMODEL_NAME,
              VEHICLE_TYPE,
              USAGE_CODE
           )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(E 2) PARALLEL(F 2) PARALLEL(G 2)*/
           A.SYS_ID,
           A.CITY,
           A.VT_FACTORY,
           A.VEHICLE_STATUS,
           B.BRAND_TYPE_CODE,
           C.CUST_NAME,
           D.VEHICLE_NO,
           E.AUTOMODEL_NAME,
           F.VEHICLE_TYPE,
           G.USAGE_CODE
      FROM PC_ENTER_RESULT_STG_0_TMP       A,  -- 清除了非法 city -- 重复记录
           --IDL_SEP_SRC_DATA                A,
           (SELECT SYS_ID, BRAND_TYPE_CODE
             FROM PC_CLEAN_BRAND_TYPE_CD_STG_TMP
           WHERE CLEAN_STATUS = '1') B,  --号牌种类代码
           (SELECT SYS_ID, CUST_NAME, ORG_FLAG
             FROM PC_CLEAN_CUST_NAME_STG_TMP  
           WHERE CLEAN_STATUS = '1')   C,  --客户姓名
           (SELECT SYS_ID, VEHICLE_NO, CITY, VEHICLE_NO_INTEGRITY
             FROM PC_CLEAN_VEHICLE_NO_STG_TMP 
           WHERE CLEAN_STATUS = '1')   D,  --车牌号码
           (SELECT SYS_ID, AUTOMODEL_NAME, PURCHASE_PRICE, FACTORY_LOGO,
                   VEHICLE_SERIES, VEHICLE_CLASS_CODE, IS_PRICE_VALID
             FROM PC_CLEAN_CAR_NAME_PRIC_STG_TMP
           WHERE CLEAN_STATUS = '1') E,  --车型名称
           (SELECT SYS_ID, VEHICLE_TYPE_CODE, VEHICLE_TYPE
             FROM PC_CLEAN_VEHIC_TYPE_CD_STG_TMP
           WHERE CLEAN_STATUS = '1') F,  --车辆种类
           (SELECT SYS_ID, USAGE_CODE, USAGE_ATTRIBUTE
             FROM PC_CLEAN_USAGE_CODE_STG_TMP
            WHERE CLEAN_STATUS = '1')    G   --使用性质
           --PC_COMPARE_REPEAT_STG_TMP       H    -- 重复记录
      WHERE A.SYS_ID = B.SYS_ID(+)
        AND A.SYS_ID = C.SYS_ID(+)
        AND A.SYS_ID = D.SYS_ID(+)
        AND A.SYS_ID = E.SYS_ID(+)
        AND A.SYS_ID = F.SYS_ID(+)
        AND A.SYS_ID = G.SYS_ID(+);
     COMMIT;
        
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,59,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,59,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_FOR_SHIELD_UNINSURABL;

  /***********************************************************
  --功能说明:   抽取准备数据 供 无法承保车 屏蔽 使用
  --参数说明:
  --调用函数:
  --修改记录:  EX-LIUJIALI001
  --注意事项:  顺序在 名单准备 完成之后
  --*********************************************************/
  PROCEDURE SP_FETCH_FOR_SHIELD_UNINSURABL
  IS
    P_ID        NUMBER;         -- 日志记录ID
    P_ERRMSG    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,88,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_PREPARE_4_STG_TMP');
   
    -- 合并清洗后的数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_PREPARE_4_STG_TMP
           (
              SYS_ID,
              CITY,
              VT_FACTORY,
              VEHICLE_STATUS,
              BRAND_TYPE_CODE,
              CUST_NAME,
              VEHICLE_NO,
              AUTOMODEL_NAME,
              VEHICLE_TYPE,
              USAGE_CODE
           )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2)*/
           A.USE_SYS_ID SYS_ID,
           A.CITY,
           A.VT_FACTORY,           -- 制造厂
           A.VEHICLE_STATUS,       -- 车辆状态
           A.BRAND_TYPE_CODE,
           A.CUST_NAME,
           A.VEHICLE_NO,
           A.AUTOMODEL_NAME,
           A.VEHICLE_TYPE_CODE,
           A.USAGE_CODE
      FROM DML_SEP_USE_CUST_INFO  A,
           DML_SEP_USE_CUST_BATCH B,
           IDL_SEP_EP_BATCH       C
      WHERE A.BATCH_ID = B.BATCH_ID
        AND (B.BATCH_STATUS = '26'
         OR (B.BATCH_ID = C.BATCH_NO
             AND B.BATCH_STATUS = '27'
             AND C.BATCH_STATUS = '28'));
     COMMIT;
        
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,88,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        P_ERRMSG := SUBSTR(SQLERRM,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,88,NULL,'03',P_ERRMSG,NULL,NULL,NULL);
        RAISE;
  END SP_FETCH_FOR_SHIELD_UNINSURABL;

  /***********************************************************
  --功能说明:   屏蔽无法承保车(出入屏蔽可重用)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  入库时 必须 在  SP_UNITE_FOR_SHIELD_UNINSURABL 运行完毕后
                出库时          SP_FETCH_FOR_SHIELD_UNINSURABL
  --*********************************************************/
  PROCEDURE SP_SHIELD_UNINSURABL
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,64,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_UNINSURABLE_STG_TMP');

    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_UNINSURABLE_STG_TMP
           (SYS_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.SYS_ID,
             'I' SHIELD_FLAG
        FROM PC_SHIELD_PREPARE_4_STG_TMP       A,
             BDL_RULE_REF_SHIELD_UNINSURABL    B
        WHERE ((A.CITY = B.CITY) OR B.CITY IS NULL)
          AND ((A.BRAND_TYPE_CODE LIKE B.BRAND_TYPE_CODE) OR B.BRAND_TYPE_CODE IS NULL)
          AND ((A.VT_FACTORY LIKE B.VT_FACTORY) OR B.VT_FACTORY IS NULL)
          AND ((A.CUST_NAME LIKE B.CUST_NAME) OR B.CUST_NAME IS NULL)
          AND ((A.VEHICLE_NO LIKE B.VEHICLE_NO) OR B.VEHICLE_NO IS NULL)
          AND ((A.AUTOMODEL_NAME LIKE B.AUTOMODEL_NAME) OR B.AUTOMODEL_NAME IS NULL)
          AND ((A.AUTOMODEL_NAME NOT LIKE B.NOTLIKE_AUTOMODEL_NAME) OR B.NOTLIKE_AUTOMODEL_NAME IS NULL)
          AND ((A.AUTOMODEL_NAME NOT LIKE B.NOTLIKE_AUTOMODEL_NAME_1) OR B.NOTLIKE_AUTOMODEL_NAME_1 IS NULL)
          AND ((A.VEHICLE_TYPE LIKE B.VEHICLE_TYPE) OR B.VEHICLE_TYPE IS NULL)
          AND ((A.USAGE_CODE = B.USAGE_CODE) OR B.USAGE_CODE IS NULL)
          AND ((A.VEHICLE_STATUS LIKE B.VEHICLE_STATUS) OR B.VEHICLE_STATUS IS NULL);
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,64,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,64,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_UNINSURABL;


  /***********************************************************
  --功能说明:   屏蔽无效日期(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --*********************************************************/
  PROCEDURE SP_SHIELD_INVALID_DATE
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录

  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,91,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_INVALID_DATE_STG_TMP');

    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_INVALID_DATE_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2)*/
             A.USE_SYS_ID TCIMS_CUST_ID,
             'E' SHIELD_FLAG
        FROM DML_SEP_USE_CUST_INFO  A,
             DML_SEP_USE_CUST_BATCH B,
             IDL_SEP_EP_BATCH       C
      WHERE A.FIRST_REGISTER_DATE IS NULL
        AND A.POLICY_END_DATE IS NULL
        AND A.BATCH_ID = B.BATCH_ID
        AND (B.BATCH_STATUS = '26'
         OR (B.BATCH_ID = C.BATCH_NO
             AND B.BATCH_STATUS = '27'
             AND C.BATCH_STATUS = '28'));
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,91,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,91,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_INVALID_DATE;

  /***********************************************************
  --功能说明:   屏蔽代理电话/投诉电话、领导电话。。。前数据提取\整合(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  数据准备完 后
  --*********************************************************/
  PROCEDURE SP_UNITE_FOR_SHIELD_PHONE
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
    --v_split_chr varchar2(1) := ',';
    v_phone_split_chr varchar2(1) := '-';
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,92,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_ALL_PHONE_1_TMP');

    --抽取数据
    INSERT /*+APPEND*/
      INTO PC_SHIELD_ALL_PHONE_1_TMP
           (
            TCIMS_CUST_ID,
            HOME_TEL,
            OFF_TEL,
            MOBILE_TEL,
            OTHER1_TEL,
            OTHER2_TEL,
            OTHER3_TEL,
            OTHER4_TEL,
            OTHER5_TEL,
            OTHER6_TEL,
            OTHER7_TEL,
            VEHICLE_NO
           )
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2)*/
              A.USE_SYS_ID TCIMS_CUST_ID,             
              A.HOME_AREACODE||v_phone_split_chr||A.HOME_TEL HOME_TEL,
              A.OFF_AREACODE||v_phone_split_chr||A.OFF_TEL   OFF_TEL,
              A.MOBILE_TEL,
              A.OTHER1_AREACODE||v_phone_split_chr||A.OTHER1_TEL  OTHER1_TEL,
              A.OTHER2_AREACODE||v_phone_split_chr||A.OTHER2_TEL  OTHER2_TEL,
              A.OTHER3_AREACODE||v_phone_split_chr||A.OTHER3_TEL  OTHER3_TEL,
              A.OTHER4_AREACODE||v_phone_split_chr||A.OTHER4_TEL  OTHER4_TEL,
              A.OTHER5_AREACODE||v_phone_split_chr||A.OTHER5_TEL  OTHER5_TEL,
              A.OTHER6_AREACODE||v_phone_split_chr||A.OTHER6_TEL  OTHER6_TEL,
              A.OTHER7_AREACODE||v_phone_split_chr||A.OTHER7_TEL  OTHER7_TEL,
              A.VEHICLE_NO
        FROM DML_SEP_USE_CUST_INFO  A,
             DML_SEP_USE_CUST_BATCH B,
             IDL_SEP_EP_BATCH       C
       WHERE  A.BATCH_ID = B.BATCH_ID
        AND (B.BATCH_STATUS = '26'
         OR (B.BATCH_ID = C.BATCH_NO
             AND B.BATCH_STATUS = '27'
             AND C.BATCH_STATUS = '28'));
    COMMIT;
   
    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,92,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,92,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_FOR_SHIELD_PHONE;

  /***********************************************************
  --功能说明:   屏蔽代理电话(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  SP_UNITE_FOR_SHIELD_PHONE 运行完毕后
  --*********************************************************/
  PROCEDURE SP_SHIELD_AGENCY_PHONE
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,93,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_AGENCY_PHONE_STG_TMP');
   
    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_AGENCY_PHONE_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.TCIMS_CUST_ID,
             'F' SHIELD_FLAG
        FROM PC_SHIELD_ALL_PHONE_1_TMP   A,
             BDL_RULE_REF_SHIELD_PHONE   B
       WHERE ( A.HOME_TEL = B.PHONE
              OR A.OFF_TEL = B.PHONE
              OR A.MOBILE_TEL = B.PHONE
              OR A.OTHER1_TEL = B.PHONE
              OR A.OTHER2_TEL = B.PHONE
              OR A.OTHER3_TEL = B.PHONE
              OR A.OTHER4_TEL = B.PHONE
              OR A.OTHER5_TEL = B.PHONE
              OR A.OTHER6_TEL = B.PHONE
              OR A.OTHER7_TEL = B.PHONE )
         AND B.PHONE_TYPE = '1';
    COMMIT;  

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,93,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,93,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_AGENCY_PHONE;

  /***********************************************************
  --功能说明:   屏蔽投诉电话(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  SP_UNITE_FOR_SHIELD_PHONE 运行完毕后
  --*********************************************************/
  PROCEDURE SP_SHIELD_CHARGE_PHONE
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,94,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_CHARGE_PHONE_STG_TMP');
   
    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_CHARGE_PHONE_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.TCIMS_CUST_ID,
             'G' SHIELD_FLAG
        FROM PC_SHIELD_ALL_PHONE_1_TMP   A,
             BDL_RULE_REF_SHIELD_PHONE   B
       WHERE ( A.HOME_TEL = B.PHONE
              OR A.OFF_TEL = B.PHONE
              OR A.MOBILE_TEL = B.PHONE
              OR A.OTHER1_TEL = B.PHONE
              OR A.OTHER2_TEL = B.PHONE
              OR A.OTHER3_TEL = B.PHONE
              OR A.OTHER4_TEL = B.PHONE
              OR A.OTHER5_TEL = B.PHONE
              OR A.OTHER6_TEL = B.PHONE
              OR A.OTHER7_TEL = B.PHONE )
         AND B.PHONE_TYPE = '3';
    COMMIT;  

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,94,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,94,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_CHARGE_PHONE;

  /***********************************************************
  --功能说明:   屏蔽领导电话(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  SP_UNITE_FOR_SHIELD_PHONE 运行完毕后
  --*********************************************************/
  PROCEDURE SP_SHIELD_LEADER_PHONE
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,95,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_LEADER_PHONE_STG_TMP');
   
    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_LEADER_PHONE_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.TCIMS_CUST_ID,
             'K' SHIELD_FLAG
        FROM PC_SHIELD_ALL_PHONE_1_TMP   A,
             BDL_RULE_REF_SHIELD_PHONE B
       WHERE ( A.HOME_TEL = B.PHONE
              OR A.OFF_TEL = B.PHONE
              OR A.MOBILE_TEL = B.PHONE
              OR A.OTHER1_TEL = B.PHONE
              OR A.OTHER2_TEL = B.PHONE
              OR A.OTHER3_TEL = B.PHONE
              OR A.OTHER4_TEL = B.PHONE
              OR A.OTHER5_TEL = B.PHONE
              OR A.OTHER6_TEL = B.PHONE
              OR A.OTHER7_TEL = B.PHONE )
         AND B.PHONE_TYPE = '2';
    COMMIT;  

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,95,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,95,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_LEADER_PHONE;

  /***********************************************************
  --功能说明:   屏蔽车辆过长信息(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  数据准备完 后 
  --*********************************************************/
  PROCEDURE SP_SHIELD_FIRST_REGISTER_DATE
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,96,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_FST_REG_DATE_STG_TMP');
   
    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_FST_REG_DATE_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2)*/
             A.USE_SYS_ID TCIMS_CUST_ID,
             'H' SHIELD_FLAG
        FROM DML_SEP_USE_CUST_INFO          A,
             BDL_RULE_REF_SHIELD_FST_REG_DT B,
             DML_SEP_USE_CUST_BATCH         C,
             IDL_SEP_EP_BATCH       D
       WHERE A.FIRST_REGISTER_DATE < B.FIRST_REGISTER_DATE
         AND A.CITY = B.ORG
         AND A.BATCH_ID = C.BATCH_ID
         AND (C.BATCH_STATUS = '26'
         OR  (C.BATCH_ID = D.BATCH_NO
             AND C.BATCH_STATUS = '27'
             AND D.BATCH_STATUS = '28'));
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,96,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,96,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_FIRST_REGISTER_DATE;
 
  /***********************************************************
  --功能说明:   屏蔽领导姓名信息(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  数据准备完 后 
  --*********************************************************/
  PROCEDURE SP_SHIELD_LEADER_NAME
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,97,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_LEADER_NAME_STG_TMP');
   
    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_LEADER_NAME_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2)*/
             A.USE_SYS_ID TCIMS_CUST_ID,
             'M' SHIELD_FLAG
        FROM DML_SEP_USE_CUST_INFO          A,
             BDL_RULE_REF_SHIELD_LEADER     B,
             DML_SEP_USE_CUST_BATCH         C,
             IDL_SEP_EP_BATCH       D
       WHERE A.CUST_NAME = B.LEADER_NAME
         AND (A.SECONDARY_ORG = B.SECONDARY_ORG OR B.SECONDARY_ORG IS NULL)
         AND (A.CITY = B.CITY OR B.CITY IS NULL)        
         AND A.BATCH_ID = C.BATCH_ID
         AND (C.BATCH_STATUS = '26'
         OR  (C.BATCH_ID = D.BATCH_NO
             AND C.BATCH_STATUS = '27'
             AND D.BATCH_STATUS = '28'));
    COMMIT;  

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,97,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,97,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_LEADER_NAME; 


  /***********************************************************
  --功能说明:   屏蔽不良客户信息(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  SP_UNITE_FOR_SHIELD_PHONE 运行完毕后 
  --*********************************************************/
  PROCEDURE SP_SHIELD_BADNESS_CUST
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
    --v_split_chr varchar2(1) := ',';
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,98,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_BADNESS_CUST_STG_TMP');
   
    --标识屏蔽结果
    INSERT /*+APPEND*/
      INTO PC_SHIELD_BADNESS_CUST_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
      SELECT /*+PARALLEL(A 2) PARALLEL(B 2)*/
             A.TCIMS_CUST_ID,
             'T' SHIELD_FLAG
        FROM PC_SHIELD_ALL_PHONE_1_TMP        A,
             BDL_RULE_REF_SHIELD_BAD_CUST     B
       WHERE (A.VEHICLE_NO LIKE B.VEHICLE_NO AND B.TELEPHONE_NUMBER IS NULL)
          OR (( A.HOME_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OFF_TEL LIKE B.TELEPHONE_NUMBER
                OR A.MOBILE_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER1_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER2_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER3_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER4_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER5_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER6_TEL LIKE B.TELEPHONE_NUMBER
                OR A.OTHER7_TEL LIKE B.TELEPHONE_NUMBER )
              AND ( B.VEHICLE_NO IS NULL OR A.VEHICLE_NO LIKE B.VEHICLE_NO)
              );
    COMMIT;  

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,98,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,98,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_BADNESS_CUST; 

  /***********************************************************
  --功能说明:   EP屏蔽数据准备(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  必须 在  数据准备完 后 
  --*********************************************************/
  PROCEDURE SP_SHIELD_PREPARE_FOR_EP
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
    v_cur_tmp   cur_type_tmp;
   
    CURSOR CUR_EP_BATCH(v_BATCH_STATUS VARCHAR2, v_IS_EP VARCHAR2) IS
     SELECT A.BATCH_ID,
            A.BATCH_NAME,
            A.CMP_NAME,
            A.CMP_DATE,
            A.BATCH_TOTAL_NUM,
            A.BATCH_STATUS,
            A.BATCH_PRIORITY,
            A.LIST_TYPE,
            A.DATA_SOURCE,
            A.CREATED_DATE,
            A.CREATED_BY,
            A.UPDATED_DATE,
            A.UPDATED_BY
       FROM DML_SEP_USE_CUST_BATCH  A,
            BDL_COM_DATA_SOURCE     B
      WHERE A.BATCH_STATUS = v_BATCH_STATUS
        AND A.DATA_SOURCE = B.DATA_SOURCE_CODE
        AND B.IS_EP = v_IS_EP;
    
    v_BATCH_ID_tmp  VARCHAR2(20);     -- 批次id截取临时变量
       
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,90,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    --NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','');
   
    OPEN CUR_EP_BATCH('26','01');
    LOOP
        FETCH CUR_EP_BATCH BULK COLLECT INTO v_cur_tmp LIMIT 100;
          EXIT WHEN v_cur_tmp.COUNT = 0;
          FOR i IN v_cur_tmp.FIRST .. v_cur_tmp.LAST  LOOP
         
          IF LENGTH(v_cur_tmp(i).BATCH_ID) > 20 THEN
             v_BATCH_ID_tmp := SUBSTR(v_cur_tmp(i).BATCH_ID,-20);
          ELSE
             v_BATCH_ID_tmp := v_cur_tmp(i).BATCH_ID;
          END IF;
         
          -- 新增交互批次状态
          INSERT /*+APPEND*/
            INTO IDL_SEP_EP_BATCH
           (BATCH_NO     ,
            BATCH_NAME   ,
            CITY_ID      ,
            CREATED_DATE ,
            CREATED_BY   ,
            UPDATED_DATE ,
            UPDATED_BY   ,
            BATCH_STATUS )
            VALUES
            (v_BATCH_ID_tmp,
             v_cur_tmp(i).BATCH_NAME ,
             NULL,
             SYSDATE,
             'SYSTEM',
             SYSDATE,
             'SYSTEM',
             '28');
         
          --修改准备批次状态
          UPDATE DML_SEP_USE_CUST_BATCH
             SET batch_status = '27'
           WHERE batch_id = v_cur_tmp(i).BATCH_ID;
                
          --抽取数据 更新跟EP交互的名单表
          INSERT /*+APPEND*/
            INTO IDL_SEP_EP_CUST
                 (
                  USE_SYS_ID,
                  TCIMS_CUST_ID,
                  BATCH_NO,
                  CITY_ID,
                  CUST_NAME,
                  VEHICLE_NO,
                  ENGINNO,
                  VEHICLEFRAME,
                  FIRSTREGISTERDATE,
                  VEHICLETYPE_NAME,
                  CUST_BIRD,
                  FIRSTSALEDATE,
                  FIRST_LICENSE_DATE,
                  POLICY_EFFECTIVE_DATE,
                  POLICY_END_DATE,
                  MAIN_DRIVER_DOB,
                  CREATED_DATE,
                  CREATED_BY,
                  UPDATED_DATE,
                  UPDATED_BY
                 )
           SELECT /*+PARALLEL(A 4)*/
                  A.USE_SYS_ID,
                  A.TCIMS_CUST_ID,
                  CASE
                    WHEN LENGTH(A.BATCH_ID)>20 THEN
                         SUBSTR(A.BATCH_ID,-20)
                    ELSE
                         A.BATCH_ID
                  END BATCH_NO,
                  A.CITY,
                  A.CUST_NAME,
                  A.VEHICLE_NO,
                  A.ENGINE_NUMBER,
                  A.VEHICLE_FRAME,
                  A.FIRST_REGISTER_DATE,
                  A.AUTOMODEL_NAME,
                  A.CUST_DOB,
                  A.BRAND_TYPE_FIRST_SALE_DATE,
                  A.DRIVER_LICENSE_FST_ISSUE_DATE,
                  A.POLICY_EFFECTIVE_DATE,
                  A.POLICY_END_DATE,
                  A.MAIN_DRIVER_DOB,
                  SYSDATE,
                  'SYSTEM',
                  SYSDATE,
                  'SYSTEM'
             FROM DML_SEP_USE_CUST_INFO A
            WHERE A.BATCH_ID = v_cur_tmp(i).BATCH_ID; 
           COMMIT;            
        END LOOP;
    END LOOP;   

    CLOSE CUR_EP_BATCH;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,90,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        IF CUR_EP_BATCH%ISOPEN THEN
           CLOSE CUR_EP_BATCH;
        END IF;
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,90,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_SHIELD_PREPARE_FOR_EP;

  /***********************************************************
  --功能说明:   组合屏蔽结果(入库屏蔽) 更新准备入库名单表
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  须在<SP_SHIELD_RESTRICT_CAR_MODEL, SP_SHIELD_TAXI,
                     SP_SHIELD_UNABLE_AREA,        SP_SHIELD_UNINSURABL>完成后进行
  --*********************************************************/
  PROCEDURE SP_UNITE_ALL_IN_SHIELD_RESULT
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,68,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_IN_SHIELD_UNITE_STG_TMP');

    -- 整合所有屏蔽标识
    INSERT /*+APPEND*/
      INTO PC_IN_SHIELD_UNITE_STG_TMP
           (SYS_ID,SHIELD_FLAG)
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(E 2)*/
           A.SYS_ID,
           NVL2(B.SHIELD_FLAG,B.SHIELD_FLAG||SPLIT_CHR,'')||
           NVL2(C.SHIELD_FLAG,C.SHIELD_FLAG||SPLIT_CHR,'')||
           NVL2(D.SHIELD_FLAG,D.SHIELD_FLAG||SPLIT_CHR,'')||
           NVL2(E.SHIELD_FLAG,D.SHIELD_FLAG||SPLIT_CHR,'') SHIELD_FLAG
      FROM  PC_ENTER_RESULT_STG_0_TMP                A,
            (SELECT SYS_ID,
                    MAX(SHIELD_FLAG) SHIELD_FLAG
               FROM PC_SHIELD_CAR_MODEL_STG_TMP
                    GROUP BY SYS_ID)                 B,
            (SELECT SYS_ID,
                    MAX(SHIELD_FLAG) SHIELD_FLAG
             FROM PC_SHIELD_TAXI_STG_TMP
                  GROUP BY SYS_ID)                   C,
            (SELECT SYS_ID,
                    MAX(SHIELD_FLAG) SHIELD_FLAG
               FROM PC_SHIELD_UNABLE_AREA_STG_TMP
                  GROUP BY SYS_ID)                   D,
            (SELECT SYS_ID,
                    MAX(SHIELD_FLAG) SHIELD_FLAG
             FROM PC_SHIELD_UNINSURABLE_STG_TMP
                  GROUP BY SYS_ID)                   E
     WHERE A.SYS_ID = B.SYS_ID(+)
       AND A.SYS_ID = C.SYS_ID(+)
       AND A.SYS_ID = D.SYS_ID(+)
       AND A.SYS_ID = E.SYS_ID(+);
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,68,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,68,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_ALL_IN_SHIELD_RESULT;

/*
  组合屏蔽结果
  IDL_SEP_EP_CUST_SCR
  所有内部屏蔽,
 
  --  ep 的屏蔽记录 第二天去取,根据 批次表中的 数据来源  (IDL_SEP_EP_CUST_SCR)
  EP屏蔽数据提取与内部屏蔽同时进行
*/
  /***********************************************************
  --功能说明:   组合屏蔽结果(出库屏蔽) 更新准备名单表
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  须在<SP_UNITE_SHIELD_1,SP_UNITE_SHIELD_2,
                     SP_UNITE_SHIELD_3,SP_UNITE_SHIELD_4>完成后进行
  --*********************************************************/
  PROCEDURE SP_UNITE_ALL_SHIELD_RESULT
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,104,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_UNITE_STG_TMP');

    -- 整合所有屏蔽标识
    INSERT /*+APPEND*/
      INTO PC_SHIELD_UNITE_STG_TMP
           (TCIMS_CUST_ID,SHIELD_FLAG)
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(E 2) PARALLEL(F 2)*/
           A.USE_SYS_ID TCIMS_CUST_ID,
           B.SHIELD_FLAG||C.SHIELD_FLAG||D.SHIELD_FLAG||E.SHIELD_FLAG  SHIELD_FLAG
      FROM  DML_SEP_USE_CUST_INFO          A,
            PC_SHIELD_UNITE_STG_1_TMP      B,
            PC_SHIELD_UNITE_STG_2_TMP      C,
            PC_SHIELD_UNITE_STG_3_TMP      D,
            PC_SHIELD_UNITE_STG_4_TMP      E,
            DML_SEP_USE_CUST_BATCH         F
     WHERE A.USE_SYS_ID = B.TCIMS_CUST_ID(+)
       AND A.USE_SYS_ID = C.TCIMS_CUST_ID(+)
       AND A.USE_SYS_ID = D.TCIMS_CUST_ID(+)
       AND A.USE_SYS_ID = E.TCIMS_CUST_ID(+)
       AND A.BATCH_ID = F.BATCH_ID
       AND (F.BATCH_STATUS = '26' OR F.BATCH_STATUS = '27');
    COMMIT;

    -- 更新本次操作日志
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,104,NULL,'02',NULL,NULL,NULL,NULL);

  EXCEPTION
     WHEN OTHERS THEN
        p_errmsg := SUBSTR(sqlerrm,1,500);
        NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,104,NULL,'03',p_errmsg,NULL,NULL,NULL);
        RAISE;
  END SP_UNITE_ALL_SHIELD_RESULT;

  /***********************************************************
  --功能说明:   组合屏蔽结果1(出库屏蔽)
  --参数说明:
  --调用函数:
  --修改记录:  create by ex-qiuweisheng001/ex-liujiali001
  --注意事项:  须在所有出库屏蔽完成后进行
  --*********************************************************/
  PROCEDURE SP_UNITE_SHIELD_1
  IS
    p_id        NUMBER;         -- 日志记录id
    p_errmsg    VARCHAR2(500);  -- 错误记录
   
  BEGIN
    -- 操作记录
    NETS_TCIMS_COMM.SP_LOG_RECORDER(p_id,100,NULL,'01',NULL,NULL,NULL,NULL);

    --清空结果临时表
    NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','PC_SHIELD_UNITE_STG_1_TMP');
   
    -- 先整合几个屏蔽标识
    INSERT /*+APPEND*/
      INTO PC_SHIELD_UNITE_STG_1_TMP
           (TCIMS_CUST_ID ,SHIELD_FLAG )
    SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(E 2)*/
           A.USE_SYS_ID TCIMS_CUST_ID,
           NVL2(B.SHIELD_FLAG,B.SHIELD_FLAG||SPLIT_CHR,'')||
           NVL2(C.SHIELD_FLAG,C.SHIELD_FLAG||SPLIT_CHR,'')||
           NVL2(D.SHIELD_FLAG,D.SHIELD_FLAG||SPLIT_CHR,'') SHIELD_FLAG
      FROM  DML_SEP_USE_CUST_INFO          A,
            (SELECT SYS_ID,
                    MAX(SHIELD_FLAG) SHIELD_FLAG
             FROM PC_SHIELD_CAR_MODEL_STG_TMP
         

分享到:
评论

相关推荐

    【完美合并清洗】1998-2015工业企业数据库面板数据,附赠完美匹配代码和原始数据!

    本数据集为1998-2015年共18年间工业企业数据库完美清洗、纠错、核实、更正 后的数据集,附赠完美合并代码(Stata可以直接运行的Do文件,我加好了注释,一 点即通,可留存备查或练习)具体说明如下: 1.数据集的处理...

    室内供暖系统的试压清洗及试运行资料PPT学习教案.pptx

    4. **清洗顺序**:一般按照主管、干管、支管的顺序进行,小支管可合并清洗。 5. **清洗方法**:拆下敏感部件,用最大压力和流量进行清洗,直至出口水质清澈,无颗粒物。 **蒸汽吹洗**: 1. **适用条件**:蒸汽吹洗...

    好用的EXCEL文件合并的小程序

    4. **数据处理功能**:可能还提供了数据清洗、排序、去重等功能,帮助用户在合并前对数据进行预处理。 5. **结果导出**:合并完成后,用户可以选择将结果保存为新的Excel文件,以便后续使用或分享。 标签中的"EXCEL...

    CSV文件合并工具

    4. **数据过滤与清洗**:高级版本的工具可能包含数据过滤和清洗功能,如去除重复行、空格处理、异常值检测等,帮助用户提前处理潜在的数据质量问题。 5. **自定义导出**:用户可以定制输出设置,例如选择导出的列、...

    TXT 批量合并器

    在执行合并任务时,还可以考虑与其他文本处理工具结合使用,如正则表达式查找替换,以进一步清洗或格式化合并后的文本。此外,如果有编程基础,可以利用Python等语言编写自定义脚本来实现更复杂的需求,例如添加自动...

    excel合并工具,可以合并多个表格数据

    - **Power Query(获取和转换)**:这是Excel 2010及以后版本的强大功能,可以轻松地连接、合并和清洗来自不同源的数据。 3. **使用“excel合并工具”:** - **电子表格数据合并帮助.CHM**:这通常是一个帮助文档...

    多个EXCEL表合并工具

    - 利用Power Query(Excel 2010及以上版本内置功能)进行数据清洗和合并,它支持从多种来源导入数据,包括多个Excel文件。 6. **拓展知识**: - Excel的"数据"菜单下的"获取外部数据"功能也能实现不同Excel文件的...

    多表合并工具

    4. 数据清洗与处理:在合并过程中,可能需要进行数据清洗,去除重复项、填充缺失值、格式转换等操作,确保合并后的数据质量。这通常需要配合使用Excel的条件格式、查找替换、数据验证等工具。 5. 数据安全与隐私:...

    Python学习笔记7——数据清洗之多表合并

    数据清洗中的多表合并是数据分析的基础操作,熟练掌握这些方法能极大地提高工作效率。在实际工作中,我们可能需要结合实际情况灵活运用这些合并方式,例如通过条件筛选合并、处理缺失值后再合并等。同时,理解合并后...

    数据清洗研究.rar

    - SQL:在数据库中进行数据清洗,如使用CASE语句处理异常值,JOIN操作合并重复数据。 - 商业工具:Excel用于小规模数据清洗,Tableau、Power BI等BI工具提供预处理功能。 4. 中文数据清洗的挑战与应对: - 汉字...

    mapreduce项目 数据清洗

    在这个族谱清洗项目中,Reducer可能会收集所有与特定人物相关的键值对,然后合并这些信息,例如,汇总一个人的所有家庭成员,确保每个角色只出现一次。此外,Reducer也可以用来处理更复杂的关系分析,比如查找家族树...

    含代码基于python的excel合并、数据清洗工具2.0

    当时上传的较为基础,因此未同步上传python代码,这次上传的2.0版本,功能较为完善,在合并表格的基础上增加了数据去重、去空格、去空白行等数据清洗功能,同时上传了python代码,供大家互相学习使用。

    数据清洗研究综述 数据清洗现状

    而数据集成则关注于将来自不同源的数据合并成一致的形式,以便进行后续的数据分析。数据清洗和数据集成通常在数据抽取、转换和加载(Data ETL)过程中同时进行。 #### 四、领域无关数据清洗方法 领域无关数据清洗...

    EXCEL合并(更新)

    比如,2007及更高版本提供了Power Query(现为"获取和转换")功能,可直接从多个源加载、合并和清洗数据。 4. **注意事项**: - 在合并过程中,确保所有工作表和工作簿的列名和数据结构一致,以避免数据混乱。 - ...

    excel合并单元格vbs

    - **数据清洗**:在数据分析过程中,需要对重复的数据进行清理或合并。 - **报表制作**:在制作财务报表、销售报表等时,需要将相同的信息合并显示,以增强报表的可读性和美观度。 - **批量处理**:对于大量的Excel...

    U8 cloud实施工具-产品培训-合并报表

    2. **数据处理层:**包括数据清洗、转换等预处理工作,确保数据的一致性和准确性。 3. **报表编制层:**根据预设规则和算法,自动生成合并报表。 4. **用户交互层:**提供友好的界面,便于用户查看、编辑和管理合并...

    ETL中的数据清洗设计

    (3)数据清洗的具体实现过程:包括数据校验、数据转换、数据合并、数据删除等步骤。 在选择ETL处理方式时,需要考虑到数据清洗的需求。如果需要进行复杂的数据清洗,数据库中的ETL处理方式是最好的选择。这是因为...

    文本分割.合并器

    2. **数据清洗**:在数据分析前,可能需要将大文件拆分为小块,以便逐个处理和清洗。 3. **分块传输**:在网络传输大型文本文件时,为了提高效率,可以将其分割成若干小部分并分批传输。 4. **搜索引擎索引**:搜索...

    数据采集与数据清洗+数据库连接+JMP+EXCEL+数据分析

    目录 一、数据采集 ... 2.3 将多个数据文件合并到一个表 三、数据清洗 3.1 选择子集 3.2 字段(列名)重命名 3.3 删除重复值 3.4 缺失值处理 3.5 一致化处理 3.6 数据堆叠 3.7 异常值的判断与处理

    Excel 合并操作,小工具源码

    在Excel中进行合并操作是一项常见的数据管理任务,尤其在处理大量数据时,高效的数据整合显得尤为重要。本主题将深入探讨如何使用Excel自带的功能以及自定义的小工具源码来实现数据的合并与处理。 首先,Excel的...

Global site tag (gtag.js) - Google Analytics