- wrapping up SQLEditor for VSS
- added getSavedSQLs to retrieve save queries
- added SQL error window to FGMFlexUtils45
- double click on sqlResultsDG shows selected row details
- fgmdev.com was down….
Monthly Archives: October 2012
Phil 10.31.12
8:00 – 4:00
- Backups and discussions with folks on site. Working on getting a meeting set up with the Morpheus folks.
- fgmdev.com was down. Dong and I spent most of the morning trying to get it up. That you are reading this means success!
- Working on adding color code. Incorporated and working nicely!
- Checking code in
- Burning a disk
Phil 10.30.12
10:00 – 12:00 ESSO
- Still wet, but no wind to speak of. Cold – in the 30’s. We apparently got 80 mph gusts and I’d believe it.
- Updated the WP engine for this blog.
- Looking at some papers about User Interface/ Experience to see how the Alert Manager App should be built.
12:00 – 2:00 FP
- Reading “Facilitators and Barriers to Adopting Robotic-Assisted Surgery: Contextualizing the Unified Theory of Acceptance and Use of Technology”. I want to find a rule for User Interface adoption
“
Dong Shi 10.29.2012
- working at home
- continue working on SQLEditor for VSS
- added method to run SQL string to server – SQLResult runSQLStrings(String databaseName, String sqlList)
- added SQLResult.java to javaUtils – pom.xml is set to generate version 1.1, others are not using it?????
- changed scriptingEngine and VisibilityScriptingServer to use 1.1
- added methods to save and get list of SQLs
Phil 10.29.12
8:00 – 4:00 ESSO
- So begins a very wet day.
- Working on figuring out why coloring chart lines is so different from all the other charts. Going to try building a toy project with just one line chart in it and (maybe?) an item renderer.
- Well that turned out to be easier than I thought.
private function init():void{ var hsb:HsbObject = new HsbObject(0x0000AA); var lsa:Array = new Array(); lsa.push(createLineSeries("Profit", "Profit", hsb)); hsb.rotateHue(40); lsa.push(createLineSeries("Expenses", "Expenses", hsb)); hsb.rotateHue(40); lsa.push(createLineSeries("Amount", "Amount", hsb)); _linechart.series = lsa; } private function createLineSeries(yf:String, dn:String, hsb:HsbObject):LineSeries{ var scs:SolidColorStroke = new SolidColorStroke(hsb.getHexColor()); scs.weight = 3; var ls:LineSeries = new LineSeries(); ls.yField = yf; ls.displayName = dn; ls.setStyle("lineStroke", scs); return ls; }
The project files are here. There are two projects. The EdgeUtils project contains the HsbObject class.
Dong Shin 10.26.2012
- added dbStoredQuery(String queryName) to ScriptFacades class
- can run set of queries and return the last result in DbTable format
- working on dbStoredProc – runs stored procedure in the database via VSS
- working on QueryEditor in VSS
Phil 10.26.12
8:00 – 4:00 ESSO
- Put in the paperwork for an URN
- Pinged the Morpheus folks to see how we can integrate
- Working on tracking down bugs and coloring lines
- Discussed how to add SQL stored(?) procedures to VSS with Dong.
- Need an editor to create and name scripts
- Need some kind of macro substitution
- Some of this is available in the dbObjects in JavaUtils and FGMUtils, using the classes that I wrote to create databases that map to Flex objects.
- Fixed the bug that was crashing the column rendering in WidgetBase by adding a try/catch block and resetting the array of visibile columns. Not pretty, but it works.
- Still trying to figure out how to change the color of a line. This seems to be the way: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7c52.html
Phil 10.25.12
8:00 – 2:00 ESSO
- Got the following error:
- RangeError: Index ‘2’ specified is out of bounds.
[C:autobuild3.xframeworksprojectsframeworksrcmxcollectionsListCollectionView.as:529]
at mx.collections::ListCollectionView/addAll()[C:autobuild3.xframeworksprojectsframeworksrcmxcollectionsListCollectionView.as:512]
at com.edgeti::WidgetBase/listColumnsHandler()[C:PhilProject WorkspacesHelios_3.6 FB4.5_32_bit_Aug_2012GenericQueryWidgetsrcmainflexcomedgetiWidgetBase.as:236] - Backups
- Status meeting
- Dave wants a contingincy plan if the server goes down. Need to talk to Vernon about this.
- Looked at integrating with Morphious.
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
- SELECT
Dong Shin 10.24.2012
- query to find offending (?) FMPs for underperforming obligations/outlays
- SELECT *
FROM `financial_mitigation_plans` fmp1, financial_mitigation_plans fmp2
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 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)))
- SELECT *
Phil 10.24.12
8:00 – 4:00 ESSO
- Working on getting auto colors to work properly in trend widget.
- 10:00 Meeting to talk to GAO folks. I think that went well. There will be a followup meeting.
- Continued to beat on getting autopallete working for TrendWidget. After stepping through the ThresholdColumnRederer and figuring that out, I wound up with the same wrong coloring that I was getting when I ran the fill function from within the TrendWidget. The problem was that the ChartItem index was referring to each *cluster* of columns, not the columns within the cluster. As a hack to get around this, I put an Array in TrendWidget that counts the yFields that are passed to the field function. The *index* of the yFields is then used as the hue angle. Anyway, here’s the code:
protected function setColumnSeriesColor(element:ChartItem, index:Number):IFill { var yFieldName:String = "_unset_"; var o:Object = element.element; // check if the yFieldName is in an array. if it is, then get the index. if not, add and get the index. if(o.hasOwnProperty("yField")){ yFieldName = o.yField; if(_yfieldNameArray.lastIndexOf(yFieldName) == -1){ _yfieldNameArray.push(yFieldName); } index = _yfieldNameArray.lastIndexOf(yFieldName); } return ColorUtil.setSeriesColor(element, index); }
- Next is getting the line charts to work with the color scheme.
- Oh yeah, and add dataTip formatting to pie charts in QueryWidgetBase.
Phil 10.23.12
8:00 – 2:00 ESSO
- Backups and housecleaning
- Installed new vis2.swf. Not happy yet with the colors, but the commas work.
- Talked to Lenny about FACTS
- Got some heads up on tomorrow’s meeting.
- Working with colors. I’m going to increment a fixed amount off of the border color – see how that works. Well – I think:
- Well, that seems to work nicely:
Dong Shin 10.23.2012
- created a script to save Planned Value alerts to Alerts table – AlertPlannedValuesSaveToTable.py
- working on script to generate alerts for unchanged Financial Mitigation Plans
- query to get unchanged FMPs from previous months
- SELECT *
FROM `financial_mitigation_plans` fmp1, financial_mitigation_plans fmp2
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
- SELECT *
Phil 10.22.12
8:00 – 9:45 ESSO
- Backups
- Updated the index.html page to mention that we are production!
- Made a printout of the xml that describes the FlexiChart that we’re using, and I think I figured out what the issue with the tooltips is. The yField does not exist as a row in the table. I need to get what the label and the mapping is for each row (series?) from the flexiChart.
9:45 – 12:15 FP
- How users make applications fit their needs. Or, how users misuse Excel, Outlook, and PowerPoint.
12:15 – 4:00 – ESSO
- Digging into FlexiChart to see if I can get the series information and use it in the dataTip function. Done and working.
Dong Shin 10.22.2012
- working on queries to calculate actual performance of Financial data
- created a script to generate alerts for planned values that are out of acceptable range (+/- 5%) – AlertPlannedValues.py
- query to find planned values under or over 5%
- SELECT p.uid, c.uid, c.center_number, c.appropriation,
a.year, a.amount,
o.uid, o.type, o.year, o.year_count, o.month_1,
g.uid,
@goal_month_1 := IF(o.type LIKE ‘%Obligate%’,g.obligation_month_1, g.outlay_month_1) as goal_month_1,
TRUNCATE(a.amount * @goal_month_1 / 100, 2) as goal_month_1_amount,
@goal_month_1_min := TRUNCATE(a.amount * @goal_month_1 / 100, 2) * 0.95 as goal_month_1_min,
@goal_month_1_max := TRUNCATE(a.amount * @goal_month_1 / 100, 2) * 1.05 as goal_month_1_max
FROM projects p, budget_centers c, budget_amounts a, obligations_outlays o, obligations_outlays_goals g
WHERE p.uid = 176
AND 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 (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))
AND o.type = ‘Planned Obligated $:’
- SELECT p.uid, c.uid, c.center_number, c.appropriation,
- query to calculate goals and actuals
- SELECT p.uid, c.uid, c.center_number, c.appropriation,
a.year, a.amount,
o.uid, o.type, o.year, o.year_count, o.month_1,
g.uid,
@goal_month_1 := IF(o.type LIKE ‘%Obligate%’,g.obligation_month_1, g.outlay_month_1) as goal_month_1,
TRUNCATE(a.amount * @goal_month_1 / 100, 2) as goal_month_1_amount
FROM projects p, budget_centers c, budget_amounts a, obligations_outlays o, obligations_outlays_goals g
WHERE p.uid = 176
AND 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
- SELECT p.uid, c.uid, c.center_number, c.appropriation,
You must be logged in to post a comment.