- status meeting
- working on running stored queries in ScriptFacades class
- continue working on FMP alerts
- created AlertFMPs.py and AlertFMPsSaveToTable.py scripts
- query to find offending FMP’s in Alert format
- SELECT
GROUP_CONCAT(distinct(ppa.login)) as porfolio_admins,
GROUP_CONCAT(distinct(ppm.login)) as portfolio_mgrs,
GROUP_CONCAT(distinct(psf.login)) as service_finance_pocs,
GROUP_CONCAT(distinct(m.login)) as service_project_managers,
p.project_number as program,
c.center_number as MIPR
FROM `financial_mitigation_plans` fmp1, financial_mitigation_plans fmp2,
projects p, obligations_outlays o, budget_centers c,
_projects_service_project_mgrs m,
_projects_portfolio_admins ppa,
_projects_portfolio_mgrs ppm,
_projects_service_finance_pocs psf
WHERE fmp1.obligation_outlay_uid = fmp2.obligation_outlay_uid
AND fmp1.financial_mitigation_plan = fmp2.financial_mitigation_plan
AND fmp1.explanation1 = fmp2.explanation1
AND fmp1.explanation2 = fmp2.explanation2
AND fmp1.explanation3 = fmp2.explanation3
AND fmp1.explanation4 = fmp2.explanation4
AND fmp1.explanation5 = fmp2.explanation5
AND fmp1.month + 1 = fmp2.month
AND p.uid = o.project_id
AND c.uid = o.funding_id
AND p.uid = m.project_id
AND p.uid = ppa.project_id
AND p.uid = ppm.project_id
AND p.uid = psf.project_id
AND fmp1.obligation_outlay_uid IN
(SELECT o.uid
FROM projects p, budget_centers c, budget_amounts a, obligations_outlays o, obligations_outlays_goals g
WHERE
p.uid = c.project_id
AND a.budget_center_id = c.uid
AND o.project_id = p.uid
AND o.funding_id = c.uid
AND g.appropriation = c.appropriation
AND g.year = o.year_count
AND o.year + o.year_count = 2014
AND (ISNULL(o.month_1) OR (o.month_1 > TRUNCATE(a.amount * IF(o.type LIKE ‘%Obligate%’,g.obligation_month_1, g.outlay_month_1) / 100, 2) * 1.05
AND o.month_1 < TRUNCATE(a.amount * IF(o.type LIKE ‘%Obligate%’,g.obligation_month_1, g.outlay_month_1) / 100, 2) * 0.95)))
GROUP BY o.uid
- SELECT
