Dong Shin 10.25.2012

  • 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