| | |
| | | // rislai Jul-9-2024 (created) |
| | | table := owner.LocalTable( relnew,Name := "综åå·¥æ¶å¶æ¥è¡¨"); |
| | | |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,Index := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,Index := 2); |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,CustomIndex := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,CustomIndex := 2); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,Index := 3); |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,CustomIndex := 3); |
| | | |
| | | column4 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥æ¶é¿" ,Index := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,Index := 6); |
| | | column4 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥æ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | |
| | | column6 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥è´¹" ,Index := 8); |
| | | column7 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,Index := 10); |
| | | column6 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥è´¹" ,CustomIndex := 8); |
| | | column7 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,CustomIndex := 10); |
| | | |
| | | units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true ); |
| | | |
| | |
| | | // rislai Jul-4-2024 (created) |
| | | table := owner.LocalTable( relnew,Name := "æ åå·¥æ¶å¶æ¥è¡¨"); |
| | | |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,Index := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,Index := 2); |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,CustomIndex := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,CustomIndex := 2); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,Index := 3); |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,CustomIndex := 3); |
| | | |
| | | column4 := table.LocalColumn( relnew,Name := "å¹³æ¥å çæ¶é¿" ,Index := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "伿¯æ¥å çæ¶é¿" ,Index := 5); |
| | | column6 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,Index := 6); |
| | | column7 := table.LocalColumn( relnew,Name := "æ¬ å·¥æ¶é¿" ,Index := 7); |
| | | column4 := table.LocalColumn( relnew,Name := "å¹³æ¥å çæ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "伿¯æ¥å çæ¶é¿" ,CustomIndex := 5); |
| | | column6 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | column7 := table.LocalColumn( relnew,Name := "æ¬ å·¥æ¶é¿" ,CustomIndex := 7); |
| | | |
| | | column8 := table.LocalColumn( relnew,Name := "å¹³æ¥å çè´¹" ,Index := 8); |
| | | column9 := table.LocalColumn( relnew,Name := "伿¯æ¥å çè´¹" ,Index := 9); |
| | | column10 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,Index := 10); |
| | | column11 := table.LocalColumn( relnew,Name := "æ¬ å·¥è´¹" ,Index := 11); |
| | | column8 := table.LocalColumn( relnew,Name := "å¹³æ¥å çè´¹" ,CustomIndex := 8); |
| | | column9 := table.LocalColumn( relnew,Name := "伿¯æ¥å çè´¹" ,CustomIndex := 9); |
| | | column10 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,CustomIndex := 10); |
| | | column11 := table.LocalColumn( relnew,Name := "æ¬ å·¥è´¹" ,CustomIndex := 11); |
| | | |
| | | units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true ); |
| | | |
| | |
| | | // 2023/01/01 |
| | | index := [Number]generalColumn.Name().ReplaceAll( "/", "" ); |
| | | } |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),Index := index ); |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),CustomIndex := index ); |
| | | columns.Add( column ); |
| | | columnTree.Root().AddChild( tempHandle,columns.Size() - 1 ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Actual |
| | | { |
| | | #keys: '3[412672.1.64753749][412672.1.64753748][412672.1.64753750]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BaseVersionValue |
| | | { |
| | | #keys: '3[412672.1.64753763][412672.1.64753762][412672.1.64753764]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CompareVersionValue |
| | | { |
| | | #keys: '3[412672.1.64753752][412672.1.64753751][412672.1.64753753]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Gap |
| | | { |
| | | #keys: '3[412672.1.64753755][412672.1.64753754][412672.1.64753756]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Plan |
| | | { |
| | | #keys: '3[412672.1.64753743][412672.1.64753742][412672.1.64753744]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: BaseVersionValue |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: CompareVersionValue |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcGap |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | |
| | | value := this.Plan() - this.Actual(); |
| | | |
| | | this.Gap( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetAttributeByName ( |
| | | String attributeName |
| | | ) const declarative as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | value := ""; |
| | | |
| | | if( attributeName = "BaseVersion" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := this.Plan().Format( "N(Dec)" ); |
| | | } |
| | | } |
| | | if( attributeName = "CompareVersion" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := this.Actual().Format( "N(Dec)" ); |
| | | } |
| | | } |
| | | if( attributeName = "Gap" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := this.Gap().Format( "N(Dec)" ); |
| | | } |
| | | } |
| | | if( attributeName = "BaseVersionValue" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := "0"; |
| | | }else{ |
| | | value := this.BaseVersionValue(); |
| | | } |
| | | } |
| | | if( attributeName = "CompareVersionValue" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := "0"; |
| | | }else{ |
| | | value := this.CompareVersionValue(); |
| | | } |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod AsyncExport ( |
| | | RecycleBin recycleBin, |
| | | const constcontent LocalRows rows, |
| | | const constcontent LocalColumns columns, |
| | | const MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | sortColumns := selectsortedset( columns,Elements,column,true,column.Index()); |
| | | |
| | | attributeNames := LocalCell_DemandComparison::GetAttributeNames(); |
| | | |
| | | columnstring := emit( "" ); |
| | | flag := true; |
| | | traverse( sortColumns,Elements,sortColumn ){ |
| | | if( flag ){ |
| | | attributeXML := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames,"attribute",macroPlan ); |
| | | columnstring := columnstring.Merge( attributeXML ) |
| | | flag := false; |
| | | } |
| | | |
| | | cellxml := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames ,"data",macroPlan ); |
| | | columnstring := columnstring.Merge( cellxml); |
| | | } |
| | | |
| | | columnstring -> GroupAll() -> ExportXMLManager::AwaitLocalTableXMLData( recycleBin,guard( rows.Element(0).LocalTable().Name(),"Sheet1") ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Compared ( |
| | | RecycleBin recycleBin, |
| | | String baseVersionPath, |
| | | String compareVersionPath, |
| | | String baseVersionName, |
| | | String compareVersionName |
| | | ) as LocalTable |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | localTable := recycleBin.LocalTable( relnew,Name := baseVersionName + "__" + compareVersionName ); |
| | | |
| | | baseVersionFile := OSFile::Construct(); |
| | | compareVersionFile := OSFile::Construct(); |
| | | |
| | | try { |
| | | baseVersionFile.Open( baseVersionPath, "Read", false ); |
| | | baseVersionDataSource := GeneralExcelImportAndExportDataSource::Upload( recycleBin, baseVersionFile.ReadBinary(), baseVersionPath ); |
| | | baseVersionDataSource.ReadStructure(); |
| | | |
| | | compareVersionFile.Open( compareVersionPath, "Read", false ); |
| | | compareVersionDataSource := GeneralExcelImportAndExportDataSource::Upload( recycleBin, compareVersionFile.ReadBinary(), compareVersionPath ); |
| | | compareVersionDataSource.ReadStructure(); |
| | | |
| | | baseVersionTable := select( baseVersionDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, true ); |
| | | compareVersionTable := select( compareVersionDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, true ); |
| | | |
| | | if( not isnull( baseVersionTable ) and not isnull( compareVersionTable )){ |
| | | |
| | | //çæè¡æ°æ® |
| | | rowKeys := construct( Strings ); |
| | | baseVersionRowTree := NamedValueTree::Create(); |
| | | baseVersionRows := construct( GeneralExcelImportAndExportDataRows ,constcontent); |
| | | compareVersionRowTree := NamedValueTree::Create(); |
| | | compareVersionRows := construct( GeneralExcelImportAndExportDataRows ,constcontent); |
| | | LocalCell_DemandComparison::FillRows( baseVersionTable,rowKeys,baseVersionRowTree,baseVersionRows ); |
| | | LocalCell_DemandComparison::FillRows( compareVersionTable,rowKeys,compareVersionRowTree,compareVersionRows ); |
| | | |
| | | // çæåæ°æ® |
| | | columnTree := NamedValueTree::Create(); |
| | | columns := construct( LocalColumns ); |
| | | LocalCell_DemandComparison::GenerateColumnIndex( baseVersionTable,localTable,columnTree,columns ); |
| | | LocalCell_DemandComparison::GenerateColumnIndex( compareVersionTable,localTable,columnTree,columns ); |
| | | columnNames := selectvalues( columns,Elements,column,true,column.Name() ); |
| | | |
| | | // çææ°æ® |
| | | |
| | | for ( rowIndex := 0; rowIndex < rowKeys.Size(); rowIndex++ ) { |
| | | rowKey := rowKeys.Element( rowIndex ); |
| | | |
| | | baseVersionCellTree := NamedValueTree::Create(); |
| | | baseVersionCells := construct( GeneralExcelImportAndExportDataCells ,constcontent); |
| | | |
| | | compareVersionCellTree := NamedValueTree::Create(); |
| | | compareVersionCells := construct( GeneralExcelImportAndExportDataCells ,constcontent); |
| | | |
| | | LocalCell_DemandComparison::FillCells( rowKey,baseVersionRowTree,baseVersionRows,baseVersionCellTree,baseVersionCells ); |
| | | LocalCell_DemandComparison::FillCells( rowKey,compareVersionRowTree,compareVersionRows,compareVersionCellTree,compareVersionCells ); |
| | | |
| | | row := localTable.LocalRow( relnew,Index := localTable.GetRowIndexCache() ); |
| | | |
| | | traverse( columnNames,Elements,columnName ){ |
| | | columnHandle := columnTree.GetHandle( columnName ); |
| | | columnIndex := columnTree.Root().Child( columnHandle ).GetValueAsNumber(); |
| | | column := columns.Element( columnIndex ); |
| | | |
| | | baseVersionCell := constnull( GeneralExcelImportAndExportDataCell ); |
| | | baseVersionCellHandle := baseVersionCellTree.GetHandle( columnName ); |
| | | try{ |
| | | baseVersionCellIndex := baseVersionCellTree.Root().Child( baseVersionCellHandle ).GetValueAsNumber(); |
| | | baseVersionCell := baseVersionCells.Element( baseVersionCellIndex ); |
| | | }onerror{} |
| | | |
| | | compareVersionCell := constnull( GeneralExcelImportAndExportDataCell ); |
| | | compareVersionCellHandle := compareVersionCellTree.GetHandle( columnName ); |
| | | try{ |
| | | compareVersionCellIndex := compareVersionCellTree.Root().Child( compareVersionCellHandle ).GetValueAsNumber(); |
| | | compareVersionCell := compareVersionCells.Element( compareVersionCellIndex ); |
| | | }onerror{} |
| | | |
| | | if( columnName = "产å°" or columnName = "车å" or columnName = "å卿ºé¶ä»¶å·" or columnName = "å卿ºåä½ç " ){ |
| | | row.LocalCell( relnew,LocalCell_DemandComparison,LocalColumn := column, |
| | | BaseVersionValue := ifexpr( isnull( baseVersionCell ), "空", baseVersionCell.Value()), |
| | | CompareVersionValue := ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value())); |
| | | column.IsAttrbuteColumn( true ); |
| | | if( columnName = "å卿ºé¶ä»¶å·" ){ |
| | | row.CustomName( ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value()), baseVersionCell.Value()) ); |
| | | } |
| | | }else{ |
| | | row.LocalCell( relnew,LocalCell_DemandComparison,LocalColumn := column, |
| | | BaseVersion := ifexpr( isnull( baseVersionCell ),0,[Real]baseVersionCell.Value()), |
| | | CompareVersion := ifexpr( isnull( compareVersionCell ), 0 ,[Real]compareVersionCell.Value() )); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // åç»å é¤ |
| | | baseVersionDataSource.Delete(); |
| | | compareVersionDataSource.Delete(); |
| | | |
| | | baseVersionFile.Close(); |
| | | compareVersionFile.Close(); |
| | | } onerror { |
| | | if( not isnull( baseVersionFile )){ |
| | | baseVersionFile.Close(); |
| | | } |
| | | if( not isnull( compareVersionFile )){ |
| | | compareVersionFile.Close(); |
| | | } |
| | | error( e ); |
| | | } |
| | | |
| | | return localTable; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FillCells ( |
| | | String rowName, |
| | | NamedValueTree rowTree, |
| | | constcontent GeneralExcelImportAndExportDataRows rows, |
| | | NamedValueTree cellTree, |
| | | constcontent GeneralExcelImportAndExportDataCells cells |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-22-2024 (created) |
| | | rowHandel := rowTree.GetHandle( rowName ); |
| | | try{ |
| | | rowIndex := rowTree.Root().Child( rowHandel ).GetValueAsNumber(); |
| | | row := rows.Element( rowIndex ); |
| | | |
| | | temp_cells := selectsortedset( row,GeneralExcelImportAndExportDataCell,cell,true,cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() ); |
| | | for( i := 0 ; i<temp_cells.Size();i++ ){ |
| | | cell := temp_cells.Element( i ); |
| | | tempHandle := cellTree.GetHandle( cell.GeneralExcelImportAndExportDataColumn().Name() ); |
| | | |
| | | cells.Add( cell ); |
| | | cellTree.Root().AddChild( tempHandle,cells.Size() - 1 ); |
| | | |
| | | } |
| | | }onerror{} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FillRows ( |
| | | const GeneralExcelImportAndExportDataTable general, |
| | | Strings rowKeys, |
| | | NamedValueTree rowTree, |
| | | constcontent GeneralExcelImportAndExportDataRows rows |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-22-2024 (created) |
| | | rowKeyColumn1 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "产å°" ); |
| | | rowKeyColumn2 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "车å" ); |
| | | rowKeyColumn3 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "å卿ºé¶ä»¶å·" ); |
| | | rowKeyColumn4 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "å卿ºåä½ç " ); |
| | | tempRowKeyCells1 := selectset( rowKeyColumn1,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | tempRowKeyCells2 := selectset( rowKeyColumn2,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | tempRowKeyCells3 := selectset( rowKeyColumn3,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | tempRowKeyCells4 := selectset( rowKeyColumn4,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | |
| | | for( i := 0; i< tempRowKeyCells1.Size(); i++ ){ |
| | | tempRowKeyCell1 := tempRowKeyCells1.Element( i ); |
| | | tempRowKeyCell2 := tempRowKeyCells2.Element( i ); |
| | | tempRowKeyCell3 := tempRowKeyCells3.Element( i ); |
| | | tempRowKeyCell4 := tempRowKeyCells4.Element( i ); |
| | | |
| | | rowKey := tempRowKeyCell1.Value() + tempRowKeyCell2.Value() + tempRowKeyCell3.Value() + tempRowKeyCell4.Value(); |
| | | |
| | | tempHandle := rowTree.GetHandle( rowKey ); |
| | | rowTree.Root().AddChild( tempHandle ,i); |
| | | rows.Add( tempRowKeyCell1.GeneralExcelImportAndExportDataRow()); |
| | | rowKeys.Add( rowKey ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateColumnIndex ( |
| | | const GeneralExcelImportAndExportDataTable table, |
| | | LocalTable localTable, |
| | | NamedValueTree columnTree, |
| | | LocalColumns columns |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-22-2024 (created) |
| | | tableColumns := selectset( table,GeneralExcelImportAndExportDataColumn,column,true ); |
| | | for( i := 0; i< tableColumns.Size(); i++ ){ |
| | | generalColumn := tableColumns.Element( i ); |
| | | tempHandle := columnTree.GetHandle( generalColumn.Name() ); |
| | | |
| | | nameValue := guard( columnTree.Root().Child( tempHandle ),null( NamedValue )); |
| | | if( isnull( nameValue )){ |
| | | index := 999; |
| | | if( generalColumn.Name() = "产å°" ){ |
| | | index := 1; |
| | | }else if( generalColumn.Name() = "车å" ){ |
| | | index := 2; |
| | | }else if( generalColumn.Name() = "å卿ºé¶ä»¶å·" ){ |
| | | index := 3; |
| | | }else if( generalColumn.Name() = "å卿ºåä½ç " ){ |
| | | index := 4; |
| | | }else{ |
| | | // 2023/01/01 |
| | | index := [Number]generalColumn.Name().ReplaceAll( "/", "" ); |
| | | } |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),CustomIndex := index ); |
| | | columns.Add( column ); |
| | | columnTree.Root().AddChild( tempHandle,columns.Size() - 1 ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetAttributeNames () const declarative as owning Strings |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | attributeNames := construct( Strings ); |
| | | |
| | | attributeNames.Add( "BaseVersion" ); |
| | | attributeNames.Add( "CompareVersion" ); |
| | | attributeNames.Add( "Gap" ); |
| | | |
| | | return &attributeNames; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetColumnXML ( |
| | | const constcontent LocalRows rows, |
| | | const LocalColumn column, |
| | | const Strings attributeNames, |
| | | String type, |
| | | const MacroPlan macroPlan |
| | | ) const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | // rislai Jun-20-2024 (created) |
| | | columnXML := ""; |
| | | cells := selectsortedset( column, LocalCell.astype( LocalCell_DemandComparison ), cell, |
| | | exists( rows,Elements,element,element = cell.LocalRow()), cell.LocalRow().Index()); |
| | | if( type = "data" ){ |
| | | columnXML := ""; |
| | | if( column.IsAttrbuteColumn() ){ |
| | | columnXML := "<column><name>" + column.Name() + "</name><type>String</type>"; |
| | | }else{ |
| | | columnXML := "<column><name>" + column.Name() + "</name><type>Number</type>"; |
| | | } |
| | | traverse ( cells, Elements, cell ) { |
| | | traverse( attributeNames ,Elements,e ){ |
| | | cellXML := '<cell value="' + cell.GetAttributeByName( e ) + '"/>' |
| | | columnXML := columnXML + cellXML; |
| | | } |
| | | } |
| | | columnXML := columnXML + "</column>"; |
| | | } |
| | | if( type = "attribute" ){ |
| | | columnXML0_1 := "<column><name>Sales Segment</name><type>String</type>"; |
| | | columnXML0_2 := "<column><name>Generation</name><type>String</type>"; |
| | | columnXML0_3 := "<column><name>MQB/MLB</name><type>String</type>"; |
| | | columnXML0_4 := "<column><name>åç</name><type>String</type>"; |
| | | |
| | | columnXML1 := "<column><name>Product ID</name><type>String</type>"; |
| | | columnXML2 := "<column><name>Attribute</name><type>String</type>"; |
| | | |
| | | traverse ( cells, Elements, cell ) { |
| | | flag := true; |
| | | traverse( attributeNames ,Elements,e ){ |
| | | if( flag ){ |
| | | cellXML := '<cell value="' + cell.LocalRow().Name() + '"/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | | |
| | | salesSegment := select( cell.LocalRow().LocalTable(),LocalColumn.LocalCell.astype( LocalCell_DemandComparison ),temp_cell,temp_cell.LocalRow() = cell.LocalRow() and temp_cell.LocalColumn().Name() = "产å°"); |
| | | if( not isnull( salesSegment )){ |
| | | cellXML0_1 := '<cell value="' + ifexpr( salesSegment.BaseVersionValue() <> "空",salesSegment.BaseVersionValue(),salesSegment.CompareVersionValue()) + '"/>'; |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | }else{ |
| | | cellXML0_1 := '<cell value=" "/>' |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | } |
| | | |
| | | product := select( macroPlan,Product_MP,product,product.ID() = cell.LocalRow().Name() ); |
| | | if( not isnull( product )){ |
| | | cellXML0_2 := '<cell value="' + product.Generation() + '"/>'; |
| | | cellXML0_3 := '<cell value="' + product.MQBMLB() + '"/>'; |
| | | cellXML0_4 := '<cell value="' + product.Power() + '"/>'; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | }else{ |
| | | cellXML0_2 := '<cell value=" "/>'; |
| | | cellXML0_3 := '<cell value=" "/>'; |
| | | cellXML0_4 := '<cell value=" "/>'; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | } |
| | | |
| | | flag := false; |
| | | }else{ |
| | | cellXML := '<cell value=" "/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | | cellXML0_1 := '<cell value=" "/>' |
| | | cellXML0_2 := '<cell value=" "/>'; |
| | | cellXML0_3 := '<cell value=" "/>'; |
| | | cellXML0_4 := '<cell value=" "/>'; |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | } |
| | | cellXML := '<cell value="' + e + '"/>' |
| | | columnXML2 := columnXML2 + cellXML; |
| | | } |
| | | } |
| | | columnXML := columnXML0_1 + "</column>" + columnXML0_2 + "</column>" + columnXML0_3 + "</column>" + columnXML0_4 + "</column>" + columnXML1 + "</column>" + columnXML2 + "</column>"; |
| | | } |
| | | |
| | | return columnXML; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization LocalCell_ProductionComparison |
| | | { |
| | | #keys: '2[412672.1.64753741][412672.1.64753740]' |
| | | Parent: LocalCell |
| | | StructuredName: 'LocalCell_ProductionComparisons' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomIndex |
| | | { |
| | | #keys: '3[412672.1.64721865][412672.1.64721864][412672.1.64721866]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | ISOValue: '-999' |
| | | TargetAttribute: CustomIndex |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcIndex |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-24-2024 (created) |
| | | year := this.Date().Year(); |
| | | month := this.Date().Month(); |
| | | day := this.Date().Day(); |
| | | |
| | | index := [String]year; |
| | | if( month < 10 ){ |
| | | index := index + "0" + [String]month; |
| | | } |
| | | if( day < 10 ){ |
| | | index := index + "0" + [String]day; |
| | | } |
| | | |
| | | |
| | | value := ifexpr( this.CustomIndex() = -999,[Number]index,this.CustomIndex() ); |
| | | |
| | | this.Index( value ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // rislai Jul-17-2024 (created) |
| | | macroPlan := this.MacroPlan(); |
| | | table := recycleBin.LocalTable( relnew,Name := ""); |
| | | table := recycleBin.LocalTable( relnew,Name := "产éå¯¹æ¯æ¥è¡¨"); |
| | | |
| | | actualDailyProductionDatas := selectset( macroPlan,ActualDailyProductionData,data,true ); |
| | | actualDailyProductionDataIndexTree := NamedValueTree::Create(); |
| | | for( i := 0; i< actualDailyProductionDatas.Size(); i++ ){ |
| | | actualDailyProductionData := actualDailyProductionDatas.Element( i ); |
| | | actualDailyProductionDataKey := actualDailyProductionData.Product() + actualDailyProductionData.Date().AsQUILL(); |
| | | actualDailyProductionDataHandle := actualDailyProductionDataIndexTree.GetHandle( actualDailyProductionDataKey ); |
| | | actualDailyProductionDataIndexTree.Root().AddChild( actualDailyProductionDataHandle,i ); |
| | | } |
| | | |
| | | localColumns := construct( LocalColumns ); |
| | | localColumnIndexTree := NamedValueTree::Create(); |
| | |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | |
| | | traverse( this,OfflinePlanRow,row,row.Type() = "1" ){ |
| | | productID := row.ProductID(); |
| | | |
| | | productLine := row.ProductionLine(); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := productID ); |
| | | traverse( row,OfflinePlanCell,cell,cell.OfflinePlanColumn().ColumnDate() >= macroPlan.StartOfPlanning().Date() ){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( cell.OfflinePlanColumn().ColumnDate().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | | if( not isnull( localColumnIndex )){ |
| | | actualDailyProductionDataKey := productID + cell.OfflinePlanColumn().ColumnDate().AsQUILL(); |
| | | actualDailyProductionDataHandle := actualDailyProductionDataIndexTree.GetHandle( actualDailyProductionDataKey ); |
| | | actualDailyProductionDataIndex := guard( actualDailyProductionDataIndexTree.Root().Child( actualDailyProductionDataHandle ),null( NamedValue )); |
| | | |
| | | actualDailyProductionVolume := 0.0; |
| | | if( not isnull( actualDailyProductionDataIndex )){ |
| | | actualDailyProductionData := actualDailyProductionDatas.Element( actualDailyProductionDataIndex.GetValueAsNumber() ); |
| | | actualDailyProductionVolume := actualDailyProductionData.ProductionVolume(); |
| | | } |
| | | localColumn := localColumns.Element( localColumnIndex.GetValueAsNumber() ); |
| | | localCell := localRow.LocalCell( relnew,LocalCell_DemandComparison ,LocalColumn := localColumn, |
| | | BaseVersion := cell.Quantity(),CompareVersion := 0.0); |
| | | localRow.LocalCell( relnew,LocalCell_ProductionComparison ,LocalColumn := localColumn, |
| | | Plan := cell.Quantity(),Actual := actualDailyProductionVolume ); |
| | | } |
| | | } |
| | | } |
| | | traverse( table,LocalColumn,column ){ |
| | | if( column.LocalCell( relsize ) = 0 ){ |
| | | column.Delete(); |
| | | } |
| | | } |
| | | |
| | | return table; |
| | | *] |
| | | } |
| | |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ButtonOfflinePlanComparisonReport |
| | | { |
| | | #keys: '[412672.1.66051424]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_INFO' |
| | | Label: '产éå¯¹æ¯æ¥è¡¨' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ActionBarGroupReport/ButtonOfflinePlanComparisonReport |
| | | Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonOfflinePlanComparisonReport_OnClick |
| | | { |
| | | #keys: '[412672.1.66051682]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // Open view |
| | | ApplicationMacroPlanner.OpenView( 'OfflinePlanComparisonReport', this ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditor id:MatrixEditor_988 |
| | | { |
| | | #keys: '[412672.1.61940674]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCell |
| | | { |
| | | #keys: '[412672.1.61940675]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCells |
| | | { |
| | | #keys: '[412672.1.61940676]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow.LocalCell.astype(LocalCell_ProductionComparison)' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Plan;Actual;Gap' |
| | | Column: 'LocalColumn' |
| | | Row: 'LocalRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRows |
| | | { |
| | | #keys: '[412672.1.61940677]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRows |
| | | { |
| | | #keys: '[412672.1.61940678]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'checkedProduct:QMacroPlanner::FormOfflinePlanComparison.dhFinelProduct' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.Name() )' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Index' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumns |
| | | { |
| | | #keys: '[412672.1.61940679]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumns |
| | | { |
| | | #keys: '[412672.1.61940680]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'startDate:QMacroPlanner::FormOfflinePlanComparison.dhStartDate;endDate:QMacroPlanner::FormOfflinePlanComparison.dhEndDate' |
| | | FixedFilter: 'not object.IsAttrbuteColumn() and startDate <= object.Date() and endDate > object.Date()' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Date' |
| | | SortCriteria: 'Index' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageDemandComparison_1 |
| | | #child: matrixeditorContextMenuDemandComparison_1 |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowMultipleAttributes: true |
| | | Columns: 'MatrixEditorColumns' |
| | | ContextMenu: 'matrixeditorContextMenuDemandComparison' |
| | | Rows: 'MatrixEditorRows' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelDemandComparison id:PanelDemandComparison_634 |
| | | { |
| | | #keys: '[412672.1.61940673]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditor_988 |
| | | Component dhComparisonData |
| | | { |
| | | #keys: '[412672.1.61940683]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'LocalTable' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhCheckedProduct |
| | | { |
| | | #keys: '[412672.1.61940684]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Product_MP]*' |
| | | Children: |
| | | [ |
| | | Component deCheckedProduct |
| | | { |
| | | #keys: '[412672.1.61940685]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Product_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderCheckedProduct' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dhFinelProduct |
| | | { |
| | | #keys: '[412672.1.61940686]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Product_MP]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhCheckedSalesSegment |
| | | { |
| | | #keys: '[412672.1.61940687]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[SalesSegment_MP]*' |
| | | Children: |
| | | [ |
| | | Component deCheckedSalesSegment |
| | | { |
| | | #keys: '[412672.1.61940688]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[SalesSegment_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderCheckedSalesSegment' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFilter id:PanelFilter_119 |
| | | { |
| | | #keys: '[412672.1.61991354]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslGeneration |
| | | { |
| | | #keys: '[412672.1.61991355]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Generation' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ddslMQBMLB |
| | | { |
| | | #keys: '[412672.1.61991356]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'MQB/MLB' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ddslPower |
| | | { |
| | | #keys: '[412672.1.61991357]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'åç' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dsStartDate |
| | | { |
| | | #keys: '[412672.1.61991358]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'Start Date' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dsEndDate |
| | | { |
| | | #keys: '[412672.1.61991359]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Date: 9999-12-31 |
| | | Label: 'End Date' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ButtonFilter |
| | | { |
| | | #keys: '[412672.1.61991360]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'è¿æ»¤' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component dhStartDate |
| | | { |
| | | #keys: '[412672.1.61991361]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date*' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component dhEndDate |
| | | { |
| | | #keys: '[412672.1.61991362]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date*' |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRibbon |
| | | { |
| | | #keys: '[412672.1.64210439]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelFilter_119 |
| | | #child: PanelRibbon504 |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRibbon504 |
| | | { |
| | | #keys: '[412672.1.64850929]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddlOfflinePlanTable |
| | | { |
| | | #keys: '[412672.1.64850982]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'OfflinePlanTable' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRibbon |
| | | { |
| | | #keys: '[412672.1.64850983]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanTable' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'SaveDateTime' |
| | | Label: 'ä¸çº¿è®¡å:' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bComparison |
| | | { |
| | | #keys: '[412672.1.64851009]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'å¼å§å¯¹æ¯' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component LabelRibbon |
| | | { |
| | | #keys: '[412672.1.66018113]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'ddlOfflinePlanTable.Data.SaveDateTime' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageDemandComparison id:matrixEditorActionBarPageDemandComparison_1 |
| | | { |
| | | #keys: '[412672.1.61940681]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuDemandComparison id:matrixeditorContextMenuDemandComparison_1 |
| | | { |
| | | #keys: '[412672.1.61940682]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhCheckedProduct |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_634_dhCheckedProduct_OnDataChanged |
| | | { |
| | | #keys: '[412672.1.61940669]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Data().Size() <> 0 ){ |
| | | dhFinelProduct.Data( this.Data().Copy() ); |
| | | }else{ |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhCheckedSalesSegment |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_634_dhCheckedSalesSegment_OnDataChanged |
| | | { |
| | | #keys: '[412672.1.61940667]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Data().Size() <> 0 ){ |
| | | prods := selectset( dhFinelProduct.Data(),Elements,element,exists( this.Data(),Elements.SalesDemand.Product_MP,prod,element = prod )); |
| | | dhFinelProduct.Data( &prods ); |
| | | }else{ |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhComparisonData |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_634_dhComparisonData_OnDataChanged |
| | | { |
| | | #keys: '[412672.1.61940670]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelDemandComparison.Title( this.Data().Name() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhFinelProduct |
| | | Response OnCreated () id:Response_PanelDemandComparison_634_dhFinelProduct_OnCreated |
| | | { |
| | | #keys: '[412672.1.61940668]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( DataHolderProduct.Data().Copy() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ButtonFilter |
| | | Response OnClick () id:Response_PanelFilter_119_ButtonFilter_OnClick |
| | | { |
| | | #keys: '[412672.1.61991348]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | products := dhCheckedProduct.Data().Copy(); |
| | | if( ddslGeneration.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text()); |
| | | } |
| | | if( ddslMQBMLB.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text()); |
| | | } |
| | | if( ddslPower.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Power() <> ddslPower.Text()); |
| | | } |
| | | dhFinelProduct.Data( &products ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ddslGeneration |
| | | Response OnCreated () id:Response_PanelFilter_119_ddslGeneration_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991353]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Generation() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ddslMQBMLB |
| | | Response OnCreated () id:Response_PanelFilter_119_ddslMQBMLB_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991352]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.MQBMLB() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ddslPower |
| | | Response OnCreated () id:Response_PanelFilter_119_ddslPower_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991351]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Power() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dhEndDate |
| | | Response OnCreated () id:Response_PanelFilter_119_dhEndDate_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991346]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( Date::MaxDate() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dhStartDate |
| | | Response OnCreated () id:Response_PanelFilter_119_dhStartDate_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991347]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( Date::MinDate() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dsEndDate |
| | | Response OnChanged () id:Response_PanelFilter_119_dsEndDate_OnChanged |
| | | { |
| | | #keys: '[412672.1.61991349]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhEndDate.Data( this.Date() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dsStartDate |
| | | Response OnChanged () id:Response_PanelFilter_119_dsStartDate_OnChanged |
| | | { |
| | | #keys: '[412672.1.61991350]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhStartDate.Data( this.Date() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelRibbon504/bComparison |
| | | Response OnClick () id:Response_PanelRibbon504_bComparison_OnClick_613 |
| | | { |
| | | #keys: '[412672.1.64851008]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | opt := ddlOfflinePlanTable.Data(); |
| | | |
| | | dhComparisonData.Data( opt.Comparison( RecycleBin )); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormOfflinePlanComparison |
| | | { |
| | | #keys: '[412672.1.61921213]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelRibbon |
| | | #child: PanelDemandComparison_634 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_INFO' |
| | | Title: '产éå¯¹æ¯æ¥è¡¨' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'DOCUMENT_INFO' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'OfflinePlanComparisonReport' |
| | | name: 'OfflinePlanComparisonReport' |
| | | isglobal: false |
| | | isroot: true |
| | | } |