Advertisement
liam_dao

4307

Feb 25th, 2021
3,036
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 16.90 KB | None | 0 0
  1. SELECT PJHDR.PROJECT_NO,
  2. PJHDR.MASTER_PROJECT_NO,
  3.        PJHDR.SUBJECT,
  4.        COALESCE(ST.PROJECT_STATUS_DESC,'On-Going') STATUS,
  5.        PJHDR.PROJECT_START_DATE,
  6.        PJHDR.PROJECT_END_DATE,
  7.        T.AMT,
  8.        T.AMT_TYPE,T.IS_BOLD,
  9.        T.ROW1,
  10.        T.ROW2,
  11.        T.ROW3
  12. FROM PJ_EST_OST_HDR PJHDR
  13. LEFT JOIN PJ_EST_OST_SUB_HDR RCG ON RCG.PROJECT_NO = PJHDR.PROJECT_NO
  14. LEFT JOIN MT_PROJECT_STATUS ST ON ST.PROJECT_STATUS_CODE = RCG.PROJECT_STATUS_CODE
  15. LEFT JOIN (
  16.     --Original Project Sum
  17.     SELECT
  18.     HDR.PROJECT_NO,
  19.     1 AS ROW1,
  20.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  21.     1 AS ROW2,
  22.     'Original Project Sum' AS ROW3,
  23.     HDR.ORIGINAL_CONTRACT_HOME_AMT AS AMT
  24.     FROM PJ_EST_OST_HDR HDR
  25.  
  26.     --Variation Order as at Year (YYYY)
  27.     UNION ALL
  28.     SELECT
  29.     HDR.PROJECT_NO,
  30.     1 AS ROW1,
  31.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  32.     2 AS ROW2,
  33.     'Variation Order as at Year ('||$P!{FINANCIAL_YEAR}||')' AS ROW3,
  34.     HDR.VO_HOME_AMT AS AMT
  35.     FROM PJ_EST_OST_HDR HDR
  36.     WHERE YEAR(HDR.VARIATION_DATETIME) <= $P{FINANCIAL_YEAR}
  37.     UNION ALL
  38.     SELECT
  39.     HDR.PROJECT_NO,
  40.     1 AS ROW1,
  41.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  42.     2 AS ROW2,
  43.     'Variation Order as at Year ('||$P!{FINANCIAL_YEAR}||')' AS ROW3,
  44.     COALESCE((SELECT VO_HOME_AMT FROM PJ_EST_REV_HST_HDR REV WHERE REV.PROJECT_NO = HDR.PROJECT_NO AND YEAR(REV.VARIATION_DATETIME) = $P{FINANCIAL_YEAR} ORDER BY REVISION_NO fetch FIRST 1 ROW ONLY),
  45.              (SELECT VO_HOME_AMT FROM PJ_EST_REV_HST_HDR REV WHERE REV.PROJECT_NO = HDR.PROJECT_NO AND REVISION_NO = 0),0
  46.             ) AMT
  47.     FROM PJ_EST_OST_HDR HDR
  48.     WHERE (YEAR(HDR.VARIATION_DATETIME) > $P{FINANCIAL_YEAR} OR HDR.VARIATION_DATETIME IS NULL)
  49.  
  50.     UNION ALL
  51.     --Additional VO after Year (YYYY)
  52.     SELECT
  53.     HDR.PROJECT_NO,
  54.     1 AS ROW1,
  55.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  56.     3 AS ROW2,
  57.     'Additional VO after Year ('||$P!{FINANCIAL_YEAR}||')' AS ROW3,
  58.     HDR.TOTAL_PRE_TAX_HOME_AMT- HDR.VO_HOME_AMT - HDR.ORIGINAL_CONTRACT_HOME_AMT AS AMT
  59.     FROM PJ_EST_OST_HDR HDR
  60.     WHERE YEAR(HDR.VARIATION_DATETIME) <= $P{FINANCIAL_YEAR}
  61.     UNION ALL
  62.     SELECT
  63.     HDR.PROJECT_NO,
  64.     1 AS ROW1,
  65.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  66.     3 AS ROW2,
  67.     'Additional VO after Year ('||$P!{FINANCIAL_YEAR}||')' AS ROW3,
  68.     HDR.TOTAL_PRE_TAX_HOME_AMT - COALESCE((SELECT VO_HOME_AMT FROM PJ_EST_REV_HST_HDR REV WHERE REV.PROJECT_NO = HDR.PROJECT_NO AND YEAR(REV.VARIATION_DATETIME) = $P{FINANCIAL_YEAR} ORDER BY REVISION_NO fetch FIRST 1 ROW ONLY),
  69.              (SELECT VO_HOME_AMT FROM PJ_EST_REV_HST_HDR REV WHERE REV.PROJECT_NO = HDR.PROJECT_NO AND REVISION_NO = 0),0
  70.             ) - HDR.ORIGINAL_CONTRACT_HOME_AMT AS AMT
  71.     FROM PJ_EST_OST_HDR HDR
  72.     WHERE (YEAR(HDR.VARIATION_DATETIME) > $P{FINANCIAL_YEAR} OR HDR.VARIATION_DATETIME IS NULL)
  73.     -- Adjusted Project Sum
  74.     UNION ALL
  75.     SELECT
  76.     HDR.PROJECT_NO,
  77.     1 AS ROW1,
  78.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  79.     5 AS ROW2,
  80.     'Adjusted Project Sum' AS ROW3,
  81.     HDR.TOTAL_PRE_TAX_HOME_AMT AS AMT
  82.     FROM PJ_EST_OST_HDR HDR
  83.     --Estimated Cost
  84.     UNION ALL
  85.     SELECT
  86.     HDR.PROJECT_NO,
  87.     1 AS ROW1,
  88.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  89.     6 AS ROW2,
  90.     'Estimated Cost' AS ROW3,
  91.     HDR.EST_TOTAL_COST_HOME AS AMT
  92.     FROM PJ_EST_OST_HDR HDR
  93.     --Estimated Profit
  94.     UNION ALL
  95.     SELECT
  96.     HDR.PROJECT_NO,
  97.     2 AS ROW1,
  98.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  99.     7 AS ROW2,
  100.     'Estimated Profit' AS ROW3,
  101.     (HDR.TOTAL_PRE_TAX_HOME_AMT - HDR.EST_TOTAL_COST_HOME) AS AMT
  102.     FROM PJ_EST_OST_HDR HDR
  103.     --GP Margin
  104.     UNION ALL
  105.     SELECT
  106.     HDR.PROJECT_NO,
  107.     2 AS ROW1,
  108.     'PERCENT' AS AMT_TYPE,'N' AS IS_BOLD,
  109.     8 AS ROW2,
  110.     'GP Margin' AS ROW3,
  111.     CASE WHEN COALESCE(HDR.TOTAL_PRE_TAX_HOME_AMT,0) = 0 THEN 0.0
  112.         ELSE ((COALESCE(HDR.TOTAL_PRE_TAX_HOME_AMT,0) - COALESCE(HDR.EST_TOTAL_COST_HOME,0))/COALESCE(HDR.TOTAL_PRE_TAX_HOME_AMT,0)) END AS AMT
  113.     FROM PJ_EST_OST_HDR HDR
  114.     --Actual Cost Incurred
  115.         --label
  116.     UNION ALL
  117.     SELECT
  118.     HDR.PROJECT_NO,
  119.     3 AS ROW1,
  120.     'HIDE' AS AMT_TYPE,'Y' AS IS_BOLD,
  121.     9 AS ROW2,
  122.     'Actual Cost Incurred' AS ROW3,
  123.     0.0 AS AMT
  124.     FROM PJ_EST_OST_HDR HDR
  125.         --Cost Accumulated to Year (YYYY-1)
  126.     UNION ALL
  127.     SELECT
  128.     HDR.PROJECT_NO,
  129.     3 AS ROW1,
  130.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  131.     10 AS ROW2,
  132.     'Cost Accumulated to Year ('||($P{FINANCIAL_YEAR}-1)||')' AS ROW3,
  133.     SUM(BRK.total_actual_cost_home) AS AMT
  134.     FROM PJ_EST_OST_HDR HDR
  135.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO AND BRK.YEAR_POSTED_TO < $P{FINANCIAL_YEAR}
  136.     WHERE 1=1
  137.  
  138.     GROUP BY HDR.PROJECT_NO
  139.         --Cost of the Year (YYYY)
  140.     UNION ALL
  141.     SELECT
  142.     HDR.PROJECT_NO,
  143.     3 AS ROW1,
  144.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  145.     11 AS ROW2,
  146.     'Cost of the Year ('||($P!{FINANCIAL_YEAR})||')' AS ROW3,
  147.     SUM(BRK.total_actual_cost_home) AS AMT
  148.     FROM PJ_EST_OST_HDR HDR
  149.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO AND BRK.YEAR_POSTED_TO = $P{FINANCIAL_YEAR}
  150.     WHERE 1=1
  151.  
  152.     GROUP BY HDR.PROJECT_NO
  153.         --Cost of Year (YYYY+1) To-Date
  154.     UNION ALL
  155.     SELECT
  156.     HDR.PROJECT_NO,
  157.     3 AS ROW1,
  158.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  159.     12 AS ROW2,
  160.     'Cost of Year ('||($P{FINANCIAL_YEAR}+1)||') To-Date' AS ROW3,
  161.     SUM(BRK.total_actual_cost_home) AS AMT
  162.     FROM PJ_EST_OST_HDR HDR
  163.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO AND BRK.YEAR_POSTED_TO > $P{FINANCIAL_YEAR}
  164.     WHERE 1=1
  165.  
  166.     GROUP BY HDR.PROJECT_NO
  167.         --Total Acutal Cost Incurred To-Date
  168.     UNION ALL
  169.     SELECT
  170.     HDR.PROJECT_NO,
  171.     3 AS ROW1,
  172.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  173.     13 AS ROW2,
  174.     'Total Acutal Cost Incurred To-Date' AS ROW3,
  175.     SUM(BRK.TOTAL_ACTUAL_COST_HOME) AS AMT
  176.     FROM PJ_EST_OST_HDR HDR
  177.     LEFT JOIN PJ_EST_OST_CST_BRKDWN BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  178.     WHERE 1=1
  179.     GROUP BY HDR.PROJECT_NO
  180.     --End of Actual Cost Incurred
  181.  
  182.     --Cost to Complete
  183.     UNION ALL
  184.     SELECT
  185.     HDR.PROJECT_NO,
  186.     3 AS ROW1,
  187.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  188.     14 AS ROW2,
  189.     'Cost to Complete' AS ROW3,
  190.     -SUM(BRK.TOTAL_ACTUAL_COST_HOME) AS AMT
  191.     FROM PJ_EST_OST_HDR HDR
  192.     LEFT JOIN PJ_EST_OST_CST_BRKDWN BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  193.     WHERE 1=1
  194.     GROUP BY HDR.PROJECT_NO
  195.     UNION ALL
  196.     SELECT
  197.     HDR.PROJECT_NO,
  198.     3 AS ROW1,
  199.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  200.     14 AS ROW2,
  201.     'Cost to Complete' AS ROW3,
  202.     HDR.EST_TOTAL_COST_HOME AS AMT
  203.     FROM PJ_EST_OST_HDR HDR
  204.  
  205.     --Stage of Completion
  206.     UNION ALL
  207.     SELECT
  208.     HDR.PROJECT_NO,
  209.     3 AS ROW1,
  210.     'PERCENT' AS AMT_TYPE,'Y' AS IS_BOLD,
  211.     15 AS ROW2,
  212.     'Stage of Completion' AS ROW3,
  213.     CASE WHEN COALESCE(HDR.EST_TOTAL_COST_HOME,0)=0 THEN 0.0 ELSE COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME END AS AMT
  214.     FROM PJ_EST_OST_HDR HDR
  215.     LEFT JOIN (SELECT PROJECT_NO,SUM(TOTAL_ACTUAL_COST_HOME) AS AMT FROM PJ_EST_OST_CST_BRKDWN GROUP BY PROJECT_NO) BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  216.  
  217.     --Work Value Completed
  218.     UNION ALL
  219.     SELECT
  220.     HDR.PROJECT_NO,
  221.     3 AS ROW1,
  222.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  223.     16 AS ROW2,
  224.     'Work Value Completed' AS ROW3,
  225.     CASE WHEN COALESCE(HDR.EST_TOTAL_COST_HOME,0)=0 THEN 0.0 ELSE HDR.TOTAL_PRE_TAX_HOME_AMT*COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME END AS AMT
  226.     FROM PJ_EST_OST_HDR HDR
  227.     LEFT JOIN (SELECT PROJECT_NO,SUM(TOTAL_ACTUAL_COST_HOME) AS AMT FROM PJ_EST_OST_CST_BRKDWN GROUP BY PROJECT_NO) BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  228.     -- Progress Billing {
  229.     --label
  230.     UNION ALL
  231.     SELECT
  232.     HDR.PROJECT_NO,
  233.     4 AS ROW1,
  234.     'HIDE' AS AMT_TYPE,'Y' AS IS_BOLD,
  235.     17 AS ROW2,
  236.     'Progress Billing' AS ROW3,
  237.     0.0 AS AMT
  238.     FROM PJ_EST_OST_HDR HDR
  239.  
  240.     --Billing Accumulated to Year (YYYY - 1)
  241.     UNION ALL
  242.     SELECT
  243.     HDR.PROJECT_NO,
  244.     4 AS ROW1,
  245.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  246.     18 AS ROW2,
  247.     'Billing Accumulated to Year ('||($P{FINANCIAL_YEAR}-1)||')' AS ROW3,
  248.     SUM(BRK.nett_inv_pre_tax_home_amt) AS AMT
  249.     FROM PJ_EST_OST_HDR HDR
  250.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO AND BRK.YEAR_POSTED_TO < $P{FINANCIAL_YEAR}
  251.     WHERE 1=1
  252.     GROUP BY HDR.PROJECT_NO
  253.         --sub part: +invoice-credit note{
  254.     UNION ALL
  255.     SELECT
  256.     HDR.PROJECT_NO,
  257.     4 AS ROW1,
  258.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  259.     18 AS ROW2,
  260.     'Billing Accumulated to Year ('||($P{FINANCIAL_YEAR}-1)||')' AS ROW3,
  261.     SUM(INV.total_pre_tax_home_amt) AS AMT
  262.     FROM PJ_EST_OST_HDR HDR
  263.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO AND INV.YEAR_POSTED_TO < $P{FINANCIAL_YEAR} AND INV.INVOICE_TYPE = 'R'
  264.     WHERE 1=1
  265.     GROUP BY HDR.PROJECT_NO
  266.     UNION ALL
  267.     SELECT
  268.     HDR.PROJECT_NO,
  269.     4 AS ROW1,
  270.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  271.     18 AS ROW2,
  272.     'Billing Accumulated to Year ('||($P{FINANCIAL_YEAR}-1)||')' AS ROW3,
  273.     -SUM(CRN.total_pre_tax_home_amt) AS AMT
  274.     FROM PJ_EST_OST_HDR HDR
  275.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO AND CRN.YEAR_POSTED_TO < $P{FINANCIAL_YEAR} AND CRN.CREDIT_NOTE_TYPE = 'R'
  276.     WHERE 1=1
  277.     GROUP BY HDR.PROJECT_NO
  278.     UNION ALL
  279.     SELECT
  280.     HDR.PROJECT_NO,
  281.     4 AS ROW1,
  282.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  283.     18 AS ROW2,
  284.     'Billing Accumulated to Year ('||($P{FINANCIAL_YEAR}-1)||')' AS ROW3,
  285.     -SUM(INV.RETENTION_HOME_AMT) AS AMT
  286.     FROM PJ_EST_OST_HDR HDR
  287.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO AND INV.YEAR_POSTED_TO < $P{FINANCIAL_YEAR}
  288.     WHERE 1=1
  289.     GROUP BY HDR.PROJECT_NO
  290.     UNION ALL
  291.     SELECT
  292.     HDR.PROJECT_NO,
  293.     4 AS ROW1,
  294.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  295.     18 AS ROW2,
  296.     'Billing Accumulated to Year ('||($P{FINANCIAL_YEAR}-1)||')' AS ROW3,
  297.     SUM(CRN.RETENTION_HOME_AMT) AS AMT
  298.     FROM PJ_EST_OST_HDR HDR
  299.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO AND CRN.YEAR_POSTED_TO < $P{FINANCIAL_YEAR}
  300.     WHERE 1=1
  301.     GROUP BY HDR.PROJECT_NO
  302.         --end sub part: +invoice-credit note}
  303.     --Billing of the Year (YYYY)
  304.     UNION ALL
  305.     SELECT
  306.     HDR.PROJECT_NO,
  307.     4 AS ROW1,
  308.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  309.     19 AS ROW2,
  310.     'Billing of the Year ('||($P{FINANCIAL_YEAR})||')' AS ROW3,
  311.     SUM(BRK.nett_inv_pre_tax_home_amt) AS AMT
  312.     FROM PJ_EST_OST_HDR HDR
  313.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO AND BRK.YEAR_POSTED_TO = $P{FINANCIAL_YEAR}
  314.     WHERE 1=1
  315.     GROUP BY HDR.PROJECT_NO
  316.         --sub part: +invoice-credit note{
  317.     UNION ALL
  318.     SELECT
  319.     HDR.PROJECT_NO,
  320.     4 AS ROW1,
  321.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  322.     19 AS ROW2,
  323.     'Billing of the Year ('||($P{FINANCIAL_YEAR})||')' AS ROW3,
  324.     SUM(INV.total_pre_tax_home_amt) AS AMT
  325.     FROM PJ_EST_OST_HDR HDR
  326.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO AND INV.YEAR_POSTED_TO = $P{FINANCIAL_YEAR} AND INV.INVOICE_TYPE = 'R'
  327.     WHERE 1=1
  328.     GROUP BY HDR.PROJECT_NO
  329.     UNION ALL
  330.     SELECT
  331.     HDR.PROJECT_NO,
  332.     4 AS ROW1,
  333.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  334.     19 AS ROW2,
  335.     'Billing of the Year ('||($P{FINANCIAL_YEAR})||')' AS ROW3,
  336.     -SUM(CRN.total_pre_tax_home_amt) AS AMT
  337.     FROM PJ_EST_OST_HDR HDR
  338.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO AND CRN.YEAR_POSTED_TO = $P{FINANCIAL_YEAR} AND CRN.CREDIT_NOTE_TYPE = 'R'
  339.     WHERE 1=1
  340.     GROUP BY HDR.PROJECT_NO
  341.     UNION ALL
  342.     SELECT
  343.     HDR.PROJECT_NO,
  344.     4 AS ROW1,
  345.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  346.     19 AS ROW2,
  347.     'Billing of the Year ('||($P{FINANCIAL_YEAR})||')' AS ROW3,
  348.     -SUM(INV.RETENTION_HOME_AMT) AS AMT
  349.     FROM PJ_EST_OST_HDR HDR
  350.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO AND INV.YEAR_POSTED_TO = $P{FINANCIAL_YEAR}
  351.     WHERE 1=1
  352.     GROUP BY HDR.PROJECT_NO
  353.     UNION ALL
  354.     SELECT
  355.     HDR.PROJECT_NO,
  356.     4 AS ROW1,
  357.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  358.     19 AS ROW2,
  359.     'Billing of the Year ('||($P{FINANCIAL_YEAR})||')' AS ROW3,
  360.     SUM(CRN.RETENTION_HOME_AMT) AS AMT
  361.     FROM PJ_EST_OST_HDR HDR
  362.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO AND CRN.YEAR_POSTED_TO = $P{FINANCIAL_YEAR}
  363.     WHERE 1=1
  364.     GROUP BY HDR.PROJECT_NO
  365.         --end sub part: +invoice-credit note}
  366.     --Billing Accumulated To-Date
  367.     UNION ALL
  368.     SELECT
  369.     HDR.PROJECT_NO,
  370.     4 AS ROW1,
  371.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  372.     20 AS ROW2,
  373.     'Billing Accumulated To-Date' AS ROW3,
  374.     SUM(BRK.nett_inv_pre_tax_home_amt) AS AMT
  375.     FROM PJ_EST_OST_HDR HDR
  376.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO AND BRK.YEAR_POSTED_TO > $P{FINANCIAL_YEAR}
  377.     WHERE 1=1
  378.     GROUP BY HDR.PROJECT_NO
  379.         --sub part: +invoice-credit note{
  380.     UNION ALL
  381.     SELECT
  382.     HDR.PROJECT_NO,
  383.     4 AS ROW1,
  384.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  385.     20 AS ROW2,
  386.     'Billing Accumulated To-Date' AS ROW3,
  387.     SUM(INV.total_pre_tax_home_amt) AS AMT
  388.     FROM PJ_EST_OST_HDR HDR
  389.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO AND INV.YEAR_POSTED_TO > $P{FINANCIAL_YEAR} AND INV.INVOICE_TYPE = 'R'
  390.     WHERE 1=1
  391.     GROUP BY HDR.PROJECT_NO
  392.     UNION ALL
  393.     SELECT
  394.     HDR.PROJECT_NO,
  395.     4 AS ROW1,
  396.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  397.     20 AS ROW2,
  398.     'Billing Accumulated To-Date' AS ROW3,
  399.     -SUM(CRN.total_pre_tax_home_amt) AS AMT
  400.     FROM PJ_EST_OST_HDR HDR
  401.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO AND CRN.YEAR_POSTED_TO > $P{FINANCIAL_YEAR} AND CRN.CREDIT_NOTE_TYPE = 'R'
  402.     WHERE 1=1
  403.     GROUP BY HDR.PROJECT_NO
  404.     UNION ALL
  405.     SELECT
  406.     HDR.PROJECT_NO,
  407.     4 AS ROW1,
  408.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  409.     20 AS ROW2,
  410.     'Billing Accumulated To-Date' AS ROW3,
  411.     -SUM(INV.RETENTION_HOME_AMT) AS AMT
  412.     FROM PJ_EST_OST_HDR HDR
  413.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO AND INV.YEAR_POSTED_TO > $P{FINANCIAL_YEAR}
  414.     WHERE 1=1
  415.     GROUP BY HDR.PROJECT_NO
  416.     UNION ALL
  417.     SELECT
  418.     HDR.PROJECT_NO,
  419.     4 AS ROW1,
  420.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  421.     20 AS ROW2,
  422.     'Billing Accumulated To-Date' AS ROW3,
  423.     SUM(CRN.RETENTION_HOME_AMT) AS AMT
  424.     FROM PJ_EST_OST_HDR HDR
  425.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO AND CRN.YEAR_POSTED_TO > $P{FINANCIAL_YEAR}
  426.     WHERE 1=1
  427.     GROUP BY HDR.PROJECT_NO
  428.         --end sub part: +invoice-credit note}
  429.     --Retention Balance To-Date
  430.     UNION ALL
  431.     SELECT
  432.     HDR.PROJECT_NO,
  433.     4 AS ROW1,
  434.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  435.     21 AS ROW2,
  436.     'Retention Balance To-Date' AS ROW3,
  437.     -SUM(INV.total_pre_tax_home_amt) AS AMT
  438.     FROM PJ_EST_OST_HDR HDR
  439.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO  AND INV.INVOICE_TYPE = 'R'
  440.     WHERE 1=1
  441.     GROUP BY HDR.PROJECT_NO
  442.     UNION ALL
  443.     SELECT
  444.     HDR.PROJECT_NO,
  445.     4 AS ROW1,
  446.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  447.     21 AS ROW2,
  448.     'Retention Balance To-Date' AS ROW3,
  449.     SUM(CRN.total_pre_tax_home_amt) AS AMT
  450.     FROM PJ_EST_OST_HDR HDR
  451.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO  AND CRN.CREDIT_NOTE_TYPE = 'R'
  452.     WHERE 1=1
  453.     GROUP BY HDR.PROJECT_NO
  454.     UNION ALL
  455.     SELECT
  456.     HDR.PROJECT_NO,
  457.     4 AS ROW1,
  458.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  459.     21 AS ROW2,
  460.     'Retention Balance To-Date' AS ROW3,
  461.     SUM(INV.RETENTION_HOME_AMT) AS AMT
  462.     FROM PJ_EST_OST_HDR HDR
  463.     LEFT JOIN pj_ar_inv_hst_hdr INV ON INV.PROJECT_NO = HDR.PROJECT_NO
  464.     WHERE 1=1
  465.     GROUP BY HDR.PROJECT_NO
  466.     UNION ALL
  467.     SELECT
  468.     HDR.PROJECT_NO,
  469.     4 AS ROW1,
  470.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  471.     21 AS ROW2,
  472.     'Retention Balance To-Date' AS ROW3,
  473.     -SUM(CRN.RETENTION_HOME_AMT) AS AMT
  474.     FROM PJ_EST_OST_HDR HDR
  475.     LEFT JOIN PJ_AR_CRN_HST_HDR CRN ON CRN.PROJECT_NO = HDR.PROJECT_NO
  476.     WHERE 1=1
  477.     GROUP BY HDR.PROJECT_NO
  478.     --Total Progress Billing To-Date
  479.     UNION ALL
  480.     SELECT
  481.     HDR.PROJECT_NO,
  482.     4 AS ROW1,
  483.     'AMT' AS AMT_TYPE,'Y' AS IS_BOLD,
  484.     22 AS ROW2,
  485.     'Total Progress Billing To-Date' AS ROW3,
  486.     SUM(BRK.nett_inv_pre_tax_home_amt) AS AMT
  487.     FROM PJ_EST_OST_HDR HDR
  488.     LEFT JOIN Pj_est_ost_cst_brkdwn BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  489.     WHERE 1=1
  490.     GROUP BY HDR.PROJECT_NO
  491.     --End of Progress Billing}
  492.  
  493.     --Net Amount due from/(to) Customers
  494.     UNION ALL
  495.     SELECT
  496.     HDR.PROJECT_NO,
  497.     5 AS ROW1,
  498.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  499.     23 AS ROW2,
  500.     'Net Amount due from/(to) Customers' AS ROW3,
  501.     CASE WHEN COALESCE(HDR.EST_TOTAL_COST_HOME,0)=0 THEN -BRK.AMT_BILL ELSE (HDR.TOTAL_PRE_TAX_HOME_AMT*COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME - BRK.AMT_BILL) END AS AMT
  502.     FROM PJ_EST_OST_HDR HDR
  503.     LEFT JOIN (SELECT PROJECT_NO,SUM(TOTAL_ACTUAL_COST_HOME) AS AMT,SUM(NETT_INV_PRE_TAX_HOME_AMT) AS AMT_BILL FROM PJ_EST_OST_CST_BRKDWN GROUP BY PROJECT_NO) BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  504.     --Amount due from Customers (Accrued Revenue)
  505.     UNION ALL
  506.     SELECT
  507.     HDR.PROJECT_NO,
  508.     5 AS ROW1,
  509.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  510.     24 AS ROW2,
  511.     'Amount due from Customers (Accrued Revenue)' AS ROW3,
  512.     CASE WHEN COALESCE(HDR.EST_TOTAL_COST_HOME,0)=0 THEN 0
  513.          WHEN (HDR.TOTAL_PRE_TAX_HOME_AMT*COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME - BRK.AMT_BILL) <0 THEN 0
  514.          ELSE (HDR.TOTAL_PRE_TAX_HOME_AMT*COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME - BRK.AMT_BILL) END AS AMT
  515.     FROM PJ_EST_OST_HDR HDR
  516.     LEFT JOIN (SELECT PROJECT_NO,SUM(TOTAL_ACTUAL_COST_HOME) AS AMT,SUM(NETT_INV_PRE_TAX_HOME_AMT) AS AMT_BILL FROM PJ_EST_OST_CST_BRKDWN GROUP BY PROJECT_NO) BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  517.     WHERE 1=1
  518.     --Amount due to Customers (Deferred Revenue)
  519.     UNION ALL
  520.     SELECT
  521.     HDR.PROJECT_NO,
  522.     5 AS ROW1,
  523.     'AMT' AS AMT_TYPE,'N' AS IS_BOLD,
  524.     25 AS ROW2,
  525.     'Amount due to Customers (Deferred Revenue)' AS ROW3,
  526.     CASE WHEN COALESCE(HDR.EST_TOTAL_COST_HOME,0)=0 THEN -BRK.AMT_BILL
  527.          WHEN (HDR.TOTAL_PRE_TAX_HOME_AMT*COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME - BRK.AMT_BILL) >0 THEN 0
  528.          ELSE (HDR.TOTAL_PRE_TAX_HOME_AMT*COALESCE(BRK.AMT,0)/HDR.EST_TOTAL_COST_HOME - BRK.AMT_BILL) END AS AMT
  529.     FROM PJ_EST_OST_HDR HDR
  530.     LEFT JOIN (SELECT PROJECT_NO,SUM(TOTAL_ACTUAL_COST_HOME) AS AMT,SUM(NETT_INV_PRE_TAX_HOME_AMT) AS AMT_BILL FROM PJ_EST_OST_CST_BRKDWN GROUP BY PROJECT_NO) BRK ON BRK.PROJECT_NO = HDR.PROJECT_NO
  531.     WHERE 1=1
  532. ) T  ON T.PROJECT_NO = PJHDR.PROJECT_NO
  533.  
  534. WHERE 1=1
  535. $P!{__RPT__FILTER__PARAM}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement