From cc17c847442b07f7cc1765dca678cd45b199a995 Mon Sep 17 00:00:00 2001 From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com> Date: 星期三, 23 十月 2024 15:53:28 +0800 Subject: [PATCH] 修复一些bug --- _Main/BL/Type_ArchivePackagingPlanCell/Attribute_Package.qbl | 8 _Main/BL/Type_ArchivePackagingPlanCell/_ROOT_Type_ArchivePackagingPlanCell.qbl | 9 _Main/BL/Type_ArchivePackagingPlanRow/Function_CalcFactoryAbbreviation.qbl | 13 _Main/BL/Type_ArchivePackagingPlanCell/Function_CalcStartDate.qbl | 13 _Main/BL/Type_ArchivePackagingPlanRow/_ROOT_Type_ArchivePackagingPlanRow.qbl | 9 _Main/BL/Relations/Relation_ArchivePackagingPlanColumn_Archive_Archive_ArchivePackagingPlanColu.qbl | 23 + _Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Category.qbl | 6 _Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_SetPackagingAndUnpackingValues.qbl | 146 +++++++++ _Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_UnpackagedInventory.qbl | 8 _Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_GenerateReport.qbl | 150 +++++++++ _Main/BL/Type_ArchivePackagingPlanCell/Attribute_TransferIn.qbl | 8 _Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanRow_ArchivePackagingPl.qbl | 23 + _Main/BL/Type_ArchivePackagingPlanRow/Attribute_FactoryAbbreviation.qbl | 7 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_Out.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon763.def | 63 +++ _Main/BL/Type_ArchivePackagingPlanRow/Attribute_Name.qbl | 7 _Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_Package.qbl | 61 +++ _Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_PackagingInventory.qbl | 8 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_EndingInventory.qbl | 8 _Main/BL/Type_LocalTool/StaticMethod_IsOverlap.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bExport_OnClick.def | 6 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_PackagingInventory.qbl | 8 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_InitialPackagingInventory.qbl | 7 _Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_StockingPointID.qbl | 6 _Main/BL/Relations/Relation_ArchivePackagingPlanRow_Archive_Archive_ArchivePackagingPlanRow.qbl | 23 + _Main/BL/Type_ArchivePackagingPlanRow/Method_FilterProduct.qbl | 14 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_Unpacking.qbl | 8 _Main/BL/Type_ArchivePackagingPlanRow/Function_CalcName.qbl | 13 _Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_FactoryAbbreviation.qbl | 6 _Main/BL/Type_ArchivePackagingPlanRow/Attribute_Factory.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon510.def | 28 + _Main/BL/Type_ArchivePackagingPlanRow/Attribute_ProductID.qbl | 7 _Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_ProductID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def | 67 --- _Main/BL/Type_ArchivePackagingPlanCell/Attribute_StartDate.qbl | 7 _Main/BL/Type_ArchivePackagingPlanCell/Function_CalcPackagingInventory.qbl | 19 + _Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_CalculationPackagingPlanProperties.qbl | 11 _Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon510_rbgTimeUnit_OnUserChanged.def | 6 _Main/BL/Type_ArchivePackagingPlanRow/Attribute_StockingPointID.qbl | 7 _Main/BL/Type_ArchivePackagingPlanCell/Function_CalcUnpackagedInventory.qbl | 14 _Main/BL/Type_ArchivePackagingPlanColumn/Attribute_StartDate.qbl | 7 _Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Factory.qbl | 6 _Main/BL/Type_ArchivePackagingPlanRow/Attribute_Category.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bComparison_OnClick.def | 6 _Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanColumn_ArchivePackagin.qbl | 23 + _Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport#1.qbl | 4 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_NetDemand.qbl | 8 _Main/BL/Type_ArchivePackagingPlanColumn/_ROOT_Type_ArchivePackagingPlanColumn.qbl | 9 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_NewSupply.qbl | 8 _Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl | 9 _Main/BL/Type_ArchivePackagingPlanCell/Attribute_UnpackagedInventory.qbl | 8 52 files changed, 874 insertions(+), 79 deletions(-) diff --git a/_Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanColumn_ArchivePackagin.qbl b/_Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanColumn_ArchivePackagin.qbl new file mode 100644 index 0000000..bcaa6e3 --- /dev/null +++ b/_Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanColumn_ArchivePackagin.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation ArchivePackagingPlanCell_ArchivePackagingPlanColumn_ArchivePackagingPlanColumn_ArchivePackagingPlanCell +{ + #keys: '1[414996.1.150965285]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide ArchivePackagingPlanColumn + { + #keys: '3[414996.1.150965287][414996.1.150965286][414996.1.150965288]' + Cardinality: '0to1' + ObjectDefinition: ArchivePackagingPlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide ArchivePackagingPlanCell + { + #keys: '3[414996.1.150965290][414996.1.150965289][414996.1.150965291]' + Cardinality: '1toN' + ObjectDefinition: ArchivePackagingPlanColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanRow_ArchivePackagingPl.qbl b/_Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanRow_ArchivePackagingPl.qbl new file mode 100644 index 0000000..a8456de --- /dev/null +++ b/_Main/BL/Relations/Relation_ArchivePackagingPlanCell_ArchivePackagingPlanRow_ArchivePackagingPl.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation ArchivePackagingPlanCell_ArchivePackagingPlanRow_ArchivePackagingPlanRow_ArchivePackagingPlanCell +{ + #keys: '1[414996.1.150965272]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide ArchivePackagingPlanRow + { + #keys: '3[414996.1.150965274][414996.1.150965273][414996.1.150965275]' + Cardinality: '0to1' + ObjectDefinition: ArchivePackagingPlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide ArchivePackagingPlanCell + { + #keys: '3[414996.1.150965277][414996.1.150965276][414996.1.150965278]' + Cardinality: '1toN' + ObjectDefinition: ArchivePackagingPlanRow + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_ArchivePackagingPlanColumn_Archive_Archive_ArchivePackagingPlanColu.qbl b/_Main/BL/Relations/Relation_ArchivePackagingPlanColumn_Archive_Archive_ArchivePackagingPlanColu.qbl new file mode 100644 index 0000000..f2355e4 --- /dev/null +++ b/_Main/BL/Relations/Relation_ArchivePackagingPlanColumn_Archive_Archive_ArchivePackagingPlanColu.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation ArchivePackagingPlanColumn_Archive_Archive_ArchivePackagingPlanColumn +{ + #keys: '1[414996.1.150965298]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Archive + { + #keys: '3[414996.1.150965300][414996.1.150965299][414996.1.150965301]' + Cardinality: '0to1' + ObjectDefinition: ArchivePackagingPlanColumn + OwningSide: 'Reference' + } + RelationSide.RightSide ArchivePackagingPlanColumn + { + #keys: '3[414996.1.150965303][414996.1.150965302][414996.1.150965304]' + Cardinality: '1toN' + ObjectDefinition: Archive + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_ArchivePackagingPlanRow_Archive_Archive_ArchivePackagingPlanRow.qbl b/_Main/BL/Relations/Relation_ArchivePackagingPlanRow_Archive_Archive_ArchivePackagingPlanRow.qbl new file mode 100644 index 0000000..eaf6430 --- /dev/null +++ b/_Main/BL/Relations/Relation_ArchivePackagingPlanRow_Archive_Archive_ArchivePackagingPlanRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation ArchivePackagingPlanRow_Archive_Archive_ArchivePackagingPlanRow +{ + #keys: '1[414996.1.150965311]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Archive + { + #keys: '3[414996.1.150965313][414996.1.150965312][414996.1.150965314]' + Cardinality: '0to1' + ObjectDefinition: ArchivePackagingPlanRow + OwningSide: 'Reference' + } + RelationSide.RightSide ArchivePackagingPlanRow + { + #keys: '3[414996.1.150965316][414996.1.150965315][414996.1.150965317]' + Cardinality: '1toN' + ObjectDefinition: Archive + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_PackagingInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_PackagingInventory.qbl new file mode 100644 index 0000000..fa23e2b --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_PackagingInventory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CC_PackagingInventory +{ + #keys: '3[414996.1.150965195][414996.1.150965194][414996.1.150965196]' + Description: '闀挎槬宸ュ巶鍖呰搴撳瓨' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_UnpackagedInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_UnpackagedInventory.qbl new file mode 100644 index 0000000..fb39d7e --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_CC_UnpackagedInventory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CC_UnpackagedInventory +{ + #keys: '3[414996.1.150965198][414996.1.150965197][414996.1.150965199]' + Description: '闀挎槬宸ュ巶闈炲寘瑁呭簱瀛�' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_EndingInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_EndingInventory.qbl new file mode 100644 index 0000000..2224bb8 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_EndingInventory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndingInventory +{ + #keys: '3[414996.1.150965201][414996.1.150965200][414996.1.150965202]' + Description: '鏈熸湯搴撳瓨' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_InitialPackagingInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_InitialPackagingInventory.qbl new file mode 100644 index 0000000..804a801 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_InitialPackagingInventory.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute InitialPackagingInventory +{ + #keys: '3[414996.1.150965204][414996.1.150965203][414996.1.150965205]' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_NetDemand.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_NetDemand.qbl new file mode 100644 index 0000000..5eb582f --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_NetDemand.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute NetDemand +{ + #keys: '3[414996.1.150965207][414996.1.150965206][414996.1.150965208]' + Description: '鍑�闇�姹�' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_NewSupply.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_NewSupply.qbl new file mode 100644 index 0000000..7e53466 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_NewSupply.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute NewSupply +{ + #keys: '3[414996.1.150965210][414996.1.150965209][414996.1.150965211]' + Description: '渚涘簲' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Out.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Out.qbl new file mode 100644 index 0000000..4aeade0 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Out.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Out +{ + #keys: '3[414996.1.150965213][414996.1.150965212][414996.1.150965214]' + Description: '璋冨嚭' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Package.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Package.qbl new file mode 100644 index 0000000..69659ff --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Package.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Package +{ + #keys: '3[414996.1.150965216][414996.1.150965215][414996.1.150965217]' + Description: '鍖呰' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_PackagingInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_PackagingInventory.qbl new file mode 100644 index 0000000..16c31d2 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_PackagingInventory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PackagingInventory +{ + #keys: '3[414996.1.150965219][414996.1.150965218][414996.1.150965220]' + Description: '鍖呰搴撳瓨' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_StartDate.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_StartDate.qbl new file mode 100644 index 0000000..f197b14 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[414996.1.150965222][414996.1.150965221][414996.1.150965223]' + ValueType: Date +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_TransferIn.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_TransferIn.qbl new file mode 100644 index 0000000..a0190f9 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_TransferIn.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TransferIn +{ + #keys: '3[414996.1.150965225][414996.1.150965224][414996.1.150965226]' + Description: '璋冭繘' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_UnpackagedInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_UnpackagedInventory.qbl new file mode 100644 index 0000000..7f0026a --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_UnpackagedInventory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnpackagedInventory +{ + #keys: '3[414996.1.150965228][414996.1.150965227][414996.1.150965229]' + Description: '闈炲寘瑁呭簱瀛�' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Unpacking.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Unpacking.qbl new file mode 100644 index 0000000..84c6fef --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Attribute_Unpacking.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Unpacking +{ + #keys: '3[414996.1.150965231][414996.1.150965230][414996.1.150965232]' + Description: '鎷嗗寘' + ValueType: Real +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcPackagingInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcPackagingInventory.qbl new file mode 100644 index 0000000..f799399 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcPackagingInventory.qbl @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcPackagingInventory +{ + TextBody: + [* + // lihongji Jul-26-2024 (created) + + value := ifexpr( this.ArchivePackagingPlanRow().Factory() = "闀挎槬宸ュ巶", this.CC_PackagingInventory(), + this.InitialPackagingInventory() + guard( this.Previous().PackagingInventory() + + guard( this.Package(), 0.0 ) - + ifexpr( this.TransferIn() > 0.0, 0, this.Unpacking() ), + 0.0 ) + - this.Out() + ); + + this.PackagingInventory( value ); + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcStartDate.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcStartDate.qbl new file mode 100644 index 0000000..ba5011f --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcStartDate.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcStartDate +{ + TextBody: + [* + // lihongji Jul-26-2024 (created) + + value := guard( this.ArchivePackagingPlanColumn().StartDate(), Date::MinDate() ); + + this.StartDate( value ); + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcUnpackagedInventory.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcUnpackagedInventory.qbl new file mode 100644 index 0000000..b8c8108 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/Function_CalcUnpackagedInventory.qbl @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcUnpackagedInventory +{ + TextBody: + [* + // lihongji Jul-24-2024 (created) + + value := ifexpr( this.ArchivePackagingPlanRow().Factory() = "闀挎槬宸ュ巶", this.CC_UnpackagedInventory(), + guard( this.EndingInventory() - this.PackagingInventory(), 0.0 ) ); + + this.UnpackagedInventory( value ); + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_CalculationPackagingPlanProperties.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_CalculationPackagingPlanProperties.qbl new file mode 100644 index 0000000..07379b6 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_CalculationPackagingPlanProperties.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CalculationPackagingPlanProperties +{ + TextBody: + [* + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, PackagingInventory ) ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, StartDate ) ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, UnpackagedInventory ) ); + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_GenerateReport.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_GenerateReport.qbl new file mode 100644 index 0000000..4e84001 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_GenerateReport.qbl @@ -0,0 +1,150 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GenerateReport ( + MacroPlan macroPlan +) +{ + TextBody: + [* + macroPlan.PackagingPlanRow( relflush ); + macroPlan.PackagingPlanColumn( relflush ); + + // 鍒涘缓璁″垝鍓嶄竴澶╁垪 + planPre := macroPlan.PackagingPlanColumn( relnew, StartDate := macroPlan.StartOfPlanning().Date() - 1 ); + + // 鐢熸垚鎶ヨ〃 + traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() and + ( pisp.StockingPointID().Regex( "CC" ) or pisp.StockingPointID().Regex( "DL" ) or pisp.StockingPointID().Regex( "澶ц繛" ) or pisp.StockingPointID().Regex( "闀挎槬" ) ) ) { + // 褰撳墠pisp鎵�澶勫湴鐐� + factory := ifexpr( pisp.StockingPointID().Regex( "CC" ) or pisp.StockingPointID().Regex( "闀挎槬" ), "闀挎槬宸ュ巶", "澶ц繛宸ュ巶" ); + factoryAbbreviation := ifexpr( pisp.StockingPointID().Regex( "CC" ) or pisp.StockingPointID().Regex( "闀挎槬" ), "CC", "DL" ); + + // 鍒涘缓琛� + ppr := select( macroPlan, PackagingPlanRow, tempPPR, tempPPR.ProductID() = pisp.ProductID() and tempPPR.Factory() = factory ); + if ( isnull( ppr ) ) { + ppr := macroPlan.PackagingPlanRow( relnew, ProductID := pisp.ProductID(), Factory := factory, Category := guard( pisp.Product_MP().ParentID(), "" ) ); + } + + // 寰幆pispippl + traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispipl, not pispipl.IsPeriodFrozen() ) { + // 鍒涘缓鍒� + ppc := select( macroPlan, PackagingPlanColumn, tempPPC, tempPPC.StartDate() = pispipl.Start().Date() ); + if ( isnull( ppc ) ) { + ppc := macroPlan.PackagingPlanColumn( relnew, StartDate := pispipl.Start().Date() ); + } + + // 鍒涘缓鍗曞厓鏍� + cell := select( ppr, PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = ppc ); + if ( isnull( cell ) ) { + cell := ppr.PackagingPlanCell( relnew ); + cell.PackagingPlanColumn( relset, ppc ); + } + + // 璁剧疆璋冨嚭 + traverse ( pispipl, AsDeparturePISPIP, pit, + pit.Quantity() > 0 and + pit.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and + TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) + ) + { + cell.Out( cell.Out() + pit.Quantity() ); + } + + // 璁剧疆璋冭繘 + traverse ( pispipl, AsArrivalPISPIP, pit, + pit.Quantity() > 0 and + pit.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and + TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) + ) + { + cell.TransferIn( cell.TransferIn() + pit.Quantity() ); + } + + // 澶ц繛宸ュ巶璁剧疆鍊� + if ( factory = "澶ц繛宸ュ巶" ) { + // 鍑�闇�姹�&鍓╀綑搴撳瓨&渚涘簲閲� + cell.NetDemand( cell.NetDemand() + pispipl.DependentDemandAndSalesDemandQuantity() ); + cell.EndingInventory( cell.EndingInventory() + pispipl.InventoryLevelEnd() ); + cell.NewSupply( cell.NewSupply() + pispipl.NewSupplyQuantity() ); + } + + // 闀挎槬宸ュ巶璁剧疆鍊� + if ( factory = "闀挎槬宸ュ巶" ) { + // 鍓╀綑搴撳瓨&渚涘簲閲� + cell.EndingInventory( cell.EndingInventory() + pispipl.InventoryLevelEnd() ); + cell.NewSupply( cell.NewSupply() + pispipl.NewSupplyQuantity() ); + + // 鍑�闇�姹傘�愬彧鍙栫嚎杈瑰簱銆�&鍖呰搴撳瓨&闈炲寘瑁呭簱瀛� + if ( pisp.StockingPointID().Regex( "澶栫搴�" ) ) { + cell.CC_PackagingInventory( pispipl.InventoryLevelEnd() ); + } else if ( pisp.StockingPointID().Regex( "绾胯竟搴�" ) ) { + cell.CC_UnpackagedInventory( pispipl.InventoryLevelEnd() ); + cell.NetDemand( cell.NetDemand() + pispipl.DependentDemandAndSalesDemandQuantity() ); + } + } + + // 璁剧疆鍓嶄竴澶╁簱瀛� + if ( pispipl.Start().Date() = macroPlan.StartOfPlanning().Date() ) { + prePISPIPL := pispipl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf ); // 鍓嶄竴涓猵ispippl + // 鍒涘缓璁″垝鍓嶄竴澶╂牸瀛� + preCell := select( ppr, PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = planPre ); + if ( isnull( preCell ) ) { + preCell := ppr.PackagingPlanCell( relnew ); + preCell.EndingInventory( prePISPIPL.InventoryLevelEnd() ); + preCell.PackagingPlanColumn( relset, planPre ); + } else { + preCell.EndingInventory( preCell.EndingInventory() + prePISPIPL.InventoryLevelEnd() ); + } + } + } + } + + Transaction::Transaction().Propagate( attribute( PackagingPlanRow, FactoryAbbreviation ) ); + PackagingPlanCell::CalculationPackagingPlanProperties(); + Transaction::Transaction().Propagate( relation( PackagingPlanCell, Next ) ); + + // 璁剧疆鍖呰&鎷嗗寘-鏁伴噺 + PackagingPlanCell::SetPackagingAndUnpackingValues( macroPlan ); + //traverse ( macroPlan, PackagingPlanRow, ppr, ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) or ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Components (Spain)" ) ) { + // traverse ( ppr, PackagingPlanCell, ppc/*, ppc.StartDate() = Date::Construct( 2020, 4, 1 )*/ ) { + // // 璁剧疆鍖呰鏁伴噺 + // if ( ppc.PackagingInventory() < ppc.Out() ) { // 鍖呰搴撳瓨鏄惁灏忎簬璋冨嚭 + // prePPC := ppc.Previous(); + // needPackagingQuantity := ppc.Out() - prePPC.PackagingInventory(); + // while ( not isnull( prePPC ) and needPackagingQuantity > 0.0 ) { + // // 鑾峰彇鍖呰lotsize + // ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and + // tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() ); + // + // // 鑾峰彇鏈�澶у寘瑁呮暟閲� + // maxPackageReflection := Reflection::FindAttribute( "PackagingPlanCapability", ppc.PackagingPlanRow().FactoryAbbreviation() + "_" + ppc.PackagingPlanRow().Category() + "_Package" ); + //// maxPackageQuantity := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); // 姝ゅ闇�瑕佷慨鏀� + // maxPackageQuantity := 100000; + // + // // 鑾峰彇鏈�缁堝寘瑁呮暟閲� + // finalPackagingQuantity := minvalue( ceil( needPackagingQuantity / ppls.LotSize() ), ceil( ( maxPackageQuantity - prePPC.Package() ) / ppls.LotSize() ) ) * ppls.LotSize(); + // needPackagingQuantity := needPackagingQuantity - finalPackagingQuantity; + // + // // 璁剧疆鍖呰鍊� + // prePPC.Package( prePPC.Package() + finalPackagingQuantity ); + // + // //debuginfo( "闇�瑕佸寘瑁呮暟閲忥細", needPackagingQuantity, " lotsize: ", ppls.LotSize(), " 鏈�澶у寘瑁呮暟閲忥細", maxPackageQuantity, " 鏈�缁堣ˉ鐨勬暟閲忥細", finalPackagingQuantity ); + // PackagingPlanCell::CalculationPackagingPlanProperties(); + // + // prePPC := prePPC.Previous(); + // } + // } + // + // // 璁剧疆鎷嗗寘鏁伴噺 + // if ( ppc.TransferIn() > 0.0 ) { // 鏈夎皟鍏ユ暟閲� + // // 鑾峰彇鍖呰lotsize + // ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and + // tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() ); + // + // // 璁剧疆鎷嗗寘鍊� + // ppc.Unpacking( ppc.TransferIn() ); + // } + // } + //} + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_Package.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_Package.qbl new file mode 100644 index 0000000..7e0d597 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_Package.qbl @@ -0,0 +1,61 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Package ( + MacroPlan macroPlan, + PackagingPlanRow ppr, + PackagingPlanColumn ppc, + output Number needPackagingQuantity +) +{ + TextBody: + [* + // 璁″垝寮�濮嬫椂闂� + plannedStartDate := macroPlan.StartOfPlanning().Date(); + + traverse ( ppr, PackagingPlanCell, ppcell, ppcell.PackagingPlanColumn() = ppc ) { + // Product_MP + pmp := select( macroPlan, Product_MP, tempPMP, tempPMP.IsLeaf() and tempPMP.ID() = ppr.ProductID() ); + // 鍖呰lotsize + ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppr.Factory() and + tempPPLS.ProductID() = ifexpr( exists( macroPlan, PackagingPlanLotSize, tempPPLS1, tempPPLS1.ProductID() = pmp.ID() ), + pmp.ID(), + pmp.ParentID() ) ); + // 涓�鏃ュ寘瑁呭閲� + ppnc := select( macroPlan, PackagingPlanNewCapability, tempPPNC, tempPPNC.Factory() = ppr.Factory() and + tempPPNC.ProductID() = ifexpr( exists( macroPlan, PackagingPlanNewCapability, tempPPNC1, tempPPNC1.ProductID() = pmp.ID() ), + pmp.ID(), + pmp.ParentID() ) ); + // Unit + us := selectset( macroPlan, Unit, tempU, tempU.ID().Regex( ppr.FactoryAbbreviation() + " " + ppr.Category() ) ); + + // 鍖呰搴撳瓨鍑虹幇璐熷�硷紝闇�瑕佽缃寘瑁呴噺 + if ( not isnull( ppls ) and not isnull( ppnc ) ) { + // 鍖呰寮�濮嬬殑绱㈠紩 + indexPPCell := ppcell.Previous(); + + // info( "浜х嚎涓暟锛�", us.Size(), " 寮�濮嬫椂闂达細", ppcell.StartDate().Format( "Y-M2-D2" ), " 鍖呰搴撳瓨鏁伴噺锛�", ppcell.PackagingInventory(), " 闇�瑕佸寘瑁呯殑鏁伴噺锛�", needPackagingQuantity, + // " 鍖呰lotsize锛�",guard( ppls.LotSize(), 0 ), " 鏈�澶у寘瑁呭閲忥細", ppnc.MaximumDailyPackagingQuantity() ); + + while ( not isnull( indexPPCell ) and + indexPPCell.StartDate() >= plannedStartDate and + exists( us, Elements.UnitPeriod.astype( UnitPeriodTime ).ShiftPlan, tempSP, + tempSP.UnitPeriodTime().StartDate() = indexPPCell.StartDate(), + tempSP.Outcome() <> "" ) and + needPackagingQuantity > 0 ) { + // 鑳藉寘瑁呯殑鏁伴噺 + canPackagingQuantity := ifexpr( ceil( needPackagingQuantity / ppls.LotSize() ) < floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ), + ceil( needPackagingQuantity / ppls.LotSize() ), + floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ) ) * ppls.LotSize(); + // info( "寮�濮嬪寘瑁呯殑鏃ユ湡锛�", indexPPCell.StartDate().Format( "Y-M2-D2" ), " 鑳藉寘瑁呯殑鏁伴噺:", canPackagingQuantity ); + + indexPPCell.Package( canPackagingQuantity ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, PackagingInventory ) ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, UnpackagedInventory ) ); + + needPackagingQuantity := needPackagingQuantity - canPackagingQuantity; + indexPPCell := indexPPCell.Previous(); + } + } + } + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_SetPackagingAndUnpackingValues.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_SetPackagingAndUnpackingValues.qbl new file mode 100644 index 0000000..fab92f2 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/StaticMethod_SetPackagingAndUnpackingValues.qbl @@ -0,0 +1,146 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SetPackagingAndUnpackingValues ( + MacroPlan macroPlan +) +{ + TextBody: + [* + // 璁″垝寮�濮嬫椂闂� + plannedStartDate := macroPlan.StartOfPlanning().Date(); + + // 璁剧疆鍖呰鍊硷紙绗﹀悎lotsize鍜屼竴鏃ユ渶澶у寘瑁呴噺锛� + traverse ( macroPlan, PackagingPlanRow, ppr/*, ppr.Factory() = "澶ц繛宸ュ巶" and ppr.ProductID() = "06K103011CM"*/ ) { + traverse ( ppr, PackagingPlanCell, ppcell/*, ppcell.StartDate() <= Date::Construct( 2025, 1, 4 )*/ ) { + // Product_MP + pmp := select( macroPlan, Product_MP, tempPMP, tempPMP.IsLeaf() and tempPMP.ID() = ppr.ProductID() ); + // 鍖呰lotsize + ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppr.Factory() and + tempPPLS.ProductID() = ifexpr( exists( macroPlan, PackagingPlanLotSize, tempPPLS1, tempPPLS1.ProductID() = pmp.ID() ), + pmp.ID(), + pmp.ParentID() ) ); + // 涓�鏃ュ寘瑁呭閲� + ppnc := select( macroPlan, PackagingPlanNewCapability, tempPPNC, tempPPNC.Factory() = ppr.Factory() and + tempPPNC.ProductID() = ifexpr( exists( macroPlan, PackagingPlanNewCapability, tempPPNC1, tempPPNC1.ProductID() = pmp.ID() ), + pmp.ID(), + pmp.ParentID() ) ); + // Unit + us := selectset( macroPlan, Unit, tempU, tempU.ID().Regex( ppr.FactoryAbbreviation() + " " + ppr.Category() ) ); + + // 鍖呰搴撳瓨鍑虹幇璐熷�硷紝闇�瑕佽缃寘瑁呴噺 + if ( ppcell.PackagingInventory() < 0 and not isnull( ppls ) and not isnull( ppnc ) ) { + // 闇�瑕佸寘瑁呯殑鏁伴噺 + needPackagingQuantity := abs( ppcell.PackagingInventory() ).Round( 0 ); + // 鍖呰寮�濮嬬殑绱㈠紩 + indexPPCell := ppcell.Previous(); + + // info( "浜х嚎涓暟锛�", us.Size(), " 寮�濮嬫椂闂达細", ppcell.StartDate().Format( "Y-M2-D2" ), " 鍖呰搴撳瓨鏁伴噺锛�", ppcell.PackagingInventory(), " 闇�瑕佸寘瑁呯殑鏁伴噺锛�", needPackagingQuantity, + // " 鍖呰lotsize锛�",guard( ppls.LotSize(), 0 ), " 鏈�澶у寘瑁呭閲忥細", ppnc.MaximumDailyPackagingQuantity() ); + + while ( not isnull( indexPPCell ) and + indexPPCell.StartDate() >= plannedStartDate and + exists( us, Elements.UnitPeriod.astype( UnitPeriodTime ).ShiftPlan, tempSP, + tempSP.UnitPeriodTime().StartDate() = indexPPCell.StartDate(), + tempSP.Outcome() <> "" ) and + needPackagingQuantity > 0 ) { + // 鑳藉寘瑁呯殑鏁伴噺 + canPackagingQuantity := ifexpr( ceil( needPackagingQuantity / ppls.LotSize() ) < floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ), + ceil( needPackagingQuantity / ppls.LotSize() ), + floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ) ) * ppls.LotSize(); + // info( "寮�濮嬪寘瑁呯殑鏃ユ湡锛�", indexPPCell.StartDate().Format( "Y-M2-D2" ), " 鑳藉寘瑁呯殑鏁伴噺:", canPackagingQuantity ); + + indexPPCell.Package( canPackagingQuantity ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, PackagingInventory ) ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, UnpackagedInventory ) ); + + needPackagingQuantity := needPackagingQuantity - canPackagingQuantity; + indexPPCell := indexPPCell.Previous(); + } + } + } + } + + // 璁剧疆鍖呰鍊硷紙绗﹀悎澶х被涓嬫墍鏈変骇鍝侀潪鍖呰閲忓簱瀛樺姞鍜屼笉鑳藉ぇ浜庣郴缁熷�硷級 + factorys := selectuniquevalues( macroPlan, PackagingPlanRow, tempPPR, true, tempPPR.FactoryAbbreviation() ); + categorys := selectuniquevalues( macroPlan, PackagingPlanRow, tempPPR, true, tempPPR.Category() ); + traverse ( factorys, Elements, f/*, f = "DL"*/ ) { + traverse ( categorys, Elements, c/*, c = "ZKG"*/ ) { + // 绯荤粺瑙勫畾鐨勬渶澶ч潪鍖呰搴撳瓨鏁伴噺 + ppmqReflection := Reflection::FindAttribute( "PackagingPlanMaximumQuantity", f + "_" + c ); + maxPackageQuantity := guard( ppmqReflection.GetNumber( macroPlan.PackagingPlanMaximumQuantity() ), 0 ); + // 褰撳墠宸ュ巶涓嬩竴绫讳骇鍝佽 + pprs := selectset( macroPlan, PackagingPlanRow, tempPPR, tempPPR.FactoryAbbreviation() = f and tempPPR.Category() = c ); + + // info( "褰撳墠宸ュ巶锛�", f, " 褰撳墠澶х被锛�", c, " 澶х被涓嬬殑鏈�澶у寘瑁呮暟閲忥細", maxPackageQuantity ); + traverse ( macroPlan, PackagingPlanColumn, ppc, ppc.StartDate() > plannedStartDate and maxPackageQuantity > 0 ) { + sumUnpackagedInventoryQuantity := sum( pprs, Elements.PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = ppc, tempPPCell.UnpackagedInventory() ).Round( 0 ); + + // 闇�瑕佸寘瑁� + if ( sumUnpackagedInventoryQuantity > maxPackageQuantity ) { + // 闇�瑕佸寘瑁呯殑鏁伴噺 + needPackagingQuantity := [Number] ( sumUnpackagedInventoryQuantity - maxPackageQuantity ); + // 鎸夐潪鍖呰搴撳瓨鎺掑簭鍚庣殑琛� + itemPPRs := selectsortedset( pprs, Elements, tempPPR, true, + -select( tempPPR, PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = ppc ).UnpackagedInventory() ); + + // info( "闇�瑕佸寘瑁呮椂闂达細", ppc.StartDate().Format( "Y-M2-D2" ), " 闇�瑕佸寘瑁呯殑鏁伴噺锛�", needPackagingQuantity ); + traverse ( itemPPRs, Elements, ppr, needPackagingQuantity > 0 ) { + PackagingPlanCell::Package( macroPlan, ppr, ppc, needPackagingQuantity ); + } + } + } + } + } + + // 璁剧疆鎷嗗寘鍊硷紙绗﹀悎lotsize鍜屼竴鏃ユ渶澶у寘瑁呴噺锛� + traverse ( macroPlan, PackagingPlanRow, ppr/*, ppr.Factory() = "澶ц繛宸ュ巶" and ppr.ProductID() = "06K103011CM"*/ ) { + traverse ( ppr, PackagingPlanCell, ppcell/*, ppcell.StartDate() <= Date::Construct( 2025, 1, 4 )*/ ) { + // Product_MP + pmp := select( macroPlan, Product_MP, tempPMP, tempPMP.IsLeaf() and tempPMP.ID() = ppr.ProductID() ); + // 鍖呰lotsize + ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppr.Factory() and + tempPPLS.ProductID() = ifexpr( exists( macroPlan, PackagingPlanLotSize, tempPPLS1, tempPPLS1.ProductID() = pmp.ID() ), + pmp.ID(), + pmp.ParentID() ) ); + // 涓�鏃ュ寘瑁呭閲� + ppnc := select( macroPlan, PackagingPlanNewCapability, tempPPNC, tempPPNC.Factory() = ppr.Factory() and + tempPPNC.ProductID() = ifexpr( exists( macroPlan, PackagingPlanNewCapability, tempPPNC1, tempPPNC1.ProductID() = pmp.ID() ), + pmp.ID(), + pmp.ParentID() ) ); + // Unit + us := selectset( macroPlan, Unit, tempU, tempU.ID().Regex( ppr.FactoryAbbreviation() + " " + ppr.Category() ) ); + + // 褰撳墠闈炲寘瑁呭簱瀛� + 涓嬩竴澶╃殑NewSupply < 涓嬩竴澶╃殑鍑�闇�姹� + if ( ppcell.UnpackagedInventory() < guard( ppcell.Next().NetDemand(), 0 ) and not isnull( ppls ) and not isnull( ppnc ) ) { + // 闇�瑕佸寘瑁呯殑鏁伴噺 + needPackagingQuantity := abs( ppcell.PackagingInventory() ).Round( 0 ); + // 鍖呰寮�濮嬬殑绱㈠紩 + indexPPCell := ppcell.Previous(); + + // info( "浜х嚎涓暟锛�", us.Size(), " 寮�濮嬫椂闂达細", ppcell.StartDate().Format( "Y-M2-D2" ), " 鍖呰搴撳瓨鏁伴噺锛�", ppcell.PackagingInventory(), " 闇�瑕佸寘瑁呯殑鏁伴噺锛�", needPackagingQuantity, + // " 鍖呰lotsize锛�",guard( ppls.LotSize(), 0 ), " 鏈�澶у寘瑁呭閲忥細", ppnc.MaximumDailyPackagingQuantity() ); + + while ( not isnull( indexPPCell ) and + indexPPCell.StartDate() >= plannedStartDate and + exists( us, Elements.UnitPeriod.astype( UnitPeriodTime ).ShiftPlan, tempSP, + tempSP.UnitPeriodTime().StartDate() = indexPPCell.StartDate(), + tempSP.Outcome() <> "" ) and + needPackagingQuantity > 0 ) { + // 鑳藉寘瑁呯殑鏁伴噺 + canPackagingQuantity := ifexpr( ceil( needPackagingQuantity / ppls.LotSize() ) < floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ), + ceil( needPackagingQuantity / ppls.LotSize() ), + floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ) ) * ppls.LotSize(); + // info( "寮�濮嬪寘瑁呯殑鏃ユ湡锛�", indexPPCell.StartDate().Format( "Y-M2-D2" ), " 鑳藉寘瑁呯殑鏁伴噺:", canPackagingQuantity ); + + indexPPCell.Package( canPackagingQuantity ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, PackagingInventory ) ); + Transaction::Transaction().Propagate( attribute( PackagingPlanCell, UnpackagedInventory ) ); + + needPackagingQuantity := needPackagingQuantity - canPackagingQuantity; + indexPPCell := indexPPCell.Previous(); + } + } + } + } + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanCell/_ROOT_Type_ArchivePackagingPlanCell.qbl b/_Main/BL/Type_ArchivePackagingPlanCell/_ROOT_Type_ArchivePackagingPlanCell.qbl new file mode 100644 index 0000000..2291c68 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanCell/_ROOT_Type_ArchivePackagingPlanCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type ArchivePackagingPlanCell +{ + #keys: '5[414996.1.150965192][414996.1.150965190][0.0.0][414996.1.150965191][414996.1.150965193]' + BaseType: Object + StructuredName: 'ArchivePackagingPlanCells' +} diff --git a/_Main/BL/Type_ArchivePackagingPlanColumn/Attribute_StartDate.qbl b/_Main/BL/Type_ArchivePackagingPlanColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..0c68cd8 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanColumn/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[414996.1.150965242][414996.1.150965241][414996.1.150965243]' + ValueType: Date +} diff --git a/_Main/BL/Type_ArchivePackagingPlanColumn/_ROOT_Type_ArchivePackagingPlanColumn.qbl b/_Main/BL/Type_ArchivePackagingPlanColumn/_ROOT_Type_ArchivePackagingPlanColumn.qbl new file mode 100644 index 0000000..e51b358 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanColumn/_ROOT_Type_ArchivePackagingPlanColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type ArchivePackagingPlanColumn +{ + #keys: '5[414996.1.150965239][414996.1.150965237][0.0.0][414996.1.150965238][414996.1.150965240]' + BaseType: Object + StructuredName: 'ArchivePackagingPlanColumns' +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Category.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Category.qbl new file mode 100644 index 0000000..4b419d9 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Category.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Category +{ + #keys: '3[414996.1.150965250][414996.1.150965249][414996.1.150965251]' + Description: '澶х被' + ValueType: String +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Factory.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Factory.qbl new file mode 100644 index 0000000..f1ae9f1 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Factory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Factory +{ + #keys: '3[414996.1.150965253][414996.1.150965252][414996.1.150965254]' + Description: '宸ュ巶' + ValueType: String +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_FactoryAbbreviation.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_FactoryAbbreviation.qbl new file mode 100644 index 0000000..e4e64b3 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_FactoryAbbreviation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute FactoryAbbreviation +{ + #keys: '3[414996.1.150965256][414996.1.150965255][414996.1.150965257]' + ValueType: String +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Name.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Name.qbl new file mode 100644 index 0000000..9c9443e --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[414996.1.150965259][414996.1.150965258][414996.1.150965260]' + ValueType: String +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_ProductID.qbl new file mode 100644 index 0000000..0b0eefc --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414996.1.150965262][414996.1.150965261][414996.1.150965263]' + ValueType: String +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_StockingPointID.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..a0e85d7 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414996.1.150965265][414996.1.150965264][414996.1.150965266]' + ValueType: String +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Category.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Category.qbl new file mode 100644 index 0000000..5e9af9f --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Category.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Category +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Factory.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Factory.qbl new file mode 100644 index 0000000..49653fb --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Factory.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Factory +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_FactoryAbbreviation.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_FactoryAbbreviation.qbl new file mode 100644 index 0000000..898cd6b --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_FactoryAbbreviation.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: FactoryAbbreviation +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Name.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_ProductID.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..fbb83fc --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/DefaultValue_StockingPointID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Function_CalcFactoryAbbreviation.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Function_CalcFactoryAbbreviation.qbl new file mode 100644 index 0000000..d7563fb --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Function_CalcFactoryAbbreviation.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcFactoryAbbreviation +{ + TextBody: + [* + // lihongji Jul-26-2024 (created) + + value := ifexpr( this.Factory() = "澶ц繛宸ュ巶", "DL", "CC" ); + + this.FactoryAbbreviation( value ); + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Function_CalcName.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Function_CalcName.qbl new file mode 100644 index 0000000..9a558f8 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Function_CalcName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcName +{ + TextBody: + [* + // lihongji Jul-24-2024 (created) + + value := guard( this.ProductID(), "" ); + + this.Name( value ); + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/Method_FilterProduct.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/Method_FilterProduct.qbl new file mode 100644 index 0000000..6f7e08b --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/Method_FilterProduct.qbl @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: #root +Method FilterProduct ( + Product_MPs products, + String factory +) declarative remote as Boolean +{ + TextBody: + [* + flag := exists( products, Elements, tempP, tempP.ID() = this.ProductID() ) and this.Factory() = factory; + + return flag; + *] +} diff --git a/_Main/BL/Type_ArchivePackagingPlanRow/_ROOT_Type_ArchivePackagingPlanRow.qbl b/_Main/BL/Type_ArchivePackagingPlanRow/_ROOT_Type_ArchivePackagingPlanRow.qbl new file mode 100644 index 0000000..9d81058 --- /dev/null +++ b/_Main/BL/Type_ArchivePackagingPlanRow/_ROOT_Type_ArchivePackagingPlanRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type ArchivePackagingPlanRow +{ + #keys: '5[414996.1.150965247][414996.1.150965245][0.0.0][414996.1.150965246][414996.1.150965248]' + BaseType: Object + StructuredName: 'ArchivePackagingPlanRows' +} diff --git "a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl" "b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl" index d033d04..323a459 100644 --- "a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl" +++ "b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl" @@ -94,11 +94,11 @@ holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime ); }else if( shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄥ叚" ) or shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄦ棩" ) ){ // 涓嬩竴澶╂槸鍛ㄥ叚鎴栧懆鏃� - nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); + nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime ); }else{ // 涓嬩竴澶╂槸骞冲父鐨勫伐浣滄棩 - nextDayOvertime := shiftPlan.GetDefaultDayOvertimeHour( true ); + nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime ); } } diff --git a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl index 94d74a0..1a2649b 100644 --- a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl +++ b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl @@ -97,11 +97,11 @@ holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime ); }else if( shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄥ叚" ) or shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄦ棩" ) ){ // 涓嬩竴澶╂槸鍛ㄥ叚鎴栧懆鏃� - nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); + nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime ); }else{ // 涓嬩竴澶╂槸骞冲父鐨勫伐浣滄棩 - nextDayOvertime := shiftPlan.GetDefaultDayOvertimeHour( true ); + nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime ); } } @@ -129,12 +129,13 @@ overtime := shiftPlan.GetDefaultDayOvertimeHour( false ); defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + overtime ); if( not isnull( nextShiftPlan )){ - nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); if( nextShiftPlan.IsHoliday()){ // 涓嬩竴澶╂槸鑺傚亣鏃� + nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime ); }else if( shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄥ叚" ) or shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄦ棩" ) ){ // 涓嬩竴澶╂槸鍛ㄥ叚鎴栧懆鏃� + nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime ); }else{ // 涓嬩竴澶╂槸骞冲父鐨勫伐浣滄棩 @@ -201,7 +202,7 @@ // 娆犲伐璐� qiangongCell := LocalCell_Default::GetCell( rowKey + column7.CustomName(), cellIndexTree, cells, row, column7 ); - qiangongCell.RealValue( qiangongCell.RealValue() - 8 ); + qiangongCell.RealValue( qiangongCell.RealValue() ); qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column11.CustomName(), cellIndexTree, cells, row, column11 ); qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,qiangongMultiplier,qiangongCell.RealValue() )); diff --git a/_Main/BL/Type_LocalTool/StaticMethod_IsOverlap.qbl b/_Main/BL/Type_LocalTool/StaticMethod_IsOverlap.qbl index 8ec6afe..f73846d 100644 --- a/_Main/BL/Type_LocalTool/StaticMethod_IsOverlap.qbl +++ b/_Main/BL/Type_LocalTool/StaticMethod_IsOverlap.qbl @@ -10,6 +10,6 @@ TextBody: [* // rislai Jun-14-2024 (created) - return start1 <= end2 and start2 <= end1 ; + return start1 <= start2 and end1 >= end2 ; *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def index 5b49ff3..9b59356 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def @@ -5,44 +5,6 @@ BaseType: 'WebPanel' Children: [ - Component ddlOfflinePlanTable - { - #keys: '[412672.1.64850982]' - BaseType: 'WebDropDownList' - Databinding: 'OfflinePlanTableInfo' - Children: - [ - Component DataExtractorRibbon - { - #keys: '[412672.1.64850983]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'RecycleBin' - Source: 'RecycleBin' - Taborder: 0 - Transformation: 'OfflinePlanTableInfo' - ] - } - ] - Properties: - [ - DisplayField: 'TableName' - Label: '涓嬬嚎璁″垝:' - NumberOfColumns: 50 - Taborder: 0 - ] - } - Component bComparison - { - #keys: '[412672.1.64851009]' - BaseType: 'WebButton' - Properties: - [ - Label: '寮�濮嬪姣�' - Taborder: 1 - ] - } Component LabelRibbon { #keys: '[412672.1.66018113]' @@ -51,16 +13,6 @@ [ DataBinding: 'ddlOfflinePlanTable.Data.TableName' NumberOfColumns: 50 - Taborder: 6 - ] - } - Component bExport id:bExport_298 - { - #keys: '[414996.1.108480376]' - BaseType: 'WebButton' - Properties: - [ - Image: 'EXPORT1' Taborder: 4 ] } @@ -87,19 +39,7 @@ ] Properties: [ - Taborder: 5 - ] - } - Component rbgTimeUnit - { - #keys: '[414996.1.147730565]' - BaseType: 'WebRadioButtonGroup' - Properties: - [ - BoundValue: 'Day' - ButtonLabels: 'Day;Week;Month' - ButtonValues: 'Day;Week;Month' - Taborder: 2 + Taborder: 3 ] } Component dhTimeUnit @@ -109,14 +49,15 @@ Databinding: 'String*' Properties: [ - Taborder: 3 + Taborder: 2 ] } + #child: PanelRibbon510 + #child: PanelRibbon763 ] Properties: [ FixedSize: true - Orientation: 'horizontal' Taborder: 0 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon510.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon510.def new file mode 100644 index 0000000..942eb3a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon510.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +Component PanelRibbon510 +{ + #keys: '[414996.1.148040419]' + BaseType: 'WebPanel' + Children: + [ + Component rbgTimeUnit id:rbgTimeUnit_19 + { + #keys: '[414996.1.148040622]' + BaseType: 'WebRadioButtonGroup' + Properties: + [ + BoundValue: 'Day' + ButtonLabels: 'Day;Week;Month' + ButtonValues: 'Day;Week;Month' + Orientation: 'horizontal' + Taborder: 0 + ] + } + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon763.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon763.def new file mode 100644 index 0000000..1c87d6e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon763.def @@ -0,0 +1,63 @@ +Quintiq file version 2.0 +Component PanelRibbon763 +{ + #keys: '[414996.1.148040406]' + BaseType: 'WebPanel' + Children: + [ + Component ddlOfflinePlanTable id:ddlOfflinePlanTable_217 + { + #keys: '[414996.1.148040527]' + BaseType: 'WebDropDownList' + Databinding: 'OfflinePlanTableInfo' + Children: + [ + Component DataExtractorRibbon id:DataExtractorRibbon_568 + { + #keys: '[414996.1.148040528]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'RecycleBin' + Source: 'RecycleBin' + Taborder: 0 + Transformation: 'OfflinePlanTableInfo' + ] + } + ] + Properties: + [ + DisplayField: 'TableName' + Label: '涓嬬嚎璁″垝:' + NumberOfColumns: 50 + Taborder: 0 + ] + } + Component bComparison id:bComparison_136 + { + #keys: '[414996.1.148040554]' + BaseType: 'WebButton' + Properties: + [ + Label: '寮�濮嬪姣�' + Taborder: 1 + ] + } + Component bExport + { + #keys: '[414996.1.148040586]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EXPORT1' + Taborder: 2 + ] + } + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_rbgTimeUnit_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon510_rbgTimeUnit_OnUserChanged.def similarity index 60% rename from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_rbgTimeUnit_OnUserChanged.def rename to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon510_rbgTimeUnit_OnUserChanged.def index 12ede48..bf2b6d7 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_rbgTimeUnit_OnUserChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon510_rbgTimeUnit_OnUserChanged.def @@ -1,8 +1,8 @@ Quintiq file version 2.0 -#parent: PanelRibbon504/rbgTimeUnit -Response OnUserChanged () id:Response_PanelRibbon504_801_rbgTimeUnit_OnUserChanged +#parent: PanelRibbon510/rbgTimeUnit_19 +Response OnUserChanged () id:Response_PanelRibbon504_rbgTimeUnit_OnUserChanged { - #keys: '[414996.1.147730564]' + #keys: '[414996.1.148040621]' CanBindMultiple: false DefinitionID: 'Responsedef_WebRadioButtonGroup_OnUserChanged' GroupServerCalls: true diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bComparison_OnClick\043613.def" b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bComparison_OnClick.def similarity index 87% rename from "_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bComparison_OnClick\043613.def" rename to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bComparison_OnClick.def index ee0cdcb..8211a83 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bComparison_OnClick\043613.def" +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bComparison_OnClick.def @@ -1,8 +1,8 @@ Quintiq file version 2.0 -#parent: PanelRibbon504/bComparison -Response OnClick () id:Response_PanelRibbon504_bComparison_OnClick_613 +#parent: PanelRibbon763/bComparison_136 +Response OnClick () id:Response_PanelRibbon504_bComparison_OnClick { - #keys: '[412672.1.64851008]' + #keys: '[414996.1.148040553]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' QuillAction diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bExport_OnClick\043891.def" b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bExport_OnClick.def similarity index 80% rename from "_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bExport_OnClick\043891.def" rename to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bExport_OnClick.def index 9917d6f..0a82310 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bExport_OnClick\043891.def" +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon763_bExport_OnClick.def @@ -1,8 +1,8 @@ Quintiq file version 2.0 -#parent: PanelRibbon504/bExport_298 -Response OnClick () id:Response_pOperaction_bExport_OnClick_891 +#parent: PanelRibbon763/bExport +Response OnClick () id:Response_PanelRibbon504_bExport_OnClick { - #keys: '[414996.1.108480375]' + #keys: '[414996.1.148040585]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' GroupServerCalls: true -- Gitblit v1.9.3