Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



AuthorAndrei Makaranka
JIRA task

Jira Legacy
serverSystem JiraJIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUXPROD-3619

Business Requirements

Jira Legacy
serverSystem JiraJIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUXPROD-3619

Architects Review

Status
colourYellow
titleIn Progress

PO review

Status
colourYellow
titleIn Progress

...

VersionDateOwnerDescriptionReason
v1.004.27.2022Initial version
v2.004.28.2022@@Andrei MakarankaModel and API definitions added
v3.005.01.2022Andrei Makaranka business PATCH method design added
v3.105.04.2022Diagrams added
v3.205.09.2022Andrei Makaranka storage PATCH method design added

Overview

Current situation or problem: When a purchase orders is connected to the wrong instance there is no way to correct it. Unopening orders to do this is causing issues with receiving workflow.

...

Solution Design

Data Model

mod-orders

Define schema for DTO "patch_order_line_request" 

NameTypeMandatoryDefaultDescriptionNote
idUUIDYNAUnique identifier of the order lineoperationenumYNAType of a partial modification[REPLACE_INSTANCE_REF]
replaceInstanceRef

replace_order_line_instance_ref

NNAReplace instance reference

Define schema for DTO "replace_order_line_instance_ref"

NameTypeMandatoryDefaultDescriptionNote
newInstanceIdUUIDYNAReference to new instance
holdingsOperation

enum

YNMOVENAHow to process connected holdings[MOVE, FIND_OR_CREATE, CREATE]
deleteAbandonedHoldingsbooleanYfalseIf abandoned holdings will be deleted

mod-orders-storage

Define schema for DTO "storage_patch_order_line_request" 

NameTypeMandatoryDefaultDescriptionNote
operationenumYNAType of a partial modification[REPLACE_INSTANCE_REF]
replaceInstanceRef

storage_replace_order_line_instance_ref

NNAReplace instance reference

Define schema for DTO "storage_replace_order_line_instance_ref"

NameTypeMandatoryDefaultDescriptionNote
newInstanceIdUUIDYNAReference to new instance
holdingsarray of storage_replace_order_line_holding_refsNNAHolding references for replacement in the locations and pieces

Define schema for DTO "storage_replace_order_line_holding_refs"

NameTypeMandatoryDefaultDescriptionNote
fromHoldingIdUUIDYNAReference to previous holding
toHoldingIdUUIDYNA Reference to new holding

APIs

mod-orders-storage : Add PATCH method into ramls/po-line.raml

Method

Path

Request

Response

Description

Interface

Notes

PATCH

/orders-storage/po-lines/{id}

storage_patch_order_line_request

NA : Status 204
Apply partial modifications to a order line

orders-storage.po-lines.item.patch

https://www.rfc-editor.org/rfc/rfc5789

mod-orders : Add PATCH method into ramls/order-lines.

...

raml 

Method

Path

Request

Response

Description

Interface

Notes

PATCH

orders/order-lines/{id}

patch_order_line_requestNA : Status 204
Apply partial modifications to a order line
orders.order-lines.item.patchhttps://www.rfc-editor.org/rfc/rfc5789

Detailed design

Class diagram

Should be defined in the mod-orders  MODORDERS-683 (DTO : patch_order_line_request) and mod-orders-storage MODORDSTOR-298(DTO : storage_patch_order_line_request)

Sequence diagrams

Work Breakdown Structure


WorkCommentsStory~ Estimate
1


Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODORDERS-618

2
2

Implement PATCH Storage API for updating Instance Reference for Non-package order line


Jira Legacy
serverSystem JIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODORDSTOR-299

3
3Define new business API for updating Instance Reference for Non-package order line

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODORDERS-683

2
34Implement edit instance connection logic of POL - create inventory set to Instance, holding or Instance, holding, item

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODORDERS-684

3
45Implement edit instance connection logic of POL - create inventory set to Instance or none

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODORDERS-685

3
56Define data model for supporting edit instance connection logic of POL

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODORDSTOR-297

1

Open Items

QuestionAnswer

Andrei Makaranka Which link should be updated if there are more than one in the line?

Image Modified

Dennis Bridges Each link should be updated separately. If the POL has more than one location/holdings, after the instance connection is changed the POL should still have more than one location and depending on the settings used a new holdings ID should be added for each “location”. 

If the POL only has Holdings IDs you could use those existing holdings IDs to get a location ID from the “Permanent location” of each holdings. 

Andrei Makaranka For which pieces is it allowed to change the instance?(Expected, Received)

Dennis Bridges