SELECT
T.TIMESTR TIMESTR,
-- T.ORDER_TYPE ORDER_TYPE,
SUM( T.TAX_AMOUNT) TAX_AMOUNT,
SUM(T.NO_TAX_AMOUNT) NO_TAX_AMOUNT,
SUM(T.AMOUNT) AMOUNT,
T.CUSTOMER_CODE CUSTOMER_CODE,
T.CUSTOMER_NAME CUSTOMER_NAME
FROM (
SELECT
(CASE
WHEN SUBSTR(TO_CHAR(BAFD.FEE_TIME,'YYYYMMDD'),LENGTH(TO_CHAR(BAFD.FEE_TIME,'YYYYMMDD'))-1,LENGTH(TO_CHAR(BAFD.FEE_TIME,'YYYYMMDD'))) >= 25
THEN TO_CHAR(ADD_MONTHS(BAFD.FEE_TIME,1),'YYYY-MM')
ELSE TO_CHAR(BAFD.FEE_TIME,'YYYY-MM') END
) AS TIMESTR,
(CASE WHEN BEFOR.TIMESTR = (SELECT (CASE
WHEN SUBSTR(TO_CHAR(SYSDATE,'YYYYMMDD'),LENGTH(TO_CHAR(SYSDATE,'YYYYMMDD'))-1,LENGTH(TO_CHAR(SYSDATE,'YYYYMMDD'))) >= 25
THEN TO_CHAR(ADD_MONTHS(SYSDATE,1),'YYYY-MM')
ELSE TO_CHAR(SYSDATE,'YYYY-MM') END
) AS TIMESTR FROM DUAL) THEN 'NOR'
ELSE 'BRN' END
) AS ORDER_TYPE,
BAFD.AMOUNT AMOUNT,
BAFD.TAX_AMOUNT TAX_AMOUNT,
BAFD.NO_TAX_AMOUNT NO_TAX_AMOUNT,
BAFD.CUSTOMER_CODE CUSTOMER_CODE,
BAFD.CUSTOMER_NAME CUSTOMER_NAME
FROM BM_AR_FEE_DETAIL BAFD
LEFT JOIN BM_CUSTOMER_BILL_DATE BCBD ON BCBD.CUSTOMER_CODE = BAFD.CUSTOMER_CODE AND BAFD.ORG_ID = BCBD.ORG_ID
LEFT JOIN BM_BUSINESS_HEADER BBH ON BBH.BUSINESS_ID = BAFD.BUSINESS_ID AND BBH.SETTLEMENT_TYPE = 'MONTH'
LEFT JOIN (SELECT (CASE /** */
WHEN SUBSTR(TO_CHAR(BEFORTIME.BUSINESS_TIME,'YYYYMMDD'),LENGTH(TO_CHAR(BEFORTIME.BUSINESS_TIME,'YYYYMMDD'))-1,LENGTH(TO_CHAR(BEFORTIME.BUSINESS_TIME,'YYYYMMDD'))) >= 25
THEN TO_CHAR(ADD_MONTHS(BEFORTIME.BUSINESS_TIME,1),'YYYY-MM')
ELSE TO_CHAR(BEFORTIME.BUSINESS_TIME,'YYYY-MM') END
) TIMESTR,
BEFORTIME.SOURCE_ORDER_NO
FROM (SELECT BUSINESS_TIME,SOURCE_ORDER_NO
FROM
BM_BUSINESS_HEADER
WHERE SOURCE_ORDER_NO IN (SELECT
HD.BEFORE_SOURCE_ORDER_NO
FROM BM_AR_FEE_DETAIL FEE
LEFT JOIN BM_BUSINESS_HEADER HD ON FEE.BUSINESS_ID = HD.BUSINESS_ID
WHERE
1=1
AND HD.BUSINESS_ORDER_TYPE = 'OR')) BEFORTIME) BEFOR ON BEFOR.SOURCE_ORDER_NO = BBH.SOURCE_ORDER_NO
WHERE
1=1
) T
GROUP BY T. TIMESTR,
-- T.ORDER_TYPE,
T.CUSTOMER_CODE ,
T.CUSTOMER_NAME