From 078d5871e66d7bee8588d4d9807981d677fe3e33 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Wed, 3 Mar 2021 21:19:36 -0800 Subject: [PATCH 01/12] Create Purchasing Admin webpart. Create views. Add links --- .../CompletedRequests.qview.xml | 15 ++++++++ .../OpenRequests.qview.xml | 15 ++++++++ .../ehr_purchasing/shippingInfo/.qview.xml | 13 +++++++ .../userAccountAssociations/.qview.xml | 10 +++++ .../queries/ehr_purchasing/vendor/.qview.xml | 19 ++++++++++ .../resources/views/purchasingAdmin.html | 38 +++++++++++++++++++ .../resources/views/purchasingAdmin.view.xml | 2 + .../views/purchasingAdmin.webpart.xml | 6 +++ 8 files changed, 118 insertions(+) create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/CompletedRequests.qview.xml create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/shippingInfo/.qview.xml create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/userAccountAssociations/.qview.xml create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/vendor/.qview.xml create mode 100644 WNPRC_Purchasing/resources/views/purchasingAdmin.html create mode 100644 WNPRC_Purchasing/resources/views/purchasingAdmin.view.xml create mode 100644 WNPRC_Purchasing/resources/views/purchasingAdmin.webpart.xml diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/CompletedRequests.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/CompletedRequests.qview.xml new file mode 100644 index 000000000..21a98387d --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/CompletedRequests.qview.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml new file mode 100644 index 000000000..cb1197b7a --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/shippingInfo/.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/shippingInfo/.qview.xml new file mode 100644 index 000000000..2fd5ea9b4 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/shippingInfo/.qview.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/userAccountAssociations/.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/userAccountAssociations/.qview.xml new file mode 100644 index 000000000..91ed1df35 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/userAccountAssociations/.qview.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/vendor/.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/vendor/.qview.xml new file mode 100644 index 000000000..d75374fa1 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/vendor/.qview.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingAdmin.html b/WNPRC_Purchasing/resources/views/purchasingAdmin.html new file mode 100644 index 000000000..1e19accc9 --- /dev/null +++ b/WNPRC_Purchasing/resources/views/purchasingAdmin.html @@ -0,0 +1,38 @@ + + +
+

Purchasing Requests

+
Enter Request
+
Open Requests
+
Completed Requests
+
All Requests
+ +

Reference Tables

+
Vendors
+
User Account Associations
+
Shipping Info
\ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingAdmin.view.xml b/WNPRC_Purchasing/resources/views/purchasingAdmin.view.xml new file mode 100644 index 000000000..190b76cb7 --- /dev/null +++ b/WNPRC_Purchasing/resources/views/purchasingAdmin.view.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingAdmin.webpart.xml b/WNPRC_Purchasing/resources/views/purchasingAdmin.webpart.xml new file mode 100644 index 000000000..b8b094415 --- /dev/null +++ b/WNPRC_Purchasing/resources/views/purchasingAdmin.webpart.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From b0aaa0ad82a29c2dc7425c758ea141b1bac5fb0d Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Wed, 3 Mar 2021 23:58:36 -0800 Subject: [PATCH 02/12] Allow null vals for assignedTo. Add pcard view. --- .../ehr_purchasing/lineItems/.qview.xml | 13 +++++ .../queries/ehr_purchasing/pCard.query.xml | 53 +++++++++++++++++++ .../queries/ehr_purchasing/pCard.sql | 27 ++++++++++ .../queries/ehr_purchasing/pCard/.qview.xml | 17 ++++++ .../resources/views/purchasingAdmin.html | 25 +++++++-- .../views/purchasingLandingPage.html | 2 +- .../WNPRC_PurchasingManager.java | 3 +- 7 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/lineItems/.qview.xml create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.query.xml create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard/.qview.xml diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/lineItems/.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/lineItems/.qview.xml new file mode 100644 index 000000000..883803ca1 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/lineItems/.qview.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.query.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.query.xml new file mode 100644 index 000000000..434ebaab8 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.query.xml @@ -0,0 +1,53 @@ + + + + + P-Card View + + + Vendor + false + + ehr_purchasing + vendor + + + + + Business purpose + + + yyyy-MM-dd + + + yyyy-MM-dd + Post Date + + + ###,##0.00 + + + Acct code + + ehr_billingLinked + aliases + + + + Prog + + + Requested by + + + Notes/Internal Ref# + + + Invoice No + + + +
+
+
+
\ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql new file mode 100644 index 000000000..c0937e151 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql @@ -0,0 +1,27 @@ +SELECT + pr.vendorId, + items.description, + pr.justification, + pr.orderDate, + pr.cardPostDate, + items.totalCost, -- this needs to be changed to totalCharge - will it be different than totalCost? should there be a new field? + pr.account, + + pr.program, + pr.createdBy, + pr.comments, +-- pr.orderNum, --new field? + pr.invoiceNum +-- pr.confirmationNum, -- not used here? +-- pr.pkslip -- new field? attachment related +FROM ehr_purchasing.purchasingRequests pr +LEFT JOIN + ( + SELECT requestRowId, + group_concat(item, ', ') AS description, + round(sum(quantity * unitCost), 2) AS totalCost + FROM ehr_purchasing.lineItems + GROUP BY requestRowId + ) items +ON pr.rowId = items.requestRowId +WHERE ISMEMBEROF(pr.createdBy) \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard/.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard/.qview.xml new file mode 100644 index 000000000..760d7b0f4 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard/.qview.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingAdmin.html b/WNPRC_Purchasing/resources/views/purchasingAdmin.html index 1e19accc9..0af651ea5 100644 --- a/WNPRC_Purchasing/resources/views/purchasingAdmin.html +++ b/WNPRC_Purchasing/resources/views/purchasingAdmin.html @@ -1,7 +1,7 @@
@@ -30,9 +46,12 @@

Purchasing Re
Enter Request
Open Requests
Completed Requests
-
All Requests
+
All Requests
+
P-Card View

Reference Tables

Vendors
User Account Associations
-
Shipping Info
\ No newline at end of file +
Shipping Info
+
Item Units
+
Line Items
\ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingLandingPage.html b/WNPRC_Purchasing/resources/views/purchasingLandingPage.html index 282e72e4f..ca6186655 100644 --- a/WNPRC_Purchasing/resources/views/purchasingLandingPage.html +++ b/WNPRC_Purchasing/resources/views/purchasingLandingPage.html @@ -12,7 +12,7 @@ LABKEY.QueryWebPart.standardButtons.exportRows, LABKEY.QueryWebPart.standardButtons.print, LABKEY.QueryWebPart.standardButtons.pageSize, - {text: 'Create Request', url: LABKEY.ActionURL.buildURL('WNPRC_Purchasing', 'purchasingRequest', null, {isNewRequest: true})} + {text: 'Create Request', url: LABKEY.ActionURL.buildURL('WNPRC_Purchasing', 'purchasingRequest', null, {isNewRequest: true, returnUrl:window.location})} ]} }); qwp.render(); diff --git a/WNPRC_Purchasing/src/org/labkey/wnprc_purchasing/WNPRC_PurchasingManager.java b/WNPRC_Purchasing/src/org/labkey/wnprc_purchasing/WNPRC_PurchasingManager.java index 3d22e0f34..73e00cf71 100644 --- a/WNPRC_Purchasing/src/org/labkey/wnprc_purchasing/WNPRC_PurchasingManager.java +++ b/WNPRC_Purchasing/src/org/labkey/wnprc_purchasing/WNPRC_PurchasingManager.java @@ -190,8 +190,7 @@ else if (null != requestForm.getVendor() && newVendorData.size() == 0) //otherwise, continue adding non-required values row.put("comments", requestForm.getComments()); - //TODO: update assignedTo - row.put("assignedTo", null != requestForm.getAssignedTo() ? requestForm.getAssignedTo() : user.getUserId()); + row.put("assignedTo", requestForm.getAssignedTo()); row.put("qcState", requestForm.getQcState()); row.put("creditCardOptionId", requestForm.getCreditCardOption()); row.put("program", requestForm.getProgram()); From cb42ac2d0e543e45456368145aea1c3ec9a6ad65 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Tue, 16 Mar 2021 21:52:46 -0700 Subject: [PATCH 03/12] Change creditCardOption to paymentOption. Add paymentoption vals. --- .../resources/data/paymentOptions.tsv | 7 +++++ .../purchasingRequests.query.xml | 4 +-- .../wnprc_purchasing-21.001-21.002.sql | 17 ++++++++++ .../resources/schemas/wnprc_purchasing.xml | 8 ++--- .../src/client/RequestEntry/RequestEntry.scss | 2 +- .../src/client/RequestEntry/RequestEntry.tsx | 31 +++---------------- WNPRC_Purchasing/src/client/actions.ts | 2 +- .../client/components/PurchaseAdminPanel.tsx | 4 +-- .../components/PurchaseAdminPanelInputs.tsx | 12 +++---- WNPRC_Purchasing/src/client/model.ts | 2 +- .../WNPRC_PurchasingContainerListener.java | 9 ++++-- .../WNPRC_PurchasingController.java | 10 +++--- .../WNPRC_PurchasingFolderType.java | 1 + .../WNPRC_PurchasingManager.java | 9 ++++-- .../WNPRC_PurchasingSchema.java | 6 ++-- .../WNPRC_PurchasingUserSchema.java | 4 +-- .../sampledata/wnprc_purchasing/vendor.tsv | 3 +- 17 files changed, 71 insertions(+), 60 deletions(-) create mode 100644 WNPRC_Purchasing/resources/data/paymentOptions.tsv create mode 100644 WNPRC_Purchasing/resources/schemas/dbscripts/postgresql/wnprc_purchasing-21.001-21.002.sql diff --git a/WNPRC_Purchasing/resources/data/paymentOptions.tsv b/WNPRC_Purchasing/resources/data/paymentOptions.tsv new file mode 100644 index 000000000..23754406d --- /dev/null +++ b/WNPRC_Purchasing/resources/data/paymentOptions.tsv @@ -0,0 +1,7 @@ +paymentOption +Internal PO +External PO +MDS +Blanket Order +Direct Payment +Purchasing Card \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml index 75b385205..d35afca0b 100644 --- a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml @@ -47,10 +47,10 @@ false - + wnprc_purchasing - creditCardOptions + paymentOptions rowId diff --git a/WNPRC_Purchasing/resources/schemas/dbscripts/postgresql/wnprc_purchasing-21.001-21.002.sql b/WNPRC_Purchasing/resources/schemas/dbscripts/postgresql/wnprc_purchasing-21.001-21.002.sql new file mode 100644 index 000000000..453099e48 --- /dev/null +++ b/WNPRC_Purchasing/resources/schemas/dbscripts/postgresql/wnprc_purchasing-21.001-21.002.sql @@ -0,0 +1,17 @@ +DROP TABLE wnprc_purchasing.creditCardOptions; + +CREATE TABLE wnprc_purchasing.paymentOptions +( + rowId serial, + paymentOption varchar(500), + container ENTITYID NOT NULL, + createdBy USERID, + created timestamp, + modifiedBy USERID, + modified timestamp, + + CONSTRAINT PK_WNPRC_PURCHASING_PAYMENT_OPTIONS PRIMARY KEY (rowId), + CONSTRAINT FK_WNPRC_PURCHASING_PAYMENT_OPTIONS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) +); + +CREATE INDEX IDX_WNPRC_PURCHASING_PAYMENT_OPTIONS_CONTAINER ON wnprc_purchasing.paymentOptions(Container); \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/schemas/wnprc_purchasing.xml b/WNPRC_Purchasing/resources/schemas/wnprc_purchasing.xml index 4fb769561..9dcf2b101 100644 --- a/WNPRC_Purchasing/resources/schemas/wnprc_purchasing.xml +++ b/WNPRC_Purchasing/resources/schemas/wnprc_purchasing.xml @@ -1,13 +1,13 @@ - - Credit Card Options - cardOption +
+ Payment Options + paymentOptionDETAILED - + diff --git a/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.scss b/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.scss index ae70114c0..9e7c4580e 100644 --- a/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.scss +++ b/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.scss @@ -74,7 +74,7 @@ white-space: pre-wrap; } -.account-input, .vendor-input, .shipping-dest-input, .assigned-to-input, .credit-card-option-input, .status-input { +.account-input, .vendor-input, .shipping-dest-input, .assigned-to-input, .payment-option-input, .status-input { resize: none; width: 140%; } diff --git a/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.tsx b/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.tsx index 695891d6f..ccfeda558 100644 --- a/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.tsx +++ b/WNPRC_Purchasing/src/client/RequestEntry/RequestEntry.tsx @@ -81,7 +81,7 @@ export const App: FC = memo(() => { setPurchaseAdminModel( PurchaseAdminModel.create({ assignedTo: vals[0].assignedTo, - creditCardOption: vals[0].creditCardOptionId, + paymentOption: vals[0].paymentOptionId, qcState: vals[0].qcState, program: vals[0].program, confirmationNum: vals[0].confirmationNum, @@ -206,17 +206,8 @@ export const App: FC = memo(() => { setIsDirty(false); event.preventDefault(); const returnUrl = ActionURL.getParameter('returnUrl'); + window.location.href = returnUrl || ActionURL.buildURL('project', 'begin', getServerContext().container.path); - // TODO: this is temporary until purchasing admin page is created, then change it to get routed to the admin page - if (!!requestId && hasPurchasingAdminPermission) { - window.location.href = ActionURL.buildURL('query', 'executeQuery', getServerContext().container.path, { - schemaName: 'ehr_purchasing', - 'query.queryName': 'purchasingRequests', - }); - } else { - window.location.href = - returnUrl || ActionURL.buildURL('project', 'begin', getServerContext().container.path); - } }, [isDirty, requestId, hasPurchasingAdminPermission] ); @@ -238,22 +229,8 @@ export const App: FC = memo(() => { ) .then(r => { if (r.success) { - // TODO: this is temporary until purchasing admin page is created, then change it to get routed to the admin page - if (requestId) { - window.location.href = ActionURL.buildURL( - 'query', - 'executeQuery', - getServerContext().container.path, - { schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequests' } - ); - } else { - // navigate to purchasing overview grid/main page - window.location.href = ActionURL.buildURL( - 'project', - 'begin', - getServerContext().container.path - ); - } + const returnUrl = ActionURL.getParameter('returnUrl'); + window.location.href = returnUrl || ActionURL.buildURL('project', 'begin', getServerContext().container.path); } }) .catch(reject => { diff --git a/WNPRC_Purchasing/src/client/actions.ts b/WNPRC_Purchasing/src/client/actions.ts index de690844b..f45d6dd72 100644 --- a/WNPRC_Purchasing/src/client/actions.ts +++ b/WNPRC_Purchasing/src/client/actions.ts @@ -60,7 +60,7 @@ export async function submitRequest( comments: requestOrder.comments, qcState: purchasingAdminModel?.qcState || requestOrder.qcState, assignedTo: purchasingAdminModel?.assignedTo, - creditCardOption: purchasingAdminModel?.creditCardOption, + paymentOption: purchasingAdminModel?.paymentOption, program: purchasingAdminModel?.program ? purchasingAdminModel.program : '4', confirmNum: purchasingAdminModel?.confirmationNum, invoiceNum: purchasingAdminModel?.invoiceNum, diff --git a/WNPRC_Purchasing/src/client/components/PurchaseAdminPanel.tsx b/WNPRC_Purchasing/src/client/components/PurchaseAdminPanel.tsx index 4b99dac8c..eb8c7d7f9 100644 --- a/WNPRC_Purchasing/src/client/components/PurchaseAdminPanel.tsx +++ b/WNPRC_Purchasing/src/client/components/PurchaseAdminPanel.tsx @@ -7,7 +7,7 @@ import { PurchaseAdminModel } from '../model'; import { AssignedToInput, - CreditCardOptionInput, + PaymentOptionInput, ConfirmationInput, InvoiceInput, ProgramInput, @@ -55,7 +55,7 @@ export const PurchaseAdminPanel: FC = memo(props => { - + diff --git a/WNPRC_Purchasing/src/client/components/PurchaseAdminPanelInputs.tsx b/WNPRC_Purchasing/src/client/components/PurchaseAdminPanelInputs.tsx index e0accdc75..7f7a89aee 100644 --- a/WNPRC_Purchasing/src/client/components/PurchaseAdminPanelInputs.tsx +++ b/WNPRC_Purchasing/src/client/components/PurchaseAdminPanelInputs.tsx @@ -49,30 +49,30 @@ export const AssignedToInput: FC = memo(props => { ); }); -export const CreditCardOptionInput: FC = memo(props => { +export const PaymentOptionInput: FC = memo(props => { const { onChange, value, hasError } = props; const [dropDownVals, setDropDownVals] = useState(); useEffect(() => { - getData('wnprc_purchasing', 'creditCardOptions', 'rowId, cardOption', 'cardOption').then(vals => { + getData('wnprc_purchasing', 'paymentOptions', 'rowId, paymentOption', 'paymentOption').then(vals => { setDropDownVals(vals); }); }, []); - const options = useMemo(() => createOptions(dropDownVals, 'rowId', 'cardOption'), [dropDownVals]); + const options = useMemo(() => createOptions(dropDownVals, 'rowId', 'paymentOption'), [dropDownVals]); const onValueChange = useCallback( evt => { - onChange('creditCardOption', evt.target.value); + onChange('paymentOption', evt.target.value); }, [onChange] ); return (
- +
From de1a1ce41d3b710288f0cfb3f3ed06aa6e1416a9 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Wed, 17 Mar 2021 20:21:35 -0700 Subject: [PATCH 06/12] Add EHRPurchasingContainer module property. Separate out overview report links for requesters and admins. Add links to wnprcUnits. --- WNPRC_EHR/resources/views/wnprcUnits.html | 4 +++- .../queries/ehr_purchasing/myOpenRequests.sql | 20 +++++++++++++++++++ .../queries/ehr_purchasing/pCard.sql | 3 +-- .../purchasingRequests.query.xml | 7 +++++++ .../purchasingRequestsOverview.query.xml | 4 ++-- .../purchasingRequestsOverview.sql | 4 ++-- .../purchasingRequestsOverviewForAdmins.sql | 19 ++++++++++++++++++ .../AllOpenRequests.qview.xml} | 3 ++- .../CompletedRequests.qview.xml | 0 .../resources/views/purchasingAdmin.html | 13 ++++++++---- .../views/purchasingLandingPage.html | 3 ++- 11 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/myOpenRequests.sql create mode 100644 WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins.sql rename WNPRC_Purchasing/resources/queries/ehr_purchasing/{purchasingRequestsOverview/OpenRequests.qview.xml => purchasingRequestsOverviewForAdmins/AllOpenRequests.qview.xml} (75%) rename WNPRC_Purchasing/resources/queries/ehr_purchasing/{purchasingRequestsOverview => purchasingRequestsOverviewForAdmins}/CompletedRequests.qview.xml (100%) diff --git a/WNPRC_EHR/resources/views/wnprcUnits.html b/WNPRC_EHR/resources/views/wnprcUnits.html index 44880afb1..3011f530e 100644 --- a/WNPRC_EHR/resources/views/wnprcUnits.html +++ b/WNPRC_EHR/resources/views/wnprcUnits.html @@ -97,7 +97,9 @@ ]}, {header: 'Purchasing Services', items: [ - {name: 'Issue Tracker', url: '<%=contextPath%>/project/WNPRC/WNPRC_Units/Operation_Services/Purchasing/Issue_Tracker/start.view?'} + {name: 'Issue Tracker', url: '<%=contextPath%>/project/WNPRC/WNPRC_Units/Operation_Services/Purchasing/Issue_Tracker/start.view?'}, + {name: 'Purchasing Requests', url: '<%=contextPath%>/WNPRC/WNPRC_Units/Operation_Services/Purchasing/Purchasing_Requests/project-begin.view?'}, + {name: 'Purchasing Admin', url: '<%=contextPath%>/WNPRC/WNPRC_Units/Operation_Services/Purchasing/Purchasing_Admin/project-begin.view?'} ]} ] }); diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/myOpenRequests.sql b/WNPRC_Purchasing/resources/queries/ehr_purchasing/myOpenRequests.sql new file mode 100644 index 000000000..e02382888 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/myOpenRequests.sql @@ -0,0 +1,20 @@ +-- open requests assigned to the current purchase admin user +SELECT + pr.rowId AS requestNum, + pr.created AS requestDate, + pr.vendorId, + items.totalCost, + pr.account || pr.otherAcctAndInves AS account, + pr.qcState AS requestStatus, + pr.createdBy AS requester, + pr.assignedTo +FROM ehr_purchasing.purchasingRequests pr + LEFT JOIN + ( + SELECT requestRowId, + round(sum(quantity * unitCost), 2) AS totalCost + FROM ehr_purchasing.lineItems + GROUP BY requestRowId + ) items + ON pr.rowId = items.requestRowId +WHERE ISMEMBEROF(pr.assignedTo) \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql index 06a425e3e..901ccbdb5 100644 --- a/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/pCard.sql @@ -23,5 +23,4 @@ LEFT JOIN FROM ehr_purchasing.lineItems GROUP BY requestRowId ) items -ON pr.rowId = items.requestRowId -WHERE ISMEMBEROF(pr.createdBy) \ No newline at end of file +ON pr.rowId = items.requestRowId \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml index d35afca0b..8bd04f8ec 100644 --- a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequests.query.xml @@ -59,6 +59,13 @@
+ + + core + Users + UserId + + diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.query.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.query.xml index 42ca3a53a..b6ccf2a65 100644 --- a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.query.xml +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.query.xml @@ -13,7 +13,7 @@ - ehr_purchasing + ehr_purchasingLinked vendor @@ -28,7 +28,7 @@ - core + coreLinked QCState diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.sql b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.sql index 4b4325149..79417620b 100644 --- a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.sql +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview.sql @@ -7,12 +7,12 @@ SELECT pr.created AS requestDate, pr.createdBy AS requester, items.totalCost -FROM ehr_purchasing.purchasingRequests pr +FROM ehr_purchasingLinked.purchasingRequests pr LEFT JOIN ( SELECT requestRowId, round(sum(quantity * unitCost), 2) AS totalCost - FROM ehr_purchasing.lineItems + FROM ehr_purchasingLinked.lineItems GROUP BY requestRowId ) items ON pr.rowId = items.requestRowId diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins.sql b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins.sql new file mode 100644 index 000000000..6c920aeb3 --- /dev/null +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins.sql @@ -0,0 +1,19 @@ +SELECT + pr.rowId, + pr.vendorId, + pr.account, + pr.otherAcctAndInves, + pr.qcState AS requestStatus, + pr.created AS requestDate, + pr.createdBy AS requester, + items.totalCost, + pr.assignedTo +FROM ehr_purchasing.purchasingRequests pr +LEFT JOIN + ( + SELECT requestRowId, + round(sum(quantity * unitCost), 2) AS totalCost + FROM ehr_purchasing.lineItems + GROUP BY requestRowId + ) items +ON pr.rowId = items.requestRowId \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins/AllOpenRequests.qview.xml similarity index 75% rename from WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml rename to WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins/AllOpenRequests.qview.xml index cb1197b7a..5b5483cc3 100644 --- a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/OpenRequests.qview.xml +++ b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins/AllOpenRequests.qview.xml @@ -8,8 +8,9 @@ + - + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/CompletedRequests.qview.xml b/WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins/CompletedRequests.qview.xml similarity index 100% rename from WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverview/CompletedRequests.qview.xml rename to WNPRC_Purchasing/resources/queries/ehr_purchasing/purchasingRequestsOverviewForAdmins/CompletedRequests.qview.xml diff --git a/WNPRC_Purchasing/resources/views/purchasingAdmin.html b/WNPRC_Purchasing/resources/views/purchasingAdmin.html index 0af651ea5..834287598 100644 --- a/WNPRC_Purchasing/resources/views/purchasingAdmin.html +++ b/WNPRC_Purchasing/resources/views/purchasingAdmin.html @@ -24,16 +24,20 @@ window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'lineItems'}); } + function goToMyOpenRequestsView() { + window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'myOpenRequests'}); + } + function goToOpenRequestsView() { - window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequestsOverview', 'query.viewName':'OpenRequests'}); + window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequestsOverviewForAdmins', 'query.viewName':'AllOpenRequests'}); } function goToCompletedRequestsView() { - window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequestsOverview', 'query.viewName':'CompletedRequests'}); + window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequestsOverviewForAdmins', 'query.viewName':'CompletedRequests'}); } function goToRequestsView() { - window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequestsOverview'}); + window.location = LABKEY.ActionURL.buildURL('query', 'executeQuery', LABKEY.ActionURL.getContainer(), {schemaName: 'ehr_purchasing', 'query.queryName': 'purchasingRequestsOverviewForAdmins'}); } function goToPCardView() { @@ -44,7 +48,8 @@

Purchasing Requests

- + + diff --git a/WNPRC_Purchasing/resources/views/purchasingLandingPage.html b/WNPRC_Purchasing/resources/views/purchasingLandingPage.html index ca6186655..cc899ef17 100644 --- a/WNPRC_Purchasing/resources/views/purchasingLandingPage.html +++ b/WNPRC_Purchasing/resources/views/purchasingLandingPage.html @@ -1,6 +1,7 @@
+ +
+

WNPRC Purchasing Portal

+ + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingLanding.view.xml b/WNPRC_Purchasing/resources/views/purchasingLanding.view.xml new file mode 100644 index 000000000..e702c0006 --- /dev/null +++ b/WNPRC_Purchasing/resources/views/purchasingLanding.view.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingLanding.webpart.xml b/WNPRC_Purchasing/resources/views/purchasingLanding.webpart.xml new file mode 100644 index 000000000..59c87eccc --- /dev/null +++ b/WNPRC_Purchasing/resources/views/purchasingLanding.webpart.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WNPRC_Purchasing/resources/views/purchasingRequester.html b/WNPRC_Purchasing/resources/views/purchasingRequester.html index cc899ef17..ca6186655 100644 --- a/WNPRC_Purchasing/resources/views/purchasingRequester.html +++ b/WNPRC_Purchasing/resources/views/purchasingRequester.html @@ -1,7 +1,6 @@