From 42fcbc2af4a8ff66ee1374519422524161300e42 Mon Sep 17 00:00:00 2001
From: yanyuan <yuan.yan@capgemini.com>
Date: 星期日, 08 十月 2023 21:05:10 +0800
Subject: [PATCH] 产能分配结果BUG修改
---
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl | 22 +++++++++++++++++++---
_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl | 13 ++++++++-----
2 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
index b327f63..dcd7365 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
@@ -16,6 +16,22 @@
//info( "鐩爣鏃堕棿锛�", targetDate.Format( "Y-M2-D2" ) );
info( pisp.Name() );
traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) {
+ info( "鏄惁鏈変緵搴旓細", pispippl.NewSupply( relsize ) > 0, " 搴撳瓨锛�", pispippl.InventoryLevelEnd() );
+ if ( numberOfLayers <> 1 and pispippl.NewSupply( relsize ) = 0 ) {
+ previous := pispippl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf );
+ if ( not previous.Period_MP().IsHistorical() ) {
+ previousDate := previous.Start().Date();
+ CapacityAllocationResults::IterativeGeneration2( globalOTDTable,
+ pisp,
+ previousDate,
+ carrcs,
+ numberOfLayers,
+ firstLevelSupply,
+ currentLayerDependentDemandQuantity
+ );
+ }
+ }
+
traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) {
if ( numberOfLayers = 1 ) {
firstLevelSupply := ns;
@@ -24,7 +40,7 @@
ontype( ns.PeriodTask_MP() ) {
PeriodTaskOperation as pto : {
// info( "Operation鍛ㄦ湡浠诲姟..." );
- traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) {
+ traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd, dd.Quantity() > 0 ) {
if ( numberOfLayers = 1 ) {
currentLayerDependentDemandQuantity := ns.Quantity();
}
@@ -56,8 +72,8 @@
ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
ModuleBase := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "杞﹂亾杩愯緭" ),
Division := carrc.Division(),
- RequirementDate := ns.Start().Date(),
- Date := ns.Start().Date(),
+ RequirementDate := firstLevelSupply.Start().Date(),
+ Date := firstLevelSupply.Start().Date(),
Description := "",
ID := OS::GenerateGUIDAsString(),
ProductID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
index 67a1281..a0137d5 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
@@ -61,11 +61,14 @@
moperationcost,
moperationcost.OrgCode() = item.OrganCode(),
moperationcost.ProductID() = item.ProductID() );
- cost := connecteditem.Cost();
- lengthoftime := connecteditem.LengthOfTime();
- start := connecteditem.Start();
- timeunit := connecteditem.TimeUnit();
- OperationCost::Create( id, operation, account, "Volume", start, timeunit, lengthoftime, cost, isfromdb );
+ if( not isnull( connecteditem)){
+ cost := connecteditem.Cost();
+ lengthoftime := connecteditem.LengthOfTime();
+ start := connecteditem.Start();
+ timeunit := connecteditem.TimeUnit();
+ OperationCost::Create( id, operation, account, "Volume", start, timeunit, lengthoftime, cost, isfromdb );
+ }
+
}
}
*]
--
Gitblit v1.9.3