Project

General

Profile

Actions

Task #15863

closed

Task #15825: Billing Fix Lot 1

Query Ocean House Imp Bls

Added by Redmine Admin 9 months ago. Updated about 15 hours ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Start date:
03/18/2025
Due date:
03/18/2025
% Done:

100%

Estimated time:
0:00 h
GitLab ID:
2242
GitLab Milestone:
GitLab Ticket Number:
468
GitLab Time Logged:
0
Lock Timeline Date:
No
gitlab project trace:
Billing Fix Lot 1

Description

WITH
    HISTORY_ADD
    AS
        (SELECT H.MANIFEST_ID,
                H.BL_DETAILS_ID,
                H.BL_NUMBER,
                H.JOB_NO,
                H.AMENDMENT_TYPE,
                H.CUSTOMS_APPROVAL_DATE  APPROVAL_DATE_AMENDMENT,
                H.DATA
           FROM OCEAN_IMP.HOUSEMANI_AMENDMENT_HISTORY  H
                LEFT JOIN HOUSEMANI_HEADER MH
                    ON     MH.MANIFEST_ID = H.MANIFEST_ID
                       AND TO_DATE (MH.APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                                                 AND :IN_DATE_TO
          WHERE     H.AMENDMENT_TYPE = 'ADD'
                AND H.CUSTOMS_RESPONSE = 'Y'
                AND MH.MANIFEST_ID IS NULL
                AND TO_DATE (H.CUSTOMS_APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                                                 AND :IN_DATE_TO),
    ADDED24MANIFESTEDPRIOR24
    AS
        (SELECT H.MANIFEST_ID,
                H.JOB_NO,
                H.COMPANY_CODE,
                H.AG_NAME           COMPANY_NAME,
                H.BL_NUMBER         MASTERBL,
                H.ATP,
                H.APPROVAL_DATE     APPROVAL_MANIFEST,
                D.CUSTOMS_MESSAGE,
                D.CUSTOMS_RESPONSE,
                A.APPROVAL_DATE_AMENDMENT,
                A.AMENDMENT_TYPE,
                D.BL_NUMBER,
                D.JOB_NO            JOB_NO_AMENDMENT,
                D.BL_DETAILS_ID
           FROM HOUSEMANI_HEADER  H
                INNER JOIN HOUSEMANI_BL_DETAILS D
                    ON H.MANIFEST_ID = D.MANIFEST_ID
                INNER JOIN HISTORY_ADD A ON D.BL_DETAILS_ID = A.BL_DETAILS_ID),
    HISTORY_ADD25
    AS
        (SELECT H.MANIFEST_ID,
                H.BL_DETAILS_ID,
                H.BL_NUMBER,
                H.JOB_NO,
                H.AMENDMENT_TYPE,
                H.CUSTOMS_APPROVAL_DATE     APPROVAL_DATE_AMENDMENT,
                H.DATA
           FROM OCEAN_IMP.HOUSEMANI_AMENDMENT_HISTORY  H
                LEFT JOIN HOUSEMANI_HEADER MH
                    ON     MH.MANIFEST_ID = H.MANIFEST_ID
                       AND TO_DATE (MH.APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                                                 AND :IN_DATE_TO
          WHERE     H.AMENDMENT_TYPE = 'ADD'
                AND H.CUSTOMS_RESPONSE = 'Y'
                AND TO_DATE (H.CUSTOMS_APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') >=
                    :IN_DATE_TO),
    MQ
    AS
        (                    -- FETCH ADDED IN PERIOD/YEAR BUT NOT MANIFESTED IN PERIOD/YEAR
        SELECT JOB_NO,
                COMPANY_CODE,
                MASTERBL,
                COMPANY_NAME,
                ATP,
                APPROVAL_MANIFEST,
                BL_NUMBER,
                JOB_NO_AMENDMENT,
                AMENDMENT_TYPE,
                APPROVAL_DATE_AMENDMENT
           FROM ADDED24MANIFESTEDPRIOR24
         UNION
         -- fetch approved manifested or approved added amendment in 2024
         SELECT MH.JOB_NO,
                MH.COMPANY_CODE                          COMPANY_CODE,
                MH.BL_NUMBER                             MASTERBL,
                MH.AG_NAME                               COMPANY_NAME,
                MH.ATP,
                MH.APPROVAL_DATE                         APPROVAL_MANIFEST,
                COALESCE (MBL.BL_NUMBER, H.BL_NUMBER)    BL_NUMBER,
                MBL.JOB_NO                               JOB_NO_AMENDMENT,
                H.AMENDMENT_TYPE,
                H.CUSTOMS_APPROVAL_DATE                  APPROVAL_DATE_AMENDMENT
           FROM HOUSEMANI_HEADER  MH
                INNER JOIN OCEAN_COMMON.VOYAGE_HEADER VH ON MH.ATP = VH.ATP
                LEFT JOIN OCEAN_COMMON.VOYAGE_DETAILS VD
                    ON     VH.VOYAGE_HEADER_ID = VD.VOYAGE_HEADER_ID
                       AND VD.SKIPPED = 'Y'
                       AND VD.LAST_MODIFIED_DATE BETWEEN :IN_DATE_FROM
                                                     AND :IN_DATE_TO
                INNER JOIN HOUSEMANI_BL_DETAILS MBL
                    ON MBL.MANIFEST_ID = MH.MANIFEST_ID
                INNER JOIN HOUSEMANI_CONT_BULK MCB
                    ON MCB.BL_DETAILS_ID = MBL.BL_DETAILS_ID
                LEFT JOIN HOUSEMANI_AMENDMENT_HISTORY H
                    ON     H.MANIFEST_ID = MH.MANIFEST_ID
                       AND H.BL_DETAILS_ID = MBL.BL_DETAILS_ID
                       AND H.AMENDMENT_TYPE = 'ADD'
                       AND H.CUSTOMS_RESPONSE = 'Y'
                LEFT JOIN HISTORY_ADD25 H25
                    ON H25.BL_DETAILS_ID = MBL.BL_DETAILS_ID
          WHERE     MH.CUSTOMS_RESPONSE = 'Y'
                AND MBL.APPROVED_AT_CUSTOMS = 'Y'
                AND VD.VOYAGE_HEADER_ID IS NULL         -- must not be skipped
                AND H25.BL_DETAILS_ID IS NULL
                AND (   TO_DATE (MH.APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                                              AND :IN_DATE_TO
                     OR (TO_DATE (H.CUSTOMS_APPROVAL_DATE,
                                  'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                             AND :IN_DATE_TO))
         UNION
         -- FETCH DELETED IN 2025 BUT APPROVED IN 2024
         SELECT MH.JOB_NO,
                MH.COMPANY_CODE             COMPANY_CODE,
                MH.BL_NUMBER                MASTERBL,
                MH.AG_NAME                  COMPANY_NAME,
                MH.ATP,
                MH.APPROVAL_DATE            APPROVAL_MANIFEST,
                H.BL_NUMBER,
                H.JOB_NO                    JOB_NO_AMENDMENT,
                H.AMENDMENT_TYPE,
                H.CUSTOMS_APPROVAL_DATE     APPROVAL_DATE_AMENDMENT
           FROM HOUSEMANI_HEADER  MH
                INNER JOIN OCEAN_COMMON.VOYAGE_HEADER VH ON MH.ATP = VH.ATP
                LEFT JOIN OCEAN_COMMON.VOYAGE_DETAILS VD
                    ON     VH.VOYAGE_HEADER_ID = VD.VOYAGE_HEADER_ID
                       AND VD.SKIPPED = 'Y'
                       AND VD.LAST_MODIFIED_DATE BETWEEN :IN_DATE_FROM
                                                     AND :IN_DATE_TO
                INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H
                    ON     H.MANIFEST_ID = MH.MANIFEST_ID
                       AND H.AMENDMENT_TYPE = 'DEL'
          WHERE     MH.CUSTOMS_RESPONSE = 'Y'
                AND H.CUSTOMS_RESPONSE = 'Y'
                AND VD.VOYAGE_HEADER_ID IS NULL         -- must not be skipped
                AND TO_DATE (MH.APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                                          AND :IN_DATE_TO
                AND TO_DATE (H.CUSTOMS_APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') >
                    :IN_DATE_TO
                    ),
    DEL23
    AS
        (SELECT DISTINCT MH.JOB_NO,
                         MH.COMPANY_CODE             COMPANY_CODE,
                         MH.BL_NUMBER                MASTERBL,
                         MH.AG_NAME                  COMPANY_NAME,
                         MH.ATP,
                         MH.APPROVAL_DATE            APPROVAL_MANIFEST,
                         H.BL_NUMBER,
                         H.JOB_NO                    JOB_NO_AMENDMENT,
                         H.AMENDMENT_TYPE,
                         H.CUSTOMS_APPROVAL_DATE     APPROVAL_DATE_AMENDMENT
           FROM HOUSEMANI_HEADER  MH
                INNER JOIN OCEAN_COMMON.VOYAGE_HEADER VH ON MH.ATP = VH.ATP
                LEFT JOIN OCEAN_COMMON.VOYAGE_DETAILS VD
                    ON     VH.VOYAGE_HEADER_ID = VD.VOYAGE_HEADER_ID
                       AND VD.SKIPPED = 'Y'
                       AND VD.LAST_MODIFIED_DATE BETWEEN :IN_DATE_FROM
                                                     AND :IN_DATE_TO
                INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H
                    ON     H.MANIFEST_ID = MH.MANIFEST_ID
                       AND H.AMENDMENT_TYPE = 'DEL'
          WHERE     MH.CUSTOMS_RESPONSE = 'Y'
                AND H.CUSTOMS_RESPONSE = 'Y'
                AND VD.VOYAGE_HEADER_ID IS NULL         -- must not be skipped
                AND (    TO_DATE (MH.APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') <
                         :IN_DATE_FROM
                     AND (TO_DATE (H.CUSTOMS_APPROVAL_DATE,
                                   'DD-MON-YYYY HH24:MI') BETWEEN :IN_DATE_FROM
                                                              AND :IN_DATE_TO))),
    DUP
    AS   -- ALL REPEATING MASTERBL-BL COMBOs
        (  SELECT MASTERBL, BL_NUMBER
             FROM (SELECT H.BL_NUMBER MASTERBL, D.BL_NUMBER
                     FROM HOUSEMANI_HEADER H
                          INNER JOIN HOUSEMANI_BL_DETAILS D
                              ON H.MANIFEST_ID = D.MANIFEST_ID
                    WHERE     H.CUSTOMS_RESPONSE = 'Y'
                          AND D.APPROVED_AT_CUSTOMS = 'Y'
                   UNION ALL
                   SELECT H.BL_NUMBER, H1.BL_NUMBER
                     FROM HOUSEMANI_HEADER H
                          INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H1
                              ON H.MANIFEST_ID = H1.MANIFEST_ID
                    WHERE     TO_DATE (H1.CUSTOMS_APPROVAL_DATE,
                                       'DD-MON-YYYY HH24:MI:SS') >=
                              :IN_DATE_TO
                          AND AMENDMENT_TYPE = 'DEL')
         GROUP BY MASTERBL, BL_NUMBER
           HAVING COUNT (*) > 1),
    DUP_DELINC
    AS                                     -- ALL REPEATING MASTERBL-BL COMBOs
        (  SELECT MASTERBL, BL_NUMBER
             FROM (SELECT H.BL_NUMBER MASTERBL, D.BL_NUMBER
                     FROM HOUSEMANI_HEADER H
                          INNER JOIN HOUSEMANI_BL_DETAILS D
                              ON H.MANIFEST_ID = D.MANIFEST_ID
                    WHERE     H.CUSTOMS_RESPONSE = 'Y'
                          AND D.APPROVED_AT_CUSTOMS = 'Y'
                   UNION ALL
                   SELECT H.BL_NUMBER, H1.BL_NUMBER
                     FROM HOUSEMANI_HEADER H
                          INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H1
                              ON H.MANIFEST_ID = H1.MANIFEST_ID
                    WHERE     TO_DATE (H1.CUSTOMS_APPROVAL_DATE,
                                       'DD-MON-YYYY HH24:MI:SS') BETWEEN :IN_DATE_FROM
                                                                     AND :IN_DATE_TO
                          AND AMENDMENT_TYPE = 'DEL')
         GROUP BY MASTERBL, BL_NUMBER
           HAVING COUNT (*) > 1),
    DUP_DELETED
    AS   -- ALL REPEATING MASTERBL-BL COMBOs
        (SELECT H.BL_NUMBER MASTERBL, H1.BL_NUMBER, H.ATP
           FROM HOUSEMANI_HEADER  H
                INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H1
                    ON H.MANIFEST_ID = H1.MANIFEST_ID
                INNER JOIN DUP_DELINC D
                    ON     D.MASTERBL = H.BL_NUMBER
                       AND D.BL_NUMBER = H1.BL_NUMBER
          WHERE AMENDMENT_TYPE = 'DEL'),
    P
    AS
        (SELECT DISTINCT
                HD.MASTERBL,
                HD.BL_NUMBER,
                HD.ATP,
                HD.COMPANY_CODE,
                HD.APPROVAL_DATE,
                ROW_NUMBER ()
                    OVER (
                        PARTITION BY HD.MASTERBL, HD.BL_NUMBER
                        ORDER BY
                            TO_DATE (APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') ASC)    AS RNK
           FROM (SELECT H.BL_NUMBER     AS MASTERBL,
                        D.BL_NUMBER,
                        H.ATP,
                        H.COMPANY_CODE,
                        H.APPROVAL_DATE
                   FROM HOUSEMANI_HEADER  H
                        INNER JOIN HOUSEMANI_BL_DETAILS D
                            ON H.MANIFEST_ID = D.MANIFEST_ID
                 UNION
                 SELECT H.BL_NUMBER,
                        H1.BL_NUMBER,
                        H.ATP,
                        H.COMPANY_CODE,
                        H.APPROVAL_DATE
                   FROM HOUSEMANI_HEADER  H
                        INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H1
                            ON H.MANIFEST_ID = H1.MANIFEST_ID
                  WHERE     TO_DATE (H1.CUSTOMS_APPROVAL_DATE,
                                     'DD-MON-YYYY HH24:MI:SS') >=
                            :IN_DATE_TO
                        AND TO_DATE (H.APPROVAL_DATE,
                                     'DD-MON-YYYY HH24:MI:SS') <
                            :IN_DATE_TO
                        AND AMENDMENT_TYPE = 'DEL') HD
                LEFT JOIN OCEAN_COMMON.VOYAGE_HEADER VH ON HD.ATP = VH.ATP
                LEFT JOIN OCEAN_COMMON.VOYAGE_DETAILS VD
                    ON VH.VOYAGE_HEADER_ID = VD.VOYAGE_HEADER_ID
                INNER JOIN DUP
                    ON     HD.MASTERBL = DUP.MASTERBL
                       AND HD.BL_NUMBER = DUP.BL_NUMBER
          WHERE     NVL (VD.SKIPPED, 'N') <> 'Y'
                AND VD.VOYAGE_DETAIL_TYPE = 'ARRIVAL'),
    SKIPPED
    AS                                -- fetch all skipped house prior to BILLING PERIOD
        (SELECT DISTINCT
                HD.MASTERBL,
                HD.BL_NUMBER,
                HD.ATP,
                HD.COMPANY_CODE,
                HD.APPROVAL_DATE,
                ROW_NUMBER ()
                    OVER (
                        PARTITION BY HD.MASTERBL, HD.BL_NUMBER
                        ORDER BY
                            TO_DATE (APPROVAL_DATE, 'DD-MON-YYYY HH24:MI') ASC)    AS RNK
           FROM (SELECT H.BL_NUMBER     AS MASTERBL,
                        D.BL_NUMBER,
                        H.ATP,
                        H.COMPANY_CODE,
                        H.APPROVAL_DATE
                   FROM HOUSEMANI_HEADER  H
                        INNER JOIN HOUSEMANI_BL_DETAILS D
                            ON H.MANIFEST_ID = D.MANIFEST_ID
                 UNION
                 SELECT H.BL_NUMBER,
                        H1.BL_NUMBER,
                        H.ATP,
                        H.COMPANY_CODE,
                        H.APPROVAL_DATE
                   FROM HOUSEMANI_HEADER  H
                        INNER JOIN HOUSEMANI_AMENDMENT_HISTORY H1
                            ON H.MANIFEST_ID = H1.MANIFEST_ID
                  WHERE     TO_DATE (H.APPROVAL_DATE,
                                     'DD-MON-YYYY HH24:MI:SS') >=
                            ADD_MONTHS (
                                TO_DATE ( :IN_DATE_FROM, 'DD-MON-YYYY'),
                                -6)
                        AND AMENDMENT_TYPE = 'DEL') HD
                LEFT JOIN OCEAN_COMMON.VOYAGE_HEADER VH ON HD.ATP = VH.ATP
                LEFT JOIN OCEAN_COMMON.VOYAGE_DETAILS VD
                    ON VH.VOYAGE_HEADER_ID = VD.VOYAGE_HEADER_ID
                INNER JOIN DUP
                    ON     HD.MASTERBL = DUP.MASTERBL
                       AND HD.BL_NUMBER = DUP.BL_NUMBER
          WHERE     NVL (VD.SKIPPED, 'N') = 'Y'
                AND VD.VOYAGE_DETAIL_TYPE = 'ARRIVAL'),
    H3
    AS
        (SELECT *
           FROM HOUSEMANI_AMENDMENT_HISTORY
          WHERE     CREATEDDATE BETWEEN :IN_DATE_FROM AND :IN_DATE_TO
                AND CUSTOMS_RESPONSE = 'Y'
                AND NVL (AMENDMENT_TYPE, 'x') NOT IN ('ADD', 'DEL', 'SUB')),
    OLD_DATA
    AS
        (SELECT H.JOB_NO, H.BL_NUMBER, JT.CONTAINER_BULK_NO AS CONTAINER_NO
           FROM H3  H,
                JSON_TABLE (
                    H.OLD_VALUES,
                    '$.HOUSEMANI_CONT_BULK[*]'
                    COLUMNS (
                        CONTAINER_BULK_NO
                            VARCHAR2 (50)
                            PATH '$.CONTAINER_BULK_NO')) JT),
    NEW_DATA
    AS
        (SELECT H.JOB_NO, H.BL_NUMBER, JT.CONTAINER_BULK_NO AS CONTAINER_NO
           FROM H3  H,
                JSON_TABLE (
                    H.NEW_VALUES,
                    '$.HOUSEMANI_CONT_BULK[*]'
                    COLUMNS (
                        CONTAINER_BULK_NO
                            VARCHAR2 (50)
                            PATH '$.CONTAINER_BULK_NO')) JT),
    FQ
    AS
        (  SELECT DISTINCT MQ.*
             FROM MQ
                  LEFT JOIN P
                      ON     MQ.ATP = P.ATP
                         AND MQ.MASTERBL = P.MASTERBL
                         AND MQ.BL_NUMBER = P.BL_NUMBER
            WHERE 1 = 1 AND (RNK = 1 OR P.BL_NUMBER IS NULL) -- fetch only the first record per partshipped and fecth all not partshipped
         ORDER BY 1, 6),
    CONTAINER_ACTIVE
    AS
        (SELECT O.JOB_NO, O.BL_NUMBER, O.CONTAINER_NO AS DELETED_CONTAINER
           FROM OLD_DATA  O
                LEFT JOIN NEW_DATA N
                    ON     O.JOB_NO = N.JOB_NO
                       AND O.CONTAINER_NO = N.CONTAINER_NO
          WHERE N.CONTAINER_NO IS NULL AND O.CONTAINER_NO IS NOT NULL),
    WRONG_REFUND AS
    (
        SELECT N1.BILLING_PERIOD,
        N1.CLIENTCODE,
        N1.MASTERREFERENCE,
        N1.HOUSEREFERENCE AS BL_NUMBER,
        N1.CCSIMPORTVOYAGEID,
        'WRONG REFUND' STATUS
        FROM NB_HBL N1
        LEFT JOIN NB_HBL N2 
           ON N2.QUANTITY = 1 AND N1.HOUSEREFERENCE = N2.HOUSEREFERENCE AND N1.MASTERREFERENCE = N2.MASTERREFERENCE AND N1.CCSIMPORTVOYAGEID = N2.CCSIMPORTVOYAGEID
        WHERE N1.QUANTITY = -1
        AND N2.HOUSEREFERENCE IS NULL
        AND CAST(TO_TIMESTAMP(N1.TRANSACTIONDATE, 'YYYY-MM-DD HH24:MI:SS.FF') AS DATE)> :IN_DATE_FROM
    )
    --SELECT * FROM SKIPPED;
    --SELECT * FROM FQ order by atp, masterbl, bl_number; --FULL billing       
    --SELECT * FROM DEL23; -- e.g. TO GET COUNT DELETED IN 2024 BUT MANIFESTED IN 2023
    --SELECT * FROM DUP_DELETED;   -- TO GET PARTSHIPPED THAT HAS BEEN DELETED
   SELECT FQ.APPROVAL_MANIFEST,
           FQ.COMPANY_CODE,
           FQ.MASTERBL,
           FQ.BL_NUMBER,
           FQ.ATP,
           CASE               
               WHEN  NP0.DESCRIPTION LIKE '%Partshipped%' AND ND.HOUSEREFERENCE IS NOT NULL
               THEN 'UNDERBILLING DUE TO WRONGLY MARKED AS PARTSHIPPED DUE TO BILLED BUT CONSEQUENTLY DELETED ON ANOTHER ATP'
               WHEN D.BL_NUMBER IS NOT NULL AND N.HOUSEREFERENCE IS NULL
               THEN 'UNDERBILLING DUE TO WRONGLY IDENTIFIED AS PARTSHIPPED DUE TO BILLED BUT CONSEQUENTLY DELETED ON ANOTHER ATP'
               WHEN S.BL_NUMBER IS NOT NULL
               THEN 'UNDERBILLING DUE TO IDENTIFIED AS PARTSHIPPED DUE TO SKIPPED VESSEL - SKIPPED BEFORE '|| :IN_DATE_TO
               WHEN C.BL_NUMBER IS NOT NULL AND ND.HOUSEREFERENCE IS NOT NULL
               THEN 'UNDERBILLING DUE TO DELETION OF CONTAINER. BL IS STILL VALID AS IT HAS OTHER CONTAINERS'
               WHEN N.HOUSEREFERENCE IS NULL THEN 'UNDERBILLING'
               ELSE 'UNKNOWN'
           END AS STATUS
      FROM FQ
           LEFT JOIN NB_HBL N
               ON     FQ.MASTERBL = N.MASTERREFERENCE
                  AND FQ.BL_NUMBER = N.HOUSEREFERENCE
                  AND N.CCSIMPORTVOYAGEID = FQ.ATP
                  AND (QUANTITY = 1 or BILL = 'Partshipped/Alreadybilled')
           LEFT JOIN SKIPPED S
               ON S.MASTERBL = FQ.MASTERBL AND S.BL_NUMBER = FQ.BL_NUMBER AND N.BILL = 'Partshipped/Alreadybilled'
           LEFT JOIN CONTAINER_ACTIVE C ON C.BL_NUMBER = FQ.BL_NUMBER
           LEFT JOIN NB_HBL N0
               ON     FQ.MASTERBL = N0.MASTERREFERENCE
                  AND FQ.BL_NUMBER = N0.HOUSEREFERENCE
                  AND N0.QUANTITY = 1
           LEFT JOIN NB_HBL NP0
               ON     FQ.MASTERBL = NP0.MASTERREFERENCE
                  AND FQ.BL_NUMBER = NP0.HOUSEREFERENCE
                  AND NP0.CCSIMPORTVOYAGEID = FQ.ATP
                  AND NP0.QUANTITY = 0
           LEFT JOIN DUP_DELETED D
               ON     D.MASTERBL = FQ.MASTERBL
                  AND D.BL_NUMBER = FQ.BL_NUMBER
           LEFT JOIN NB_HBL ND
               ON     FQ.MASTERBL = ND.MASTERREFERENCE
                  AND FQ.BL_NUMBER = ND.HOUSEREFERENCE
                  AND ND.QUANTITY = -1
                  AND ND.DESCRIPTION LIKE 'Deletion%'
           LEFT JOIN WRONG_REFUND WR               
               ON     FQ.MASTERBL = WR.MASTERREFERENCE
                  AND FQ.BL_NUMBER = WR.BL_NUMBER
    WHERE (N.HOUSEREFERENCE IS NULL OR ND.HOUSEREFERENCE IS NOT NULL OR S.BL_NUMBER IS NOT NULL OR (C.BL_NUMBER IS NOT NULL AND ND.HOUSEREFERENCE IS NOT NULL) OR (D.BL_NUMBER IS NOT NULL AND N.HOUSEREFERENCE IS NULL))  
    AND WR.BL_NUMBER IS NULL --IGNORE WRONG REFUNDS AS IT IS CATERED IN NEXT UNION
    UNION  
    SELECT BILLING_PERIOD,
           CLIENTCODE,
           MASTERREFERENCE,
           BL_NUMBER,
           CCSIMPORTVOYAGEID,
           STATUS
    FROM WRONG_REFUND
    UNION
    SELECT N.BILLING_PERIOD,
           N.CLIENTCODE,
           N.MASTERREFERENCE,
           N.HOUSEREFERENCE AS BL_NUMBER,
           N.CCSIMPORTVOYAGEID,
           CASE WHEN VD.SKIPPED = 'Y' THEN 'OVERBILLING DUE TO SKIPPED VESSEL' ELSE 'OVERBILLING' END  STATUS
      FROM NB_HBL  N
      LEFT JOIN NB_HBL  N2 ON N.MASTERREFERENCE = N2.MASTERREFERENCE AND N2.HOUSEREFERENCE = N.HOUSEREFERENCE AND N2.DESCRIPTION LIKE 'Refund%Skipped'
           INNER JOIN OCEAN_COMMON.VOYAGE_HEADER VH
               ON   N.CCSIMPORTVOYAGEID = VH.ATP
           INNER JOIN OCEAN_COMMON.VOYAGE_DETAILS VD
               ON     VH.VOYAGE_HEADER_ID = VD.VOYAGE_HEADER_ID
               AND VD.VOYAGE_DETAIL_TYPE = 'ARRIVAL'
     WHERE  VD.SKIPPED = 'Y' AND N2.HOUSEREFERENCE IS NULL AND nvl(N.COMMENTS, 'billed') <> 'Skipped Vessel'
           AND upper(N.BILLING_PERIOD) IN ('JAN-2025',
                                    'FEB-2025',
                                    'MAR-2025',
                                    'APR-2025',
                                    'MAY-2025',
                                    'JUN-2025',
                                    'JUL-2025',
                                    'AUG-2025',
                                    'SEP-2025',
                                    'OCT-2025',
                                    'NOV-2025')
    ORDER BY STATUS DESC, bl_number;

GitLab Sync Log

[]

Actions #1

Updated by Redmine Admin 9 months ago

  • GitLab Sync Log updated (diff)
Actions #2

Updated by Redmine Admin 6 months ago

  • Description updated (diff)
Actions #3

Updated by Redmine Admin 3 months ago

  • Description updated (diff)
Actions #4

Updated by Redmine Admin 3 months ago

  • Description updated (diff)
Actions #5

Updated by Redmine Admin 2 months ago

  • Description updated (diff)
Actions

Also available in: Atom PDF