From 1a5a8be205641f5f79dd809f6c7e59fc84d76243 Mon Sep 17 00:00:00 2001
From: yunchai <yunying.chai@capgemini.com>
Date: 星期日, 08 十月 2023 09:11:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev'
---
_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl | 34 +++++++++++++++++++++++-----------
1 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
index 7ec0576..9d01ece 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
Method MappingCustomerOrderData (
- Strings businessTypes
+ Strings businessTypes,
+ GlobalOTDTable globalOTDTable
)
{
Description: 'ETL璁㈠崟棰勬祴'
@@ -9,15 +10,20 @@
[*
// yypsybs Aug-15-2023 (created)
// 寰呭鐞嗘暟鎹�
- listToDeal := construct( structured[MappingCustomerOrder] );
+ listToDeal := construct( Global_MappingCustomOrders );
if( isnull( businessTypes ) or businessTypes.Size() = 0 ) {
- listToDeal := selectset( this, MappingCustomerOrder, item, true );
+ listToDeal := selectset( globalOTDTable, Global_MappingCustomOrder, item, true );
} else {
- listToDeal := selectset( this, MappingCustomerOrder, item, businessTypes.Find( item.BusinessType() ) <> -1 );
+ organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
+ listToDeal := selectset( globalOTDTable,
+ Global_MappingCustomOrder,
+ item,
+ ( businessTypes.Find( item.BusinessType() ) <> -1 ) and
+ ( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
}
queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
- listToDeal := selectset( listToDeal, Elements, item, item.OrderDate() >= queryStartDate /*and item.OrderDate() <= queryEndDate*/, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) );
+ listToDeal := selectset( listToDeal, Elements, item, item.OrderDate() >= queryStartDate /*and item.OrderDate() <= queryEndDate*/, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) );
totalcount := listToDeal.Size();
info( "CustomerOrder has " + totalcount.AsQUILL() + " rows in total" );
@@ -32,12 +38,18 @@
}
// if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){
// info( item.ProductID().AsQUILL() );
- CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(),
- item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(),
- priorityName, item.ProductID(),
- item.StockPointID(),
- item.SalesSegmentName(),
- item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable());
+ customOrder := CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(),
+ item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(),
+ priorityName, item.ProductID(),
+ item.StockingPointID(),
+ item.SalesSegmentName(),
+ item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable());
+ customOrder.BusinessType( item.BusinessType() );
+ customOrder.OrderType( item.OrderType() );
+ customOrder.OrderTime( item.OrderTime() );
+ customOrder.ProductGrade( item.ProductGrade() );
+ customOrder.SegmentPriority( item.SegmentPriority() );
+ customOrder.SheetProfitability( item.SheetProfitability() );
// }else{
// info( "invaild product: " + item.ProductID().AsQUILL() );
// }
--
Gitblit v1.9.3