- new FA4 deployed, more bugs
- fixed Financial Data not showing for multiple Req’s
- removed chart from Summary Data
- wrap components in FinancialDataPanel with <s:Scroller /> to get all the components
- resize datagrid to eliminate vertical scrollers
- working on Query Builder
- reworked __view_project_totals so that it includes all total_budgets from budget_centers table
- created view __view_sub_budget_center_totals for TST
- fixed WHERE and GROUP BY not parsed properly in Query Builder
Phil 9.6.13
8:00 – 12:00 SR
- Backups
- Deployed new FA4
- Add “Close” to query save panel
- Rows in req panel are too tall
- Need search inside req panel
- Sum the Req allocation by sub-budget center. GROUP BY dispersal after running, but is saved in the description?
- Status should be “Due” between now and the 10th.
- Obligation and outlay uploads still need to be enabled
- Paperwork. Particularly need to fix the workforce location DB entries.
Dong Shin 09.05.2013
- deployed new FA4, some bugs
- fixed total_budget as Currency – TOTAL regex added
- removed the charts from Financial Data Viewer – performance should be lot better
- created ServerLogPanel and LocalLogPanel that are draggable and resizable and moved out of main canvas
- changed references to budget_center.total_budget to t.total_budget in the Query Builder queries to correct obligations and outlays
- added support for column names with spaces in Query Builder – wrap it with a single quote ‘
Phil 9.5.13
8:00 – 10:30SR
- Backups
- Meeting with Lenny
- Deployed FA4 for testing. Bugs follow:
- total_budget in query builder needs to be formatted as currency
- Expand columns in total grid to accommodate $999,999,000.00
- System hangs when loading financial data viewer
- Can’t move the server log panel or local log panel
- budget_center.total_budget -> t.total_budget
10:30 – 4:00 FP
- Downloaded several wav files of sinewave tones, ranging from 100hz to 1,000hz. The files are created using this generator, and are 0.5 sec in length.
- Glued the tactor actuators in place, since they kept on coming loose during the testing
- Fixed the file output
- Each test result is now ordered
- Fixed a bug where the number of targets and the number of goals were not being recorded
- Added a listing of the audio files used in the experiment.
- Got some initial results based on my self-testing today:

Dong Shin 09.04.2013
- deployed new FA (Flex 4.5!), found some bugs
- fixed logout not clearing panels
- fixed Total Allocated not showing
- change the name of the Flex App – FinancialAssistant4
- continue working on Query Builder
- created a view to pre-set the project totals for the queries – __view_project_totals
- fixed group by errors when loading saved queries…
Phil 9.4.13
8:30 – 11:30 SR
- Backups
- Deployed new FA
- Clear login info
- combobox left edge is not showing in columns
- Column width should be smarter
- Total budget in FA is orders of magnitude too high in the new query
- Project allocated on the project page is zero.
11:30 – 4:30 FP
Dong Shin 09.03.2013
- working on Query Builder
- moved the columns build after the quest has run
- reworked the load/build query to use AS and functions
- added description to the user_queries and Load/Save Query Windows
Phil 9.3.13
8:00 – SR
- Backups
- Status reports
Dong Shin 08.30.2013
- continue working on Query Builder (FA)
- added support for the columns that don’t exist in the column config. This allows SQL functions and alias names using ‘AS’
- added GROUP BY support
- reworked WHERE configuration to work with GROUP BY
- SparkResizableTitleWindow is now functional
Phil 8.30.2013
8:00 – 11:00 SR
- Backups
- Training. Possibly the worst interactive training I’ve ever taken. Please don’t waste my time trying to make training a game. Give me the info, test me on it,and let me move on. Fighting robots!? Sheesh.
- Timesheet stuff.
11:00 – 5:00 FP
- Saving output – done
- Adding TargetSphere placement limits and size range – done
- Adding GoalBox size – done
- Setting up release build. Done, though it wasn’t easy. I had to turn off “cross project optimizing”. That worked, but I don’t know why.
- Still need to enable the “Next” button on the first pass through the test.
- Still need to box up all the components.
Dong Shin 08.29.2013
- continue working on Query Builder (FA)
- added Obligation/Outlay goals to the query
- added Export to Viz button (not functional, yet!)
- created SparkResizableTitleWindow (needs more work!)
- working on queries
- adding date calculations to the query xml config
- Flash Builder 4.7 allows more Java Heap Memory allocation (64bit!!) – seems to solve some slowness issues after increasing it to 2GB
Phil 8.29.13
8:00 – 10:30 SR
- Backups.
- Dong’s coming over? Yep. Discussion about queries with Lenny
10:30 – 4:00 FP
- Cleaning up commands. Mostly done
- While testing the “test” part of the app, I’m realizing that my “ratio” calculations have some issues. Before tying to fix them directly, I’m going to try just making a different gripper that has three “sensor spheres” on each finger. Then I can just let my “drag-based” physics to the whole job. Finished. That’s much better
- Quick! What’s wrong with the following code?
for(int i = 0; i < 3; ++i){
position[i] += velocityVec[i];
if(velocityVec[i] > drag*ratio){
velocityVec[i] -= drag*ratio;
}else{
velocityVec[i] = 0;
}
}
- Yep, the drag is only being applied for objects moving in a positive direction. This is a problem that has been driving me crazy for days. I thought is was some artifact of the communication between the Phantom control loop (1k hz) and the simulation loop (100 hz). Nope. Simple math mistake. Facepalm.
- Pretty picture for the day. Notice that the grippers now have multiple points of contact:
- I’ve also started to notice how feedback changes the speed that you can perform the task. Haptic and tactor seem pretty close. Open loop is much worse, at least subjectively. Let’s see what the data says.
Phil 8.28.13
8:00 – 11:00 SR
- Backups
- Training
- Quick conversation with Lenny and Pat, all seems to be running fine.
11:00 – 4:00 FP
- Adding test logic
- Switching between test types.
- Since session is now integrated in the testing, I need eliminate session switches
- Need to pull the “general” logic out of the “simulation” command processing.
Dong Shin 08.28.2013
- continue working on Query Builder (FA)
- changed the way how Obligated/Outlay/PM Actual columns are handled. Had all the columns and set the visible property to false on all, but the one that’s selected. This seems confuses the FooterDatagrid as it showed all the footers in the bottom,….. Now one column for each, just change the dataField properties when the month selection happens.
- need to delete unnecessary columns from obligations_outlays_goals
- ALTER TABLE `obligations_outlays_goals` DROP `project_id`, DROP `funding_id`;
- query to find obligations/outlays/pm actuals and goals/percents
- SELECT project_number, req_description, req_id, projects.appropriation, budget_centers.total_budget,
GROUP_CONCAT(o.uid),
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_1, 0)) AS obligated_month_1, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_2, 0)) AS obligated_month_2,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_3, 0)) AS obligated_month_3, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_4, 0)) AS obligated_month_4,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_5, 0)) AS obligated_month_5, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_6, 0)) AS obligated_month_6,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_7, 0)) AS obligated_month_7, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_8, 0)) AS obligated_month_8,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_9, 0)) AS obligated_month_9, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_10, 0)) AS obligated_month_10,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_11, 0)) AS obligated_month_11, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_12, 0)) AS obligated_month_12,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_1, 0)) AS outlay_month_1, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_2, 0)) AS outlay_month_2,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_3, 0)) AS outlay_month_3, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_4, 0)) AS outlay_month_4,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_5, 0)) AS outlay_month_5, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_6, 0)) AS outlay_month_6,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_7, 0)) AS outlay_month_7, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_8, 0)) AS outlay_month_8,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_9, 0)) AS outlay_month_9, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_10, 0)) AS outlay_month_10,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_1, 0)) AS pm_actuals_month_1, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_2, 0)) AS pm_actuals_month_2,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_3, 0)) AS pm_actuals_month_3, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_4, 0)) AS pm_actuals_month_4,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_5, 0)) AS pm_actuals_month_5, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_6, 0)) AS pm_actuals_month_6,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_7, 0)) AS pm_actuals_month_7, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_8, 0)) AS pm_actuals_month_8,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_9, 0)) AS pm_actuals_month_9, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_10, 0)) AS pm_actuals_month_10,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_11, 0)) AS pm_actuals_month_11, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_12, 0)) AS pm_actuals_month_12,(g.obligation_month_1 * budget_centers.total_budget) / 100 AS obligation_goal_month_1,
(g.obligation_month_2 * budget_centers.total_budget) / 100 AS obligation_goal_month_2,
(g.obligation_month_3 * budget_centers.total_budget) / 100 AS obligation_goal_month_3,
(g.obligation_month_4 * budget_centers.total_budget) / 100 AS obligation_goal_month_4,
(g.obligation_month_5 * budget_centers.total_budget) / 100 AS obligation_goal_month_5,
(g.obligation_month_6 * budget_centers.total_budget) / 100 AS obligation_goal_month_6,
(g.obligation_month_7 * budget_centers.total_budget) / 100 AS obligation_goal_month_7,
(g.obligation_month_8 * budget_centers.total_budget) / 100 AS obligation_goal_month_8,
(g.obligation_month_9 * budget_centers.total_budget) / 100 AS obligation_goal_month_9,
(g.obligation_month_10 * budget_centers.total_budget) / 100 AS obligation_goal_month_10,
(g.obligation_month_11 * budget_centers.total_budget) / 100 AS obligation_goal_month_11,
(g.obligation_month_12 * budget_centers.total_budget) / 100 AS obligation_goal_month_12,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_1 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_1,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_2 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_2,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_3 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_3,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_4 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_4,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_5 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_5,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_6 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_6,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_7 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_7,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_8 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_8,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_9 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_9,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_10 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_10,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_11 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_11,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_12 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_12,(g.outlay_month_1 * budget_centers.total_budget) / 100 AS outlay_goal_month_1,
(g.outlay_month_2 * budget_centers.total_budget) / 100 AS outlay_goal_month_2,
(g.outlay_month_3 * budget_centers.total_budget) / 100 AS outlay_goal_month_3,
(g.outlay_month_4 * budget_centers.total_budget) / 100 AS outlay_goal_month_4,
(g.outlay_month_5 * budget_centers.total_budget) / 100 AS outlay_goal_month_5,
(g.outlay_month_6 * budget_centers.total_budget) / 100 AS outlay_goal_month_6,
(g.outlay_month_7 * budget_centers.total_budget) / 100 AS outlay_goal_month_7,
(g.outlay_month_8 * budget_centers.total_budget) / 100 AS outlay_goal_month_8,
(g.outlay_month_9 * budget_centers.total_budget) / 100 AS outlay_goal_month_9,
(g.outlay_month_10 * budget_centers.total_budget) / 100 AS outlay_goal_month_10,
(g.outlay_month_11 * budget_centers.total_budget) / 100 AS outlay_goal_month_11,
(g.outlay_month_12 * budget_centers.total_budget) / 100 AS outlay_goal_month_12,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_1 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_1,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_2 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_2,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_3 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_3,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_4 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_4,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_5 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_5,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_6 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_6,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_7 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_7,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_8 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_8,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_9 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_9,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_10 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_10,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_11 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_11,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_12 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_12FROM projects
RIGHT JOIN budget_centers ON projects.uid = budget_centers.project_id
RIGHT JOIN budget_center_contracts ON budget_center_contracts.budget_center_id = budget_centers.uid
RIGHT JOIN obligations_outlays AS o ON o.project_id = projects.uid
RIGHT JOIN obligations_outlays_goals AS g ON projects.appropriation = g.appropriation
WHERE o.year = 2013 AND o.year_count = 1 AND (o.type = ‘Reported FACTS Obligated $:’ OR o.type = ‘Outlay $ (Reported in FACTS)’ OR o.type = ‘PM Actuals (Invoiced) Outlay $:’)
AND g.year = 1
GROUP BY funding_id
- SELECT project_number, req_description, req_id, projects.appropriation, budget_centers.total_budget,
Dong Shin 08.27.2013
- continue working on FA
- working on Query Builder
- added Obligations/Outlays/PM Actuals to the query
- added Obligations/Outlays/PM Actuals Check Boxes
- created GLOBALS.as class for global constants and static methods
- working on Query Builder



You must be logged in to post a comment.