From aa42b48fd2d23e75b64a0aec05d5be4b9ebf0465 Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期二, 05 十一月 2024 18:20:19 +0800 Subject: [PATCH] 计划库存后端类 --- _Main/BL/Type_InventoryPlanArchiveCell/Attribute_ActualQuantity.qbl | 7 _Main/BL/Type_InventoryPlanArchiveColumn/DefaultValue_TimeUnit.qbl | 6 _Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def | 19 _Main/BL/Type_OfflinePlanArchiveVersionRow/Attribute_Name.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_MatrixEditorTable.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnSelectionChanged.def | 19 _Main/BL/Type_InventoryPlanArchiveRow/Attribute_Name.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader#952.def | 1 _Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Name.qbl | 7 _Main/BL/Type_InventoryPlanArchiveColumn/Attribute_EndDate.qbl | 8 _Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl | 12 _Main/BL/Type_OfflinePlanArchiveVersion/Method_GenerateColumn.qbl | 77 +-- _Main/BL/Type_InventoryPlanArchiveVersion/_ROOT_Type_InventoryPlanArchiveVersion.qbl | 10 _Main/BL/Type_InventoryPlanArchiveVersionSearch/_ROOT_Type_InventoryPlanArchiveVersionSearch.qbl | 10 _Main/BL/Type_InventoryPlanArchiveRow/Attribute_Unit.qbl | 8 _Main/BL/Type_InventoryPlanArchiveCell/_ROOT_Type_InventoryPlanArchiveCell.qbl | 10 _Main/BL/Type_InventoryPlanArchiveColumn/Attribute_TimeUnit.qbl | 8 _Main/BL/Type_InventoryPlanArchiveCell/Attribute_PlanQuantity.qbl | 7 _Main/BL/Type_InventoryPlanArchiveVersion/Attribute_Name.qbl | 8 _Main/BL/Relations/Relation_InventoryPlanArchiveVersionSearch_InterfaceDataset_InterfaceDataset.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def | 24 + _Main/BL/Relations/Relation_InventoryPlanArchiveRow_Cell_InventoryPlanArchiveCell_Row.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation#414.def | 24 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit.def | 24 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod.def | 35 + _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable#384.def | 2 _Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_TimeUnit.qbl | 8 _Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Version_InventoryPlanArchiveVersion_Colu.qbl | 23 + _Main/BL/Type_InventoryPlanArchiveRow/_ROOT_Type_InventoryPlanArchiveRow.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelHeader#503.def | 20 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def | 2 _Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixeditorContextMenuTable#1.def | 10 _Main/BL/Type_InventoryPlanArchiveVersion/DefaultValue_IsShow.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnCreated.def | 23 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def | 18 _Main/BL/Type_InventoryPlanArchiveColumn/_ROOT_Type_InventoryPlanArchiveColumn.qbl | 10 _Main/BL/Type_InventoryPlanArchiveColumn/Attribute_Name.qbl | 7 _Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GetDefaultName.qbl | 10 _Main/BL/Type_InventoryPlanArchiveVersion/Attribute_IsShow.qbl | 8 _Main/BL/Type_InventoryPlanArchiveVersion/Method_GetColumnByTimeUnit.qbl | 17 _Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl | 77 +-- _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixEditorActionBarPageTable#1.def | 10 _Main/BL/Type_InventoryPlanArchiveVersion/Attribute_ID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated.def | 16 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged.def | 20 _Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl | 72 +++ _Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Unit.qbl | 8 _Main/BL/Type_InventoryPlanArchiveColumn/Attribute_StartDate.qbl | 8 _Main/BL/Type_InventoryPlanArchiveVersion/Method_GenerateColumn.qbl | 41 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct#133.def | 26 + _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit#805.def | 26 + _Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/_ROOT_Component_FormInventoryPlanArchive.def | 43 + _Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_EndDate.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable#881.def | 14 _Main/BL/Type_InventoryPlanArchiveRow/Method_Initialize.qbl | 15 _Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_StartDate.qbl | 8 _Main/BL/Type_InventoryPlanArchiveVersion/Method_GetRowByUnit.qbl | 21 _Main/BL/Relations/Relation_InventoryPlanArchiveVersion_InterfaceDataset_InterfaceDataset_Inven.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def | 24 + _Main/BL/Type_OfflinePlanArchiveVersionRow/DefaultValue_Name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonInventoryPlanArchive.def | 16 _Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Product.qbl | 8 _Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Cell_InventoryPlanArchiveCell_Column.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable#791.def | 105 ++++ _Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw | 77 +++ _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def | 13 _Main/BL/Relations/Relation_InventoryPlanArchiveRow_Version_InventoryPlanArchiveVersion_Row.qbl | 23 + _Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl | 32 73 files changed, 1,225 insertions(+), 131 deletions(-) diff --git a/_Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Cell_InventoryPlanArchiveCell_Column.qbl b/_Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Cell_InventoryPlanArchiveCell_Column.qbl new file mode 100644 index 0000000..85e09b7 --- /dev/null +++ b/_Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Cell_InventoryPlanArchiveCell_Column.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InventoryPlanArchiveColumn_Cell_InventoryPlanArchiveCell_Column +{ + #keys: '1[415136.0.1275901429]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Cell + { + #keys: '3[415136.0.1275901431][415136.0.1275901430][415136.0.1275901432]' + Cardinality: '1toN' + ObjectDefinition: InventoryPlanArchiveColumn + OwningSide: 'Reference' + } + RelationSide.RightSide Column + { + #keys: '3[415136.0.1275901434][415136.0.1275901433][415136.0.1275901435]' + Cardinality: '0to1' + ObjectDefinition: InventoryPlanArchiveCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Version_InventoryPlanArchiveVersion_Colu.qbl b/_Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Version_InventoryPlanArchiveVersion_Colu.qbl new file mode 100644 index 0000000..0394c09 --- /dev/null +++ b/_Main/BL/Relations/Relation_InventoryPlanArchiveColumn_Version_InventoryPlanArchiveVersion_Colu.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InventoryPlanArchiveColumn_Version_InventoryPlanArchiveVersion_Column +{ + #keys: '1[415136.0.1275901416]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Version + { + #keys: '3[415136.0.1275901418][415136.0.1275901417][415136.0.1275901419]' + Cardinality: '0to1' + ObjectDefinition: InventoryPlanArchiveColumn + OwningSide: 'Reference' + } + RelationSide.RightSide Column + { + #keys: '3[415136.0.1275901421][415136.0.1275901420][415136.0.1275901422]' + Cardinality: '1toN' + ObjectDefinition: InventoryPlanArchiveVersion + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_InventoryPlanArchiveRow_Cell_InventoryPlanArchiveCell_Row.qbl b/_Main/BL/Relations/Relation_InventoryPlanArchiveRow_Cell_InventoryPlanArchiveCell_Row.qbl new file mode 100644 index 0000000..25bc0aa --- /dev/null +++ b/_Main/BL/Relations/Relation_InventoryPlanArchiveRow_Cell_InventoryPlanArchiveCell_Row.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InventoryPlanArchiveRow_Cell_InventoryPlanArchiveCell_Row +{ + #keys: '1[415136.0.1275901400]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Cell + { + #keys: '3[415136.0.1275901402][415136.0.1275901401][415136.0.1275901403]' + Cardinality: '1toN' + ObjectDefinition: InventoryPlanArchiveRow + OwningSide: 'Owned' + } + RelationSide.RightSide Row + { + #keys: '3[415136.0.1275901405][415136.0.1275901404][415136.0.1275901406]' + Cardinality: '0to1' + ObjectDefinition: InventoryPlanArchiveCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_InventoryPlanArchiveRow_Version_InventoryPlanArchiveVersion_Row.qbl b/_Main/BL/Relations/Relation_InventoryPlanArchiveRow_Version_InventoryPlanArchiveVersion_Row.qbl new file mode 100644 index 0000000..83d30ae --- /dev/null +++ b/_Main/BL/Relations/Relation_InventoryPlanArchiveRow_Version_InventoryPlanArchiveVersion_Row.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InventoryPlanArchiveRow_Version_InventoryPlanArchiveVersion_Row +{ + #keys: '1[415136.0.1275901387]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Version + { + #keys: '3[415136.0.1275901389][415136.0.1275901388][415136.0.1275901390]' + Cardinality: '0to1' + ObjectDefinition: InventoryPlanArchiveRow + OwningSide: 'Reference' + } + RelationSide.RightSide Row + { + #keys: '3[415136.0.1275901392][415136.0.1275901391][415136.0.1275901393]' + Cardinality: '1toN' + ObjectDefinition: InventoryPlanArchiveVersion + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_InventoryPlanArchiveVersionSearch_InterfaceDataset_InterfaceDataset.qbl b/_Main/BL/Relations/Relation_InventoryPlanArchiveVersionSearch_InterfaceDataset_InterfaceDataset.qbl new file mode 100644 index 0000000..73c8df5 --- /dev/null +++ b/_Main/BL/Relations/Relation_InventoryPlanArchiveVersionSearch_InterfaceDataset_InterfaceDataset.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InventoryPlanArchiveVersionSearch_InterfaceDataset_InterfaceDataset_InventoryPlanArchiveVersionSearch +{ + #keys: '1[415136.0.1275930069]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide InterfaceDataset + { + #keys: '3[415136.0.1275930071][415136.0.1275930070][415136.0.1275930072]' + Cardinality: '0to1' + ObjectDefinition: InventoryPlanArchiveVersionSearch + OwningSide: 'Reference' + } + RelationSide.RightSide InventoryPlanArchiveVersionSearch + { + #keys: '3[415136.0.1275930074][415136.0.1275930073][415136.0.1275930075]' + Cardinality: '0to1' + ObjectDefinition: InterfaceDataset + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_InventoryPlanArchiveVersion_InterfaceDataset_InterfaceDataset_Inven.qbl b/_Main/BL/Relations/Relation_InventoryPlanArchiveVersion_InterfaceDataset_InterfaceDataset_Inven.qbl new file mode 100644 index 0000000..a7a5783 --- /dev/null +++ b/_Main/BL/Relations/Relation_InventoryPlanArchiveVersion_InterfaceDataset_InterfaceDataset_Inven.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InventoryPlanArchiveVersion_InterfaceDataset_InterfaceDataset_InventoryPlanArchiveVersion +{ + #keys: '1[415136.0.1275901359]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide InterfaceDataset + { + #keys: '3[415136.0.1275901361][415136.0.1275901360][415136.0.1275901362]' + Cardinality: '0to1' + ObjectDefinition: InventoryPlanArchiveVersion + OwningSide: 'Reference' + } + RelationSide.RightSide InventoryPlanArchiveVersion + { + #keys: '3[415136.0.1275901364][415136.0.1275901363][415136.0.1275901365]' + Cardinality: '1toN' + ObjectDefinition: InterfaceDataset + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Name.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Name.qbl new file mode 100644 index 0000000..bc7a2b4 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.1275901593][415136.0.1275901592][415136.0.1275901594]' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl index 92c1367..b617de1 100644 --- a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl +++ b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl @@ -1,65 +1,40 @@ Quintiq file version 2.0 #parent: #root Method GenerateColumn ( - Dates periods, - String timeunit, - Date starttime, - Date endtime + Dates periods ) { TextBody: [* // 鐢勫叞楦� Jun-25-2024 (created) - mindate := min( periods, Elements, period, period ); - maxdate := max( periods, Elements, period, period ); - //鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴 - if( starttime < mindate and endtime > maxdate ){ - if( starttime < mindate ){ - starttime := mindate; + weekstart := periods.Element( 0 ); + + monthstart := periods.Element( 0 ); + traverse( periods, Elements, periodtime ){ + periodname := periodtime.Format( "M2/D2/Y" ); + + this.Column( relnew, ColumnName := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); + + weekend := ( weekstart + Duration::Days( 6 ) ).Date(); + if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){ + weekstart := periodtime; } - if( endtime > maxdate ){ - endtime := maxdate; + if( periodtime = weekstart ){ + weekperiodname := weekstart.Format( "M2/D2/Y" ); + this.Column( relnew, ColumnName := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); + } - if( timeunit = Translations::MP_GlobalParameters_Day() ){ - for( start := starttime; start <= endtime; start := start.DateTime().StartOfNextDay().Date() ){ - periodname := start.Format( "M2/D2/Y" ); - if( not exists( this, Column, column, column.StartDate() = start ) ){ - this.Column( relnew, ColumnName := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); - } - } - }else if( timeunit = Translations::MP_GlobalParameters_Week() ){ - // weekstartstr := ' KW'; - for( start := starttime; start <= endtime; start := start.StartOfNextWeek() ){ - weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date();//.Concat( weekstartstr.Concat( weekend.Week().Format( 'N(LPad0(2))' ) ) ) - - this.Column( relnew, ColumnName := weekend.Format( "M2/D2/Y" ), StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); - } - }else if( timeunit = Translations::MP_GlobalParameters_Month() ){ - for( start := starttime; start <= endtime; start := start.StartOfNextMonth() ){ - monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date();//.Concat( ' ' ).Concat( monthend.Format( "MM", us_locale ).Concat( '/').Concat( [String]monthend.Month() ).Concat( '鏈�' ) ) - // us_locale := Locale::Construct( 'en_us' ); - this.Column( relnew, ColumnName := monthend.Format( "M2/D2/Y" ), StartDate := start, EndDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); - } + if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){ + monthstart := periodtime; } + if( periodtime = monthstart ){ + monthperiodname := monthstart.Format( "M2/D2/Y" ); + enddate := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); + this.Column( relnew, ColumnName := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() ); + + } + weekstart := periodtime.StartOfNextWeek(); + monthstart := periodtime.StartOfNextMonth(); } - //weekstart := periods.Element( 0 ); - //monthstart := periods.Element( 0 ); - //traverse( periods, Elements, periodtime ){ - // periodname := periodtime.Format( "M2/D2/Y" ); - // - // this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); - // - // if( periodtime = weekstart ){ - // weekperiodname := weekstart.Format( "M2/D2/Y" ); - // this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); - // weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); - // } - // if( periodtime = monthstart ){ - // monthperiodname := monthstart.Format( "M2/D2/Y" ); - // enddate := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); - // this.Column( relnew, Name := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() ); - // monthstart := monthstart.StartOfNextMonth(); - // } - //} *] } diff --git a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl index 46d2d9a..3777a40 100644 --- a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl +++ b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root Method GetRow ( - const AssemblyOnlinePlanRow aoprow + const NewAssemblyOnlinePlanRow aoprow ) as AssemblyOnlinePlanVersionRow { TextBody: diff --git a/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl b/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl index 559e5c3..82afd96 100644 --- a/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl +++ b/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl @@ -8,31 +8,31 @@ TextBody: [* //鏍规嵁褰撳墠鐗堟湰鐨勮閰嶄笂绾胯鍒� - //interface.AssemblyOnlinePlanVersion( relflush ); + interface.AssemblyOnlinePlanVersion( relflush ); allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); - name := AssemblyOnlinePlanVersion::GetDefaultName(); - search := interface.AssemblyOnlinePlanVersionSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); + name := AssemblyOnlinePlanVersion::GetDefaultName();//search := + interface.AssemblyOnlinePlanVersionSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); table := selectobject( interface, AssemblyOnlinePlanVersion, version, not version.IsShow() ); if( isnull( table ) ){ table := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name ); } - showtable := selectobject( interface, AssemblyOnlinePlanVersion, version, version.IsShow() ); - if( isnull( table ) ){ - showtable := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true ); - } - aopcolumns := selectuniquevalues( macroPlan, AssemblyOnlinePlanColumn, aopcolumn, aopcolumn.ColumnIndex() > 1 and not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcolumn.ColumnDate() ), aopcolumn.ColumnDate() ); - table.GenerateColumn( aopcolumns, search.TimeUnit(), search.StartDate(), search.EndDate() ); - traverse( macroPlan, AssemblyOnlinePlanRow, aoprow, aoprow.Type() = '1' ){ + //showtable := selectobject( interface, AssemblyOnlinePlanVersion, version, version.IsShow() ); + //if( isnull( table ) ){ + // showtable := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true ); + //} + aopcolumns := selectuniquevalues( macroPlan, NewAssemblyOnlinePlanColumn, aopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcolumn.StartDate() ), aopcolumn.StartDate() ); + table.GenerateColumn( aopcolumns ); + traverse( macroPlan, NewAssemblyOnlinePlanRow, aoprow, aoprow.Type() = '1' ){ row := table.GetRow( aoprow ); - info( '---------------------', row.Type() ); - traverse( aoprow, AssemblyOnlinePlanCell, aopcell, aopcell.AssemblyOnlinePlanColumn().ColumnIndex() > 1 ){ - column := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcell.AssemblyOnlinePlanColumn().ColumnDate() ); + info( '------------------------', row.Type() ); + traverse( aoprow, NewAssemblyOnlinePlanCell, aopcell ){ + column := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcell.NewAssemblyOnlinePlanColumn().StartDate() ); cell := selectobject( row, Cell, cell, cell.Column() = column ); cell.InventoryWeight( aopcell.InventoryWeight() ); - cell.ProductionSerialNumber( aopcell.ProductionSerialNumber() ); + // cell.ProductionSerialNumber( aopcell.ProductionSerialNumber() ); cell.Quantity( aopcell.Quantity() ); - cell.Shift( aopcell.Shift() ); - cell.Value( aopcell.Value() ); + // cell.Shift( aopcell.Shift() ); + // cell.Value( aopcell.Value() ); } } //showtable.Generate( search, products ); diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl index 8a5e8c8..284443c 100644 --- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl +++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl @@ -10,7 +10,7 @@ [* // 鐢勫叞楦� Jul-22-2024 (created) address := Translations::InterfaceDataset_SAP_Address(); - httpinterface := HTTPInterface::Create( address,80); + httpinterface := HTTPInterface::Create( address,8080); httpinterface.PostMethod( false ); httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); try{ diff --git a/_Main/BL/Type_InventoryPlanArchiveCell/Attribute_ActualQuantity.qbl b/_Main/BL/Type_InventoryPlanArchiveCell/Attribute_ActualQuantity.qbl new file mode 100644 index 0000000..bbfc303 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveCell/Attribute_ActualQuantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ActualQuantity +{ + #keys: '3[415136.0.1275901529][415136.0.1275901528][415136.0.1275901530]' + ValueType: Real +} diff --git a/_Main/BL/Type_InventoryPlanArchiveCell/Attribute_PlanQuantity.qbl b/_Main/BL/Type_InventoryPlanArchiveCell/Attribute_PlanQuantity.qbl new file mode 100644 index 0000000..8bdb8a6 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveCell/Attribute_PlanQuantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PlanQuantity +{ + #keys: '3[415136.0.1275901522][415136.0.1275901521][415136.0.1275901523]' + ValueType: Real +} diff --git a/_Main/BL/Type_InventoryPlanArchiveCell/_ROOT_Type_InventoryPlanArchiveCell.qbl b/_Main/BL/Type_InventoryPlanArchiveCell/_ROOT_Type_InventoryPlanArchiveCell.qbl new file mode 100644 index 0000000..742cb0f --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveCell/_ROOT_Type_InventoryPlanArchiveCell.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InventoryPlanArchiveCell +{ + #keys: '5[415136.0.1275901384][415136.0.1275901382][0.0.0][415136.0.1275901383][415136.0.1275901385]' + BaseType: Object + Description: '璁″垝搴撳瓨瀛樻。鍗曞厓鏍�' + StructuredName: 'InventoryPlanArchiveCells' +} diff --git a/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_EndDate.qbl b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_EndDate.qbl new file mode 100644 index 0000000..eb77522 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_EndDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[415136.0.1275930135][415136.0.1275930134][415136.0.1275930136]' + Description: '缁撴潫鏃ユ湡' + ValueType: Date +} diff --git a/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_Name.qbl b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_Name.qbl new file mode 100644 index 0000000..86e1cc9 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.1275930151][415136.0.1275930150][415136.0.1275930152]' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_StartDate.qbl b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..e109f62 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.1275930125][415136.0.1275930124][415136.0.1275930126]' + Description: '寮�濮嬫棩鏈�' + ValueType: Date +} diff --git a/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_TimeUnit.qbl b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_TimeUnit.qbl new file mode 100644 index 0000000..4b0f996 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveColumn/Attribute_TimeUnit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TimeUnit +{ + #keys: '3[415136.0.1275930121][415136.0.1275930120][415136.0.1275930122]' + Description: '鏃ユ湡绫诲瀷' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveColumn/DefaultValue_TimeUnit.qbl b/_Main/BL/Type_InventoryPlanArchiveColumn/DefaultValue_TimeUnit.qbl new file mode 100644 index 0000000..e29979e --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveColumn/DefaultValue_TimeUnit.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: TimeUnit +} diff --git a/_Main/BL/Type_InventoryPlanArchiveColumn/_ROOT_Type_InventoryPlanArchiveColumn.qbl b/_Main/BL/Type_InventoryPlanArchiveColumn/_ROOT_Type_InventoryPlanArchiveColumn.qbl new file mode 100644 index 0000000..6cd7167 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveColumn/_ROOT_Type_InventoryPlanArchiveColumn.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InventoryPlanArchiveColumn +{ + #keys: '5[415136.0.1275901379][415136.0.1275901377][0.0.0][415136.0.1275901378][415136.0.1275901380]' + BaseType: Object + Description: '璁″垝搴撳瓨瀛樻。鍒�' + StructuredName: 'InventoryPlanArchiveColumns' +} diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/Attribute_Name.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/Attribute_Name.qbl new file mode 100644 index 0000000..b730b0e --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveRow/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.1275901545][415136.0.1275901544][415136.0.1275901546]' + Description: '浜у搧鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/Attribute_Unit.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/Attribute_Unit.qbl new file mode 100644 index 0000000..bb40800 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveRow/Attribute_Unit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Unit +{ + #keys: '3[415136.0.1275930165][415136.0.1275930164][415136.0.1275930166]' + Description: '宸ュ巶' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/Method_Initialize.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/Method_Initialize.qbl new file mode 100644 index 0000000..ca2650c --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveRow/Method_Initialize.qbl @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: #root +Method Initialize ( + InventoryPlanArchiveColumn column +) +{ + Description: '鍒濆鍖栧崟鍏冩牸' + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := this.Cell( relnew, PlanQuantity := 0, ActualQuantity := 0 ); + + column.Cell( relinsert, cell ); + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl new file mode 100644 index 0000000..9896048 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetQuantity ( + InventoryPlanArchiveColumn column, + Real planqty, + Real actualaty +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + cell.PlanQuantity( cell.PlanQuantity() + planqty ); + cell.ActualQuantity( cell.ActualQuantity() + actualaty ); + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/_ROOT_Type_InventoryPlanArchiveRow.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/_ROOT_Type_InventoryPlanArchiveRow.qbl new file mode 100644 index 0000000..18e1d6b --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveRow/_ROOT_Type_InventoryPlanArchiveRow.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InventoryPlanArchiveRow +{ + #keys: '5[415136.0.1275901374][415136.0.1275901372][0.0.0][415136.0.1275901373][415136.0.1275901375]' + BaseType: Object + Description: '璁″垝搴撳瓨瀛樻。琛�' + StructuredName: 'InventoryPlanArchiveRows' +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_ID.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_ID.qbl new file mode 100644 index 0000000..37fc517 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_ID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[415136.0.1275901479][415136.0.1275901478][415136.0.1275901480]' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_IsShow.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_IsShow.qbl new file mode 100644 index 0000000..7391149 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_IsShow.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsShow +{ + #keys: '3[415136.0.1275901487][415136.0.1275901486][415136.0.1275901488]' + Description: '鏄惁鏄剧ず' + ValueType: Boolean +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_Name.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_Name.qbl new file mode 100644 index 0000000..4d05186 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.1275930106][415136.0.1275930105][415136.0.1275930107]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/DefaultValue_IsShow.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/DefaultValue_IsShow.qbl new file mode 100644 index 0000000..8bd79cf --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/DefaultValue_IsShow.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsShow +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GenerateColumn.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GenerateColumn.qbl new file mode 100644 index 0000000..7a591b4 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GenerateColumn.qbl @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +Method GenerateColumn ( + Dates periods +) +{ + Description: '鐢熸垚鏃ユ湡鍒�' + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + weekstart := periods.Element( 0 ); + + monthstart := periods.Element( 0 ); + traverse( periods, Elements, periodtime ){ + periodname := periodtime.Format( "M2/D2/Y" ); + + this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); + + weekend := ( weekstart + Duration::Days( 6 ) ).Date(); + if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){ + weekstart := periodtime; + } + if( periodtime = weekstart ){ + weekperiodname := weekstart.Format( "M2/D2/Y" ); + this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); + + } + if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){ + monthstart := periodtime; + } + if( periodtime = monthstart ){ + monthperiodname := monthstart.Format( "M2/D2/Y" ); + enddate := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); + this.Column( relnew, Name := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() ); + + } + weekstart := periodtime.StartOfNextWeek(); + monthstart := periodtime.StartOfNextMonth(); + } + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GetColumnByTimeUnit.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GetColumnByTimeUnit.qbl new file mode 100644 index 0000000..b4886eb --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GetColumnByTimeUnit.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method GetColumnByTimeUnit ( + String unit, + Date period +) as InventoryPlanArchiveColumn +{ + TextBody: + [* + // 鐢勫叞楦� Aug-7-2024 (created) + //periodname := period.Format( "M2/D2/Y" ); + + column := selectobject( this, Column, column, column.StartDate() <= period and column.EndDate() >= period and column.TimeUnit() = unit ); + + return column; + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GetRowByUnit.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GetRowByUnit.qbl new file mode 100644 index 0000000..e9db693 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/Method_GetRowByUnit.qbl @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: #root +Method GetRowByUnit ( + String product, + String unit +) as InventoryPlanArchiveRow +{ + TextBody: + [* + // 鐢勫叞楦� Sep-6-2024 (created) + row := selectobject( this, Row, row, row.Name() = product and row.Unit() = unit ); + if( isnull( row ) ){ + //鍒濆鍖栧崟鍏冩牸 + row := this.Row( relnew, Name := product, Unit := unit ); + traverse( this, Column, column ){ + row.Initialize( column ); + } + } + return row; + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl new file mode 100644 index 0000000..4c2dabe --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl @@ -0,0 +1,72 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GenerateData ( + MacroPlan macroPlan, + InterfaceDataset interfaceDataset +) +{ + Description: '鐢熸垚璁″垝搴撳瓨瀛樻。鏁版嵁' + TextBody: + [* + interfaceDataset.InventoryPlanArchiveVersion( relflush ); + info( '-------------------------Start---------------------'); + allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); + name := InventoryPlanArchiveVersion::GetDefaultName(); + interfaceDataset.InventoryPlanArchiveVersionSearch( relnew, Product := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); + table := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, not version.IsShow() ); + if( isnull( table ) ){ + table := interfaceDataset.InventoryPlanArchiveVersion( relnew, ID := name, Name := name ); + } + //showtable := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, version.IsShow() ); + //if( isnull( table ) ){ + // showtable := interfaceDataset.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true ); + //} + periods := selectuniquevalues( macroPlan, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() + and not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = period.StartDate() ), period.StartDate() ); + table.GenerateColumn( periods ); + actinventorytree := NamedValueTree::Create(); + inventoryqrys := construct( Reals ); + inventoryindex := 0; + traverse( interfaceDataset,InterfaceLoginfo.MachineStockData, actinventory ){ + inventoryqrys.Add( actinventory.Total() ); + actinventoryKey := actinventory.MaterialNo() + actinventory.DDay().AsQUILL(); + actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); + actinventorytree.Root().AddChild( actinventoryhandle,inventoryindex ); + inventoryindex := inventoryindex + 1; + } + traverse( interfaceDataset,InterfaceLoginfo.FinishedEngineInventory,actinventory ){ + product := selectobject( macroPlan, Product_MP, product, product.Notes() = actinventory.FourCode() ); + if( not isnull( product ) ){ + inventoryqrys.Add( actinventory.Total() ); + actinventoryKey := actinventory.FourCode() + actinventory.DDay().AsQUILL(); + actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); + actinventorytree.Root().AddChild( actinventoryhandle,inventoryindex ); + inventoryindex := inventoryindex + 1; + } + } + traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pispmp, not pispmp.IsSystem() and pispmp.IsLeaf() ) { + unit := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ), FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() ); + inventoryrow := table.GetRowByUnit( pispmp.ProductID(), unit ); + traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) { + startdate := pispippl.Start().Date(); + daycolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), startdate ); + weekcolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Week(), startdate ); + monthcolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Month(), startdate ); + actinventoryKey := pispmp.ProductID() + startdate.AsQUILL(); + actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); + actinventoryindex := guard( actinventorytree.Root().Child( actinventoryhandle ),null( NamedValue )); + + actinventoryqty := 0.0; + if( not isnull( actinventoryindex )){ + actinventoryqty := inventoryqrys.Element( actinventoryindex.GetValueAsNumber() ); + } + inventoryrow.SetQuantity( daycolumn, pispippl.InventoryLevelEnd(), actinventoryqty ); + inventoryrow.SetQuantity( weekcolumn, pispippl.InventoryLevelEnd(), actinventoryqty ); + inventoryrow.SetQuantity( monthcolumn, pispippl.InventoryLevelEnd(), actinventoryqty ); + + } + } + + info( '-------------------------End---------------------'); + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GetDefaultName.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GetDefaultName.qbl new file mode 100644 index 0000000..c0971f3 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GetDefaultName.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultName () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return 'Inventory plan archive'; + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/_ROOT_Type_InventoryPlanArchiveVersion.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/_ROOT_Type_InventoryPlanArchiveVersion.qbl new file mode 100644 index 0000000..aa7a9f0 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/_ROOT_Type_InventoryPlanArchiveVersion.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InventoryPlanArchiveVersion +{ + #keys: '5[415136.0.1275901356][415136.0.1275901354][0.0.0][415136.0.1275901355][415136.0.1275901357]' + BaseType: Object + Description: '璁″垝搴撳瓨瀛樻。' + StructuredName: 'InventoryPlanArchiveVersions' +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_EndDate.qbl b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_EndDate.qbl new file mode 100644 index 0000000..44a6a94 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_EndDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[415136.0.1275930091][415136.0.1275930090][415136.0.1275930092]' + Description: '缁撴潫鏃ユ湡' + ValueType: Date +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Product.qbl b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Product.qbl new file mode 100644 index 0000000..8d2d7a9 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Product.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Product +{ + #keys: '3[415136.0.1275930083][415136.0.1275930082][415136.0.1275930084]' + Description: '浜у搧' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_StartDate.qbl b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_StartDate.qbl new file mode 100644 index 0000000..911b29c --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.1275901469][415136.0.1275901468][415136.0.1275901470]' + Description: '寮�濮嬫椂闂�' + ValueType: Date +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_TimeUnit.qbl b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_TimeUnit.qbl new file mode 100644 index 0000000..b41ce64 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_TimeUnit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TimeUnit +{ + #keys: '3[415136.0.1275901459][415136.0.1275901458][415136.0.1275901460]' + Description: '鏃ユ湡绫诲瀷' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Unit.qbl b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Unit.qbl new file mode 100644 index 0000000..4cc4e18 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/Attribute_Unit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Unit +{ + #keys: '3[415136.0.1275901449][415136.0.1275901448][415136.0.1275901450]' + Description: '宸ュ巶' + ValueType: String +} diff --git a/_Main/BL/Type_InventoryPlanArchiveVersionSearch/_ROOT_Type_InventoryPlanArchiveVersionSearch.qbl b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/_ROOT_Type_InventoryPlanArchiveVersionSearch.qbl new file mode 100644 index 0000000..9fa4088 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveVersionSearch/_ROOT_Type_InventoryPlanArchiveVersionSearch.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InventoryPlanArchiveVersionSearch +{ + #keys: '5[415136.0.1275930066][415136.0.1275930064][0.0.0][415136.0.1275930065][415136.0.1275930067]' + BaseType: Object + Description: '璁″垝搴撳瓨瀛樻。鏌ヨ鏉′欢' + StructuredName: 'InventoryPlanArchiveVersionSearchs' +} diff --git a/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GenerateColumn.qbl b/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GenerateColumn.qbl index 1a0e80f..5e80a3f 100644 --- a/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GenerateColumn.qbl +++ b/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GenerateColumn.qbl @@ -1,65 +1,40 @@ Quintiq file version 2.0 #parent: #root Method GenerateColumn ( - Dates periods, - String timeunit, - Date starttime, - Date endtime + Dates periods ) { TextBody: [* // 鐢勫叞楦� Jun-25-2024 (created) - mindate := min( periods, Elements, period, period ); - maxdate := max( periods, Elements, period, period ); - //鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴 - if( starttime < mindate and endtime > maxdate ){ - if( starttime < mindate ){ - starttime := mindate; + weekstart := periods.Element( 0 ); + + monthstart := periods.Element( 0 ); + traverse( periods, Elements, periodtime ){ + periodname := periodtime.Format( "M2/D2/Y" ); + + this.Column( relnew, ColumnName := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); + + weekend := ( weekstart + Duration::Days( 6 ) ).Date(); + if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){ + weekstart := periodtime; } - if( endtime > maxdate ){ - endtime := maxdate; + if( periodtime = weekstart ){ + weekperiodname := weekstart.Format( "M2/D2/Y" ); + this.Column( relnew, ColumnName := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); + } - if( timeunit = Translations::MP_GlobalParameters_Day() ){ - for( start := starttime; start <= endtime; start := start.DateTime().StartOfNextDay().Date() ){ - periodname := start.Format( "M2/D2/Y" ); - if( not exists( this, Column, column, column.StartDate() = start ) ){ - this.Column( relnew, ColumnName := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); - } - } - }else if( timeunit = Translations::MP_GlobalParameters_Week() ){ - // weekstartstr := ' KW'; - for( start := starttime; start <= endtime; start := start.StartOfNextWeek() ){ - weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date();//.Concat( weekstartstr.Concat( weekend.Week().Format( 'N(LPad0(2))' ) ) ) - - this.Column( relnew, ColumnName := weekend.Format( "M2/D2/Y" ), StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); - } - }else if( timeunit = Translations::MP_GlobalParameters_Month() ){ - for( start := starttime; start <= endtime; start := start.StartOfNextMonth() ){ - monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date();//.Concat( ' ' ).Concat( monthend.Format( "MM", us_locale ).Concat( '/').Concat( [String]monthend.Month() ).Concat( '鏈�' ) ) - // us_locale := Locale::Construct( 'en_us' ); - this.Column( relnew, ColumnName := monthend.Format( "M2/D2/Y" ), StartDate := start, EndDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); - } + if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){ + monthstart := periodtime; } + if( periodtime = monthstart ){ + monthperiodname := monthstart.Format( "M2/D2/Y" ); + enddate := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); + this.Column( relnew, ColumnName := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() ); + + } + weekstart := periodtime.StartOfNextWeek(); + monthstart := periodtime.StartOfNextMonth(); } - //weekstart := periods.Element( 0 ); - //monthstart := periods.Element( 0 ); - //traverse( periods, Elements, periodtime ){ - // periodname := periodtime.Format( "M2/D2/Y" ); - // - // this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); - // - // if( periodtime = weekstart ){ - // weekperiodname := weekstart.Format( "M2/D2/Y" ); - // this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); - // weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); - // } - // if( periodtime = monthstart ){ - // monthperiodname := monthstart.Format( "M2/D2/Y" ); - // enddate := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); - // this.Column( relnew, Name := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() ); - // monthstart := monthstart.StartOfNextMonth(); - // } - //} *] } diff --git a/_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl b/_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl index 63b0a65..4424042 100644 --- a/_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl +++ b/_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl @@ -11,17 +11,17 @@ //鏍规嵁褰撳墠鐗堟湰鐨勪笅绾胯鍒� allunit := OfflinePlanArchiveVersion::GetDefaultAllUnit(); name := OfflinePlanArchiveVersion::GetDefaultName(); - search := interface.OfflinePlanArchiveSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); + interface.OfflinePlanArchiveSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); table := selectobject( interface, OfflinePlanArchiveVersion, version, not version.IsShow() ); if( isnull( table ) ){ table := interface.OfflinePlanArchiveVersion( relnew, ID := name, Name := name ); } - showtable := selectobject( interface, OfflinePlanArchiveVersion, version, version.IsShow() ); - if( isnull( table ) ){ - showtable := interface.OfflinePlanArchiveVersion( relnew, ID := name, Name := name, IsShow := true ); - } + //showtable := selectobject( interface, OfflinePlanArchiveVersion, version, version.IsShow() ); + //if( isnull( table ) ){ + // showtable := interface.OfflinePlanArchiveVersion( relnew, ID := name, Name := name, IsShow := true ); + //} nopcolumns := selectuniquevalues( macroPlan, NewOfflinePlanTable.NewOfflinePlanColumn, nopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = nopcolumn.StartDate() ), nopcolumn.StartDate() ); - table.GenerateColumn( nopcolumns, search.TimeUnit(), search.StartDate(), search.EndDate() ); + table.GenerateColumn( nopcolumns ); noptable := maxobject( macroPlan, NewOfflinePlanTable, noptable, noptable.SaveDateTime() ); actproductiondatas := selectset( archive,ActualDailyProductionData,data,true ); actproductiontree := NamedValueTree::Create(); diff --git a/_Main/BL/Type_OfflinePlanArchiveVersionRow/Attribute_Name.qbl b/_Main/BL/Type_OfflinePlanArchiveVersionRow/Attribute_Name.qbl new file mode 100644 index 0000000..89ce709 --- /dev/null +++ b/_Main/BL/Type_OfflinePlanArchiveVersionRow/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.1275901603][415136.0.1275901602][415136.0.1275901604]' + ValueType: String +} diff --git a/_Main/BL/Type_OfflinePlanArchiveVersionRow/DefaultValue_Name.qbl b/_Main/BL/Type_OfflinePlanArchiveVersionRow/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_OfflinePlanArchiveVersionRow/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def index 5298ee8..e9f7f81 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def @@ -34,7 +34,7 @@ Properties: [ Image: 'PAPER_JET' - Label: 'Offline plan archive' + Label: '涓嬬嚎璁″垝瀛樻。' Taborder: 2 ] } @@ -49,6 +49,17 @@ Taborder: 3 ] } + Component ButtonInventoryPlanArchiveReport + { + #keys: '[415136.0.1277502282]' + BaseType: 'WebButton' + Properties: + [ + Image: 'WAREHOUSE' + Label: '璁″垝搴撳瓨瀛樻。' + Taborder: 4 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonInventoryPlanArchive.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonInventoryPlanArchive.def new file mode 100644 index 0000000..9d01171 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonInventoryPlanArchive.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ActionBarGroupArchiveReport/ButtonInventoryPlanArchiveReport +Response OnClick () id:Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonInventoryPlanArchiveReport_OnClick +{ + #keys: '[415136.0.1277502334]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "Inventory_plan_archive_report", true); + *] + GroupServerCalls: false + } +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" index 02e669b..6e51dc0 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" @@ -49,7 +49,7 @@ DataType: 'InterfaceDataset' Description: "( search.Generation() = '<All>' or object.Product_MP().Generation() = search.Generation() ) and ( search.MqbMlb() = '<All>' or object.Product_MP().MQBMLB() = search.MqbMlb() ) and ( search.Power() = '<All>' or object.Product_MP().Power() = search.Power() )" FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch' - FixedFilter: "( search.Product() = '<All>' or object.ProductID() = search.Product() ) and ( search.ProductionLine() = '<All>' or object.ProductionLine() = search.ProductionLine() )" + FixedFilter: "( search.Product() = '<All>' or object.ProductID() = search.Product() ) and ( search.ProductionLine() = '<All>' or object.ProductionLine() = search.ProductionLine() ) and ( search.Unit() = '<All>' or object.Unit() = search.Unit() )" Source: 'InterfaceDataset' Taborder: 0 Transformation: 'AssemblyOnlinePlanVersion.Row' diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def" index 9268559..5d41390 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def" @@ -14,6 +14,7 @@ ] Properties: [ + FixedSize: true Orientation: 'horizontal' Taborder: 1 ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_MatrixEditorTable.def index f6b9390..f23ea10 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_MatrixEditorTable.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_MatrixEditorTable.def @@ -49,7 +49,7 @@ DataType: 'InterfaceDataset' Description: "( search.Generation() = '<All>' or object.Product_MP().Generation() = search.Generation() ) and ( search.MqbMlb() = '<All>' or object.Product_MP().MQBMLB() = search.MqbMlb() ) and ( search.Power() = '<All>' or object.Product_MP().Power() = search.Power() )" FilterArguments: 'search:QMacroPlanner::FormCustomerDemandPPAIDS.dhSearch' - FixedFilter: "search.Product() = '<All>' or object.Name() = search.Product()" + FixedFilter: "search.Product() = '<All>' or object.Name() = search.Product() and ( search.Unit() = '<All>' or object.Factory() = search.Unit() )" Source: 'InterfaceDataset' Taborder: 0 Transformation: 'CustomerDemandIDS.Row' diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" new file mode 100644 index 0000000..f9b1aa3 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" @@ -0,0 +1,105 @@ +Quintiq file version 2.0 +Component MatrixEditorTable id:MatrixEditorTable_791 +{ + #keys: '[415136.0.1277502045]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCellTable + { + #keys: '[415136.0.1277502046]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractorCells + { + #keys: '[415136.0.1277502047]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch' + FixedFilter: 'object.Column().TimeUnit() = search.TimeUnit() and object.Column().StartDate() >= search.StartDate() and object.Column().StartDate() <= search.EndDate()' + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'InventoryPlanArchiveVersion.Row.Cell' + ] + } + ] + Properties: + [ + Attributes: 'PlanQuantity;ActualQuantity' + Column: 'Column' + Row: 'Row' + Taborder: 0 + ] + } + Component MatrixEditorRowsTable + { + #keys: '[415136.0.1277502048]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorRows + { + #keys: '[415136.0.1277502049]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + Description: "( search.Generation() = '<All>' or object.Product_MP().Generation() = search.Generation() ) and ( search.MqbMlb() = '<All>' or object.Product_MP().MQBMLB() = search.MqbMlb() ) and ( search.Power() = '<All>' or object.Product_MP().Power() = search.Power() )" + FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch' + FixedFilter: "( search.Product() = '<All>' or object.Name() = search.Product() ) and ( search.Unit() = '<All>' or object.Unit() = search.Unit() )" + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'InventoryPlanArchiveVersion.Row' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'Name' + Taborder: 1 + ] + } + Component MatrixEditorColumnsTable + { + #keys: '[415136.0.1277502050]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorColumns + { + #keys: '[415136.0.1277502051]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch' + FixedFilter: 'object.TimeUnit() = search.TimeUnit() and ( search.StartDate().IsMinInfinity() or object.StartDate() >= search.StartDate() ) and ( search.EndDate().IsMaxInfinity() or object.StartDate() <= search.EndDate() )' + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'InventoryPlanArchiveVersion.Column' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPageTable_1 + #child: matrixeditorContextMenuTable_1 + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumnsTable' + ContextMenu: 'matrixeditorContextMenuTable' + Rows: 'MatrixEditorRowsTable' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelHeader\043503.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelHeader\043503.def" new file mode 100644 index 0000000..3996feb --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelHeader\043503.def" @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +Component PanelHeader id:PanelHeader_503 +{ + #keys: '[415136.0.1277502010]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelUnit + #child: PanelOperation_414 + #child: PanelTimeUnit_805 + #child: PanelPeriod + #child: PanelProduct_133 + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation\043414.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation\043414.def" new file mode 100644 index 0000000..2b58ea0 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation\043414.def" @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelOperation id:PanelOperation_414 +{ + #keys: '[415136.0.1277502018]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonSearch + { + #keys: '[415136.0.1277502019]' + BaseType: 'WebButton' + Properties: + [ + Image: 'VIEW' + Taborder: 0 + ] + } + ] + Properties: + [ + Taborder: 4 + Visible: false + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod.def new file mode 100644 index 0000000..5e11bd8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod.def @@ -0,0 +1,35 @@ +Quintiq file version 2.0 +Component PanelPeriod +{ + #keys: '[415136.0.1277502013]' + BaseType: 'WebPanel' + Children: + [ + Component DateSelectorStart + { + #keys: '[415136.0.1277502014]' + BaseType: 'WebDateSelector' + Properties: + [ + Label: 'Start date' + Taborder: 0 + ] + } + Component DateSelectorEnd + { + #keys: '[415136.0.1277502015]' + BaseType: 'WebDateSelector' + Properties: + [ + Date: 9999-12-31 + Label: 'End date' + Taborder: 1 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 2 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct\043133.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct\043133.def" new file mode 100644 index 0000000..213e535 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct\043133.def" @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component PanelProduct id:PanelProduct_133 +{ + #keys: '[415136.0.1277502011]' + BaseType: 'WebPanel' + Children: + [ + Component ddslProduct + { + #keys: '[415136.0.1277502012]' + BaseType: 'WebDropDownStringList' + Properties: + [ + FixedSize: false + Label: 'Product' + Sorting: 'none' + Taborder: 0 + ] + } + ] + Properties: + [ + FixedSize: true + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" new file mode 100644 index 0000000..e265e3f --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelTable id:PanelTable_881 +{ + #keys: '[415136.0.1277502044]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditorTable_791 + ] + Properties: + [ + Taborder: 2 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit\043805.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit\043805.def" new file mode 100644 index 0000000..2e212a8 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit\043805.def" @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component PanelTimeUnit id:PanelTimeUnit_805 +{ + #keys: '[415136.0.1277502016]' + BaseType: 'WebPanel' + Children: + [ + Component RadioButtonGroupUseForTimeUnit + { + #keys: '[415136.0.1277502017]' + BaseType: 'WebRadioButtonGroup' + Properties: + [ + ButtonLabels: 'Day;Week;Month' + ButtonValues: 'Day;Week;Month' + Orientation: 'horizontal' + Taborder: 0 + Title: 'Periods' + ] + } + ] + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit.def new file mode 100644 index 0000000..df6d463 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelUnit +{ + #keys: '[415136.0.1277502022]' + BaseType: 'WebPanel' + Children: + [ + Component ddslUnit + { + #keys: '[415136.0.1277502023]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'Unit' + Taborder: 0 + ] + } + ] + Properties: + [ + FixedSize: true + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixEditorActionBarPageTable\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixEditorActionBarPageTable\0431.def" new file mode 100644 index 0000000..4f11591 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixEditorActionBarPageTable\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPageTable id:matrixEditorActionBarPageTable_1 +{ + #keys: '[415136.0.1277502052]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixeditorContextMenuTable\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixeditorContextMenuTable\0431.def" new file mode 100644 index 0000000..310365e --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_matrixeditorContextMenuTable\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenuTable id:matrixeditorContextMenuTable_1 +{ + #keys: '[415136.0.1277502053]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def new file mode 100644 index 0000000..6d722a4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: PanelPeriod/DateSelectorEnd +Response OnChanged () id:Response_PanelPeriod_DateSelectorEnd_OnChanged +{ + #keys: '[415136.0.1277502006]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' + QuillAction + { + Body: + [* + //鏃ユ湡鏀瑰彉鍚庡埛鏂版樉绀� + if( this.Date() < DateSelectorStart.Date() ){ + this.HintError( 'The end date cannot be less than the start date!' ); + }else{ + if( dhSearch.Data().EndDate() <> this.Date() ){ + dhSearch.Data().EndDate( this.Date() ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def new file mode 100644 index 0000000..2c1808f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: PanelPeriod/DateSelectorStart +Response OnChanged () id:Response_PanelPeriod_DateSelectorStart_OnChanged +{ + #keys: '[415136.0.1277502007]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' + QuillAction + { + Body: + [* + //鏃ユ湡鏀瑰彉鍚庡埛鏂版樉绀� + if( this.Date() > DateSelectorEnd.Date() ){ + this.HintError( 'The start date cannot be later than the end date!' ); + }else{ + if( dhSearch.Data().StartDate() <> this.Date() ){ + dhSearch.Data().StartDate( this.Date() ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnCreated.def new file mode 100644 index 0000000..46a0ff9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelProduct_133/ddslProduct +Response OnCreated () id:Response_PanelProduct_133_ddslProduct_OnCreated +{ + #keys: '[415136.0.1277502009]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.ProductID() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnSelectionChanged.def new file mode 100644 index 0000000..dd4d1b6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelProduct_133/ddslProduct +Response OnSelectionChanged () id:Response_PanelProduct_133_ddslProduct_OnSelectionChanged +{ + #keys: '[415136.0.1277502008]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( not isnull( dhSearch.Data() ) and dhSearch.Data().Product() <> selection ){ + dhSearch.Data().Product( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged.def new file mode 100644 index 0000000..ca64cd0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: PanelTimeUnit_805/RadioButtonGroupUseForTimeUnit +Response OnChanged () id:Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged +{ + #keys: '[415136.0.1277502005]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged' + QuillAction + { + Body: + [* + //鍖洪棿鏀瑰彉鍚庡埛鏂版樉绀� + if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){ + dhSearch.Data().TimeUnit( this.BoundValue() ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated.def new file mode 100644 index 0000000..9e663e5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: PanelTimeUnit_805/RadioButtonGroupUseForTimeUnit +Response OnCreated () id:Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated +{ + #keys: '[415136.0.1277502004]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + this.ButtonValues( Translations::MP_GlobalParameters_Day() + ';' + Translations::MP_GlobalParameters_Week() + ';' + Translations::MP_GlobalParameters_Month() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def new file mode 100644 index 0000000..d3b45c5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: PanelUnit/ddslUnit +Response OnCreated () id:Response_PanelUnit_ddslUnit_OnCreated +{ + #keys: '[415136.0.1277502001]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + valueString := "All"; + + this.Strings( valueString.Concat( ";" ).Concat( FinancialProductionReport::GetDefaultCCUnit().Concat( ";" ) ).Concat( FinancialProductionReport::GetDefaultDLUnit() ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def new file mode 100644 index 0000000..d90934c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelUnit/ddslUnit +Response OnSelectionChanged () id:Response_PanelUnit_ddslUnit_OnSelectionChanged +{ + #keys: '[415136.0.1277502000]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( not isnull( dhSearch.Data() ) and dhSearch.Data().Unit() <> selection ){ + dhSearch.Data().Unit( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/_ROOT_Component_FormInventoryPlanArchive.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/_ROOT_Component_FormInventoryPlanArchive.def new file mode 100644 index 0000000..0df74a2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/_ROOT_Component_FormInventoryPlanArchive.def @@ -0,0 +1,43 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormInventoryPlanArchive +{ + #keys: '[415136.0.1277501873]' + BaseType: 'WebForm' + Children: + [ + Component dhSearch + { + #keys: '[415136.0.1277501926]' + BaseType: 'WebDataHolder' + Databinding: 'InventoryPlanArchiveVersionSearch' + Children: + [ + Component deSearch id:deSearch_426 + { + #keys: '[415136.0.1277501927]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'InventoryPlanArchiveVersionSearch' + ] + } + ] + Properties: + [ + Taborder: 0 + ] + } + #child: PanelHeader_503 + #child: PanelTable_881 + ] + Properties: + [ + Image: 'WAREHOUSE' + Title: '璁″垝搴撳瓨瀛樻。' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def index 7849640..d73afda 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def @@ -49,7 +49,7 @@ DataType: 'InterfaceDataset' Description: "( search.Generation() = '<All>' or object.Product_MP().Generation() = search.Generation() ) and ( search.MqbMlb() = '<All>' or object.Product_MP().MQBMLB() = search.MqbMlb() ) and ( search.Power() = '<All>' or object.Product_MP().Power() = search.Power() )" FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch' - FixedFilter: "( search.Product() = '<All>' or object.ProductID() = search.Product() ) and ( search.ProductionLine() = '<All>' or object.ProductionLine() = search.ProductionLine() )" + FixedFilter: "( search.Product() = '<All>' or object.ProductID() = search.Product() ) and ( search.ProductionLine() = '<All>' or object.ProductionLine() = search.ProductionLine() ) and ( search.Unit() = '<All>' or object.Unit() = search.Unit() )" Source: 'InterfaceDataset' Taborder: 0 Transformation: 'OfflinePlanArchiveVersion.Row' diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def index c507369..9799f95 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def @@ -14,6 +14,7 @@ ] Properties: [ + FixedSize: true Orientation: 'horizontal' Taborder: 1 ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def index df873ef..49b088f 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def @@ -38,6 +38,6 @@ Properties: [ Image: 'PAPER_JET' - Title: 'Offline plan archive' + Title: '涓嬬嚎璁″垝瀛樻。' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw b/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw new file mode 100644 index 0000000..a8856d6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw @@ -0,0 +1,77 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormInventoryPlanArchive + { + title: 'QMacroPlanner::FormInventoryPlanArchive' + shown: true + componentID: 'QMacroPlanner::FormInventoryPlanArchive' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 15 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormInventoryPlanArchive_PanelHeader + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelUnit + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelProduct + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelPeriod + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelTimeUnit + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelOperation + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelTable + { + sizeRatio: 1 + } + FormInventoryPlanArchive_MatrixEditorTable + { + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + gridColor: '#c4c4c4' + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 31 + image: 'WAREHOUSE' + description: '' + } + formatversion: 2 + id: 'Inventory_plan_archive_report' + name: 'Inventory plan archive report' + isglobal: false + isroot: true +} -- Gitblit v1.9.3