cityofaustin / atd-data-tech

Austin Transportation Data & Technology Services
17 stars 2 forks source link

[Feature] Financial Code Tracking #4530

Closed amenity closed 2 years ago

amenity commented 3 years ago

As a Moped user, I need to track the FDUs associated with my project so that I can monitor costs and create purchase requests.

Background

A project may have one or more task order codes which are used by ATD to bill labor to a funding source. #7310

A project may have one or more FDUs which uniquely identify a funding source. An FDU is a 12-digit # comprised of a fund, department and unit identifier, e.g.: 5125-2400-8782.

A true integration is out of scope for the first iteration of this feature, but worth noting that we do currently integrate both FDUs and task order codes with the Data Tracker. The data is sourced from controller's office Microstrategy database.

Also worth nothing that any capital project will have FDUs and Task Orders associated with it in eCapris, so this information could be populated automatically for capital projects. Out of scope for this iteration.

In Scope

Screen Shot 2022-01-14 at 1 13 25 PM

Bonus points

amenity commented 3 years ago

Will want to associate projects to FDUs — note that associated FDUs will evolve over time as new funding sources are secured.

johnclary commented 3 years ago

@amenity i took a first pass at scoping this.

I believe we'll need a new component for this kind of interaction. Something similar to the multiselect but with user-defined values.

  • The ability for a user to enter multiple distinct values for both FDU and task orders
  • A user-friendly way to display these values and update them
johnclary commented 3 years ago

Thinking about this some more, it would be really nice to use an existing async-autocomplete component for this. React-select is a nice one (Material UI may have a recipe as well).

It wouldn't be that much work to use a Knack table as the source for the autocomplete. The data is already there and can be exposed publicly (although we may need to tweak our microstrategy queries to include FDUs for non-AMD workgroups). I'm inclined to put this in scope.

amenity commented 3 years ago

@johnclary - not sure if it provides what you're wanting, but there's an "asynchronous" flavor of Material UI Autocomplete. Would we be able to use the same approach for Data Tracker Signal IDs?

amenity commented 3 years ago

@johnclary - thanks so much for sorting this out. 🙏🙏.

3676 is also on the roadmap and I see you set that to be blocked by this...

johnclary commented 3 years ago

@amenity yep, that MUI component is what I had in mind, though in these cases it would need to be combined with multi-select. great point—the async select to knack would be exactly what we use for selecting signal IDs.

amenity commented 2 years ago

@johnclary - I'm not opposed to forgoing an integration for Moped 1.0 and instead importing picklist values...

johnclary commented 2 years ago

@chiaberry I updated the screenshot and description with more info. I've also sent you a json file which can be used as the seed data for the Department-Unit dataset on Socrata. You can call this dataset "Transportation Project Financial Codes".

johnclary commented 2 years ago

@chiaberry here are the Fund values

5125 | MOBILITY FUND
5390 | TRANSPORTATION INVENTORY FUND
5610 | PARKING MANAGEMENT FUND
7026 | 1-35 PARKING PROGRAM FUND
8112 | GCP TRANSPORTATION
8119 | GCP-MOBILITY P1/2016
8127 | 2018 BOND
8400 | CIP IMPROVEMENTS FUND
8581 | QUARTER CENT FUND
8950 | GCP GRANTS FUND
chiaberry commented 2 years ago

@johnclary 7026 | 1-35 PARKING PROGRAM FUND

should I change this to I-35, or keep as 1-35 because thats what knack has?

johnclary commented 2 years ago

Chia and I sorted this out. Good catch!