From edfbb3b9cb8a6700df14ee75a6981f48e13c76c5 Mon Sep 17 00:00:00 2001 From: yypsybs <yypsybs@foxmail.com> Date: 星期五, 13 十月 2023 10:09:02 +0800 Subject: [PATCH] 制造LT归集优化,产销预算测试数据生成逻辑修改 --- _Main/BL/Type_ManufactureLTImputation/StaticMethod_Apply.qbl | 5 _Main/BL/Type_GlobalDTOTable/Method_InitTestData#12.qbl | 1 _Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl | 67 +++++++ _Main/BL/Type_ManufactureLTImputation/StaticMethod_Refresh.qbl | 5 _Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply#202.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Component_ListManufactureLT#943.def | 6 _Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ButtonLoad_OnClick#417.def | 20 ++ _Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply.qbl | 5 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def | 21 ++ _Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate.qbl | 11 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def | 15 + _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def | 2 _Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate0.qbl | 13 _var/_Main/ProjSettings/MacroPlannerWebApp/Views/ManufactureLT.vw | 239 ++++++++++++++++++++++++++ _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def | 2 /dev/null | 14 - _Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer#25.qbl | 15 + _Main/BL/Type_ManufactureLTImputation/StaticMethod_CreateOrUpdate.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ListManufactureLT_943_MenuApply_OnClick.def | 23 ++ _Main/BL/Relations/Relation_ManufactureLTImputation_GlobalOTDTable_GlobalOTDTable_ManufactureLT.qbl | 23 ++ _Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/_ROOT_Component_FormManufactureLT.def | 11 + _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def | 2 23 files changed, 470 insertions(+), 47 deletions(-) diff --git a/_Main/BL/Relations/Relation_ManufactureLTImputation_GlobalOTDTable_GlobalOTDTable_ManufactureLT.qbl b/_Main/BL/Relations/Relation_ManufactureLTImputation_GlobalOTDTable_GlobalOTDTable_ManufactureLT.qbl new file mode 100644 index 0000000..3a23be5 --- /dev/null +++ b/_Main/BL/Relations/Relation_ManufactureLTImputation_GlobalOTDTable_GlobalOTDTable_ManufactureLT.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation ManufactureLTImputation_GlobalOTDTable_GlobalOTDTable_ManufactureLTImputation +{ + #keys: '1[414384.0.964611377]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.964611379][414384.0.964611378][414384.0.964611380]' + Cardinality: '0to1' + ObjectDefinition: ManufactureLTImputation + OwningSide: 'Reference' + } + RelationSide.RightSide ManufactureLTImputation + { + #keys: '3[414384.0.964611382][414384.0.964611381][414384.0.964611383]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_ManufactureLTImputation_MacroPlan_MacroPlan_ManufactureLTImputation.qbl b/_Main/BL/Relations/Relation_ManufactureLTImputation_MacroPlan_MacroPlan_ManufactureLTImputation.qbl deleted file mode 100644 index 7aa6d28..0000000 --- a/_Main/BL/Relations/Relation_ManufactureLTImputation_MacroPlan_MacroPlan_ManufactureLTImputation.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation ManufactureLTImputation_MacroPlan_MacroPlan_ManufactureLTImputation -{ - #keys: '1[414384.0.697090694]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide MacroPlan - { - #keys: '3[414384.0.697090696][414384.0.697090695][414384.0.697090697]' - Cardinality: '0to1' - ObjectDefinition: ManufactureLTImputation - OwningSide: 'Reference' - } - RelationSide.RightSide ManufactureLTImputation - { - #keys: '3[414384.0.697090699][414384.0.697090698][414384.0.697090700]' - Cardinality: '1toN' - ObjectDefinition: MacroPlan - OwningSide: 'Owned' - } -} diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" index f59360c..274df0b 100644 --- "a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" +++ "b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" @@ -10,6 +10,7 @@ productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() ); debuginfo( "productCodeList : " + [String]productCodeList.Size() ); + this.Global_MappingAnnualBudgetData( relflush ); if( this.Global_MappingAnnualBudgetData( relsize ) = 0 ) { debuginfo( "create Global_MappingAnnualBudgetData test data" ); id := 1; diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl new file mode 100644 index 0000000..4223466 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl @@ -0,0 +1,67 @@ +Quintiq file version 2.0 +#parent: #root +Method InitTestDataByYear ( + MacroPlan macroPlan, + CapacityAndSaleBudgeFilterYears years +) +{ + TextBody: + [* + // yypsybs Oct-7-2023 (created) + productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() ); + debuginfo( "productCodeList : " + [String]productCodeList.Size() ); + + this.Global_MappingAnnualBudgetData( relflush ); + debuginfo( "create Global_MappingAnnualBudgetData test data" ); + id := 1; + traverse( years, Elements, year ) { + for( i := 1; i <= productCodeList.Size(); i := i + 1 ) { + productCode := productCodeList.Element( i - 1 ); + mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew, + ID := [String]id, + YearNo := [String]year.YearNo(), + BusinessType := "浜嬩笟閮�" + [String](productCode.Length() mod 3), + ProductID := productCode); + id := id + 1; + mappingAnnualBudget.MonthlyModCapacity1( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity2( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity3( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity4( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity5( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity6( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity7( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity8( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity9( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity10( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity11( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlyModCapacity12( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity1( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity2( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity3( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity4( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity5( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity6( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity7( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity8( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity9( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity10( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity11( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySheetCapacity12( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales1( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales2( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales3( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales4( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales5( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales6( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales7( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales8( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales9( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales10( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales11( [String]Real::Random( 20000.0, 30000.0 ) ); + mappingAnnualBudget.MonthlySales12( [String]Real::Random( 20000.0, 30000.0 ) ); + } + } + result2 := selectset( this, Global_MappingAnnualBudgetData, item, true ); + debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() ); + *] +} diff --git a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Apply.qbl b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Apply.qbl index 8e7f10e..12288b1 100644 --- a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Apply.qbl +++ b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Apply.qbl @@ -1,7 +1,8 @@ Quintiq file version 2.0 #parent: #root StaticMethod Apply ( - ManufactureLTImputations toApply + ManufactureLTImputations toApply, + MacroPlan macroPlan ) { TextBody: @@ -9,7 +10,7 @@ // yypsybs Aug-28-2023 (created) traverse( toApply, Elements, parent ) { traverse( parent, ManufactureLTProcessSection, child ) { - ManufactureLTProcessSection::Apply( child ); + ManufactureLTProcessSection::Apply( child, macroPlan ); } } *] diff --git a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_CreateOrUpdate.qbl index 3190688..27fc818 100644 --- a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_CreateOrUpdate.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateOrUpdate ( - MacroPlan macroPlan, + GlobalOTDTable parent, String orgCode, String productId, String desc @@ -10,9 +10,9 @@ TextBody: [* // yypsybs Aug-25-2023 (created) - value := select( macroPlan, ManufactureLTImputation, item, item.OrgCode() = orgCode and item.SkuID() = productId ); + value := select( parent, ManufactureLTImputation, item, item.OrgCode() = orgCode and item.SkuID() = productId ); if( isnull( value ) ) { - value := macroPlan.ManufactureLTImputation( relnew, OrgCode := orgCode, SkuID := productId, Describe := desc ); + value := parent.ManufactureLTImputation( relnew, OrgCode := orgCode, SkuID := productId, Describe := desc ); } else { value.Describe( desc ); } diff --git a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_NewStaticMethod.qbl b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_NewStaticMethod.qbl deleted file mode 100644 index 5884b30..0000000 --- a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_NewStaticMethod.qbl +++ /dev/null @@ -1,9 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod NewStaticMethod -{ - TextBody: - [* - // yypsybs Sep-19-2023 (created) - *] -} diff --git a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Refresh.qbl b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Refresh.qbl index 90c199f..c36ff8f 100644 --- a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Refresh.qbl +++ b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Refresh.qbl @@ -1,7 +1,8 @@ Quintiq file version 2.0 #parent: #root StaticMethod Refresh ( - ManufactureLTImputations toRefresh + ManufactureLTImputations toRefresh, + MacroPlan macroPlan ) { TextBody: @@ -9,7 +10,7 @@ // yypsybs Aug-28-2023 (created) traverse( toRefresh, Elements, parent ) { traverse( parent, ManufactureLTProcessSection, child ) { - ManufactureLTProcessSection::Apply( child ); + ManufactureLTProcessSection::Apply( child, macroPlan ); } } *] diff --git "a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer\04325.qbl" "b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer\04325.qbl" new file mode 100644 index 0000000..2845682 --- /dev/null +++ "b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer\04325.qbl" @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Transfer ( + MacroPlan macroPlan, + GlobalOTDTable parent +) +{ + TextBody: + [* + // yypsybs Oct-11-2023 (created) + traverse( macroPlan, Routing.RoutingStep.Operation, item ) { + ManufactureLTProcessSection::CreateOrUpdate( item, parent ); + } + *] +} diff --git a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer.qbl b/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer.qbl deleted file mode 100644 index ae70b83..0000000 --- a/_Main/BL/Type_ManufactureLTImputation/StaticMethod_Transfer.qbl +++ /dev/null @@ -1,33 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod Transfer ( - MacroPlan oldMP, - MacroPlan newMP -) -{ - Description: '绉讳氦鎺у埗鏉�' - TextBody: - [* - //// yypsybs Aug-25-2023 (created) - //if( isnull( oldMP ) ) { - // info( "========transfer ManufactureLTImputations to macroPlan " + [String]newMP.MDSID() + "========" ); - //} else { - // info( "========transfer ManufactureLTImputations from macroPlan " + [String]oldMP.MDSID() + " to macroPlan " + [String]newMP.MDSID() + "========" ); - //} - //// 娓呯┖鏂扮殑锛岃�佺殑澶嶅埗鍒版柊鐨勶紝娓呯┖鑰佺殑 - //if( not isnull( oldMP ) and not isnull( newMP ) ) { - // info( "old ManufactureLTImputation size : " + [String]oldMP.ManufactureLTImputation( relsize ) ) - // traverse( oldMP, ManufactureLTImputation, parent, true ) { - // traverse( parent, ManufactureLTProcessSection, child, true ) { - // ManufactureLTProcessSection::CreateOrUpdate( newMP, parent.OrgCode(), parent.SkuID(), parent.Describe(), - // child.ProcessSection(), child.Sequence(), child.Line(), child.SystemLT(), - // child.Edited(), child.EditLT(), child.Describe() ); - // } - // } - //} - //// 澶勭悊鏂扮殑鐨刼peration - //traverse( newMP, Routing.RoutingStep.Operation, item ) { - // ManufactureLTProcessSection::CreateOrUpdate( item ); - //} - *] -} diff --git "a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply\043202.qbl" "b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply\043202.qbl" index 502281f..278b5f3 100644 --- "a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply\043202.qbl" +++ "b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply\043202.qbl" @@ -1,14 +1,15 @@ Quintiq file version 2.0 #parent: #root StaticMethod Apply ( - ManufactureLTProcessSection toApply + ManufactureLTProcessSection toApply, + MacroPlan macroPlan ) { TextBody: [* // yypsybs Aug-28-2023 (created) parent := toApply.ManufactureLTImputation(); - toUpdate := select( toApply, ManufactureLTImputation.MacroPlan.Routing.RoutingStep.Operation, op, + toUpdate := select( macroPlan, Routing.RoutingStep.Operation, op, op.RoutingID() = parent.OrgCode() + "_" + parent.SkuID() and op.RoutingStepName() = toApply.ProcessSection() + "_" + toApply.Sequence() and op.Name() = ifexpr( toApply.Line() <> "", @@ -18,7 +19,7 @@ toUpdate.UserLeadTime( Duration::Days( toApply.EditLT() ) ); toApply.SystemLT( toApply.EditLT() ); } else { - info( "operation to update not found" ); + debuginfo( "operation to update not found" ); } *] } diff --git a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply.qbl b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply.qbl index 2b410b4..7f69c3f 100644 --- a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply.qbl +++ b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Apply.qbl @@ -1,14 +1,15 @@ Quintiq file version 2.0 #parent: #root StaticMethod Apply ( - ManufactureLTProcessSections toApply + ManufactureLTProcessSections toApply, + MacroPlan macroPlan ) { TextBody: [* // yypsybs Aug-28-2023 (created) traverse( toApply, Elements, child ) { - ManufactureLTProcessSection::Apply( child ); + ManufactureLTProcessSection::Apply( child, macroPlan ); } *] } diff --git a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate.qbl index fe55479..662ef7e 100644 --- a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate.qbl @@ -1,7 +1,8 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateOrUpdate ( - Operation op + Operation op, + GlobalOTDTable parent ) as ManufactureLTProcessSection { TextBody: @@ -31,9 +32,11 @@ } child := null( ManufactureLTProcessSection ); //if( orgCode <> "" and productId <> "" and processStep <> "" and sequence <> "" ) { - // parent := ManufactureLTImputation::CreateOrUpdate( op.RoutingStep().Routing().MacroPlan(), orgCode, productId, "" ); - // info( "DaysAsReal : " + [String]op.UserLeadTime().DaysAsReal() ); - // child := ManufactureLTProcessSection::CreateOrUpdate( parent, processStep, false, sequence, line, op.UserLeadTime().DaysAsReal(), 0.0, "" ); + ltParent := ManufactureLTImputation::CreateOrUpdate( parent, orgCode, productId, "" ); + info( "DaysAsReal : " + [String]op.UserLeadTime().DaysAsReal() ); + child := ManufactureLTProcessSection::CreateOrUpdate( ltParent, processStep, false, sequence, line, op.UserLeadTime().DaysAsReal(), 0.0, "" ); + //} else { + // info( "skip operation" ); //} return child; *] diff --git a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate0.qbl b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate0.qbl index b18ed17..533457a 100644 --- a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate0.qbl +++ b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_CreateOrUpdate0.qbl @@ -1,6 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateOrUpdate ( + GlobalOTDTable parent, MacroPlan macroPlan, String orgCode, String productId, @@ -17,15 +18,15 @@ TextBody: [* // yypsybs Aug-25-2023 (created) - parent := select( macroPlan, ManufactureLTImputation, item, item.OrgCode() = orgCode and item.SkuID() = productId ); - if( isnull( parent ) ) { - parent := macroPlan.ManufactureLTImputation( relnew, OrgCode := orgCode, SkuID := productId, Describe := parentDesc ); + ltParent := select( parent, ManufactureLTImputation, item, item.OrgCode() = orgCode and item.SkuID() = productId ); + if( isnull( ltParent ) ) { + ltParent := parent.ManufactureLTImputation( relnew, OrgCode := orgCode, SkuID := productId, Describe := parentDesc ); } else { - parent.Describe( parentDesc ); + ltParent.Describe( parentDesc ); } - child := select( parent, ManufactureLTProcessSection, item, item.ProcessSection() = processSection and item.Sequence() = seq and item.Line() = line ); + child := select( ltParent, ManufactureLTProcessSection, item, item.ProcessSection() = processSection and item.Sequence() = seq and item.Line() = line ); if( isnull( child ) ) { - child := parent.ManufactureLTProcessSection( relnew, + child := ltParent.ManufactureLTProcessSection( relnew, ProcessSection := processSection, Sequence := seq, Line := line, SystemLT := systemLt, Edited := edited, EditLT := editLt, Describe := childDesc ); } else { diff --git "a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Refresh\0431.qbl" "b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Refresh\0431.qbl" deleted file mode 100644 index 069eb30..0000000 --- "a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Refresh\0431.qbl" +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod Refresh ( - ManufactureLTProcessSection toRefresh -) -{ - TextBody: - [* - // yypsybs Aug-28-2023 (created) - parent := toRefresh.ManufactureLTImputation(); - toUpdate := select( toRefresh, ManufactureLTImputation.MacroPlan.Routing.RoutingStep.Operation, op, - op.RoutingID() = parent.OrgCode() + "_" + parent.SkuID() - and op.RoutingStepName() = toRefresh.ProcessSection() + "_" + toRefresh.Sequence() - and op.Name() = ifexpr( toRefresh.Line() <> "", - parent.OrgCode() + "_" + toRefresh.ProcessSection() + "_" + toRefresh.Line(), - parent.OrgCode() + "_" + toRefresh.ProcessSection() ) ); - if( not isnull( toUpdate ) ) { - toRefresh.SystemLT( toUpdate.UserLeadTime().DaysAsReal() ); - } else { - info( "operation to refresh not found" ); - } - *] -} diff --git a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Refresh.qbl b/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Refresh.qbl deleted file mode 100644 index b39c91c..0000000 --- a/_Main/BL/Type_ManufactureLTProcessSection/StaticMethod_Refresh.qbl +++ /dev/null @@ -1,14 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod Refresh ( - ManufactureLTProcessSections toApply -) -{ - TextBody: - [* - // yypsybs Aug-28-2023 (created) - traverse( toApply, Elements, child ) { - ManufactureLTProcessSection::Refresh( child ); - } - *] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def index b488de3..c7a866e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def @@ -6,7 +6,7 @@ [* // Disabled button to prevent the possibility of multiple firing - macroPlanOld := MacroPlan; + //macroPlanOld := MacroPlan; btnOK.Enabled( false, '' ) @@ -110,7 +110,7 @@ } macroPlanNew := MacroPlan; - ManufactureLTImputation::Transfer( macroPlanOld, macroPlanNew ); + //ManufactureLTImputation::Transfer( macroPlanOld, macroPlanNew ); // sync data if( data.EnableSync() ) { diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def index 4af954a..a0f1d91 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def @@ -38,6 +38,6 @@ ] Properties: [ - Taborder: 2 + Taborder: 3 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def index 6ff9db2..e09f8c8 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def @@ -7,7 +7,7 @@ DefinitionID: 'Responsedef_WebButton_OnClick' Precondition: [* - return not isnull( MPSync ); + return not isnull( GlobalOTDTable ); *] QuillAction { diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def new file mode 100644 index 0000000..ca24ac8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: ButtonGenerateTestData +Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonGenerateTestData_OnClick +{ + #keys: '[414384.0.971540692]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + GlobalOTDTable.InitTestDataByYear( MacroPlan, DataHolderCapacityAndSaleBudgeFilterYear.Data() ); + Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( GlobalOTDTable ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def index e0e1268..8a33617 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def @@ -12,8 +12,6 @@ [* MPSync::TestData( MPSync, MacroPlan ); GlobalOTDTable.InitTestData(); - GlobalOTDTable.InitTestData( MacroPlan ); - Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( GlobalOTDTable ); GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true ); *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def index c2687d8..995281a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def @@ -16,7 +16,7 @@ [ Image: 'EXPORT1' Label: '瀵煎嚭' - Taborder: 0 + Taborder: 1 ] } Component ButtonExportTest @@ -27,10 +27,21 @@ [ Image: 'EXPORT1' Label: '瀵煎嚭娴嬭瘯' - Taborder: 1 + Taborder: 2 Visible: false ] } + Component ButtonGenerateTestData + { + #keys: '[414384.0.971540693]' + BaseType: 'WebButton' + Properties: + [ + Image: 'IMPORT1' + Label: '鏍规嵁绛涢�夋湀浠界敓鎴愭祴璇曟暟鎹�' + Taborder: 0 + ] + } ] Properties: [ diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Component_ListManufactureLT\043943.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Component_ListManufactureLT\043943.def" index c2d85db..d71a6ee 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Component_ListManufactureLT\043943.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Component_ListManufactureLT\043943.def" @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'MacroPlan' - Source: 'MacroPlan' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'ManufactureLTImputation' ] @@ -37,7 +37,7 @@ ] Properties: [ - Taborder: 0 + Taborder: 1 ] ResponseDefinitions: [ diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ButtonLoad_OnClick\043417.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ButtonLoad_OnClick\043417.def" new file mode 100644 index 0000000..fca0b35 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ButtonLoad_OnClick\043417.def" @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: ButtonLoad_657 +Response OnClick () id:Response_PanelPRDataButton_ButtonLoad_OnClick_417 +{ + #keys: '[414384.0.967076760]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + ManufactureLTImputation::Transfer( MacroPlan, GlobalOTDTable ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ListManufactureLT_943_MenuApply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ListManufactureLT_943_MenuApply_OnClick.def new file mode 100644 index 0000000..facd5e2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/Response_ListManufactureLT_943_MenuApply_OnClick.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: ListManufactureLT_943 +Response OnClick ( + structured[ManufactureLTImputation] selection +) id:Response_ListManufactureLT_943_MenuApply_OnClick +{ + #keys: '[414384.0.967590502]' + CanBindMultiple: false + DefinitionID => /ListManufactureLT_943/Responsedef_ListManufactureLT_943_WebMenu_OnClick + GroupServerCalls: true + Initiator: 'MenuApply' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + ManufactureLTImputation::Apply( selection, MacroPlan ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/_ROOT_Component_FormManufactureLT.def b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/_ROOT_Component_FormManufactureLT.def index a35f176..a5790c1 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/_ROOT_Component_FormManufactureLT.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormManufactureLT/_ROOT_Component_FormManufactureLT.def @@ -8,6 +8,17 @@ Children: [ #child: ListManufactureLT_943 + Component ButtonLoad id:ButtonLoad_657 + { + #keys: '[414384.0.967076761]' + BaseType: 'WebButton' + Properties: + [ + Image: 'THICK_ARROW_DOWN_BLUE' + Label: '閲嶆柊鍔犺浇' + Taborder: 0 + ] + } ] Properties: [ diff --git a/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/ManufactureLT.vw b/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/ManufactureLT.vw new file mode 100644 index 0000000..76e471c --- /dev/null +++ b/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/ManufactureLT.vw @@ -0,0 +1,239 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_legacy_1 + { + title: 'Scenario manager' + shown: true + componentID: 'FormScenarioManager' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormScenarioManager_ListScenario + { + } + FormScenarioManager_DataSetLevelScenario + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 90 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 197 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 2 + subtotals: '' + width: 91 + } + column_ChangedOn + { + columnId: 'ChangedOn' + dataPath: 'ChangedOn' + dataType: 'datetime' + title: 'Changed on' + index: 3 + subtotals: '' + width: 99 + } + column_StorageMode + { + columnId: 'StorageMode' + dataPath: 'StorageMode' + dataType: 'string' + title: 'StorageMode' + index: 4 + subtotals: '' + width: 40 + } + } + } + } + form_FormOptimizerPuzzles + { + title: 'Optimizer Puzzles' + shown: false + componentID: 'FormOptimizerPuzzles' + layout + { + mode: 'dockright' + index: 0 + } + components + { + FormOptimizerPuzzles_ListOptimizerPuzzles + { + } + FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 109 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + title: '鎻忚堪' + index: 2 + subtotals: '' + width: 207 + } + } + } + } + form_FormKPI + { + title: 'KPI Dashboard' + shown: false + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 1 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPISelection' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 200 + } + } + } + } + form_SWF_DialogWorkflowParameter + { + title: 'S&OP Workflow Parameters' + shown: true + componentID: 'SWF_DialogWorkflowParameter' + layout + { + mode: 'dockright' + index: 2 + } + components + { + SWF_DialogWorkflowParameter_PanelCurrentDate + { + sizeRatio: 1 + } + SWF_DialogWorkflowParameter_PanelIntegration + { + sizeRatio: 1 + } + SWF_DialogWorkflowParameter_PanelSynchronizeRoles + { + sizeRatio: 1 + } + SWF_DialogWorkflowParameter_PanelRequestDatasetSync + { + sizeRatio: 1 + } + SWF_DialogWorkflowParameter_PanelKickQueues + { + sizeRatio: 1 + } + } + } + } + userconfigurableinformation + { + } + page: 'ActionBarPageData' + group: '' + index: 1 + image: 'CODE_LINE' + description: '鍒堕�燣T' + } + formatversion: 2 + id: 'ManufactureLT' + name: 'ManufactureLT' + isglobal: false + isroot: true +} -- Gitblit v1.9.3