From ea1c035b2abbbf99b05eb95ccc5293b8490412cf Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 15 八月 2024 16:44:52 +0800
Subject: [PATCH] 涉及到调拨计划的报表调整
---
_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl | 52 ++++++++++++++++++++++++++++++----------------------
1 files changed, 30 insertions(+), 22 deletions(-)
diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl
index 04845a1..bfe5f3d 100644
--- a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl
@@ -146,28 +146,36 @@
product := selectobject( owner, Product_MP, product, product.ID() = tprow.ProductID() );
productparents := product.GetAllParent();
if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満
- //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰
- enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation()
- and engine.MLB_MQB() = product.MQBMLB()
- and engine.Factory() = ccunit
- and exists( productparents, Elements, e, e.ID() = engine.Product() ) );
- //鍦ㄨ繍杈撴垚鏈弬鏁拌〃閲屾壘鍒板彂鍔ㄦ満瀵瑰簲杩愯緭鍗曚环鍜岃杞藉閲�
- transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = dlline
- and trans.Destination() = dlrent
- and exists( productparents, Elements, e, e.ID() = trans.Product() ) );
- if( not isnull( enginecost ) and not isnull( transcost ) ){
- row := table.GetRow( product.ID() );
- products.Add( product );
- traverse( tprow,TransferPlanCell, tpcell ){
- periodtime := tpcell.TransferPlanColumn().ColumnDate().StartOfMonth();
- periodname := periodtime.Format( "M2/D2/Y" );
- column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime );
-
- cost := ceil( ceil( [Number]tpcell.Value() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();
- cell := selectobject( row, Cell, cell, cell.Column() = column );
- cell.CCLongTransCoat( cell.CCLongTransCoat() + cost );
- }
- }
+ //璧峰搴撳瓨鐐规槸鍚︽槸澶ц繛
+ originsp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = tprow.SourceStockpoingPointID() );
+ isdl := table.IsInUnit( originsp, dlunit );
+ //鐩殑鍦板簱瀛樼偣鏄惁鏄暱鏄�
+ destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = tprow.TargetStockpoingPointID() );
+ iscc := table.IsInUnit( destisp, ccunit );
+ if( isdl and iscc ){
+ //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰
+ enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation()
+ and engine.MLB_MQB() = product.MQBMLB()
+ and engine.Factory() = ccunit
+ and exists( productparents, Elements, e, e.ID() = engine.Product() ) );
+ //鍦ㄨ繍杈撴垚鏈弬鏁拌〃閲屾壘鍒板彂鍔ㄦ満瀵瑰簲杩愯緭鍗曚环鍜岃杞藉閲�
+ transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = dlline
+ and trans.Destination() = dlrent
+ and exists( productparents, Elements, e, e.ID() = trans.Product() ) );
+ if( not isnull( enginecost ) and not isnull( transcost ) ){
+ row := table.GetRow( product.ID() );
+ products.Add( product );
+ traverse( tprow,TransferPlanCell, tpcell ){
+ periodtime := tpcell.TransferPlanColumn().ColumnDate().StartOfMonth();
+ periodname := periodtime.Format( "M2/D2/Y" );
+ column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime );
+
+ cost := ceil( ceil( [Number]tpcell.Value() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();
+ cell := selectobject( row, Cell, cell, cell.Column() = column );
+ cell.CCLongTransCoat( cell.CCLongTransCoat() + cost );
+ }
+ }
+ }
}
}
//闀挎槬鐭�旇繍杈撹垂鐢細瀹㈡埛闇�姹傛暟閲�/鍖呰瀹归噺/瑁呰浇瀹归噺*杩愯緭鍗曚环锛屽鎴烽渶姹傛暟閲忓彇鑷猣orecast閲宻ales segment涓洪暱鏄ョ殑鏁伴噺姹囨�伙紝鍐嶇敤鍏紡璁$畻锛屾湀搴﹁繘琛屾眹鎬伙紙鍙栧鎴烽渶姹傛暟閲忔崲绠楁垚杞︽锛�
--
Gitblit v1.9.3