¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResults |
| | | { |
| | | #keys: '1[414702.0.340560333]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.340560335][414702.0.340560334][414702.0.340560336]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAllocationResults |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAllocationResults |
| | | { |
| | | #keys: '3[414702.0.340560338][414702.0.340560337][414702.0.340560339]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Division |
| | | { |
| | | #keys: '3[414702.0.340560478][414702.0.340560477][414702.0.340560479]' |
| | | Description: 'äºä¸é¨' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ModuleBase |
| | | { |
| | | #keys: '3[414702.0.340560468][414702.0.340560467][414702.0.340560469]' |
| | | Description: '模ç»åºå°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ModuleMaterialCode |
| | | { |
| | | #keys: '3[414702.0.340560429][414702.0.340560428][414702.0.340560430]' |
| | | Description: '模ç»ç©æç¼ç ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ModuleMeasurementUnit |
| | | { |
| | | #keys: '3[414702.0.340560458][414702.0.340560457][414702.0.340560459]' |
| | | Description: '模ç»åä½' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute NumberOfModules |
| | | { |
| | | #keys: '3[414702.0.340560442][414702.0.340560441][414702.0.340560443]' |
| | | Description: 'æ¨¡ç»æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute NumberOfPanels |
| | | { |
| | | #keys: '3[414702.0.340560391][414702.0.340560390][414702.0.340560392]' |
| | | Description: '颿¿æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PanelBase |
| | | { |
| | | #keys: '3[414702.0.340560371][414702.0.340560370][414702.0.340560372]' |
| | | Description: '颿¿åºå°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PanelMaterialCode |
| | | { |
| | | #keys: '3[414702.0.340560381][414702.0.340560380][414702.0.340560382]' |
| | | Description: '颿¿ç©æç¼ç ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PanelMeasurementUnit |
| | | { |
| | | #keys: '3[414702.0.340560404][414702.0.340560403][414702.0.340560405]' |
| | | Description: '颿¿åä½' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RequirementDate |
| | | { |
| | | #keys: '3[414702.0.340560506][414702.0.340560505][414702.0.340560507]' |
| | | Description: 'éæ±æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute VersionNumber |
| | | { |
| | | #keys: '3[414702.0.340560355][414702.0.340560354][414702.0.340560356]' |
| | | Description: 'çæ¬å·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateDate ( |
| | | GlobalOTDTable globalOTDTable, |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.CapacityAllocationResults( relflush ); |
| | | |
| | | finaleProduct_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan ); |
| | | |
| | | period_MPS := null( Period_MPs ); |
| | | traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) { |
| | | period_MPS := selectsortedset( psmp, PeriodSpecificationPeriod.Period_MP, pmp, not pmp.IsHistorical(), pmp.StartDate() ); |
| | | } |
| | | |
| | | traverse ( finaleProduct_MPs, Elements, fpmp/*, fpmp.ID() = "ProXOver 1 D2.6 A"*/ ) { |
| | | traverse ( fpmp, ProductInStockingPoint_MP, pisp, /*pisp.Name() = "ProXOver 1 D2.6 A in Finished Cars (France)" and*/ not pisp.IsSystem() ) { |
| | | traverse ( period_MPS, Elements, pmp ) { |
| | | CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); |
| | | } |
| | | // info( pisp.Name() ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod IterativeGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | ProductInStockingPoint_MP pisp, |
| | | Number numberOfLayers, |
| | | NewSupply finaleNewSupply, |
| | | Real finaleDependentDemand, |
| | | Date targetDate |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) { |
| | | traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) { |
| | | // info( "çæç产åï¼", pisp.ProductID(), " 产åå¨åºåç¹ï¼", pisp.Name(), " 屿°ï¼", numberOfLayers, " æ»ç产éï¼", ns.Quantity(), " æç»ä¾èµç©ææ°éï¼", finaleDependentDemand ); |
| | | if ( finaleDependentDemand < 0 ) { |
| | | finaleDependentDemand := ns.Quantity(); |
| | | } |
| | | if ( isnull( finaleNewSupply ) ) { |
| | | finaleNewSupply := ns; |
| | | } |
| | | if ( guard( ns.PeriodTask_MP().astype( PeriodTaskOperation ).DependentDemand( relsize ) > 0, false ) ) { |
| | | numberOfLayers++; |
| | | traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) { |
| | | oo := ns.ProcessOutput().astype( OperationOutput ); |
| | | oi := dd.ProcessInput().astype( OperationInput ); |
| | | finaleDependentDemand := finaleDependentDemand * oo.Quantity() * oi.Quantity(); |
| | | // info( "ä¾èµéæ±äº§åIDï¼", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), " ä¾èµæ°éï¼", dd.Quantity(), " å½å卿任å¡Keyï¼", dd.PeriodTask_MP().astype( PeriodTaskOperation ).Key() ); |
| | | CapacityAllocationResults::IterativeGeneration( globalOTDTable, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate ); |
| | | } |
| | | // info( "----------------------------------------------------" ); |
| | | } else { |
| | | // info( "æ ä¾èµéæ±ï¼éè¦çæäº§è½åé
ç»æããã" ); |
| | | // info( "======" ); |
| | | pispPanel := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); |
| | | pispModule := finaleNewSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); |
| | | globalOTDTable.CapacityAllocationResults( relnew, |
| | | PanelBase := pispPanel.StockingPointID(), |
| | | PanelMaterialCode := pispPanel.ProductID(), |
| | | NumberOfPanels := finaleDependentDemand, |
| | | PanelMeasurementUnit := pispPanel.UnitOfMeasure_MP().Name(), |
| | | ModuleMaterialCode := pispModule.ProductID(), |
| | | NumberOfModules := finaleNewSupply.Quantity(), |
| | | ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(), |
| | | ModuleBase := pispModule.StockingPointID(), |
| | | RequirementDate := finaleNewSupply.Start().Date() |
| | | ); |
| | | } |
| | | finaleNewSupply := null( NewSupply ); |
| | | } |
| | | numberOfLayers := 1; |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ObtainTheFinalOutputProduct ( |
| | | MacroPlan macroPlan |
| | | ) as owning Product_MPs |
| | | { |
| | | TextBody: |
| | | [* |
| | | finaleProducts := construct( Product_MPs ); |
| | | |
| | | traverse ( macroPlan, Product_MP, pmp, pmp.IsLeaf() ) { |
| | | flag := true; |
| | | traverse ( macroPlan, Routing.RoutingStep.Operation.OperationInput, oi, flag ) { |
| | | if ( pmp = oi.ProductInStockingPoint_MP().Product_MP() ) { |
| | | flag := false; |
| | | } |
| | | } |
| | | if ( flag ) { |
| | | finaleProducts.Add( pmp ); |
| | | } |
| | | } |
| | | |
| | | return &finaleProducts; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type CapacityAllocationResults |
| | | { |
| | | #keys: '5[414702.0.340560330][414702.0.340560328][0.0.0][414702.0.340560329][414702.0.340560331]' |
| | | BaseType: Object |
| | | Description: '产è½åé
ç»ææ¥è¡¨' |
| | | StructuredName: 'CapacityAllocationResultss' |
| | | } |
| | |
| | | [ |
| | | Component menuSeparator457 { #keys: '[414702.0.265704251]' BaseType: 'Menu' Properties: [ Separator: true ] } |
| | | Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] } |
| | | Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] } |
| | | Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | c: menuExit |
| | | c: menuSeparator457 |
| | | c: ComponentMenu666 |
| | | c: menuSeparator822 |
| | | c: ComponentMenu783 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Button398 |
| | | Response OnClick () id:Response_FormTestButtonCollection_Button398_OnClick |
| | | { |
| | | #keys: '[414702.0.340554926]' |
| | | Body: |
| | | [* |
| | | CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan ); |
| | | *] |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent FormTestButtonCollection |
| | | { |
| | | #keys: '[414702.0.340554698]' |
| | | BaseType: 'Form' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 0 id: 454 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => Button398 |
| | | Position { startcolumn: 454 startrow: 649 endcolumn: 454 endrow: 649 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 5 right: 5 top: 5 bottom: 5 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 649 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | Component Button398 |
| | | { |
| | | #keys: '[414702.0.340554799]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | Image: 'HARDHAT' |
| | | Text: 'çæäº§è½åé
ç»ææ°æ®' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Height: 209 |
| | | Image: 'PIPETTE_TEST' |
| | | IncludeInView: true |
| | | Title: 'åè½æµè¯æé®' |
| | | Width: 535 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762075]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762076]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAllocationResults' |
| | | ] |
| | | } |
| | | #child: listActionBarPageCapacityAllocationResults |
| | | Component DataSetLevelCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762081]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuCapacityAllocationResults |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VersionNumber","title":"VersionNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VersionNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPanels","title":"NumberOfPanels","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPanels"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfModules","title":"NumberOfModules","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfModules"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"RequirementDate","title":"RequirementDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"RequirementDate"}}]' |
| | | ContextMenu: 'listContextMenuCapacityAllocationResults' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762078]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762083]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ButtonGenerateCapacityAllocationResults |
| | | Response OnClick () id:Response_FormCapacityAllocationResults_ButtonGenerateCapacityAllocationResults_OnClick |
| | | { |
| | | #keys: '[414702.0.340111671]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338731526]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: ListCapacityAllocationResults |
| | | Component ButtonGenerateCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.340677556]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'PROCESS' |
| | | Label: 'çææ°æ®' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'PUMPKIN_HALLOWEEN' |
| | | Title: '产è½åé
ç»æ' |
| | | ] |
| | | } |