databaseproj's People
Forkers
brittjay0104databaseproj's Issues
Make InsertCustomerPayment a transaction
Look at issue 13 (closed) for details
Make a Command for Checking all Stores for Inventory + Make a command or a particular Store for inventory
We should have two seperate command queries
JUST MY STORE
SELECT storeID, merchandiseID, quantity, price
FROM Store s, StoreItem si
WHERE s.id = si.storeID AND si.merchandiseID =1 and StoreId=1
ALL Stores
SELECT storeID, merchandiseID, quantity, price
FROM Store s, StoreItem si
WHERE s.id = si.storeID AND si.merchandiseID =1;
Test Full Script in README.md
Make Printouts Nicer
Check length of field. If it's 3 chars say, add an extra tab so field line up in DatabaseManager
Add Name to Store
To discuss as a team.. probably easy to do and we could have 1 store named "Warehouse" to match the spec.
Initial Create Statements
StoreItem;
Merchandise;
Vendor;
Store;
VendorPayment;
Initial Select Statements
Check their Store or another Store's Inventory (a Warehouse is a special type of Store)
Review Bills
Orders
Generate Customer Purchase History
Generate Vendor Purchase History
Review Customer Order
Review Store Inventory
Generate Vendor Purchase History
Show total purchases from a vendor for the store for a time period
Show total purchases from a customer for the store for a time period
Show inventory of all stores summed
Show bills of all stores or a particular store summed
Show vendor bills of all stores or a particular store summed
Make Sure Type Matches Data in Entry
Needs to be checked on CommandView and in a few other places. Look for arg.setValue
Aka if the paramter type is an Int, should tell user to re-enter if they put "adfsafd" in
Select on CustomerAccount
If you have a chance please do, otherwise we can do quickly as a group.
Fix UpdateCustomerAccountInformation when customer doesn't have DOB in database
You'll get a null pointer exception when using update customer account information if the customer you are trying to update does not have a DOB in the database which isn't required.
I'm thinking this would also be a problem for anything else that's not required also.
Since Jessica created the update back end and knows best how this works I'm assigning to her.
Read Narrative
Add an Exit Command
From the Sales, Billing Etc.. Screen Should have a last option for "Exit"
From the "Enter your user id, Should have a "Enter Q to Quit"
Transactions
I'll do commands these in a transaction, these are a bit more complicated..
SpecialOrderItems;
SpecialOrder;
VendorBillItems;
VendorBill;
CustomerBill;
CustomerBillingCycle;
CustomerBillItems;
Use user's StoreID and UserId from Main.java if required
Aka don't prompt them for a User if the query should be using theres
This only affects
Insert VendorPayment;
Insert CustomerPayment; - when this one is done it also needs to update the CustomerCycle to Paid --- needs discussion
Select Staffmember doing an inventory check at a particular should check their store
Select Show Employees, should list the employees for the store
Select Show inventory for store should default to user's store
Follow what Insert CustomOrder does
Make selects join with merchandise table
VendorPrice should probably be on Merchandise Table
Move from VendorBill
Documentation Handins for Project
- Submit all source code (including all the auxiliary files that are needed for a successful standalone compilation of your source code by the course staff) to the submit board
- Doc with transactions highlighted in code and described
- highlight high-level design decisions, which are any choices/decisions that you had to make when designing your database and applications. (One example of high-level design decisions that you have taken is what architecture you have chosen for your code.)
- As part of the documentation submitted, explain who in your team played what functional role (e.g., software engineer, database designer/administrator, etc, see above under Organization) in each part (1 through 3) of the project. Submit the documentation.
Correctly Add a Month
In, InsertCustomerBill -- don't use addMonth
also in SendSpecialOrderToCustomer -- don't use addMonth
Add startdate and enddate to queries
ShowAllCustomerBills.java
ShowAllCustomerBillsByStore.java
ShowAllVendorBills.java
ShowAllVendorBillsByStore.java
Please test too :-)
Test everything in README.md labed Additional COMMANDS
Insert Vendor Bill
Need to modify the InsertVendorBill command to work properly
Create Biling Cycle
Like all the other create's
Don't crash if someone enters a non-command number on the main menu
Aka instead of a command number they enter "blah".. app falls over
Test Full Script in README.md
Create Log File for Updates
In DatabaseManager
before all executeUpdate commands print out the PreparedStatement's SQL and Parameters
Example stat.executeQuery();
- we want to see the SQL and parameters
-toString() may do this out of the box. If not try to get the sql and getParametersMetaData() iterate and print the parameter values. If you have issues with this just log the sql and i'll go add the parameters later.
Discuss things from Narriative we may have missed
So I had a read through the project narrative ( http://courses.ncsu.edu/csc540/lec/001/wrap/project/narrative.pdf) and I think we're missing the below points:
- Sales Staff should be able to Update Special Order
- Sales Staff should be able to Bill a Customer (Take Payment?)
- Special Order sends to Customers Address
- Report the purchase history for a given customer and for a certain time period
- Return information on all the customers a given salesperson assisted during a certain time period
- Return information on Books-A-Thousand’ staff grouped by their role.iod
Most of these I think should be minor changes, but point 3 raises some questions. I think we can do this in our current model by
- Making price visable on SpecialOrder
- Stocking person would enter a CustomerBill when their order comes in, and ship it out
Thoughts on this?
Also does anyone see other things we may have missed in the narrative or have questions on the ones I pointed out above?
Demo Data
Finishing writing sql file for data for demo.
CheckMerchandiseAvailability
Adding this to add a command to check whether a certain piece of merchandise will is available at all stores:
SELECT storeID, merchandiseID, quantity, price
FROM Store s, StoreItem si
WHERE s.id = si.storeID AND si.merchandiseID =1
I discussed this in Issue #3 so let me know if there are any questions.
Final Testing Before Submittion
- Prep the database with the demo-data.sql (make sure it's the demo sql)
- Follow our doc commands to compile and run the code
- Run the script (in readme), keeping note of all id's. They will be different because there is more data in the demo. Make sure you do this using the method in 2 (not from eclipse)
- Submit code and Doc.
Inserts that include updates
Make the command for Inserting a Customer Payment
This is tricky cause it must
- check to make sure the supplied CustomerBillingCycle exists (as done in update command)
- Insert into CustomerPayment (as done in Create/Insert commands)
- Update CustomerBillingCycle to paid (as done in update commands)
You may want to look at how the Update/Insert Commands are done and extend them
Also alter the command for InsertVendorPayment
It must (very similarly)
- make sure the vendor bill exists
- Insert into VendorPayment
- Update VendorBill to paid
Test Billing User
Insert Transaction for VendorBill + CustomerBill
Almost identical to InsertSpecial Order
Vendor Inserts into tables
VendorBillItems;
VendorBill;
Customer Inserts into tables
VendorBillItems;
VendorBill;
Create Initial Updates
Follow the structure used in UpdateMerchandise and UpdateAccount
Update Command classes needed for
-Update Bill status
update CustomerBill
set Status='Paid'
where id=3
-Update Billing Cycle
UPDATE CustomerBillingCycle
SET status = 'billed', startdate='01-MAY-12',enddate='30-May-12'
WHERE id = 2;
- Change Status of Special Order
UPDATE SpecialOrderItems
SET status = 'canceled'
WHERE specialOrderID = 3 AND MerchandiseID = 2; - Update vendor
UPDATE Vendor
SET name = ’New Name’, phoneNumber = ’111-111-1111’, address = ’101 Way’
WHERE id = 1; - Update an Employee
UPDATE Staff
SET storeID = 3, Salary = 1111, phoneNumber = ’919-999-9999’, name = ’New Name’, age = 10, gender = ’F’, title = ’Dr.’, department = ’Manager’, address = ’Somewhere’
WHERE id = 3;
UPDATE Staff
SET storeID = 3, salary = 1111, phoneNumber = ’919-999-9999’, name = ’New Name’, age = 10, gender = ’F’, title = ’Dr.’, department = ’Billing’, address = ’Somewhere’
WHERE id = 3;
Double check menu numbers in doc
Test Script
This is the same as Issue #32.
Just making this as a note to myself to test the script since I've made some changes.
Remove Price on Special Order Table
Test the Script
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.