diff --git a/RPtoRFX_PrepOrder_DefaultHeaderData copy.ftl b/RPtoRFX_PrepOrder_DefaultHeaderData.ftl similarity index 80% rename from RPtoRFX_PrepOrder_DefaultHeaderData copy.ftl rename to RPtoRFX_PrepOrder_DefaultHeaderData.ftl index 89f5f38..63f104d 100644 --- a/RPtoRFX_PrepOrder_DefaultHeaderData copy.ftl +++ b/RPtoRFX_PrepOrder_DefaultHeaderData.ftl @@ -1,5 +1,11 @@ <#-- Note : you can use Order Header Metadata, using the define map : Header_MetaData_Map --> +<#-- How to use MD Header map + Example : + <#assign pick_sequence_code = Header_MetaData_Map["OrderType"]/> +--> + + <#assign activity_code = "PEN"/> <#assign originator_code = "50000189"/> <#assign preparation_type_code = "010"/> diff --git a/RPtoRFX_PrepOrder_DefaultLineData.ftl b/RPtoRFX_PrepOrder_DefaultLineData.ftl index 99252ef..5f914d3 100644 --- a/RPtoRFX_PrepOrder_DefaultLineData.ftl +++ b/RPtoRFX_PrepOrder_DefaultLineData.ftl @@ -1,7 +1,12 @@ <#-- Note : you can use Order Line Metadata, using the define map : Line_MetaData_Map --> <#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map --> -<#assign owner_code_to_prepare = ${SegmentationKeys_Map["myOwner"]}/> +<#-- How to use MD or SK map + Example : + <#assign owner_code_to_prepare = SegmentationKeys_Map["Owner"]/> +--> + +<#assign owner_code_to_prepare = SegmentationKeys_Map["myOwner"]/> <#assign grade_code_to_prepare =""/> <#assign batch_1 =""/> diff --git a/RPtoRFX_Receipt.ftl b/RPtoRFX_Receipt.ftl index 9e1ac64..472f0c1 100644 --- a/RPtoRFX_Receipt.ftl +++ b/RPtoRFX_Receipt.ftl @@ -1,4 +1,4 @@ -<#include "RPtoRFX_Receipt_DefaultData.ftl"> +<#include "RPtoRFX_Receipt_DefaultHeaderData.ftl"> <#assign aDateTime = .now> { "id" : {"refid" : "${executionflow.OrderID}"}, @@ -6,55 +6,69 @@ "method" : "POST", "uri_substitutions": { "activity_code": "${activity_code}", - "physical_depot_code": "${ActorID_RPtoRFX[executionflow.ShipTo.ActorID]!executionflow.ShipTo.ActorID}", - "originator_code": "${Reflex_Originator}" + "physical_depot_code": "${executionflow.ShipTo.ActorID!""}", + "originator_code": "${originator_code}" }, "payload" : { - "receipt_reference": "${executionflow.OrderID}", - "receipt_type": "${receipt_type}", - "receipt_reason_code": "${receipt_reason_code}", - "work_mode_code" : "${work_mode_code}", - "original_code" : "${ActorID_RPtoRFX[executionflow.ShipFrom.ActorID]!executionflow.ShipFrom.ActorID}", - "carrier_code" : "${ActorID_RPtoRFX[executionflow.Carrier.ActorID]!executionflow.Carrier.ActorID}", - <#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??> - "carrier_appointment_start_datetime": "${executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime}", - <#else> - "carrier_appointment_start_datetime": "${aDateTime?iso_utc}", - + "receipt_reference": "${executionflow.OrderID}", + "receipt_type": "${receipt_type}", + "receipt_reason_code": "${receipt_reason_code}", + "work_mode_code" : "${work_mode_code}", + "original_code" : "${executionflow.ShipFrom.ActorID}", + "carrier_code" : "${executionflow.Carrier.ActorID!""}", + + <#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??> + "receipt_datetime": "${executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime}", + <#else> + "receipt_datetime": "${aDateTime?iso_utc}", + + + <#-- "carrier_appointment_made": "false", "receipt_in_cross_docking": "false", "dock_occupation_duration": 10, + --> - <#if executionflow.Lines??> - "line_list": [ - <#list executionflow.Lines as line> - { + <#if executionflow.Lines??> + "line_list": [ + <#list executionflow.Lines as line> - <#if line.RequestedContent.Goods.SegmentationKeys??> - <#assign ic_map = JsonUtil.sequenceToMap(line.RequestedContent.Goods.SegmentationKeys, "Key", "Value") /> - "owner_code": "${ic_map.Owner.String!"${Default_Value_Owner_SegmentationKey}"}", - "grade_code": "${SegmentationKeys_RPtoRFX[ic_map.Grade.String!""]!"${Default_Value_Grade_SegmentationKey}"}", - "batch_1": "${ic_map.BatchNumber!""}", - - "receipt_reference_line_no": ${line.LineID?number}, - "item_code": "${line.RequestedContent.Goods.ItemID!""}", - "item_lv_code": "${line.RequestedContent.Goods.LVBranchID!""}", - "level_1_quantity": ${line.RequestedMetrics.QuantityInBaseLV.Value!0} - - }<#sep>, - - ], + <#-- ******* line MetaData and Segmentationkeys to maps ******** --> + <#if executionflow.line.MetaData??> + <#assign Line_MetaData_Map = JsonUtil.sequenceToMap(executionflow.line.MetaData, "Key", "Value") /> - "optional_attributes": { - "held_for_check": "false", - "held _for_repacking": "false", - "hold_for_specific_code": "false", - "hold_code": "false" - }, - "quality_control_attributes": { - "qcf_to_create_for_receipt_line": "false", - "exclude_item_from_inspection": "false" - } + <#if executionflow.line.RequestedContent.Goods.SegmentationKeys??> + <#assign SegmentationKeys_Map = JsonUtil.sequenceToMap(execution.line.RequestedContent.Goods.SegmentationKeys, "Key", "Value") /> + + <#include "RPtoRFX_Receipt_DefaultLineData.ftl"> + + { + "receipt_reference_line_no": ${line.LineID?number}, + "item_code": "${line.RequestedContent.Goods.ItemID!""}", + "item_lv_code": "${line.RequestedContent.Goods.LVBranchID!""}", + "level_1_quantity": ${line.RequestedMetrics.QuantityInBaseLV.Value!0}, + "owner_code": "${owner_code}", + "grade_code": "${grade_code}", + "batch_1": "${batch_1!""}", + + <#-- + "optional_attributes": { + "held_for_check": "false", + "held _for_repacking": "false", + "hold_for_specific_code": "false", + "hold_code": "false" + }, + --> + "quality_control_attributes": { + <#--"qcf_to_create_for_receipt_line": "false",--> + "exclude_item_from_inspection": "false" + } + + }<#sep>, + + ], + + } } diff --git a/RPtoRFX_Receipt_DefaultData.ftl b/RPtoRFX_Receipt_DefaultData.ftl deleted file mode 100644 index c98c038..0000000 --- a/RPtoRFX_Receipt_DefaultData.ftl +++ /dev/null @@ -1,9 +0,0 @@ -<#assign Default_Value_Owner_SegmentationKey = "PEN"/> -<#assign Default_Value_Grade_SegmentationKey = "STD"/> -<#assign Reflex_Originator = "STANDARD"/> -<#assign work_mode_code = "LPA"/> -<#assign activity_code = "PEN"/> -<#assign receipt_reason_code = "REC"/> -<#assign receipt_type = "010"/> -<#assign ActorID_RPtoRFX = {"J001":"J01","J002":"J02","J003":"J03","J004":"J04","J005":"J05"} > -<#assign SegmentationKeys_RPtoRFX = {"Sales":"SAL","Standard":"STD","Unsaleable":"UNS"}/> \ No newline at end of file diff --git a/RPtoRFX_Receipt_DefaultHeaderData.ftl b/RPtoRFX_Receipt_DefaultHeaderData.ftl new file mode 100644 index 0000000..3f815a6 --- /dev/null +++ b/RPtoRFX_Receipt_DefaultHeaderData.ftl @@ -0,0 +1,12 @@ +<#-- Note : you can use Order Header Metadata, using the define map : Header_MetaData_Map --> + +<#-- How to use MD Header map + Example : + <#assign receipt_type = Header_MetaData_Map["OrderType"]/> +--> + +<#assign activity_code = "PEN"/> +<#assign originator_code = "STANDARD"/> +<#assign receipt_type = "010"/> +<#assign receipt_reason_code = "REC"/> +<#assign work_mode_code = "LPA"/> diff --git a/RPtoRFX_Receipt_DefaultLineData.ftl b/RPtoRFX_Receipt_DefaultLineData.ftl new file mode 100644 index 0000000..9948b79 --- /dev/null +++ b/RPtoRFX_Receipt_DefaultLineData.ftl @@ -0,0 +1,12 @@ +<#-- Note : you can use Order Line Metadata, using the define map : Line_MetaData_Map --> +<#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map --> + +<#-- How to use MD or SK map + Example : + <#assign owner_code = SegmentationKeys_Map["Owner"]/> +--> + + +<#assign owner_code = "PEN"/> +<#assign grade_code = "STD"/> +<#assign batch_1 = "STD"/> \ No newline at end of file