Skip to end of banner
Go to start of banner

Edit instance connection of order line design

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

AuthorAndrei Makaranka
JIRA task

UXPROD-3619 - Getting issue details... STATUS

Business Requirements

UXPROD-3619 - Getting issue details... STATUS

Architects Review

IN PROGRESS

PO review

IN PROGRESS

Revision History

VersionDateOwnerDescriptionReason
v1.004.27.2022Andrei MakarankaInitial version
v2.004.28.2022Andrei MakarankaModel and API definitions added
v3.005.01.2022Andrei MakarankaPATCH 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.

Use cases

  • Purchase order was connected to the wrong instance (often the electronic rather than physical instance) because of instance matching logic that is invoked for orders created through GOBI integration.
  • Purchase order was connected to the wrong instance because of human error.
  • Purchase order was connected to the wrong instance during order import or migration.

High-Level Requirements:


Constraints

  • Instance update can not be dine for Package purchase order line

Assumptions, dependencies

In scope

Allow user to change the instance connection of a POL
When changing connection FOLIO will update all related order and inventory records

Out of Scope

  • Allow user to Change instance connection but only update some records (Ie. do not move certain items)

Architecturally Significant Requirements

  • No need to support distribution and compensation transactions

Solution Design

Data Model

Define schema for DTO "patch_order_line_request" 

NameTypeMandatoryDefaultDescriptionNote
idUUIDYNAUnique identifier of the order line
operationenumYNAType 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

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

APIs

Add PATCH method into ramls/order-lines.raml

Method

Path

Request

Response

Description

Interface

Notes

PATCH

/order-lines/{id}

patch_order_line_requestNA
Apply partial modifications to a order line
orders.order-lines.item.patchStatus : 204

Detailed design

  1. Define ReplaceOrderLineInstanceFlowManager class in the org.folio.service.orders.lines 

Work Breakdown Structure


WorkCommentsStory~ Estimate
1


MODORDERS-618 - Getting issue details... STATUS


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

MODORDERS-683 - Getting issue details... STATUS

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

MODORDERS-684 - Getting issue details... STATUS

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

MODORDERS-685 - Getting issue details... STATUS

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

MODORDSTOR-297 - Getting issue details... STATUS

1

Open Items

QuestionAnswer


  • No labels