From f3dec8f5b480474c9a3b2ea0fabb0f6b9fdc0423 Mon Sep 17 00:00:00 2001
From: renhao <renhui.hao@capgemini.com>
Date: 星期五, 13 十月 2023 17:11:34 +0800
Subject: [PATCH] Merge branch 'dev'
---
_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl | 57 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 41 insertions(+), 16 deletions(-)
diff --git a/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl
index d1d98d9..1728622 100644
--- a/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl
@@ -27,7 +27,7 @@
product := Product_MP::FindById( macroPlan, productId );
salesSegment := SalesSegment_MP::FindByName( macroPlan, salesSegmentName );
stockingPoint := StockingPoint_MP::FindById( macroPlan, stockingPointId );
- currency := Currency_MP::FindById( macroPlan, currencyId );
+ //currency := Currency_MP::FindById( macroPlan, currencyId );
unitOfMeasure := null( UnitOfMeasure_MP )
priority := null( Priority );
if( unitOfMeasureName <> "" ) {
@@ -38,33 +38,58 @@
}
// 妫�鏌ヤ緷璧栭」
if( isnull( product) ) {
- error( "product not found" );
+ info( "product not found" + productId);
}
if( isnull( salesSegment) ) {
- error( "sales segment not found" );
+ info( "sales segment not found" + salesSegmentName);
}
if( isnull( stockingPoint) ) {
- error( "stock point not found" );
+ info( "stock point not found" + stockingPointId);
}
- if( isnull( currency) ) {
- error( "currency not found" );
- }
+ //if( isnull( currency) ) {
+ // error( "currency not found" );
+ //}
if( unitOfMeasureName <> "" and isnull( unitOfMeasure) ) {
- error( "unit of measure not found" );
+ info( "unit of measure not found" + unitOfMeasureName);
}
- if( priorityName <> "" and isnull( stockingPoint) ) {
- error( "priority not found" );
- }
+ //if( priorityName <> "" and isnull( stockingPoint) ) {
+ // info( "priority not found" );
+ //}
// 鏂板/鏇存柊
result := CustomerOrder::FindById( macroPlan, id );
if( isnull( result ) ) {
- CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price,
- priorityName, salesSegmentName, currency.Name(), unitOfMeasureName,
+ result := CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price,
+ priorityName, salesSegmentName, currencyId, unitOfMeasureName,
false, customerName, customerId, orderId, orderLineId, true, true, true );
} else {
- result.Update( product, stockingPoint, orderDate, quantity, price,
- priorityName, salesSegmentName, currency.Name(), unitOfMeasureName,
- false, customerName, customerId, orderId, orderLineId, true, true, true );
+ if( result.ProductID() = productId
+ and result.StockingPointID() = stockingPointId
+ and result.StartDate() = orderDate
+ and result.Quantity() = quantity
+ and result.Price() = price
+ and result.PriorityName() = priorityName
+ and result.SalesSegmentName() = salesSegmentName
+ and result.CurrencyID() = currencyId
+ and result.UnitOfMeasureName() = unitOfMeasureName
+ and result.CustomerName() = customerName
+ and result.CustomerID() = customerId
+ and result.OrderID() = orderId
+ and result.OrderLineID() = orderLineId ){
+ info( "No need to update this order: " + id );
+ }else{
+ if( result.IsLocked() = true ){
+ pispips := selectset( result, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true );
+ pispipLeafs := selectset( pispips,
+ Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ),
+ pispip,
+ true );
+ ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, false, true );
+ }
+ result.Update( product, stockingPoint, orderDate, quantity, price,
+ priorityName, salesSegmentName, currencyId, unitOfMeasureName,
+ false, customerName, customerId, orderId, orderLineId, true, true, true );
+ result.IsLocked( false );
+ }
}
return result;
*]
--
Gitblit v1.9.3