cityofaustin / atd-data-tech

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

[Feature] Allow selecting multiple impoundments to associate with invoices #17116

Open patrickm02L opened 4 months ago

patrickm02L commented 4 months ago

Description

Currently when creating an invoice, impoundments can only be associated one at a time. Implement a feature that allows selecting multiple impoundments from a list and associating them all at once with an invoice.

Acceptance Criteria

Notes

We've implemented a similar process for the finance app.

Issues

Code

Prototype

patrickm02L commented 3 months ago

5/8/24

@dianamartin @ChrispinP to do some background work to get the Apps requirements documented.

dianamartin commented 3 months ago

5/15/2024

SMRT Application

Option 1:

Invoice X Details Page # of Impoundments Invoice #
INVOICE ABC
X INVOICE ABC Details Provider Impoundments INVOICE ABC
Provider Impoundments> INVOICE ABC
Provider Impoundments> INVOICE ABC

Option 2:

Invoice X # of Impoundments Invoice #
INVOICE ABC
Provider Impoundments INVOICE ABC
Provider Impoundments> INVOICE ABC
Provider Impoundments> INVOICE ABC

Impoundment Creation

Invoice Creation

She said the influx of impoundments can come from Parking Enterprise leadership or higher up the chain (City Manager), so not sure how many there will be per Provider in the future.

We also discussed that we're leaning toward "Option 1".



// Set scenes and views
var scene = "scene_4";

// Items table
var itemsView = "view_60";
var itemsEditableView = "view_16";

// Invoice Items table
var invoiceItemsAdminView = "view_681";
var invoiceItemsNonAdminView = "view_717";

// Invoices table
var invoicesView = "view_282";
dianamartin commented 3 months ago

5/15/2024

Added to the "Invoice Details" (in PROD)

Messaged Andrea

Hey, just FYI.. I added the "impoundments" table on the Invoice Details page until we can get the enhancement updated (See Bird Example) here

You'll be able to click into the highlighted area and associate an impound to an invoice

patrickm02L commented 2 months ago

6/12/24 Dev + Product Sync

patrickm02L commented 1 month ago

7/12/24 Testing

I created a new Invoice and two test records for Bird for testing.

Review 1

When trying to add impoundments, I was able to select them but when I pushed the button it didn't trigger an association.

https://github.com/user-attachments/assets/f3d88de9-88a8-40cd-a428-38a37fa8d43e

Chia let me know that when cleaning up the code yesterday she forgot to clean up one part and introduced a bug. And all let me know that when the impoundment gets assigned it would dissapear from the table because it was filtered to show records without an invoice

Review 2

Now I could select the record and when pushing the Add selected to invoice button they dissapeared after I refreshed the page.

https://github.com/user-attachments/assets/18371985-1754-48f9-974f-ae77e5ed194e

Chia recognized that she only refreshed the bottom view, and made it to where both views were refreshed.

Review 3

Realized that the impoundments showed up in the impoundments table and had the correct invoice associated with them. Also, realized that I had to Add invoice items manually to get them to show up in the Invoice Details page and subsequent PDF.

https://github.com/user-attachments/assets/8cb9cc8c-f884-42cc-a1d0-21edb0d9ed85

Everything worked as expected.

Approved.

Good to Go! 🚀

patrickm02L commented 1 month ago

7/16/24 Impoundments Review

Diana, Chia, and I met to discuss the functionality of the multi-select impoundments. The goal of the impoundments is make them selectable and move them from the "Provide Impoundments" table to the "Invoice Items" table.

Here are the key takeaways:

1. Description ID

2. Automatic Refresh

3. Transaction amount should match impoundment fee amount

4. Invoice_item table location

5. Resize checkboxes

chiaberry commented 1 month ago

Test app ready for re-review

Patrick brought up question of deleting Invoice Items, and if anything should happen when invoice items are removed.

dianamartin commented 1 month ago

7/25/2024

@chiaberry

Changes Requested

I'll added two invoice items to compare on this invoice: INV24-000782

To review records on the back end go to the "Invoice _item" table

image

patrickm02L commented 1 month ago

7/31/24

@dianamartin please make sure to add the trigger to clear out the Invoice ID if it's removed from the Invoice Items table, and can be found in the Provider table.

chiaberry commented 1 month ago

I opened this PR, the code is in the test app: https://github.com/cityofaustin/atd-knack/pull/161

I have checked to make sure the fields have the same ids in prod, so in theory nothing should need to be updated when moving it to the SMRT prod app.

If you need any dev assistance while I'm ooo, devs can help triage.

dianamartin commented 4 weeks ago

8/2/24

@patrickm02L

Steps to remove connection