Merge remote-tracking branch 'origin/dev' into dev
已重命名3个文件
已修改84个文件
已添加140个文件
已删除29个文件
| | |
| | | |
| | | if( not isnull( planningup ) ) |
| | | { |
| | | value := planningup.BaseAvailableCapacity().HoursAsReal() * planningup.MaximumLoadPercentage() / 100; |
| | | value := planningup.BaseAvailableCapacity().HoursAsReal() * planningup.MaximumLoadPercentage() / 100 |
| | | * this.PlanningSystemRatio(); // Tianma fix 20230926 |
| | | } |
| | | } |
| | | else |
| | |
| | | Description: 'Assign the optimal quantity from optimizer for dependent demand in input group.' |
| | | TextBody: |
| | | [* |
| | | // Tianma fix 20230727 |
| | | // Dependent demand of input group fulfillment |
| | | ptperiod := periodtaskoperation.UnitPeriod().Period_MP(); |
| | | operation := periodtaskoperation.Operation(); |
| | |
| | | dd, |
| | | dd.HasRegularProductForOptimizer() or dd.OperationInput().GetIsProductInOptimizerRun( runcontext.IsPostProcessing() ) ) |
| | | { |
| | | fulfilledqty := 0.0; |
| | | |
| | | if( operation.HasLeadTime() ) // Get the dependent demands that is located at different period from the period of period task. |
| | | { |
| | | // compute dependent demand periods |
| | | pispipperiods := construct( Period_MPs, constcontent ); |
| | | if ( getfromperiodtask ) // in case we are able to get from period tasks, below method refinds periodtask for (operation, ptperiod) i.e. periodtaskoperation and then output dep.demand periods |
| | | { |
| | |
| | | CapacityPlanningSuboptimizer::GetOperationDependentDemandPeriods( ptperiod, operation, &pispipperiods, getfromperiodtask ); |
| | | } |
| | | |
| | | fulfilledqty := 0.0; |
| | | if( operation.HasLeadTime() ) // Get the dependent demands that is located at different period from the period of period task. |
| | | { |
| | | fulfilledqty := sum( pispipperiods, Elements, pispipperiod, |
| | | this.GetOptimalValue( program.PartialOperationDemandQtyVariables().Get( dd.OperationInput(), pispipperiod, ptperiod ) ) ); |
| | | if ( runcontext.IsMetaIteration() and operation.IsBlending() ) // no filtering for numerical sensitive blending operation in meta optimizer |
| | |
| | | } |
| | | else |
| | | { |
| | | fulfilledqty := sum( pispipperiods, Elements, pispipperiod, |
| | | this.GetOptimalValue( program.OperationDemandQtyVariables().Get( dd.OperationInput(), pispipperiod ) ) ); |
| | | // note that in case there is no lead time then the set of dependent demand periods just equals the singleton set {ptperiod} |
| | | fulfilledqty := this.GetOptimalValue( program.OperationDemandQtyVariables().Get( dd.OperationInput(), ptperiod ) ); |
| | | if( runcontext.IsMetaIteration() and operation.IsBlending() ) // no filtering for numerical sensitive blending operation in meta optimizer |
| | | { |
| | | fulfilledqty := sum( pispipperiods, Elements, pispipperiod, |
| | | this.GetOptimalValueUnfiltered( program.OperationDemandQtyVariables().Get( dd.OperationInput(), pispipperiod ) ) ); |
| | | fulfilledqty := this.GetOptimalValueUnfiltered( program.OperationDemandQtyVariables().Get( dd.OperationInput(), ptperiod ) ); |
| | | } |
| | | } |
| | | |
| | | dd.OptimizerFulfilledQuantity( fulfilledqty ); |
| | | } |
| | | *] |
| | |
| | | |
| | | if ( ddperiodstotal.Size() > 0 ) |
| | | { |
| | | minstart := min( ddperiodstotal, Elements, p, p.Start() ); |
| | | minstartperiods := min( periods, Elements, p, p.Start() ); |
| | | pispiptoadd := selectset( operation, |
| | | OperationInput.ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning, |
| | | pispip, |
| | | ddperiodstotal.Find( pispip.Period_MP() ) > 0 |
| | | pispip.Start() >= minstart and pispip.Start() < minstartperiods // must add the entire block. Don't want gaps in the pispip horizon |
| | | and ( pispip.HasRegularProductForOptimizer() or pispip.GetProductIsIncludedInOptimizerRun( runcontext.IsPostProcessing() ) ) |
| | | and not scope.Contains( pispip.PISPIPInOptimizerRun() ) ) |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_CARRC_Export |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Source Source11 |
| | | { |
| | | EDIMLTable CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | PrimaryKeyColumns: ModuleMaterialCode |
| | | PrimaryKeyColumns: PanelMaterialCode |
| | | PrimaryKeyColumns: StockingPointID |
| | | TargetType: CapacityAllocationResultsRuleConfiguration |
| | | TypeIndex: CapacityAllocationResultsRuleConfigurationTypeIndex |
| | | EDIMLColumn Division { Attribute: Division ValueType: String } |
| | | EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String } |
| | | EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String } |
| | | EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String } |
| | | } |
| | | } |
| | | EDITransformation.Transformation Transformation11 |
| | | { |
| | | EDITableTransformation |
| | | { |
| | | InputTable: CapacityAllocationResultsRuleConfiguration |
| | | OutputTable: CapacityAllocationResultsRuleConfiguration |
| | | EDIColumnMatch { InputColumn: Division OutputColumn: Division } |
| | | EDIColumnMatch { InputColumn: ModuleMaterialCode OutputColumn: ModuleMaterialCode } |
| | | EDIColumnMatch { InputColumn: PanelMaterialCode OutputColumn: PanelMaterialCode } |
| | | EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID } |
| | | } |
| | | } |
| | | EDIXLSLink.Destination Destination12 |
| | | { |
| | | FileName: 'Destination12' |
| | | EDIXLSLinkTable CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | Columns: |
| | | [ |
| | | EDIXLSLinkColumn Division { ValueType: String } |
| | | EDIXLSLinkColumn ModuleMaterialCode { ValueType: String } |
| | | EDIXLSLinkColumn PanelMaterialCode { ValueType: String } |
| | | EDIXLSLinkColumn StockingPointID { ValueType: String } |
| | | ] |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_CARRC_Import |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Destination Destination13 |
| | | { |
| | | EDIMLTable CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | PrimaryKeyColumns: ModuleMaterialCode |
| | | PrimaryKeyColumns: PanelMaterialCode |
| | | PrimaryKeyColumns: StockingPointID |
| | | TargetType: CapacityAllocationResultsRuleConfiguration |
| | | TypeIndex: CapacityAllocationResultsRuleConfigurationTypeIndex |
| | | EDIMLColumn Division { Attribute: Division ValueType: String } |
| | | EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String } |
| | | EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String } |
| | | EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String } |
| | | } |
| | | } |
| | | EDITransformation.Transformation Transformation12 |
| | | { |
| | | EDITableTransformation |
| | | { |
| | | InputTable: CapacityAllocationResultsRuleCo |
| | | OutputTable: CapacityAllocationResultsRuleConfiguration |
| | | EDIColumnMatch { InputColumn: Division OutputColumn: Division } |
| | | EDIColumnMatch { InputColumn: ModuleMaterialCode OutputColumn: ModuleMaterialCode } |
| | | EDIColumnMatch { InputColumn: PanelMaterialCode OutputColumn: PanelMaterialCode } |
| | | EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID } |
| | | } |
| | | } |
| | | EDIXLSLink.Source Source12 |
| | | { |
| | | FileName: '产è½åé
ç»æè§å.xlsx' |
| | | EDIXLSLinkTable CapacityAllocationResultsRuleCo |
| | | { |
| | | Columns: |
| | | [ |
| | | EDIXLSLinkColumn Division { ValueType: String } |
| | | EDIXLSLinkColumn ModuleMaterialCode { ValueType: String } |
| | | EDIXLSLinkColumn PanelMaterialCode { ValueType: String } |
| | | EDIXLSLinkColumn StockingPointID { ValueType: String } |
| | | ] |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_CAR_Export |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Source Source13 |
| | | { |
| | | EDIMLTable CapacityAllocationResults |
| | | { |
| | | TargetType: CapacityAllocationResults |
| | | EDIMLColumn Date { Attribute: Date ValueType: Date } |
| | | EDIMLColumn Description { Attribute: Description ValueType: String } |
| | | EDIMLColumn Division { Attribute: Division ValueType: String } |
| | | EDIMLColumn ID { Attribute: ID ValueType: String } |
| | | EDIMLColumn ManufacturedDate { Attribute: ManufacturedDate ValueType: Date } |
| | | EDIMLColumn ModuleBase { Attribute: ModuleBase ValueType: String } |
| | | EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String } |
| | | EDIMLColumn ModuleMeasurementUnit { Attribute: ModuleMeasurementUnit ValueType: String } |
| | | EDIMLColumn NumberOfModules { Attribute: NumberOfModules ValueType: Real } |
| | | EDIMLColumn NumberOfPanels { Attribute: NumberOfPanels ValueType: Real } |
| | | EDIMLColumn PanelBase { Attribute: PanelBase ValueType: String } |
| | | EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String } |
| | | EDIMLColumn PanelMeasurementUnit { Attribute: PanelMeasurementUnit ValueType: String } |
| | | EDIMLColumn ProductID { Attribute: ProductID ValueType: String } |
| | | EDIMLColumn RequirementDate { Attribute: RequirementDate ValueType: Date } |
| | | EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String } |
| | | EDIMLColumn UserQuantity { Attribute: UserQuantity ValueType: Real } |
| | | EDIMLColumn VersionNumber { Attribute: VersionNumber ValueType: String } |
| | | } |
| | | } |
| | | EDITransformation.Transformation Transformation13 |
| | | { |
| | | EDITableTransformation |
| | | { |
| | | InputTable: CapacityAllocationResults |
| | | OutputTable: CapacityAllocationResults |
| | | EDIColumnMatch { InputColumn: Date OutputColumn: Date } |
| | | EDIColumnMatch { InputColumn: Description OutputColumn: Description } |
| | | EDIColumnMatch { InputColumn: ID OutputColumn: ID } |
| | | EDIColumnMatch { InputColumn: ManufacturedDate OutputColumn: ManufacturedDate } |
| | | EDIColumnMatch { InputColumn: ProductID OutputColumn: ProductID } |
| | | EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID } |
| | | EDIColumnMatch { InputColumn: UserQuantity OutputColumn: UserQuantity } |
| | | } |
| | | } |
| | | EDIXLSLink.Destination Destination14 |
| | | { |
| | | FileName: 'Destination14' |
| | | EDIXLSLinkTable CapacityAllocationResults |
| | | { |
| | | Columns: |
| | | [ |
| | | EDIXLSLinkColumn Date { ValueType: Date } |
| | | EDIXLSLinkColumn Description { ValueType: String } |
| | | EDIXLSLinkColumn ID { ValueType: String } |
| | | EDIXLSLinkColumn ProductID { ValueType: String } |
| | | EDIXLSLinkColumn StockingPointID { ValueType: String } |
| | | EDIXLSLinkColumn UserQuantity { ValueType: Real } |
| | | EDIXLSLinkColumn ManufacturedDate { ValueType: Date } |
| | | ] |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_CustomerGrade |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Destination Destination16 |
| | | { |
| | | EDIMLTable Global_MappingCustomerGrade |
| | | { |
| | | PrimaryKeyColumns: BusinessType |
| | | PrimaryKeyColumns: Customer |
| | | PrimaryKeyColumns: CustomerGrade |
| | | TargetType: Global_MappingCustomerGrade |
| | | TypeIndex: Global_MappingCustomerGradeTypeIndex |
| | | EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String } |
| | | EDIMLColumn Customer { Attribute: Customer ValueType: String } |
| | | EDIMLColumn CustomerGrade { Attribute: CustomerGrade ValueType: String } |
| | | } |
| | | } |
| | | EDIODBCLink.Source Source15 |
| | | { |
| | | DataIntegrityStrategy: 'Disabled' |
| | | SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle' |
| | | EDIODBCLinkTable MID_CUSTOMERGRADE |
| | | { |
| | | OthersMayCreateTable: true |
| | | OthersMayDeleteRow: true |
| | | OthersMayDropTable: true |
| | | OthersMayFlushTable: true |
| | | OthersMayInsertRow: true |
| | | Parameters: '/owner="OTD"' |
| | | PrimaryKeyColumns: CUSTOMER |
| | | RecordModificationHintStrategy: 'None' |
| | | EDIODBCLinkColumn BUSINESSTYPE |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | EDIODBCLinkColumn CUSTOMER |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | EDIODBCLinkColumn CUSTOMERGRADE |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | } |
| | | } |
| | | EDITransformation.Transformation Transformation15 |
| | | { |
| | | EDITableTransformation |
| | | { |
| | | InputTable: MID_CUSTOMERGRADE |
| | | OutputTable: Global_MappingCustomerGrade |
| | | EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType } |
| | | EDIColumnMatch { InputColumn: CUSTOMER OutputColumn: Customer } |
| | | EDIColumnMatch { InputColumn: CUSTOMERGRADE OutputColumn: CustomerGrade } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_DOI_DSI |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Destination Destination15 |
| | | { |
| | | EDIMLTable Global_MappingDOI_DSI |
| | | { |
| | | PrimaryKeyColumns: OrganCode |
| | | PrimaryKeyColumns: ProductID |
| | | TargetType: Global_MappingDOI_DSI |
| | | TypeIndex: Global_MappingDOI_DSITypeIndex |
| | | EDIMLColumn DOI { Attribute: DOI ValueType: String } |
| | | EDIMLColumn DSI { Attribute: DSI ValueType: String } |
| | | EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String } |
| | | EDIMLColumn ProductID { Attribute: ProductID ValueType: String } |
| | | } |
| | | } |
| | | EDIODBCLink.Source Source14 |
| | | { |
| | | DataIntegrityStrategy: 'Disabled' |
| | | SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle' |
| | | EDIODBCLinkTable MID_DOI_DSI |
| | | { |
| | | OthersMayCreateTable: true |
| | | OthersMayDeleteRow: true |
| | | OthersMayDropTable: true |
| | | OthersMayFlushTable: true |
| | | OthersMayInsertRow: true |
| | | Parameters: '/owner="OTD"' |
| | | PrimaryKeyColumns: ORGANCODE |
| | | PrimaryKeyColumns: PRODUCTID |
| | | RecordModificationHintStrategy: 'None' |
| | | EDIODBCLinkColumn DOI |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | EDIODBCLinkColumn DSI |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | EDIODBCLinkColumn ORGANCODE |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | EDIODBCLinkColumn PRODUCTID |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | } |
| | | } |
| | | } |
| | | EDITransformation.Transformation Transformation14 |
| | | { |
| | | EDITableTransformation |
| | | { |
| | | InputTable: MID_DOI_DSI |
| | | OutputTable: Global_MappingDOI_DSI |
| | | EDIColumnMatch { InputColumn: DOI OutputColumn: DOI } |
| | | EDIColumnMatch { InputColumn: DSI OutputColumn: DSI } |
| | | EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode } |
| | | EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID } |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | DefaultText: 'Please input validate value !' |
| | | } |
| | | InfoMessage PriorityFactor_CheckNameValid |
| | | { |
| | | DefaultText: '该ä¼å
级å ååç§°å·²åå¨ï¼' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #root |
| | | KnowledgeBase Knowledge_MP #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAllocationResultsRuleConfiguration_CapacityAllocationResults_CapacityAllocationResults_CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '1[414702.0.387791788]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide CapacityAllocationResults |
| | | { |
| | | #keys: '3[414702.0.387791790][414702.0.387791789][414702.0.387791791]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: CapacityAllocationResultsRuleConfiguration |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '3[414702.0.387791793][414702.0.387791792][414702.0.387791794]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAllocationResults |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '1[414702.0.374991408]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.374991410][414702.0.374991409][414702.0.374991411]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAllocationResultsRuleConfiguration |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '3[414702.0.374991413][414702.0.374991412][414702.0.374991414]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation Global_MappingCustomerGrade_GlobalOTDTable_GlobalOTDTable_Global_MappingCustomerGrade |
| | | { |
| | | #keys: '1[414702.0.445485678]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.445485680][414702.0.445485679][414702.0.445485681]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_MappingCustomerGrade |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide Global_MappingCustomerGrade |
| | | { |
| | | #keys: '3[414702.0.445485683][414702.0.445485682][414702.0.445485684]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation Global_MappingDOI_DSI_GlobalOTDTable_GlobalOTDTable_Global_MappingDOI_DSI |
| | | { |
| | | #keys: '1[414702.0.445364657]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.445364659][414702.0.445364658][414702.0.445364660]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_MappingDOI_DSI |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide Global_MappingDOI_DSI |
| | | { |
| | | #keys: '3[414702.0.445364662][414702.0.445364661][414702.0.445364663]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation H_CustomOrder_MacroPlan_MacroPlan_H_CustomOrder |
| | | { |
| | | #keys: '1[414724.0.177854649]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[414724.0.177854651][414724.0.177854650][414724.0.177854652]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: H_CustomOrder |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide H_CustomOrder |
| | | { |
| | | #keys: '3[414724.0.177854654][414724.0.177854653][414724.0.177854655]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod CreateData ( |
| | | GlobalOTDTable owner, |
| | | MacroPlan macroPlan, |
| | | String businessName |
| | | ) |
| | | { |
| | |
| | | } |
| | | |
| | | // æµè¯æ°æ® |
| | | result := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨"; |
| | | //result := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨"; |
| | | |
| | | return result; |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Date |
| | | { |
| | | #keys: '3[414702.0.388471426][414702.0.388471425][414702.0.388471427]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Description |
| | | { |
| | | #keys: '3[414702.0.388471436][414702.0.388471435][414702.0.388471437]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[414702.0.388471446][414702.0.388471445][414702.0.388471447]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ManufacturedDate |
| | | { |
| | | #keys: '3[414702.0.388471486][414702.0.388471485][414702.0.388471487]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[414702.0.388471456][414702.0.388471455][414702.0.388471457]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StockingPointID |
| | | { |
| | | #keys: '3[414702.0.388471466][414702.0.388471465][414702.0.388471467]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute UserQuantity |
| | | { |
| | | #keys: '3[414702.0.388471476][414702.0.388471475][414702.0.388471477]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DeclarativeReferenceRelation CalcCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '1[414702.0.388304510]' |
| | | Expression: |
| | | [* |
| | | targetCapacityAllocationResultsRuleConfiguration := select( this.GlobalOTDTable(), CapacityAllocationResultsRuleConfiguration, tempCARRC, |
| | | tempCARRC.ModuleMaterialCode() = this.ModuleMaterialCode() and |
| | | tempCARRC.PanelMaterialCode() = this.PanelMaterialCode() ); |
| | | |
| | | return targetCapacityAllocationResultsRuleConfiguration; |
| | | *] |
| | | Relation: CapacityAllocationResultsRuleConfiguration |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod CreateDate ( |
| | | GlobalOTDTable globalOTDTable, |
| | | MacroPlan macroPlan |
| | | MacroPlan macroPlan, |
| | | Scenario scenario |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.CapacityAllocationResults( relflush ); |
| | | |
| | | finaleProduct_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan ); |
| | | finaleProductInStockingPoint_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan, globalOTDTable ); |
| | | |
| | | 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 ( finaleProductInStockingPoint_MPs, Elements, fpispmp ) { |
| | | capacityAllocationResultsRuleConfigurations := selectset( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() ); |
| | | // info( "ç产ç产åï¼", fpispmp.ProductID(), "------产åå¨åºåç¹-------ï¼", fpispmp.StockingPointID() ); |
| | | traverse ( period_MPS, Elements, pmp ) { |
| | | CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); |
| | | // CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); èç |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 ); |
| | | } |
| | | // info( pisp.Name() ); |
| | | } |
| | | |
| | | traverse ( globalOTDTable, CapacityAllocationResults, car ) { |
| | | car.VersionNumber( scenario.Name() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | binaryData := globalOTDTable.GlobalOTDTable_CAR_Export().ExecuteToXLS( true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod IterativeGeneration2 ( |
| | | GlobalOTDTable globalOTDTable, |
| | | ProductInStockingPoint_MP pisp, |
| | | Date targetDate, |
| | | CapacityAllocationResultsRuleConfigurations carrcs, |
| | | Number numberOfLayers, |
| | | NewSupply firstLevelSupply, |
| | | Real currentLayerDependentDemandQuantity |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | numberOfLayers++; |
| | | //info( "ç®æ æ¶é´ï¼", targetDate.Format( "Y-M2-D2" ) ); |
| | | info( pisp.Name() ); |
| | | traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) { |
| | | traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) { |
| | | if ( numberOfLayers = 1 ) { |
| | | firstLevelSupply := ns; |
| | | } |
| | | |
| | | ontype( ns.PeriodTask_MP() ) { |
| | | PeriodTaskOperation as pto : { |
| | | // info( "Operation卿任å¡..." ); |
| | | traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) { |
| | | if ( numberOfLayers = 1 ) { |
| | | currentLayerDependentDemandQuantity := ns.Quantity(); |
| | | } |
| | | currentLayerDependentDemandQuantity := currentLayerDependentDemandQuantity * |
| | | ns.ProcessOutput().astype( OperationOutput ).Quantity() * |
| | | dd.ProcessInput().astype( OperationInput ).Quantity(); |
| | | // info( "屿°ï¼", numberOfLayers, " å½åä¾åºçpispï¼", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " æ»ä¾åºå¼ï¼", ns.Quantity(), " éè¦ä¾åºå¼ï¼", currentLayerDependentDemandQuantity, |
| | | // " å½åéæ±pispï¼", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " éæ±å¼ï¼", currentLayerDependentDemandQuantity ); |
| | | // info( "-----------------------------------------------------------------------------------------------------------------" ); |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, |
| | | dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), |
| | | targetDate, |
| | | carrcs, |
| | | numberOfLayers, |
| | | firstLevelSupply, |
| | | currentLayerDependentDemandQuantity |
| | | ); |
| | | } |
| | | carrc := select( carrcs, Elements, carrc, carrc.PanelMaterialCode() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() ); |
| | | if ( not isnull( carrc ) ) { |
| | | // info( "æ¾å°é¢æ¿ç©æ..." ); |
| | | globalOTDTable.CapacityAllocationResults( relnew, |
| | | PanelBase := pto.Operation().UnitID(), |
| | | PanelMaterialCode := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfPanels := currentLayerDependentDemandQuantity, |
| | | PanelMeasurementUnit := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleMaterialCode := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfModules := firstLevelSupply.Quantity(), |
| | | ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleBase := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "车éè¿è¾" ), |
| | | Division := carrc.Division(), |
| | | RequirementDate := ns.Start().Date(), |
| | | Date := ns.Start().Date(), |
| | | Description := "", |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | StockingPointID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().StockingPointID(), |
| | | UserQuantity := currentLayerDependentDemandQuantity, |
| | | ManufacturedDate := Date::MinDate() |
| | | ); |
| | | |
| | | } |
| | | info( "-----------------------------------------------------------------------------------------------------------------" ); |
| | | } |
| | | |
| | | PeriodTaskLaneLeg as ptll : { |
| | | targetDependentDemand := select( ptll, DependentDemand, dd, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() ); |
| | | currentLayerDependentDemandQuantity := ifexpr( numberOfLayers = 1, targetDependentDemand.Quantity(), currentLayerDependentDemandQuantity ); |
| | | // info( "屿°ï¼", numberOfLayers," å½åä¾åºçpispï¼", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " æ»ä¾åºå¼ï¼", ns.Quantity(), " éè¦ä¾åºå¼ï¼", currentLayerDependentDemandQuantity, |
| | | // " å½åéæ±pispï¼", targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " éæ±å¼ï¼", currentLayerDependentDemandQuantity ); |
| | | // info( "LaneLeg卿任å¡..." ); |
| | | info( "-----------------------------------------------------------------------------------------------------------------" ); |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, |
| | | targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), |
| | | targetDate, |
| | | carrcs, |
| | | numberOfLayers, |
| | | firstLevelSupply, |
| | | currentLayerDependentDemandQuantity |
| | | ); |
| | | } |
| | | } |
| | | |
| | | if ( numberOfLayers = 1 ) { |
| | | firstLevelSupply := null( NewSupply ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ObtainTheFinalOutputProduct ( |
| | | MacroPlan macroPlan |
| | | ) as owning Product_MPs |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | ) as owning ProductInStockingPoint_MPs |
| | | { |
| | | TextBody: |
| | | [* |
| | | finaleProducts := construct( Product_MPs ); |
| | | //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 ); |
| | | // } |
| | | //} |
| | | |
| | | 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 ); |
| | | } |
| | | } |
| | | finaleProductInStockingPoint_MPs := selectset( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISPMP, |
| | | exists( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = tempPISPMP.ProductID() and tempCARRC.StockingPointID() = tempPISPMP.StockingPointID() ) |
| | | ); |
| | | |
| | | return &finaleProducts; |
| | | return &finaleProductInStockingPoint_MPs; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Division |
| | | { |
| | | #keys: '3[414702.0.374991447][414702.0.374991446][414702.0.374991448]' |
| | | Description: 'äºä¸é¨' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ModuleMaterialCode |
| | | { |
| | | #keys: '3[414702.0.374991437][414702.0.374991436][414702.0.374991438]' |
| | | Description: '模ç»ç©æç¼ç ' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PanelMaterialCode |
| | | { |
| | | #keys: '3[414702.0.374991427][414702.0.374991426][414702.0.374991428]' |
| | | Description: '颿¿ç©æç¼ç ' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StockingPointID |
| | | { |
| | | #keys: '3[414702.0.375010145][414702.0.375010144][414702.0.375010146]' |
| | | Description: '模ç»äº§æååºåç¹ID' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | // hongjli Sep-25-2023 (created) |
| | | binaryValue := globalOTDTable.GlobalOTDTable_CARRC_Export().ExecuteToXLS( true ).AsBinaryValue(); |
| | | |
| | | return binaryValue; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Import ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String base64String |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | binaryData := BinaryData::FromBase64EncodedString( base64String ); |
| | | |
| | | globalOTDTable.GlobalOTDTable_CARRC_Import().ExecuteFromXLS( &binaryData, true ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeIndex CapacityAllocationResultsRuleConfigurationTypeIndex |
| | | { |
| | | Attributes: |
| | | [ |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: ModuleMaterialCode |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: PanelMaterialCode |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: StockingPointID |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '5[414702.0.374991403][414702.0.374991401][0.0.0][414702.0.374991402][414702.0.374991404]' |
| | | BaseType: Object |
| | | Description: '产è½åé
ç»æï¼è§åé
ç½®' |
| | | StructuredName: 'CapacityAllocationResultsRuleConfigurations' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomerOrderID |
| | | { |
| | | #keys: '3[414382.0.554303146][414382.0.554303145][414382.0.554303147]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ForecastID |
| | | { |
| | | #keys: '3[414382.0.554303156][414382.0.554303155][414382.0.554303157]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod RefreshData ( |
| | | MacroPlan owner, |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-26-2023 (created) |
| | | |
| | | // è·åå·²ç»åå¨ customerOrderID åforecastID |
| | | customerOrderIDs := selectvalues( owner,CustomerAndForecastOrder,c, |
| | | c.CustomerOrderID() <> '', |
| | | c.CustomerID() |
| | | ); |
| | | |
| | | forecastIDs := selectvalues( owner,CustomerAndForecastOrder,c, |
| | | c.ForecastID() <> '', |
| | | c.ForecastID() |
| | | ); |
| | | |
| | | |
| | | // 仿°æ®æ¹ Global_MappingCustomerOrder Global_MappingForecast ä¸è·åæ°çè®¢åæ°æ® |
| | | |
| | | traverse( globalOTDTable,Global_MappingCustomOrder,cus) |
| | | { |
| | | if(customerOrderIDs.Find( cus.ID()) = -1 ) |
| | | { |
| | | owner.CustomerAndForecastOrder(relnew,OrderID := cus.OrderID(),ProductID := cus.ProductID(),BusinessType := cus.BusinessType(),Customer := cus.Customer(),CustomerID := cus.CustomerID(), |
| | | Quantity := cus.Quantity(),UnitOfMeasureName := cus.UnitOfMeasureName(),DemandDate := cus.OrderDate() |
| | | ); |
| | | } |
| | | } |
| | | |
| | | traverse( globalOTDTable,Global_MappingForecast,forecast) |
| | | { |
| | | if(forecastIDs.Find( forecast.ID()) = -1 ) |
| | | { |
| | | owner.CustomerAndForecastOrder(relnew,ProductID := forecast.ProductID(),BusinessType := forecast.BusinessType(), |
| | | Quantity := forecast.Quantity(),UnitOfMeasureName := forecast.UnitOfMeasureName(),DemandDate := forecast.EndDate() |
| | | ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BusinessType |
| | | { |
| | | #keys: '3[414382.0.554303217][414382.0.554303216][414382.0.554303218]' |
| | | Description: 'äºä¸é¨' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomerPolicy |
| | | { |
| | | #keys: '3[414382.0.554014841][414382.0.554014840][414382.0.554014842]' |
| | | Description: '客æ·çç¥' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsAvailable |
| | | { |
| | | #keys: '3[414382.0.554303237][414382.0.554303236][414382.0.554303238]' |
| | | Description: 'è®¢åæ¯å¦åä¸è®¡å' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderTag |
| | | { |
| | | #keys: '3[414724.0.177854629][414724.0.177854628][414724.0.177854630]' |
| | | Description: '订åç¶æï¼å²ååèµå¼ï¼çº¯é¢æµ,æé¢æµï¼æ 颿µï¼åç¾ï¼ææ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderTime |
| | | { |
| | | #keys: '3[414382.0.554303277][414382.0.554303276][414382.0.554303278]' |
| | | Description: '订åä¸åæ¶é´' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderType |
| | | { |
| | | #keys: '3[414382.0.554303227][414382.0.554303226][414382.0.554303228]' |
| | | Description: '订åç±»å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductGrade |
| | | { |
| | | #keys: '3[414382.0.554303247][414382.0.554303246][414382.0.554303248]' |
| | | Description: '产åç级' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SegmentPriority |
| | | { |
| | | #keys: '3[414382.0.554303257][414382.0.554303256][414382.0.554303258]' |
| | | Description: 'ç»åå¸åºä¼å
级' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SheetProfitability |
| | | { |
| | | #keys: '3[414382.0.554303267][414382.0.554303266][414382.0.554303268]' |
| | | Description: 'å¤§å¼ ç婿°´å¹³' |
| | | ValueType: String |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-14-2023 (created) |
| | | |
| | | info('test' ) |
| | | fillingCapacityOrders := selectset( owner,FillingCapacityOrder,fillingOrder, |
| | | not fillingOrder.IsFilling() |
| | | ); |
| | |
| | | salesSegmentName := salesSegmentNameList.Concatenate( ",") |
| | | |
| | | schemeDate := Date::Today(); |
| | | |
| | | filllingCapacityOrderScheme := owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID, |
| | | owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID, |
| | | SalesSegmentName := salesSegmentName); |
| | | |
| | | |
| | |
| | | { |
| | | e.SchemeName(schemeName); |
| | | e.IsFilling(true); |
| | | filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, e); |
| | | } |
| | | |
| | | // çæ¬å· |
| | | verNoOrder := select( filllingCapacityOrderScheme,FillingCapacityOrder,o, |
| | | o.VerNo() <> '' |
| | | ) |
| | | |
| | | // éè¦å°éå®è®¢ååé¢å®è®¢ååæ¶ä¿åå°æ¹æ¡ä¸ |
| | | traverse( owner,CustomerAndForecastOrder,order) |
| | | { |
| | | //traverse( owner,CustomerAndForecastOrder,order) |
| | | //{ |
| | | // |
| | | // fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(), |
| | | // DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true, |
| | | // OrderType := 'ææ',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(), |
| | | // Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(), |
| | | // SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(), |
| | | // VerNo := order.VerNo() |
| | | // ); |
| | | // |
| | | // filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder); |
| | | //} |
| | | |
| | | fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(), |
| | | DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true, |
| | | OrderType := 'ææ',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(), |
| | | Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(), |
| | | SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(), |
| | | VerNo := verNoOrder.VerNo() |
| | | ); |
| | | |
| | | filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder); |
| | | } |
| | | //// æ°å¢åç¾/ææè®¢å 订åä¿¡æ¯å å
¥å¡«äº§ |
| | | //traverse( owner,H_Forecast,hf) |
| | | //{ |
| | | // fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := hf.Department(),Customer := hf.CustomName(),CustomerID := hf.CustomCode(), |
| | | // DemandDate := Date::Today(),ForecastDemandDate := Date::Today(),IsFilling := true, |
| | | // OrderType := 'ææ',PanelBigSheetQuantity := 0,ProductID := '', |
| | | // Quantity := hf.ForecastQty(),SalesSegmentName := '',SalesAmount := 0, |
| | | // SchemeName := schemeName,StockingPointID := '',UnitOfMeasureName := hf.Util(), |
| | | // VerNo := '' |
| | | // ); |
| | | // |
| | | // filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder); |
| | | //} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteDetails ( |
| | | MacroPlan owner, |
| | | String schemeName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-25-2023 (created) |
| | | |
| | | details := selectset( owner,FillingCapacityOrder,f,true); |
| | | |
| | | traverse( details,Elements,e) |
| | | { |
| | | owner.FillingCapacityOrder(reldelete,e); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade ( |
| | | Number errorNo, |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_CustomerGrade", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "客æ·ççº§æ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI ( |
| | | Number errorNo, |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_DOI_DSI", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "DOI_DSIæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_CustomerGrade |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_CustomerGrade", |
| | | ElementTotal := this.Global_MappingCustomerGrade( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "客æ·ççº§æ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_DOI_DSI |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_DOI_DSI", |
| | | ElementTotal := this.Global_MappingDOI_DSI( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "DOI_DSIæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SetIsLinkedWithFinishedGoodAttributes |
| | | { |
| | | Description: 'Method to traverse the supply chain to determine if there are any products that are not used to produce finished goods.' |
| | | TextBody: |
| | | [* |
| | | // Reset IsLinkedWithFinishedGood |
| | | traverse( this, Global_MappingProduct_MP, instance ) |
| | | { |
| | | instance.IsLinkedWithFinishedGood( false ); |
| | | } |
| | | |
| | | traverse( this, Global_MappingOperation, instance ) |
| | | { |
| | | instance.IsLinkedWithFinishedGood( false ); |
| | | } |
| | | |
| | | traverse( this, Global_MappingOperationBOM, instance ) |
| | | { |
| | | instance.IsLinkedWithFinishedGood( false ); |
| | | } |
| | | |
| | | productspool := selectset( this, Global_MappingProduct_MP, product, |
| | | product.ProductMajorType() <> "æå" ); |
| | | operationspool := this.Global_MappingOperation( relget ); |
| | | operationbomspool := this.Global_MappingOperationBOM( relget ); |
| | | |
| | | // Traverse each finished good and search for linked products/operations/lanes |
| | | traverse( this, Global_MappingProduct_MP, product, |
| | | product.ProductMajorType() = "æå" ) |
| | | { |
| | | product.SetIsLinkedWithFinishedGoodAttributes_Recursive( 0, // depth |
| | | 100, // maxdepth |
| | | productspool, |
| | | operationspool, |
| | | operationbomspool ); |
| | | |
| | | } |
| | | *] |
| | | } |
| | |
| | | globalOTDTable.Global_MappingOperationCost( relflush ); |
| | | globalOTDTable.Global_MappingForecast( relflush ); |
| | | globalOTDTable.Global_MappingCustomOrder( relflush ); |
| | | globalOTDTable.Global_MappingDOI_DSI( relflush ); |
| | | globalOTDTable.Global_MappingCustomerGrade( relflush ); |
| | | |
| | | globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_SalesSegment_MP().AsyncExecute(); |
| | |
| | | globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_CustomOrder().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_DOI_DSI().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_CustomerGrade().AsyncExecute(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BusinessType |
| | | { |
| | | #keys: '3[414702.0.445738362][414702.0.445738361][414702.0.445738363]' |
| | | Description: 'äºä¸é¨' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Customer |
| | | { |
| | | #keys: '3[414702.0.445738352][414702.0.445738351][414702.0.445738353]' |
| | | Description: '客æ·åç§°' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomerGrade |
| | | { |
| | | #keys: '3[414702.0.445738372][414702.0.445738371][414702.0.445738373]' |
| | | Description: '客æ·ç级' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeIndex Global_MappingCustomerGradeTypeIndex |
| | | { |
| | | Attributes: |
| | | [ |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: BusinessType |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: Customer |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: CustomerGrade |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type Global_MappingCustomerGrade |
| | | { |
| | | #keys: '5[414702.0.445485672][414702.0.445485670][0.0.0][414702.0.445485671][414702.0.445485673]' |
| | | BaseType: Object |
| | | StructuredName: 'Global_MappingCustomerGrades' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DOI |
| | | { |
| | | #keys: '3[414702.0.445364709][414702.0.445364708][414702.0.445364710]' |
| | | Description: 'åºåå¨è½¬å¤©æ°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DSI |
| | | { |
| | | #keys: '3[414702.0.445364719][414702.0.445364718][414702.0.445364720]' |
| | | Description: 'åºåå¯å®å¤©æ°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrganCode |
| | | { |
| | | #keys: '3[414702.0.445364699][414702.0.445364698][414702.0.445364700]' |
| | | Description: 'ç»ç»ç¼ç ' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[414702.0.445364677][414702.0.445364676][414702.0.445364678]' |
| | | Description: 'ç©æç¼ç ' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeIndex Global_MappingDOI_DSITypeIndex |
| | | { |
| | | Attributes: |
| | | [ |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: ProductID |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: OrganCode |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type Global_MappingDOI_DSI |
| | | { |
| | | #keys: '5[414702.0.445364654][414702.0.445364652][0.0.0][414702.0.445364653][414702.0.445364655]' |
| | | BaseType: Object |
| | | StructuredName: 'Global_MappingDOI_DSIs' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsLinkedWithFinishedGood |
| | | { |
| | | #keys: '3[157968.0.1145180207][157968.0.1145180206][157968.0.1145180208]' |
| | | Description: 'Updated procedurally for checking whether this object is used to produce a finished good.' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsLinkedWithFinishedGood |
| | | { |
| | | #keys: '3[157968.0.1145180190][157968.0.1145180189][157968.0.1145180191]' |
| | | Description: 'Updated procedurally for checking whether this object is used to produce a finished good.' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsLinkedWithFinishedGood |
| | | { |
| | | #keys: '3[157968.0.1145180168][157968.0.1145180167][157968.0.1145180169]' |
| | | Description: 'Updated procedurally for checking whether this product is used to produce a finished good.' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SetIsLinkedWithFinishedGoodAttributes_Recursive ( |
| | | Number depth, |
| | | Number maxdepth, |
| | | Global_MappingProduct_MPs productspool, |
| | | Global_MappingOperations operationspool, |
| | | Global_MappingOperationBOMs operationbomspool |
| | | ) |
| | | { |
| | | Description: 'Method to traverse the supply chain recursively to determine if there are any products that are not used to produce finished goods.' |
| | | TextBody: |
| | | [* |
| | | if( not this.IsLinkedWithFinishedGood() ) |
| | | { |
| | | depth := depth + 1; |
| | | this.IsLinkedWithFinishedGood( true ); |
| | | |
| | | if( depth <= maxdepth ) |
| | | { |
| | | operations := selectset( operationspool, Elements, operation, |
| | | not operation.IsLinkedWithFinishedGood() |
| | | and operation.BusinessType() = this.BusinessType() |
| | | and operation.ProductID() = this.ID() ); |
| | | operationspool.Remove( operations ); |
| | | |
| | | traverse( operations, Elements, operation ) |
| | | { |
| | | operation.IsLinkedWithFinishedGood( true ); |
| | | |
| | | operationboms := selectset( operationbomspool, Elements, operationbom, |
| | | not operationbom.IsLinkedWithFinishedGood() |
| | | and operationbom.BusinessType() = operation.BusinessType() |
| | | and operationbom.OrganCode() = operation.OrganCode() |
| | | and operationbom.ProcessSection() = operation.ProcessSection() |
| | | and operationbom.ProductCode() = operation.ProductID() ); |
| | | operationbomspool.Remove( operationboms ); |
| | | |
| | | traverse( operationboms, Elements, operationbom ) |
| | | { |
| | | operationbom.IsLinkedWithFinishedGood( true ); |
| | | |
| | | componentproduct := Global_MappingProduct_MP::FindTypeIndexIDAndBusinessType( operationbom.ComponentCode(), |
| | | operationbom.BusinessType() ); |
| | | |
| | | if( guard( not componentproduct.IsLinkedWithFinishedGood(), false ) ) |
| | | { |
| | | productspool.Remove( componentproduct ); |
| | | componentproduct.SetIsLinkedWithFinishedGoodAttributes_Recursive( depth, |
| | | maxdepth, |
| | | productspool, |
| | | operationspool, |
| | | operationbomspool ); |
| | | } |
| | | |
| | | if( operationbom.AlternativeMaterialCode() <> "" |
| | | and operationbom.AlternativeMaterialCode() <> operationbom.ComponentCode() ) |
| | | { |
| | | alternativeproduct := Global_MappingProduct_MP::FindTypeIndexIDAndBusinessType( operationbom.AlternativeMaterialCode(), |
| | | operationbom.BusinessType() ); |
| | | |
| | | if( guard( not alternativeproduct.IsLinkedWithFinishedGood(), false ) ) |
| | | { |
| | | productspool.Remove( alternativeproduct ); |
| | | alternativeproduct.SetIsLinkedWithFinishedGoodAttributes_Recursive( depth, |
| | | maxdepth, |
| | | productspool, |
| | | operationspool, |
| | | operationbomspool ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | debuginfo( "Product:", this.ID(), |
| | | "| BusinessType:", this.BusinessType(), |
| | | "| Max depth reached, stop searching... (", depth, ")" ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type H_CustomOrder |
| | | { |
| | | #keys: '5[414724.0.177854646][414724.0.177854644][0.0.0][414724.0.177854645][414724.0.177854647]' |
| | | BaseType: Object |
| | | Description: 'é建åç订å' |
| | | StructuredName: 'H_CustomOrders' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SM_GetBOMBySKU ( |
| | | MacroPlan Owner, |
| | | GlobalOTDTable GlobData, |
| | | String SKU |
| | | ) as MappingBOM |
| | | ) as Global_MappingOperationBOM |
| | | { |
| | | Description: 'æ ¹æ®SKUè·åBOM' |
| | | TextBody: |
| | | [* |
| | | Obj :=null( MappingBOM,constcontent ); |
| | | if( not isnull( Owner) and SKU.Length()>0) |
| | | Obj :=null( Global_MappingOperationBOM,constcontent ); |
| | | if( not isnull( GlobData) and SKU.Length()>0) |
| | | { |
| | | Obj := select( Owner,MappingBOM,ObjM,ObjM.ProductCode()=SKU); |
| | | Obj := select( GlobData,Global_MappingOperationBOM,ObjM,ObjM.ProductCode()=SKU); |
| | | } |
| | | return Obj; |
| | | *] |
| | |
| | | Number ProductQty, |
| | | String ForecastId, |
| | | String VCode, |
| | | Date NDate |
| | | Date NDate, |
| | | GlobalOTDTable GlobData |
| | | ) as owning JSON |
| | | { |
| | | Description: 'è·åç©æä¿¡æ¯' |
| | |
| | | if( Owner.MappingBOM(relsize )>0) |
| | | { |
| | | // å¾å°ä¸ä¸çº§æ°æ® |
| | | AllData:= selectset( Owner, MappingBOM,object,object.ComponentCode()=ParentSKU); |
| | | ObjProduct := null( MappingProduct,constcontent ); |
| | | AllData:= selectset( GlobData, Global_MappingOperationBOM,object,object.ComponentCode()=ParentSKU); |
| | | ObjProduct := null( Product_MP,constcontent ); |
| | | ObjUnit := null( Unit,constcontent ); |
| | | MaterialType:=""; |
| | | MaterialName:="-"; |
| | | StockPoint := ""; |
| | | NRate:=1.0; |
| | | NComponentsUsed :=0.0; |
| | | ObjBOM := H_FunctionClass::SM_GetBOMBySKU( Owner,ParentSKU); |
| | | ObjBOM := H_FunctionClass::SM_GetBOMBySKU(GlobData,ParentSKU); |
| | | if(not isnull( ObjBOM)) |
| | | { |
| | | NRate := ObjBOM.ComponentOutputRate(); |
| | |
| | | ObjProduct:= H_FunctionClass::SM_GetProductInfo(Owner, Obj.ProductCode()); |
| | | if( not isnull( ObjProduct)) |
| | | { |
| | | MaterialType:= ObjProduct.ProductMajorType(); |
| | | MaterialType:= ObjProduct.ParentID(); |
| | | MaterialName:=ObjProduct.Name(); |
| | | } |
| | | ObjUnit:= H_FunctionClass::SM_GetUnitBySKU( Owner,Obj.ProductCode()); |
| | |
| | | ,ID := H_FunctionClass::SM_GenerateID( "MI"),MaterialType := "åææ",NeedDate := NDate |
| | | ,NeedQty := [Number](ProductQty*0.8).Round( 0),Unit := "PCS" |
| | | ,StockPoint :="æµè¯",MaterialName := "æµè¯æ°æ®" ); |
| | | Owner.H_MaterialInfo(relnew,ParentSKU := ParentSKU,SKU := "SKU_M"+ (nCount+1).AsQUILL() ,ForecastID := ForecastId,OrgCode := "ORG_000",VCode := VCode |
| | | ,ID := H_FunctionClass::SM_GenerateID( "MI"),MaterialType := "åæå",NeedDate := NDate |
| | | ,NeedQty := [Number](ProductQty*0.8).Round( 0),Unit := "PCS" |
| | | ,StockPoint :="æµè¯",MaterialName := "æµè¯æ°æ®" ); |
| | | } |
| | | bStatus := true; |
| | | strMsg :=""; |
| | |
| | | StaticMethod SM_GetProductInfo ( |
| | | MacroPlan Owner, |
| | | String SKU |
| | | ) as MappingProduct |
| | | ) as Product_MP |
| | | { |
| | | Description: 'æ ¹æ®SKUè·åç©æä¿¡æ¯' |
| | | TextBody: |
| | | [* |
| | | // æ ¹æ®SKUè·åç©æä¿¡æ¯ |
| | | Obj := null( MappingProduct,constcontent ); |
| | | // 注æï¼ç©æç±»åå ParentID |
| | | Obj := null( Product_MP,constcontent ); |
| | | if( not isnull( Owner) and SKU.Length()>0) |
| | | { |
| | | Obj:= select( Owner,MappingProduct,ObjMP,ObjMP.ID()=SKU); |
| | | Obj:= select( Owner,Product_MP,ObjMP,ObjMP.ID()=SKU); |
| | | } |
| | | return Obj; |
| | | *] |
| | |
| | | #parent: #root |
| | | StaticMethod SM_InitialForcastDataEx ( |
| | | MacroPlan Owner, |
| | | Boolean IsNew |
| | | Boolean IsNew, |
| | | String VersionCode |
| | | ) as owning JSON |
| | | { |
| | | Description: 'åå§å订å颿µä¿¡æ¯' |
| | |
| | | /**********************************åå§å订å颿µä¿¡æ¯*************************************** |
| | | *æ³¨ï¼æªç¡®å®ä¸æ¸¸é¢æµè®¢åæ´æ°é»è¾åæ°æ®æææ§ï¼è¿éè¿è¡äºæ¬¡å¤çï¼æ°çæä¸ä¸ªå表ï¼é¿å
䏿¸¸ä¿¡æ¯åå¨ä¸¥é |
| | | * å½±ååè½ |
| | | * |
| | | *åæ°ï¼IsNew æ¯å¦æ¶å
¨æ°æ°æ®ï¼å
¨æ°æ°æ®ä¼å°æ§çæ°æ®æ¸
é¤ï¼ç¶åéæ°å¡«å
ï¼ä¸æ¯å
¨æ°æ°æ®ï¼å°ç´¯è®¡åæ´æ° |
| | | *****************************************************************************************/ |
| | | // åå§åç»æ |
| | | bStatus := false; |
| | | strMsg :=""; |
| | | |
| | | try{ |
| | | // æ¸
餿§æ°æ®ï¼éæ°æå |
| | | if(Owner.H_Forecast(relget ).Size()>0) |
| | | // 20230925 ä¼åçä¸å¡é»è¾,å¦ææ¶æ°æ°æ®ï¼å颿µæ°æ®å
¨é¨å¹²æï¼ç¶åéæ°çæ |
| | | if( IsNew) |
| | | { |
| | | traverse( Owner,H_Forecast,Obj,not isnull( Obj)) |
| | | if( Owner.H_OrderForecastRealQty(relsize )>0) |
| | | { |
| | | Owner.H_Forecast(reldelete, Obj); |
| | | traverse( Owner,H_OrderForecastRealQty,Obj,not isnull( Obj)) |
| | | { |
| | | Owner.H_OrderForecastRealQty(reldelete, Obj); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // è·å颿µè®¢åï¼å½æåä¹åç3个æé¢æµæ°æ® ä¸é¢æµæ°é>0ç |
| | | AllData:= selectset( Owner, Product_MP.SalesDemand.astype( Forecast ),object,object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth() |
| | | and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth() |
| | | AllData:= selectset( Owner, Product_MP.SalesDemand.astype( Forecast ),object, |
| | | object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth() |
| | | // éæ±ç»æªæ¥4个æçæ°æ®ï¼ä½å¯è½å¹¶ä¸åç¡®ï¼ææ¶æ³¨éæï¼å个æéå¶ |
| | | //and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth() |
| | | and object.Quantity()>0 ); |
| | | |
| | | CustomName:=""; |
| | | DepartMent:=""; |
| | | idx:=0; |
| | | strOrderCode:=""; |
| | | RQty:=0; |
| | | ObjOrderRealQty:=null( H_OrderForecastRealQty,constcontent ); |
| | | // ObjPruduct :=null( MappingProduct,constcontent ); |
| | | SKU:=""; |
| | | SKUName := ""; |
| | | |
| | | traverse( AllData,Elements,Obj,not isnull(Obj)) |
| | | { |
| | | // 没æå®¢æ·ä¿¡æ¯åé¨é¨ä¿¡æ¯ï¼SalesSegmentName=äºä¸é¨+â-â+客æ·åç§° |
| | | CustomName := Obj.SalesSegmentName(); |
| | | DepartMent := Obj.SalesSegmentName(); |
| | | SKU :=Obj.ProductID(); |
| | | // è¿éç¨æ¥æ¾åæªåï¼å 为ä¸ç¡®å®æå 个横线ï¼ä»¥ç¬¬ä¸ä¸ªä¸ºå |
| | | idx:=Obj.SalesSegmentName().FindString( "-",0); |
| | | if(idx>0) |
| | |
| | | DepartMent:=Obj.SalesSegmentName().SubString( 0,idx); |
| | | CustomName := Obj.SalesSegmentName().SubString( idx+1, Obj.SalesSegmentName().Length() - (idx+1)); |
| | | } |
| | | else |
| | | |
| | | // è·åç©æä¿¡æ¯ |
| | | ObjMaterial := H_FunctionClass::SM_GetProductInfo( Owner,Obj.ProductID()); |
| | | if(not isnull( ObjMaterial)) |
| | | { |
| | | CustomName :=Obj.SalesSegmentName(); |
| | | DepartMent := "é¨é¨æ°æ®è·å失败ï¼" |
| | | SKUName := ObjMaterial.Name(); |
| | | } |
| | | // // ä»ç©æè¡¨è·åç©æä¿¡æ¯ |
| | | // ObjPruduct := H_FunctionClass::SM_GetProductInfo( Owner,Obj.ProductID()); |
| | | // if( not isnull( ObjPruduct)) |
| | | // { |
| | | // |
| | | // } |
| | | // åå
¥é¢æµè®¢åä¿¡æ¯è¡¨ |
| | | strOrderCode:=H_FunctionClass::SM_GenerateID( "OF"); |
| | | Owner.H_Forecast(relnew,OrderCode := strOrderCode, |
| | | SKU := Obj.ProductID(), |
| | | CustomCode := CustomName, |
| | | CustomName := CustomName, |
| | | Util:=Obj.UnitOfMeasureName(), |
| | | NeedTime:=Obj.EndDate(), |
| | | ForecastQty:=[Number]Obj.Quantity().Round( 0), |
| | | StockingPointID := Obj.StockingPointID(), |
| | | Department:=DepartMent); |
| | | // åå
¥é¢æµå®æ¶ä¿¡æ¯ |
| | | ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomID()=CustomName and ObjO.SKU()=Obj.ProductID() |
| | | |
| | | // æ´æ°é¢æµä¿¡æ¯ï¼éæ°æ°æ®æ´æ°ä¿¡æ¯ã |
| | | ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomCode()=CustomName and ObjO.SKU()=Obj.ProductID() |
| | | and ObjO.Month().StartOfMonth() = Obj.EndDate().StartOfMonth() ) |
| | | if( isnull( ObjOrderRealQty)) |
| | | if( IsNew or isnull( ObjOrderRealQty)) |
| | | { |
| | | Owner.H_OrderForecastRealQty(relnew,CustomID := CustomName,CustomName := CustomName,ForecatsQty := [Number]Obj.Quantity().Round( 0) |
| | | Owner.H_OrderForecastRealQty(relnew,CustomCode := CustomName,CustomName := CustomName,ForecastQty := [Number]Obj.Quantity().Round( 0) |
| | | ,ForecatsRealQty := [Number]Obj.Quantity().Round( 0),ID := H_FunctionClass::SM_GenerateID( "OR") |
| | | ,Month := Obj.EndDate(),OrderCode := strOrderCode,SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName()); |
| | | ,Month := Obj.EndDate(),SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName() |
| | | ,Department := DepartMent,VCode := VersionCode,SKUName := SKUName); |
| | | } |
| | | else |
| | | { |
| | | if( IsNew) |
| | | // æ´æ°äºé¢æµæ°æ®ï¼å计ç®å®æ¶æ°æ®å¢å |
| | | if( [Number]Obj.Quantity().Round( 0)<> ObjOrderRealQty.ForecastQty()) |
| | | { |
| | | ObjOrderRealQty.ForecatsQty([Number]Obj.Quantity().Round( 0)); |
| | | ObjOrderRealQty.ForecatsRealQty([Number]Obj.Quantity().Round( 0)); |
| | | } |
| | | else |
| | | { |
| | | if( [Number]Obj.Quantity().Round( 0)<> ObjOrderRealQty.ForecatsQty()) |
| | | { |
| | | RQty := [Number]Obj.Quantity().Round( 0) - ObjOrderRealQty.ForecatsQty(); |
| | | RQty := [Number]Obj.Quantity().Round( 0) - ObjOrderRealQty.ForecastQty(); |
| | | RQty := ObjOrderRealQty.ForecatsRealQty() + RQty; |
| | | if( RQty<0) |
| | | { |
| | | RQty :=0; |
| | | } |
| | | ObjOrderRealQty.ForecatsQty([Number]Obj.Quantity().Round( 0)); |
| | | ObjOrderRealQty.ForecastQty([Number]Obj.Quantity().Round( 0)); |
| | | ObjOrderRealQty.ForecatsRealQty(RQty); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | bStatus := true; |
| | | strMsg :="订å颿µåå§åæå!"; |
| | |
| | | nNoHaveForecastQty:=0;//äºé¢æµæ°é |
| | | // è·å颿µæ°éï¼å®¢æ·+SKU+æä»½ çè®ºæ¯æ²¡æç©æé¢æµï¼ |
| | | OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = SKU |
| | | and Obj.CustomID() = CustomerCode |
| | | and Obj.CustomCode() = CustomerCode |
| | | and Obj.Month().Format( "YM2") = Date::ActualDate().Format( "YM2")); |
| | | if ( not isnull(OrderForecast)) |
| | | { |
| | |
| | | { |
| | | Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := SKU, |
| | | Month := Date::ActualDate(), |
| | | CustomID := CustomerCode, |
| | | CustomCode := CustomerCode, |
| | | CustomName := "客æ·è¡¨è·å", |
| | | OrderCode := "-", |
| | | ForecatsQty :=0, |
| | | ForecastQty := 0, |
| | | ForecatsRealQty :=nForecastQtyNew, |
| | | Unit := "SKU å°ç©æè¡¨è·å"); |
| | | } |
| | |
| | | if( not isnull( Owner)) |
| | | { |
| | | // åå§å颿µä¿¡æ¯ |
| | | JResult := H_FunctionClass::SM_InitialForcastDataEx( Owner,IsNew); |
| | | JResult := H_FunctionClass::SM_InitialForcastDataEx( Owner,IsNew,"--"); |
| | | // 颿µåå§å宿 |
| | | if( JResult.Get( "Status").GetBoolean()) |
| | | { |
| | | traverse( Owner,SalesDemand.astype( CustomerOrder ),ObjOrder,not isnull( ObjOrder)) |
| | | nForecastQtyOld := 0; //å颿µæ°é |
| | | nReverseQtyOld :=0; //ååç¾æ°é |
| | | nAuthorizeQtyOld :=0; //åæææ°é |
| | | nForecastQtyNew :=0; //计ç®åç颿µæ°é |
| | | nReverseQtyNew :=0; //计ç®åçåç¾æ°é |
| | | nAuthorizeQtyNew :=0; //计ç®åçæææ°é |
| | | nHaveForecastQty :=0; //æé¢æµæ°é |
| | | nNoHaveForecastQty:=0;//äºé¢æµæ°é |
| | | OrderQuantity := 0; //å©ä½è®¢åæ°é |
| | | traverse( Owner,SalesDemand.astype( CustomerOrder ),ObjOrder) |
| | | { |
| | | // ç´æ¥å 餿¬æä¹åç订å |
| | | if( ObjOrder.EndDate()<Date::ActualDate().StartOfMonth()) |
| | | { |
| | | ObjOrder.Delete(); |
| | | } |
| | | else |
| | | { |
| | | //----------------------------------------以ä¸åå»é¢æµ åç¾ æææ°æ®ä¿¡æ¯---------------- |
| | | nForecastQtyOld := 0; //å颿µæ°é |
| | |
| | | nHaveForecastQty :=0; //æé¢æµæ°é |
| | | nNoHaveForecastQty:=0;//äºé¢æµæ°é |
| | | OrderQuantity := 0; //å©ä½è®¢åæ°é |
| | | |
| | | // è·å颿µæ°éï¼å®¢æ·+SKU+æä»½ çè®ºæ¯æ²¡æç©æé¢æµï¼ |
| | | OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = ObjOrder.ProductID() |
| | | and Obj.CustomID() = ObjOrder.CustomerName() |
| | | and Obj.CustomCode() = ObjOrder.CustomerName() |
| | | and Obj.Month().Format( "YM2") =ObjOrder.EndDate().Format( "YM2")); |
| | | if ( not isnull(OrderForecast)) |
| | | { |
| | | nForecastQtyOld := OrderForecast.ForecatsRealQty(); |
| | | nForecastQtyNew := nForecastQtyOld; |
| | | } |
| | | |
| | | // è·ååç¾æ°éï¼åªå¤æSKUï¼ |
| | | ObjReverse := select(Owner, H_ReverseRealQty , Obj, Obj.SKU() = ObjOrder.ProductID()); |
| | | if ( not isnull(ObjReverse)) |
| | |
| | | nReverseQtyOld := ObjReverse.ReverseRealQty(); |
| | | nReverseQtyNew := nReverseQtyOld; |
| | | } |
| | | |
| | | // è·åæææ°éï¼å®¢æ·ID+SKUï¼ |
| | | ObjAuthorize := select(Owner, H_AuthorizeRealQty , Obj, Obj.SKU() = ObjOrder.ProductID() |
| | | and Obj.CustomID() = ObjOrder.CustomerName()); |
| | |
| | | } |
| | | } |
| | | // 3 æåå²é¢æµ |
| | | if( OrderQuantity>0 and nForecastQtyOld>0) |
| | | if( OrderQuantity>0) |
| | | { |
| | | //é»è®¤è®¢åæ°é>颿µæ°é |
| | | OrderQuantity := OrderQuantity-nForecastQtyOld; |
| | |
| | | Unit := ObjOrder.UnitOfMeasureName(), |
| | | OperateQty := [Number]ObjOrder.Quantity().Round( 0), |
| | | OperateTime := DateTime::ActualTime()); |
| | | // çº¯é¢æµè®¢å |
| | | if( nForecastQtyNew>0) |
| | | { |
| | | FOrder := ObjOrder.Copy(); |
| | | FOrder.OrderTag("çº¯é¢æµ"); |
| | | FOrder.Quantity(nForecastQtyNew); |
| | | } |
| | | // æé¢æµè®¢å |
| | | if(nHaveForecastQty>0) |
| | | { |
| | | HFOrder := ObjOrder.Copy(); |
| | | HFOrder.OrderTag("æé¢æµ"); |
| | | HFOrder.Quantity(nHaveForecastQty); |
| | | } |
| | | // æ 颿µ |
| | | if(nNoHaveForecastQty>0) |
| | | { |
| | | NHFOrder := ObjOrder.Copy(); |
| | | NHFOrder.OrderTag("æ 颿µ"); |
| | | NHFOrder.Quantity(nNoHaveForecastQty); |
| | | } |
| | | // ERPåç¾ææè®¢å-æ¥å£æªæä¾ |
| | | |
| | | // æ´æ°å½ååç¾æ°é |
| | | if( not isnull( ObjReverse)) |
| | |
| | | { |
| | | Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := ObjOrder.ProductID(), |
| | | Month := ObjOrder.EndDate(), |
| | | CustomID := ObjOrder.CustomerName(), |
| | | CustomCode := ObjOrder.CustomerName(), |
| | | CustomName := ObjOrder.CustomerName(), |
| | | OrderCode := "-", |
| | | ForecatsQty :=0, |
| | | ForecastQty := 0, |
| | | ForecatsRealQty :=nForecastQtyNew, |
| | | Unit := ObjOrder.UnitOfMeasureName()); |
| | | } |
| | | ObjOrder.Delete(); |
| | | } |
| | | } |
| | | } |
| | | else |
| | |
| | | nNoHaveForecastQty:=0;//äºé¢æµæ°é |
| | | // è·å颿µæ°éï¼å®¢æ·+SKU+æä»½ çè®ºæ¯æ²¡æç©æé¢æµï¼ |
| | | OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = SKU |
| | | and Obj.CustomID() = CustomerCode |
| | | and Obj.CustomCode() = CustomerCode |
| | | and Obj.Month().Format( "YM2") = Date::ActualDate().Format( "YM2")); |
| | | if ( not isnull(OrderForecast)) |
| | | { |
| | |
| | | { |
| | | Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := SKU, |
| | | Month := Date::ActualDate(), |
| | | CustomID := CustomerCode, |
| | | CustomCode := CustomerCode, |
| | | CustomName := CustomName, |
| | | OrderCode := "-", |
| | | ForecatsQty :=0, |
| | | ForecastQty := 0, |
| | | ForecatsRealQty :=nForecastQtyNew, |
| | | Unit := Unit); |
| | | } |
| | |
| | | for ( x := 1; x <= 10; x := x + 1 ) |
| | | { |
| | | Owner.H_OrderForecastRealQty(relnew,ID := "AAAAA_"+ x.AsQUILL(),SKU := "OTN-01-ACC-00"+ x.AsQUILL() , Month := Date::ActualDate(),CustomName := "å°ç±³", |
| | | CustomID := "XM0001",OrderCode:="OD0001",ForecatsQty:=1000,ForecatsRealQty:=1000, Unit := "PCS"); |
| | | CustomCode := "XM0001",ForecastQty := 1000,ForecatsRealQty:=1000, Unit := "PCS"); |
| | | } |
| | | } |
| | | //H_FunctionClass := Owner.H_FunctionClass(relnew,VCode_Material := VCode,UpdateTime_Material := Date::ActualDate()); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomCode |
| | | { |
| | | #keys: '3[414724.0.174571651][414724.0.174571650][414724.0.174571652]' |
| | | Description: '客æ·IDï¼å¯ä¸å»ºä¹ä¸' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Department |
| | | { |
| | | #keys: '3[414724.0.174571661][414724.0.174571660][414724.0.174571662]' |
| | | Description: 'é¨é¨ï¼æ²¡æä»·å¼ï¼æ¾ç¤ºä½¿ç¨' |
| | | ValueType: String |
| | | } |
ÎļþÃû´Ó _Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecatsQty.qbl ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ForecatsQty |
| | | Attribute ForecastQty |
| | | { |
| | | #keys: '3[414724.0.46380358][414724.0.46380357][414724.0.46380359]' |
| | | Description: '颿µæ°é' |
| | |
| | | Attribute Month |
| | | { |
| | | #keys: '3[414724.0.46380308][414724.0.46380307][414724.0.46380309]' |
| | | Description: 'æä»½' |
| | | Description: 'æä»½ï¼å¯ä¸é®ä¹ä¸' |
| | | ValueType: Date |
| | | } |
| | |
| | | Attribute SKU |
| | | { |
| | | #keys: '3[414724.0.46380348][414724.0.46380347][414724.0.46380349]' |
| | | Description: 'SKUç¼ç ' |
| | | Description: 'SKUç¼ç ï¼å¯ä¸é®ä¹ä¸' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SKUName |
| | | { |
| | | #keys: '3[414724.0.174572228][414724.0.174572227][414724.0.174572229]' |
| | | Description: 'SKUåç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StockingPointID |
| | | { |
| | | #keys: '3[414724.0.174571671][414724.0.174571670][414724.0.174571672]' |
| | | Description: 'åºåç¹ï¼æ²¡æä»·å¼ï¼æ¾ç¤ºä½¿ç¨' |
| | | ValueType: String |
| | | } |
| | |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[414724.0.46380378][414724.0.46380377][414724.0.46380379]' |
| | | Description: 'åä½' |
| | | Description: 'åä½ï¼æ²¡æä»·å¼ï¼æ¾ç¤ºä½¿ç¨' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute VCode |
| | | { |
| | | #keys: '3[414724.0.174571641][414724.0.174571640][414724.0.174571642]' |
| | | Description: 'çæ¬å·ï¼ææ¶ä¸éç¨ï¼é»è®¤-' |
| | | ValueType: String |
| | | } |
| | |
| | | infinite, |
| | | unitofmeasurename ); |
| | | |
| | | Unit::CreateOrUpdate( this, |
| | | supplyunit := Unit::CreateOrUpdate( this, |
| | | "ä¾åºå", |
| | | "ä¾åºå", |
| | | "天马éå¢", |
| | | infinite, |
| | | unitofmeasurename ); |
| | | supplyunit.IsSupplier(true); |
| | | |
| | | Unit::CreateOrUpdate( this, |
| | | "æ´è½¦è¿è¾", |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ReflectionAttribute |
| | | { |
| | | #keys: '3[414382.0.554303396][414382.0.554303395][414382.0.554303397]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ReflectionType |
| | | { |
| | | #keys: '3[414382.0.554014806][414382.0.554014805][414382.0.554014807]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CheckNameValid ( |
| | | MacroPlan owner, |
| | | String businessType, |
| | | Real coefficient, |
| | | String desc, |
| | | String name |
| | | ) as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-22-2023 (created) |
| | | |
| | | value := true; |
| | | |
| | | // åç§°ç¸åè·³è¿ |
| | | obj := selectobject( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType and p.Coefficient() = coefficient and p.Name() = name and p.Desc() = desc |
| | | ); |
| | | |
| | | if(not isnull( obj) ) |
| | | { |
| | | value := false; |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod InitData ( |
| | | MacroPlan owner |
| | | MacroPlan owner, |
| | | String businessType |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-15-2023 (created) |
| | | |
| | | info(" init PriorutyFactor"); |
| | | |
| | | // businessType |
| | | // result := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨"; |
| | | businessTypeList := construct( structured[String]); |
| | | businessTypeList.Add( "éå¢é¢æ¿"); |
| | | businessTypeList.Add( "ä¸ä¸æ¾ç¤ºäºä¸é¨"); |
| | | businessTypeList.Add( "å¤åCELL"); |
| | | businessTypeList.Add( "éæ¾"); |
| | | businessTypeList.Add( "è¿å¨å¥åº·"); |
| | | businessTypeList.Add( "è¿å¨å¥åº·äºä¸é¨"); |
| | | businessTypeList.Add( "ææºäºä¸é¨é¢æ¿"); |
| | | businessTypeList.Add( "ç¹ç§æ¾ç¤º"); |
| | | businessTypeList.Add( "汽车çµåäºä¸é¨é¢æ¿"); |
| | | businessTypeList.Add( "车载æ¾ç¤ºäºä¸é¨"); |
| | | businessTypeList.Add( "ITäºä¸é¨"); |
| | | // æ·»å äºä¸é¨å¯¹åºçé¢å¶ä¼å
级å åæ°æ® |
| | | owner.PriorityFactor(relnew,Name := "客æ·çç¥" ,Desc := "å°äºä¸é¨è®¡ç®çä¼å
çº§ï¼æè¯¥ç»å项æ¯ä¾é¶æ¢¯ç¡®å®è¯¥é¡¹å¾åãå¦ï¼81%â¤Xâ¤100% 5åï¼61%â¤Xâ¤80% 4å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "客æ·ç级" ,Desc := "æ ¹æ®éæ±æ°æ®ä¸å®¢æ·ï¼å¹é
客æ·ç级",BusinessType := businessType); |
| | | owner.PriorityFactor(relnew,Name := "å¤§å¼ ç婿°´å¹³" ,Desc := "1ãè·å客æ·*SKUå¤§å¼ ç婿° 2ãå®ä¹å®¢æ·*SKUå¤§å¼ ç婿°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "ç»åå¸åºç级" ,Desc := "1ãè·å客æ·*SKU对åºç»åå¸åºç级 2ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKU对åºç»åå¸åºè¯åç级ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "éæ±ç±»å" ,Desc := "å¹é
ä¸åéæ±ç§ç±»ï¼å¾å°å¯¹åºå¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "订åä¸åæ¶é´" ,Desc := "æ ¹æ®éæ±è®¢åä¸ä¸åæ¶é´ä¸éæ±æ¶é´å·®å¼ï¼å¹é
é¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "产åç级" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | |
| | | traverse( businessTypeList,Elements,b) |
| | | // ä¼å
级å åç»å |
| | | priorityFactorList := selectset( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType |
| | | ); |
| | | |
| | | traverse( priorityFactorList,Elements,e) |
| | | { |
| | | owner.PriorityFactor(relnew,Name := "客æ·çç¥" ,Desc := "å°äºä¸é¨è®¡ç®çä¼å
çº§ï¼æè¯¥ç»å项æ¯ä¾é¶æ¢¯ç¡®å®è¯¥é¡¹å¾åãå¦ï¼81%â¤Xâ¤100% 5åï¼61%â¤Xâ¤80% 4å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "客æ·ç级" ,Desc := "æ ¹æ®éæ±æ°æ®ä¸å®¢æ·ï¼å¹é
客æ·ç级",BusinessType := b); |
| | | owner.PriorityFactor(relnew,Name := "å¤§å¼ ç婿°´å¹³" ,Desc := "1ãè·å客æ·*SKUå¤§å¼ ç婿° 2ãå®ä¹å®¢æ·*SKUå¤§å¼ ç婿°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "ç»åå¸åºç级" ,Desc := "1ãè·å客æ·*SKU对åºç»åå¸åºç级 2ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKU对åºç»åå¸åºè¯åç级ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "éæ±ç±»å" ,Desc := "å¹é
ä¸åéæ±ç§ç±»ï¼å¾å°å¯¹åºå¾å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "订åä¸åæ¶é´" ,Desc := "æ ¹æ®éæ±è®¢åä¸ä¸åæ¶é´ä¸éæ±æ¶é´å·®å¼ï¼å¹é
é¶æ¢¯å¾å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "产åç级" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := b ); |
| | | owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := b ); |
| | | PriorityFactorDetails::InitData( owner,e); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod InitData ( |
| | | MacroPlan owner |
| | | MacroPlan owner, |
| | | PriorityFactor priorityFactor |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-17-2023 (created) |
| | | |
| | | info(" init PriorutyFactorDetails" ); |
| | | |
| | | |
| | | |
| | | traverse( owner, PriorityFactor , p) |
| | | { |
| | | isBusinessType := false; |
| | | if( p.BusinessType() <> "éå¢é¢æ¿" ) |
| | | if( priorityFactor.BusinessType() <> "éå¢é¢æ¿" ) |
| | | { |
| | | isBusinessType := true; |
| | | } |
| | | |
| | | p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "大ç",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name()); |
| | | p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "å°ç",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name()); |
| | | p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0, |
| | | IsRange := false,GradingName := "æå¹³",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name()); |
| | | p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3, |
| | | IsRange := false,GradingName := "å°äº",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name()); |
| | | p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5, |
| | | IsRange := false,GradingName := "大äº",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name()); |
| | | if( priorityFactor.Name() = "å¤§å¼ ç婿°´å¹³" ) |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "大ç",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "å°ç",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0, |
| | | IsRange := false,GradingName := "æå¹³",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3, |
| | | IsRange := false,GradingName := "å°äº",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5, |
| | | IsRange := false,GradingName := "大äº",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | |
| | | if( priorityFactor.Name() = "客æ·çç¥" ) |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "81%â¤Xâ¤100%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4, |
| | | IsRange := false,GradingName := "61%â¤Xâ¤80%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "41%â¤Xâ¤60%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2, |
| | | IsRange := false,GradingName := "21%â¤Xâ¤40%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := "1%â¤Xâ¤20%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | |
| | | if( priorityFactor.Name() = "ç»åå¸åºç级" ) |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "æç¥",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "éç¹",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := "æ½å",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | |
| | | if( priorityFactor.Name() = "订åä¸åæ¶é´" ) |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "120",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4, |
| | | IsRange := false,GradingName := "90",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "60",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2, |
| | | IsRange := false,GradingName := "30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := "0",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | |
| | | if( priorityFactor.Name() = "éæ±ç±»å" ) |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "æé¢æµ",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "æ 颿µ",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := "çº¯é¢æµ",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | |
| | | if( priorityFactor.Name() = "客æ·ç级" ) |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "æç¥",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "éç¹",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := "æ½å",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | |
| | | if( priorityFactor.Name() = "DOI" or priorityFactor.Name() = "DSI") |
| | | { |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, |
| | | IsRange := false,GradingName := "<7",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, |
| | | IsRange := false,GradingName := "<15",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := "<30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, |
| | | IsRange := false,GradingName := ">30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod RollBackCalcStr ( |
| | | MacroPlan owner, |
| | | String businessType, |
| | | String stringData |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-21-2023 (created) |
| | | value := stringData; |
| | | |
| | | symbolList := construct( structured[String]); |
| | | symbolList.Add( "+") |
| | | symbolList.Add( "-") |
| | | symbolList.Add( "x") |
| | | symbolList.Add( "/") |
| | | symbolList.Add( "(") |
| | | symbolList.Add( ")") |
| | | |
| | | traverse( symbolList,Elements,e) |
| | | { |
| | | if( stringData.EndsWith( e )) |
| | | { |
| | | end := stringData.Length() - e.Length(); |
| | | value := stringData.SubString( 0,end); |
| | | } |
| | | } |
| | | |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,businessType); |
| | | traverse( nameList,Elements,e) |
| | | { |
| | | nameText := e.Name() + "[" + [String]e.Coefficient() + "*L]" |
| | | if( stringData.EndsWith( nameText)) |
| | | { |
| | | end := stringData.Length() - nameText.Length(); |
| | | value := stringData.SubString( 0,end); |
| | | } |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomerOrderID |
| | | { |
| | | #keys: '3[414382.0.554015006][414382.0.554015005][414382.0.554015007]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CalculateBracketScore ( |
| | | String calcStr, |
| | | CustomerOrder customerOrder, |
| | | String businessType, |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | ) as Real |
| | | { |
| | | Description: '计ç®å
¬å¼ä¸æ¬å·å
çæ°æ®' |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-26-2023 (created) |
| | | |
| | | |
| | | return PriorityResult::CalculateScore( calcStr,customerOrder,businessType,macroPlan,0.0,globalOTDTable); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CalculateScore ( |
| | | String formula, |
| | | CustomerOrder customerOrder, |
| | | String businessType, |
| | | MacroPlan macroPlan, |
| | | Real lastScore, |
| | | GlobalOTDTable globalOTDTable |
| | | ) as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-26-2023 (created) |
| | | |
| | | score := 0.0; |
| | | remindFormula := formula; |
| | | |
| | | // éåä¼å
级å åé
ç½® |
| | | |
| | | if( not remindFormula = '' ) |
| | | { |
| | | // ä»èµ·å§ä½ç½®å¼å§å¹é
|
| | | if(remindFormula.StartsWith( "+" )) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()); |
| | | score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); |
| | | score := lastScore + score; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); |
| | | } |
| | | else if( remindFormula.StartsWith( "-" )) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()); |
| | | score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); |
| | | score := lastScore - score; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); |
| | | } |
| | | else if( remindFormula.StartsWith( "*" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()); |
| | | score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); |
| | | score := lastScore * score; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); |
| | | } |
| | | else if( remindFormula.StartsWith( "/" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()); |
| | | score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); |
| | | score := lastScore / score; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); |
| | | } |
| | | else if( remindFormula.StartsWith( "(" ) ) |
| | | { |
| | | // æ¾å°ç¬¬ä¸ä¸ªç»æç ) |
| | | // è®¡ç®æ¬å·ä¸çå
容 |
| | | rightBracket := remindFormula.FindString( ")",0); |
| | | calcStr := remindFormula.SubString( 1,rightBracket); |
| | | PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan,globalOTDTable); |
| | | |
| | | // æªå ) åçå符继ç»è¿è¡è®¡ç® |
| | | remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()); |
| | | } |
| | | else |
| | | { |
| | | // 䏿¯ç¬¦å· ç´æ¥è·å计ç®åçæ°å¼ |
| | | score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); |
| | | info( "123123"); |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); |
| | | } |
| | | } |
| | | |
| | | // 没æå¹é
å
¬å¼è®¡ç®å®æ |
| | | return lastScore; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDetailsValue ( |
| | | CustomerOrder customerOrder, |
| | | String formula, |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | ) as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-26-2023 (created) |
| | | // å½å计ç®ä¼å
级å åç»å 妿è·åä¸å°å
¨é¨å
é»è®¤ä¸º1 |
| | | |
| | | value := 0.0; |
| | | |
| | | priorityFactor := null( PriorityFactor); |
| | | |
| | | traverse( macroPlan,PriorityFactor,p) |
| | | { |
| | | if( formula.StartsWith( p.Name()) ) |
| | | { |
| | | priorityFactor := p; |
| | | } |
| | | } |
| | | |
| | | if( "客æ·çç¥" = priorityFactor.Name()) |
| | | { |
| | | obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "客æ·çç¥" and p.GradingName() = customerOrder.CustomerPolicy()); |
| | | value := priorityFactor.Coefficient() * obj.GradeTarget(); |
| | | } |
| | | |
| | | if( "å¤§å¼ ç婿°´å¹³" = priorityFactor.Name()) |
| | | { |
| | | obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "å¤§å¼ ç婿°´å¹³" and p.GradingName() = customerOrder.SheetProfitability()); |
| | | gradeTarget := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | gradeTarget := obj.GradeTarget(); |
| | | } |
| | | value := priorityFactor.Coefficient() * gradeTarget; |
| | | } |
| | | |
| | | if( "DOI" = priorityFactor.Name()) |
| | | { |
| | | // DOIæ°æ® |
| | | obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID()) |
| | | doi := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | doi := [Real]obj.DOI(); |
| | | } |
| | | value := priorityFactor.Coefficient() * doi; |
| | | } |
| | | |
| | | if( "DSI" = priorityFactor.Name()) |
| | | { |
| | | // DOIæ°æ® |
| | | obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID()) |
| | | dsi := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | dsi := [Real]obj.DSI(); |
| | | } |
| | | value := priorityFactor.Coefficient() * dsi; |
| | | } |
| | | |
| | | if( "ç»åå¸åºç级" = priorityFactor.Name()) |
| | | { |
| | | obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "ç»åå¸åºç级" and p.GradingName() = customerOrder.SegmentPriority()); |
| | | gradeTarget := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | gradeTarget := obj.GradeTarget(); |
| | | } |
| | | value := priorityFactor.Coefficient() * gradeTarget; |
| | | } |
| | | |
| | | if( "éæ±ç±»å" = priorityFactor.Name()) |
| | | { |
| | | // æé¢æµ æ 颿µ çº¯é¢æµ |
| | | obj := selectobject( priorityFactor,PriorityFactorDetails,p,p.GradingName() = customerOrder.OrderType()); |
| | | gradeTarget := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | gradeTarget := obj.GradeTarget(); |
| | | } |
| | | value := priorityFactor.Coefficient() * gradeTarget; |
| | | } |
| | | |
| | | if( "客æ·ç级" = priorityFactor.Name()) |
| | | { |
| | | // éè¿æ°æ®æ¹è®¡ç®å®¢æ·ç级 |
| | | obj := selectobject( globalOTDTable,Global_MappingCustomerGrade,doi,doi.BusinessType() = customerOrder.BusinessType() and doi.Customer() = customerOrder.CustomerName()) |
| | | customerGrade := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | customerGrade := [Real]obj.CustomerGrade(); |
| | | } |
| | | value := priorityFactor.Coefficient() * customerGrade; |
| | | } |
| | | |
| | | if( "订åä¸åæ¶é´" = priorityFactor.Name()) |
| | | { |
| | | // ä¸åæ¶é´ |
| | | orderTime := customerOrder.OrderTime(); |
| | | days := orderTime.TotalInDays() - customerOrder.EndDate().TotalInDays(); |
| | | obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "订åä¸åæ¶é´" and days >= [Number]p.GradingName()); |
| | | value := priorityFactor.Coefficient() * obj.GradeTarget(); |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetRemindFormula ( |
| | | String formula, |
| | | MacroPlan macroPlan |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-26-2023 (created) |
| | | |
| | | str := ""; |
| | | |
| | | traverse( macroPlan,PriorityFactor,p) |
| | | { |
| | | if( formula.StartsWith( p.Name()) ) |
| | | { |
| | | // 夿å©ä½å符é¿åº¦ |
| | | if( p.Name().Length() = formula.Length() ) |
| | | { |
| | | str := "" |
| | | } |
| | | else |
| | | { |
| | | str := formula.SubString( 0 + p.Name().Length(),formula.Length()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return str; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CalculatePriorityResult ( |
| | | String priorityPolicyName, |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-26-2023 (created) |
| | | |
| | | // 计ç®å®¢æ·è®¢åçä¼å
级å¾å åå¡«æéæ°æ® çææ°çPriorityæç»æ°æ® |
| | | |
| | | traverse( macroPlan,SalesDemand.astype( CustomerOrder ),e) |
| | | { |
| | | // äºä¸é¨ä¿¡æ¯ |
| | | //businessType := e.BusinessType(); |
| | | businessType := "ææºäºä¸é¨"; |
| | | |
| | | // è·å对åºäºä¸é¨è®¡ç®å
¬å¼ |
| | | priorityPolicys := selectobject( macroPlan,PriorityPolicy,p,p.BusinessType() = businessType and p.Name() = priorityPolicyName); |
| | | formula := priorityPolicys.Formula(); |
| | | |
| | | // éå½å¤ç计ç®å
¬å¼ è·åå½å订åçå¾å |
| | | value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0,globalOTDTable); |
| | | |
| | | // çæä¼å
级å åè·åç»æ |
| | | priorityResult := macroPlan.PriorityResult(relnew,CustomerOrderID := e.ID(),BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), |
| | | DemandDate := e.EndDate(),ProductID := e.ProductID(),Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(), |
| | | StockingPointID := e.StockingPointID(),UnitOfMeasureName := e.UnitOfMeasureName() |
| | | ); |
| | | |
| | | // 夿æ¯éå¢ è¿æ¯äºä¸é¨ |
| | | if( businessType.FindString( "éå¢",0 ) <> -1) |
| | | { |
| | | priorityResult.PriorityResultGroupDetail( relnew,BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), |
| | | DemandDate := e.EndDate(),PriorityPolicyName := priorityPolicyName,PriorityResultScore := value, |
| | | Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(),StockingPointID := e.StockingPointID(), |
| | | UnitOfMeasureName := e.UnitOfMeasureName(),PriorityTotalScore := value |
| | | ); |
| | | } |
| | | else |
| | | { |
| | | priorityResult.PriorityResultBusinessTypeDetail( relnew,BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), |
| | | DemandDate := e.EndDate(),PriorityPolicyName := priorityPolicyName,PriorityResultScore := value, |
| | | Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(),StockingPointID := e.StockingPointID(), |
| | | UnitOfMeasureName := e.UnitOfMeasureName(),PriorityTotalScore := value |
| | | ); |
| | | } |
| | | } |
| | | |
| | | // ä¼å
级å åå¤çå®æå æåºåå¡«æ°æ® |
| | | resultList := selectsortedset( macroPlan,PriorityResult,result, |
| | | true, |
| | | result.PriorityResultScore() |
| | | ) |
| | | |
| | | priorityValue := 1; |
| | | traverse( resultList,Elements,e) |
| | | { |
| | | obj := selectobject( macroPlan,SalesDemand.astype( CustomerOrder ),order, |
| | | order.ID() = e.CustomerOrderID() |
| | | ); |
| | | |
| | | // è®¢åæ°æ®ä¸ä¸ºç©ºååå¤ç |
| | | if( not isnull( obj ) ) |
| | | { |
| | | obj.PriorityName([String]priorityValue); |
| | | |
| | | // å建ä¼å
çº§æ°æ® |
| | | macroPlan.Priority(relnew,Weight := priorityValue,Name := obj.OrderID()); |
| | | priorityValue := priorityValue + 1; |
| | | } |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | FunctionOverride CalcStockLevelInDays #extension |
| | | { |
| | | TextBody: |
| | | [* |
| | | totalDays := 0.0; |
| | | |
| | | if( not this.Period_MP().MacroPlan().IsMetaOptimizerRunning() ) |
| | | { |
| | | balanceInv := this.InventoryLevelEnd(); |
| | | |
| | | if( balanceInv > 0 ) |
| | | { |
| | | // Calculate stock level in days |
| | | futureperiods := selectsortedset( this, ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), p, |
| | | p.Start() >= this.End(), p.Start() ); |
| | | product := this.ProductInStockingPoint_MP().Product_MP(); |
| | | shelflife := this.ShelfLife(); |
| | | hasshelflife := product.HasShelfLife() and not isnull( shelflife ); |
| | | agevector := RealVector::Construct(); |
| | | quantityvector := RealVector::Construct(); |
| | | |
| | | // Modified logic to consider shelf-life for stock level in days |
| | | if( hasshelflife ) |
| | | { |
| | | // Get the age and quantity vector of remaining product stock at the end of period |
| | | agevector := RealVector::Construct( shelflife.ShelfLifeEndAgeVectorAsBinaryValue() ); |
| | | quantityvector := RealVector::Construct( shelflife.ShelfLifeEndQuantityVectorAsBinaryValue() ); |
| | | } |
| | | |
| | | /* |
| | | Track if consecutive future periods has 0 demand (although we have balance supply, but if remaining future periods has 0 demand not consider as coverable). |
| | | Accumulate the coverable days and only add to total days if manage to find a subsequent period with demand. |
| | | */ |
| | | traverse( futureperiods, Elements, pispip, |
| | | // Terminate calculation once remaining supply is 0 |
| | | balanceInv > 0 ) |
| | | { |
| | | if( balanceInv > 0 ) |
| | | { |
| | | demandQty := pispip.DependentDemandAndSalesDemandQuantity(); |
| | | |
| | | // Include expired quantity as demand to determine stock level in days |
| | | if( hasshelflife ) |
| | | { |
| | | isexpiredinperiodvector := BooleanVector::Construct(); |
| | | |
| | | traverse( agevector.AsValues(), Elements, age ) |
| | | { |
| | | isexpiredinperiod := not product.GetIsUsableInTargetPeriod( [Real] age, pispip.Start(), pispip.Period_MP() ); |
| | | isexpiredinperiodvector.Append( isexpiredinperiod ); |
| | | agevector.Add( pispip.Period_MP().GetDurationInDaysForShelfLife(), false ); |
| | | } |
| | | |
| | | // Sum of all elements in the quantity vector that corresponds to element = true in the boolean vector |
| | | expiredinventoryqty := quantityvector.GetSelection( isexpiredinperiodvector ).Sum(); |
| | | demandQty := demandQty + expiredinventoryqty; // Reduce inventory as expired |
| | | } |
| | | |
| | | if( balanceInv > demandQty ) // Remaining supply can cover demand in period |
| | | { |
| | | totalDays := totalDays + pispip.Period_MP().DurationInDays(); |
| | | balanceInv := balanceInv - demandQty; |
| | | } |
| | | else // Remaining supply partially cover the demand in period |
| | | { |
| | | // Main calc logic |
| | | totalDays := totalDays + ( balanceInv / demandQty * pispip.Period_MP().DurationInDays() ); |
| | | balanceInv := 0.0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.StockLevelInDays( totalDays ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization ProductInStockingPointInPeriodPlanningLeaf #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoSanityCheckData ( |
| | | output Strings feedback_o, |
| | | output Strings sanitycheckfeedback_o |
| | | ) declarative remote #extension |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Adhi Feb-10-2016 (created) |
| | | |
| | | isvalid := true; |
| | | |
| | | isvalid := this.GetHasValidInput( feedback_o, sanitycheckfeedback_o ) and isvalid; |
| | | |
| | | isvalid := this.GetHasTianmaNonSupplierOperationWithNoInput( feedback_o, sanitycheckfeedback_o ) and isvalid; |
| | | |
| | | return isvalid; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetHasTianmaNonSupplierOperationWithNoInput ( |
| | | output Strings feedback_o, |
| | | output Strings sanitycheckfeedback_o |
| | | ) declarative remote as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Tianma change 20230925: If the unit is not a supplier, raise a data issue if there's no input |
| | | value := forall( this, RoutingStep.Operation, operation, |
| | | guard( operation.Unit().IsSupplier(), false ) |
| | | or operation.OperationInput( relsize ) > 0 ); |
| | | |
| | | if( not value ) |
| | | { |
| | | // Add instance text |
| | | routingname := MacroPlan::GetSubstituteName( this.Name() ); |
| | | instance := Translations::MP_Routing_Instance( routingname ); |
| | | feedback := SanityCheckMessage::GetFormattedMessage( instance, |
| | | "éä¾åºåæä½æ²¡ææå
¥æã" ); |
| | | feedback_o.Add( feedback ); |
| | | sanitycheckfeedback_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataWarning() ); |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod AvailableBusinessTypes () as String |
| | | StaticMethod AvailableBusinessTypes ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-23-2023 (created) |
| | | strings := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨;"; |
| | | //strings := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨;"; |
| | | |
| | | //table := KB_BusinessTypesTable; |
| | | // |
| | | //if( strings.EndsWith( ";" ) ) { |
| | | // strings := strings.SubString( 0, strings.Length() - 1 ); |
| | | //} |
| | | |
| | | if( strings.EndsWith( ";" ) ) { |
| | | strings := strings.SubString( 0, strings.Length() - 1 ); |
| | | } |
| | | // 使ç¨businessTypeè·åæ°æ® |
| | | strings := BusinessType::GetBusinessNameStr( globalOTDTable); |
| | | |
| | | return strings; |
| | | *] |
| | |
| | | String parentunitid, |
| | | String capacitytype, |
| | | String unitofmeasurename |
| | | ) |
| | | ) as Unit |
| | | { |
| | | TextBody: |
| | | [* |
| | |
| | | unit := Unit::FindById( owner, id ); |
| | | |
| | | if( id="天马éå¢" and isnull( unit ) ){ |
| | | owner.Unit( relnew, |
| | | unit := owner.Unit( relnew, |
| | | ID := id, |
| | | Name := name, |
| | | UnitOfMeasureName := unitofmeasurename, |
| | |
| | | CapacityType := capacitytype ); |
| | | }else{ |
| | | if( isnull( unit ) ){ |
| | | owner.Unit( relnew, ID := id, |
| | | unit := owner.Unit( relnew, ID := id, |
| | | Name := name, |
| | | ParentUnitID := parentunitid, |
| | | CapacityType := capacitytype, |
| | |
| | | unit.UnitOfMeasureName( unitofmeasurename ); |
| | | } |
| | | } |
| | | |
| | | return unit; |
| | | *] |
| | | } |
| | |
| | | #keys: '[414702.0.340554926]' |
| | | Body: |
| | | [* |
| | | CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan ); |
| | | CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, SelectionScenario.Data() ); |
| | | *] |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | |
| | | Image: 'ELEMENT_BLUE' |
| | | Taborder: 0 |
| | | Title: 'å¤åCELL' |
| | | Tooltip: 'Filling Capacity Scheme List' |
| | | Tooltip: 'å¤åCELL' |
| | | ] |
| | | } |
| | | Component MenuSalesFillingSchemeDetail |
| | |
| | | Image: 'ELEMENT_ORANGE' |
| | | Taborder: 1 |
| | | Title: 'å¡«äº§æ¹æ¡å表' |
| | | Tooltip: 'å¡«äº§æ¹æ¡å表' |
| | | ] |
| | | } |
| | | Component MenuSalesFillingSchemeHistorical |
| | |
| | | Image: 'ELEMENT_ORANGE' |
| | | Taborder: 2 |
| | | Title: '填产åå²è®¢åå表' |
| | | Tooltip: '填产åå²è®¢åå表' |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component abgTest |
| | | { |
| | | #keys: '[414702.0.358311816]' |
| | | BaseType: 'WebActionBarGroup' |
| | | Children: |
| | | [ |
| | | Component btnTest |
| | | { |
| | | #keys: '[414702.0.358311907]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'WATER_FISH' |
| | | Label: 'æµè¯è§å¾' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | Title: 'TestView' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component applicationDevelopmentActionBarPageDef id:applicationDevelopmentActionBarPageDef_1 #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: abgTest |
| | | ] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | // Open view |
| | | //ApplicationMacroPlanner.OpenView( 'Filling Capacity Scheme List',ButtonSalesFillingCapacity); |
| | | |
| | | ApplicationMacroPlanner.OpenView( 'FillingCapacityOrder', ButtonSalesFillingCapacity ); |
| | | //ApplicationMacroPlanner.OpenView( 'FillingCapacityOrder', ButtonSalesFillingCapacity ); |
| | | ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacityOrder",true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | // Open view |
| | | //ApplicationMacroPlanner.OpenView( "FillingCapacitySchemeList",ButtonSalesFillingCapacity); |
| | | ApplicationMacroPlanner.OpenView( "FillingCapacityOrderHistorical"); |
| | | ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacityOrderHistorical",true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | // Open view |
| | | //ApplicationMacroPlanner.OpenView( "FillingCapacitySchemeList",ButtonSalesFillingCapacity); |
| | | ApplicationMacroPlanner.OpenView( "FillingCapacitySchemeList"); |
| | | ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacitySchemeList",true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: abgTest/btnTest |
| | | Response OnClick () id:Response_TIANMA_JITUAN_abgTest_btnTest_OnClick |
| | | { |
| | | #keys: '[414702.0.358346189]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Test", true ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | [ |
| | | #child: ActionBarPageData |
| | | #child: ActionBarPageSales |
| | | #child: applicationDevelopmentActionBarPageDef_1 |
| | | ] |
| | | } |
| | | Component DataHolderCapacityAndSaleBudgeFilterItem |
| | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | businessType := DataHolderBusinessType.Data().BusinessTypeName(); |
| | | DataHolderBusinessType.Data().Commit(); |
| | | |
| | | //if( not isnull( DataHolderForm.Data() ) ) |
| | | //{ |
| | | // // Access the form, select the new assumption |
| | | // DataHolderForm.Data().ListAssumptions().SelectByKey( DataHolderDialogData.Data().WrappedInstance().Key() ); |
| | | //} |
| | | |
| | | PriorityFactor::InitData( MacroPlan,businessType); |
| | | |
| | | this.Close(); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[414702.0.373821470]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414702.0.373821474]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414702.0.373821476]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[414702.0.373821468]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component efPanelMaterialCode |
| | | { |
| | | #keys: '[414702.0.375722232]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.PanelMaterialCode' |
| | | Label: '颿¿ç©æç¼ç ' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component efModuleMaterialCode |
| | | { |
| | | #keys: '[414702.0.375722245]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.ModuleMaterialCode' |
| | | Label: '模æ¿äº§æåID' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component efDivision |
| | | { |
| | | #keys: '[414702.0.375722257]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.Division' |
| | | Label: 'äºä¸é¨' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component efStockingPointID |
| | | { |
| | | #keys: '[414702.0.375874061]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.StockingPointID' |
| | | Label: '模ç»äº§æååºåç¹ID' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | CapacityAllocationResultsRuleConfiguration selection |
| | | ) id:Method_DialogCreateEditCapacityAllocationResultsRuleConfiguration_Edit |
| | | { |
| | | #keys: '[414702.0.375759040]' |
| | | Body: |
| | | [* |
| | | // Edits assumption |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderDialogData.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New () id:Method_DialogCreateEditCapacityAllocationResultsRuleConfiguration_New |
| | | { |
| | | #keys: '[414702.0.375317354]' |
| | | Body: |
| | | [* |
| | | capacityAllocationResultsRuleConfiguration := GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relshadow ); |
| | | |
| | | DataHolderDialogData.Data( &capacityAllocationResultsRuleConfiguration ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[414702.0.373821480]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[414702.0.373821479]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ApplyChanges(); |
| | | |
| | | data := DataHolderDialogData.Data().WrappedInstance(); |
| | | if ( isnull( data ) ) { |
| | | GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew, |
| | | PanelMaterialCode := efPanelMaterialCode.Text(), |
| | | ModuleMaterialCode := efModuleMaterialCode.Text(), |
| | | Division := efDivision.Text(), |
| | | StockingPointID := efStockingPointID.Text() |
| | | ); |
| | | } else { |
| | | DataHolderDialogData.Data().PanelMaterialCode( efPanelMaterialCode.Text() ); |
| | | DataHolderDialogData.Data().ModuleMaterialCode( efModuleMaterialCode.Text() ); |
| | | DataHolderDialogData.Data().Division( efDivision.Text() ); |
| | | DataHolderDialogData.Data().StockingPointID( efStockingPointID.Text() ); |
| | | DataHolderDialogData.Data().Commit(); |
| | | } |
| | | |
| | | |
| | | Form.Close(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogCreateEditCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.373821466]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderDialogData |
| | | { |
| | | #keys: '[414702.0.375413793]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[CapacityAllocationResultsRuleConfiguration]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Image: 'BEAR' |
| | | Padding: 'false' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[414382.0.563131222]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414382.0.563131226]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414382.0.563131228]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[414382.0.563131220]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component PriorityPolicyStringList |
| | | { |
| | | #keys: '[414382.0.563131262]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component DataHolderChoosePriorityPolicy |
| | | { |
| | | #keys: '[414382.0.563131279]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[PriorityPolicy]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CalculatePriorityResult () id:Method_DialogChoosePriorityPolicy_CalculatePriorityResult |
| | | { |
| | | #keys: '[414382.0.577602130]' |
| | | Body: |
| | | [* |
| | | name := PriorityPolicyStringList.Text(); |
| | | PriorityResult::CalculatePriorityResult(name,MacroPlan,GlobalOTDTable); |
| | | this.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OpenChoose () id:Method_DialogChoosePriorityPolicy_OpenChoose |
| | | { |
| | | #keys: '[414382.0.563950563]' |
| | | Body: |
| | | [* |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[414382.0.563131232]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[414382.0.563131231]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogChoosePriorityPolicy ); |
| | | dlg.CalculatePriorityResult(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlContent/DataHolderChoosePriorityPolicy |
| | | Response OnCreated () id:Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated |
| | | { |
| | | #keys: '[414382.0.563131469]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dataList := selectuniquevalues( MacroPlan,PriorityPolicy,p,p.Name()); |
| | | strings := dataList.Concatenate( ";"); |
| | | PriorityPolicyStringList.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlContent/DataHolderChoosePriorityPolicy |
| | | Response OnDataChanged () id:Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.563131545]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dataList := selectuniquevalues( MacroPlan,PriorityPolicy,p,p.Name()); |
| | | strings := dataList.Concatenate( ";"); |
| | | PriorityPolicyStringList.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogChoosePriorityPolicy |
| | | { |
| | | #keys: '[414382.0.563131218]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | Title: 'éæ©ä¼å
级çç¥' |
| | | ] |
| | | } |
| | |
| | | { |
| | | #keys: '[414702.0.223820978]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | flag := guard( [Real]efPlannedQuantity.Text() > 0.0, false ) or DataHolderDialogDatas.Data().Size() > 1; |
| | | |
| | | if ( not flag ) { |
| | | feedback := "请è¾å
¥ä¸ä¸ªå¤§äº0çæ°å"; |
| | | } |
| | | |
| | | return flag; |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | |
| | | Precondition: |
| | | [* |
| | | feedback := Translations::FilllingCapacity_ValidateInput(); |
| | | |
| | | checkValue := not Coefficient.Text() = '' |
| | | |
| | | return checkValue; |
| | | if(not checkValue ) |
| | | { |
| | | feedback := Translations::PriorityFactor_CheckNameValid(); |
| | | editData := DataHolderEditPriorityFactor.Data(); |
| | | checkValue := not PriorityFactor::CheckNameValid( MacroPlan,editData.BusinessType(),[Real]Coefficient.Text(),PriorityFactorName.Text(),Desc.Text()); |
| | | |
| | | } |
| | | |
| | | return checkValue |
| | | *] |
| | | QuillAction |
| | | { |
| | |
| | | DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMax' |
| | | Label: 'æå¤§å¼' |
| | | Taborder: 4 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component RangeMin |
| | |
| | | [ |
| | | DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMin' |
| | | Label: 'æå°å¼' |
| | | Taborder: 5 |
| | | ReadOnly: true |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component GradeDesc |
| | |
| | | FixedSize: false |
| | | Label: 'æè¿°' |
| | | SizeRatio: 3 |
| | | Taborder: 6 |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component PriorityFactorName |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component RangeMaxTest |
| | | { |
| | | #keys: '[414382.0.523235618]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: 'æå¤§å¼' |
| | | Taborder: 5 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component RangeMinText |
| | | { |
| | | #keys: '[414382.0.523361009]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: 'æå°å¼' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | |
| | | if( isRange.Checked() ) |
| | | { |
| | | checkValue := not RangeMax.Text() = '' and not RangeMin.Text() = ''; |
| | | checkValue := not RangeMax.Text() = '' and not RangeMin.Text() = '' and RangeMax.Text() > RangeMin.Text(); |
| | | } |
| | | |
| | | return checkValue; |
| | |
| | | [* |
| | | if( this.Checked()) |
| | | { |
| | | RangeMax.ReadOnly(false); |
| | | RangeMin.ReadOnly(false) |
| | | RangeMax.Visible(true); |
| | | RangeMin.Visible(true); |
| | | RangeMaxTest.Visible(false); |
| | | RangeMinText.Visible(false); |
| | | } |
| | | else{ |
| | | RangeMax.ReadOnly(true); |
| | | RangeMin.ReadOnly(true) |
| | | RangeMax.Visible(false); |
| | | RangeMin.Visible(false); |
| | | RangeMaxTest.Visible(true) |
| | | RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMax()); |
| | | RangeMinText.Visible(true) |
| | | RangeMinText.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMin()); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlContent/isRange |
| | | Response OnCreated () id:Response_pnlContent_isRange_OnCreated |
| | | { |
| | | #keys: '[414382.0.523105450]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Checked()) |
| | | { |
| | | RangeMax.Visible(true); |
| | | RangeMin.Visible(true); |
| | | RangeMaxTest.Visible(false); |
| | | RangeMinText.Visible(false); |
| | | } |
| | | else{ |
| | | RangeMax.Visible(false); |
| | | RangeMin.Visible(false); |
| | | RangeMaxTest.Visible(true) |
| | | RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMax()); |
| | | RangeMinText.Visible(true) |
| | | RangeMinText.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMin()); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.ProductID' |
| | | Label: 'ProductID' |
| | | Strings: 'productID' |
| | | Label: 'ååç¼ç ' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesSegmentName' |
| | | Label: 'SalesSegmentName' |
| | | Strings: 'SalesSagmentName' |
| | | Label: 'éå®é¨é¨' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.StockingPointID' |
| | | Label: 'StockPointID' |
| | | Strings: 'StockPointID' |
| | | Label: 'åºåç¹' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.Customer' |
| | | Label: 'Customer' |
| | | Strings: 'Customer' |
| | | Label: '客æ·' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.Quantity' |
| | | Label: 'Quantity' |
| | | Label: 'æ°é' |
| | | Mask: 'REAL' |
| | | Taborder: 4 |
| | | ] |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.UnitOfMeasureName' |
| | | Label: 'UnitOfMeasureName' |
| | | Label: 'æ°éåä½' |
| | | Strings: 'UnitName' |
| | | Taborder: 5 |
| | | ] |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesAmount' |
| | | Label: 'SalesAmount' |
| | | Label: 'éå®é¢' |
| | | Mask: 'NUMBER' |
| | | Taborder: 6 |
| | | ] |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.DemandDate' |
| | | Label: 'Demand Date' |
| | | Label: 'éæ±æ¥æ' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.ForecastDemandDate' |
| | | Label: 'Forecast Demand Date' |
| | | Label: 'é¢æéæ±æ¥æ' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFilling.Data.VerNo' |
| | | Label: 'VerNo' |
| | | Label: 'çæ¬å·' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762075]' |
| | | #keys: '[414702.0.390053833]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762076]' |
| | | #keys: '[414702.0.390053834]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'structured[CapacityAllocationResultsRuleConfiguration]' |
| | | Source: 'FormCapacityAllocationResultsRuleConfiguration.DataHolderSelectCapacityAllocationResultsRuleConfiguration' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAllocationResults' |
| | | Transformation: 'Elements.CapacityAllocationResults' |
| | | ] |
| | | } |
| | | #child: listActionBarPageCapacityAllocationResults |
| | | Component DataSetLevelCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762081]' |
| | | #keys: '[414702.0.390053839]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | |
| | | ] |
| | | 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"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Date","title":"Date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Date"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Description","title":"Description","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Description"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UserQuantity","title":"UserQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UserQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ManufacturedDate","title":"ManufacturedDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ManufacturedDate"}}]' |
| | | ContextMenu: 'listContextMenuCapacityAllocationResults' |
| | | Taborder: 2 |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.391687385]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonGenerateCapacityAllocationResults id:ButtonGenerateCapacityAllocationResults_570 |
| | | { |
| | | #keys: '[414702.0.391717497]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'PROCESS' |
| | | Label: 'çææ°æ®' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component Export id:Export_398 |
| | | { |
| | | #keys: '[414702.0.392048461]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: '导åº' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762078]' |
| | | #keys: '[414702.0.390053836]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.338762083]' |
| | | #keys: '[414702.0.390053841]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelCapacityAllocationResults/ButtonGenerateCapacityAllocationResults_570 |
| | | Response OnClick () id:Response_FormCapacityAllocationResults_ButtonGenerateCapacityAllocationResults_OnClick_39 |
| | | { |
| | | #keys: '[414702.0.391717496]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, DataHolderActiveScenario.Data() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelCapacityAllocationResults/Export_398 |
| | | Response OnClick () id:Response_PanelCapacityAllocationResults_Export_OnClick |
| | | { |
| | | #keys: '[414702.0.391791234]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Application.Download( "产è½åé
ç»æ.xlsx", CapacityAllocationResults::Export( GlobalOTDTable ).AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Children: |
| | | [ |
| | | #child: ListCapacityAllocationResults |
| | | Component ButtonGenerateCapacityAllocationResults |
| | | { |
| | | #keys: '[414702.0.340677556]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'PROCESS' |
| | | Label: 'çææ°æ®' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | #child: PanelCapacityAllocationResults |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.375255758]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.375255759]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAllocationResultsRuleConfiguration' |
| | | ] |
| | | } |
| | | #child: listActionBarPageCapacityAllocationResultsRuleConfiguration |
| | | Component DataSetLevelCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.375255764]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuCapacityAllocationResultsRuleConfiguration |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]' |
| | | ContextMenu: 'listContextMenuCapacityAllocationResultsRuleConfiguration' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick |
| | | { |
| | | #keys: '[414702.0.373845107]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[811.0.13515064]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelImportAndExport |
| | | { |
| | | #keys: '[414702.0.391512140]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component Import |
| | | { |
| | | #keys: '[414702.0.390081531]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Label: '导å
¥' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component Export |
| | | { |
| | | #keys: '[414702.0.391512453]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: '导åº' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.375255761]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.375255766]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuNew |
| | | { |
| | | #keys: '[414702.0.373851234]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'BEAR' |
| | | Taborder: 3 |
| | | Title: 'å建è§å' |
| | | ] |
| | | } |
| | | Component MenuEdit |
| | | { |
| | | #keys: '[414702.0.376312130]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | BindOnDoubleClick: true |
| | | Image: 'MESSAGE_EDIT' |
| | | Taborder: 4 |
| | | Title: 'ç¼è¾' |
| | | ] |
| | | } |
| | | Component MenuDelete |
| | | { |
| | | #keys: '[414702.0.382537902]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 5 |
| | | Title: 'å é¤' |
| | | ] |
| | | } |
| | | Component MenuSelectAll |
| | | { |
| | | #keys: '[414702.0.382602953]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_SELECTION' |
| | | Shortcut: 'Ctrl+A' |
| | | Taborder: 6 |
| | | Title: 'å
¨é' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderSelectCapacityAllocationResultsRuleConfiguration |
| | | Response OnDataChanged () id:Response_FormCapacityAllocationResultsRuleConfiguration_DataHolderSelectCapacityAllocationResultsRuleConfiguration_OnDataChanged |
| | | { |
| | | #keys: '[414702.0.391379706]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | traverse ( this.Data(), Elements, e ) { |
| | | info( "颿¿ç©æIDï¼", e.PanelMaterialCode() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCapacityAllocationResultsRuleConfiguration |
| | | Response OnClick ( |
| | | CapacityAllocationResultsRuleConfiguration selection |
| | | ) id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuDelete_OnClick |
| | | { |
| | | #keys: '[414702.0.381071285]' |
| | | DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick |
| | | Initiator: 'MenuDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCapacityAllocationResultsRuleConfiguration |
| | | Response OnClick ( |
| | | CapacityAllocationResultsRuleConfiguration selection |
| | | ) id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuEdit_OnClick |
| | | { |
| | | #keys: '[414702.0.376349145]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick |
| | | Initiator: 'MenuEdit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogCreateEditCapacityAllocationResultsRuleConfiguration ); |
| | | |
| | | dlg.Edit( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCapacityAllocationResultsRuleConfiguration |
| | | Response OnClick () id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuNew_OnClick |
| | | { |
| | | #keys: '[414702.0.375256192]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick |
| | | Initiator: 'MenuNew' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogCreateEditCapacityAllocationResultsRuleConfiguration ); |
| | | |
| | | dlg.New(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCapacityAllocationResultsRuleConfiguration |
| | | Response OnClick () id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuSelectAll_OnClick |
| | | { |
| | | #keys: '[414702.0.381011855]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick |
| | | Initiator: 'MenuSelectAll' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.SelectAll(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelImportAndExport/Export |
| | | Response OnClick () id:Response_PanelImportAndExport_Export_OnClick |
| | | { |
| | | #keys: '[414702.0.391658465]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Application.Download( "产è½åé
ç»æè§å.xlsx", CapacityAllocationResultsRuleConfiguration::Export( GlobalOTDTable ).AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelImportAndExport/Import |
| | | Response OnClick () id:Response_PanelImportAndExport_Import_OnClick |
| | | { |
| | | #keys: '[414702.0.391899822]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | try { |
| | | uploadJsonString := Application.GetFile(); |
| | | if ( uploadJsonString <> "" ) { |
| | | uploadJson := JSON::Parse( uploadJsonString ); |
| | | |
| | | fileName := uploadJson.Get( "name" ).GetString(); |
| | | base64String := uploadJson.Get( "data" ).GetString(); |
| | | CapacityAllocationResultsRuleConfiguration::Import( GlobalOTDTable, base64String ); |
| | | |
| | | WebMessageBox::Success( "ä¸ä¼ æå", true ); |
| | | } |
| | | } onerror { |
| | | WebMessageBox::Error( e.GeneralInformation(), true ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.373844315]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: ListCapacityAllocationResultsRuleConfiguration |
| | | Component DataHolderSelectCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.390054479]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[CapacityAllocationResultsRuleConfiguration]*' |
| | | Children: |
| | | [ |
| | | Component DataExtractorSelectCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '[414702.0.391186862]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'CapacityAllocationResultsRuleConfiguration' |
| | | ExtractionMode: 'Selected' |
| | | Source: 'ListCapacityAllocationResultsRuleConfiguration' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: PanelImportAndExport |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_CHECKS' |
| | | Title: '产è½åé
ç»ææ¥è¡¨-è§åç»´æ¤' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListSalesDemands #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component DataSetLevelSalesDemands #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: listContextMenuSD |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"Customer name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"Customer ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"Order ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"Order line ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Order date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity() - object.FulfilledQuantity(), 0.0).Round( 2)"}},{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"Is firmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEligibleForNetting","title":"Is eligible for netting","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsEligibleForNetting"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderTag","title":"è®¢åæ ç¾","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderTag"}}]' |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelAllSalesDemands #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: ListSalesDemands |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelSalesDemands #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: PanelAllSalesDemands |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuSD #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component MenuPriorityResult |
| | | { |
| | | #keys: '[414382.0.562012014]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 10 |
| | | Title: 'äºä¸é¨ä¼å
级计ç®' |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListSalesDemands |
| | | Response OnClick () id:Response_ListSalesDemands_MenuPriorityResult_OnClick |
| | | { |
| | | #keys: '[414382.0.563130924]' |
| | | CanBindMultiple: false |
| | | DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick |
| | | Initiator: 'MenuPriorityResult' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | dlg := construct( DialogChoosePriorityPolicy ); |
| | | dlg.OpenChoose(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: LibMacroPlannerWebUI |
| | | OrphanComponent FormCustomerOrders #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: PanelSalesDemands |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListSDIP |
| | | { |
| | | #keys: '[134266.1.1970512356]' |
| | | BaseType: 'ListSDIP' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component DataSetLevelSDIP |
| | | { |
| | | #keys: '[134266.1.1970512358]' |
| | | BaseType: 'DataSetLevelSDIP' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsRestricted","title":"ImgIsRestricted","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsRestricted"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MasterSalesDemand.UnitOfMeasureName","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MasterSalesDemand.UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"QuantityInSalesDemandUOM","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"QuantityInSalesDemandUOM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantityInSalesDemandUOM","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantityInSalesDemandUOM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity()-object.FulfilledQuantity(),0.0)"}}]}}]' |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListSalesDemands |
| | | { |
| | | #keys: '[134266.1.1970507083]' |
| | | BaseType: 'ListSalesDemands' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component DataExtractorSalesDemands |
| | | { |
| | | #keys: '[134266.1.1970507084]' |
| | | BaseType: 'DataExtractorSalesDemands' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | Transformation: 'Elements.astype(CustomerOrder)' |
| | | ] |
| | | } |
| | | Component DataSetLevelSalesDemands |
| | | { |
| | | #keys: '[134266.1.1970507085]' |
| | | BaseType: 'DataSetLevelSalesDemands' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"Customer name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"Customer ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"Order ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"Order line ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Order date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity() - object.FulfilledQuantity(), 0.0).Round( 2)"}},{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"Is firmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEligibleForNetting","title":"Is eligible for netting","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsEligibleForNetting"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}}]' |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelAllSalesDemands |
| | | { |
| | | #keys: '[134266.1.1970497658]' |
| | | BaseType: 'PanelAllSalesDemands' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | #child: ListSalesDemands |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelSDIP |
| | | { |
| | | #keys: '[134266.1.1970511019]' |
| | | BaseType: 'PanelSDIP' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | #child: ListSDIP |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'Customer orders at planning level' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelSalesDemands |
| | | { |
| | | #keys: '[134266.1.1970506995]' |
| | | BaseType: 'PanelSalesDemands' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | #child: PanelSDIP |
| | | #child: PanelAllSalesDemands |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListSalesDemands |
| | | Response OnClick () inherited id:Response_ListSalesDemands_MenuCopy_OnClick |
| | | { |
| | | #keys: '[136682.1.799924425]' |
| | | BaseType: 'Response_ListSalesDemands_MenuCopy_OnClick' |
| | | DefinitionID: 'Responsedef_ListSalesDemands_WebMenu_OnClick' |
| | | Initiator: 'MenuCopy' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // Copy sales demand |
| | | data := selectset( selection, Elements.astype( CustomerOrder ), co, true, true ); |
| | | CustomerOrder::Copy( data ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListSalesDemands |
| | | Response OnClick () inherited id:Response_ListSalesDemands_MenuCreate_OnClick_715 |
| | | { |
| | | #keys: '[136682.1.803262814]' |
| | | BaseType: 'Response_ListSalesDemands_MenuCreate_OnClick_715' |
| | | DefinitionID: 'Responsedef_ListSalesDemands_WebMenu_OnClick' |
| | | Initiator: 'MenuCreate' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //Create new sales demand |
| | | dlg := construct( DialogCreateEditCustomerOrder ); |
| | | dlg.New(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListSalesDemands |
| | | Response OnClick () inherited id:Response_ListSalesDemands_MenuEdit_OnClick |
| | | { |
| | | #keys: '[136682.1.803135245]' |
| | | BaseType: 'Response_ListSalesDemands_MenuEdit_OnClick' |
| | | DefinitionID: 'Responsedef_ListSalesDemands_WebMenu_OnClick' |
| | | Initiator: 'MenuEdit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //Edit sales demand |
| | | dlg := construct( DialogCreateEditCustomerOrder ); |
| | | |
| | | data := selectset( selection, Elements.astype( CustomerOrder ), f, true, true ); |
| | | dlg.Edit( data ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormCustomerOrders226 |
| | | { |
| | | #keys: '[414724.0.179160850]' |
| | | Accessibility: 'Extensible' |
| | | BaseType: 'FormSalesDemands' |
| | | Children: |
| | | [ |
| | | #child: PanelSalesDemands |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'SALES_QUOTATION' |
| | | Title: 'Customer orders' |
| | | ] |
| | | } |
| | |
| | | Title: 'Filling' |
| | | ] |
| | | } |
| | | Component MenuTest |
| | | Component MenuRefresh |
| | | { |
| | | #keys: '[414382.0.415603149]' |
| | | BaseType: 'WebMenu' |
| | |
| | | [ |
| | | Image: 'ADD2' |
| | | Taborder: 4 |
| | | Title: 'Test' |
| | | Title: 'å·æ°' |
| | | ] |
| | | } |
| | | ] |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCustomerAndFillingCapacityOrder |
| | | Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick |
| | | Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick |
| | | { |
| | | #keys: '[414382.0.415724061]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuTest' |
| | | Initiator: 'MenuRefresh' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | CustomerAndForecastOrder::CreateTestData( MacroPlan); |
| | | CustomerAndForecastOrder::RefreshData( MacroPlan,GlobalOTDTable); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete() |
| | | FilllingCapacityOrderScheme::DeleteDetails( MacroPlan,selection.SchemeName()); |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListFillingScheme |
| | | Response OnSelectionChanged ( |
| | | FilllingCapacityOrderScheme selection |
| | | ) id:Response_ListFillingScheme_OnSelectionChanged |
| | | { |
| | | #keys: '[414382.0.532640606]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | schemeName := selection.SchemeName(); |
| | | list := selectset( MacroPlan,FillingCapacityOrder,order,order.SchemeName() = selection.SchemeName()); |
| | | DataHolderFillingScheme.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionWorkOrderNumber","title":"ProductionWorkOrderNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionWorkOrderNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductModel","title":"ProductModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialDescription","title":"MaterialDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlannedQuantity","title":"PlannedQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlannedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderType","title":"WorkOrderType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderStatus","title":"WorkOrderStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderStatus"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionWorkOrderNumber","title":"ProductionWorkOrderNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionWorkOrderNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductModel","title":"Product ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialDescription","title":"MaterialDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlannedQuantity","title":"PlannedQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlannedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderType","title":"WorkOrderType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderStatus","title":"WorkOrderStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderStatus"}}]' |
| | | ContextMenu: 'MenuIssueEdit' |
| | | Taborder: 2 |
| | | ] |
| | |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListIssueWorkOrder/Responsedef_ListIssueWorkOrder_WebMenu_OnClick |
| | | Initiator: 'MenuEdit' |
| | | Precondition: |
| | | [* |
| | | flag := DataHolderCheckedMasterPlanReleaseWorkOrderTabulation.Data().Size() > 0; |
| | | |
| | | if ( not flag ) { |
| | | feedback := "æªéæ©æ°æ®"; |
| | | } |
| | | |
| | | return flag; |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogCreateEditIssueWorkOrder ); |
| | | |
| | | dlg.Edit( selection ); |
| | | dlg.Edit( DataHolderCheckedMasterPlanReleaseWorkOrderTabulation.Data() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: '天è±' |
| | | Description: '天å' |
| | | Image: 'CANDLE' |
| | | Title: '天è±' |
| | | Title: '天å' |
| | | ] |
| | | } |
| | |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuInitData |
| | | { |
| | | #keys: '[414382.0.482890505]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR' |
| | | Taborder: 3 |
| | | Title: 'Init Data' |
| | | ] |
| | | } |
| | | Component MenuEdit |
| | | { |
| | | #keys: '[414382.0.485622263]' |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_EDIT' |
| | | Taborder: 4 |
| | | Taborder: 3 |
| | | Title: 'ç¼è¾' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityFactorBusinessType |
| | | Response OnCreated () id:Response_FormPriorityFactor_DataHolderPriorityFactorBusinessType_OnCreated |
| | | { |
| | | #keys: '[414382.0.539235155]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true); |
| | | this.Data(&businessTypeList); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityFactorBusinessType |
| | | Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderPriorityFactorBusinessType_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.539235291]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true); |
| | | this.Data(&businessTypeList); |
| | | strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); |
| | | DropDownStringListBusinessType.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | #parent: DropDownStringListBusinessType |
| | | Response OnCreated () id:Response_FormPriorityFactor_DropDownStringListBusinessType_OnCreated |
| | | { |
| | | #keys: '[414382.0.461201807]' |
| | | #keys: '[414382.0.539375553]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | info( "selection" ); |
| | | list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); |
| | | DataHolderPriorityFactorSelect.Data(&list); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPriorityFactor |
| | | Response OnSelectionChanged ( |
| | | PriorityFactor selection |
| | | ) id:Response_ListPriorityFactor_OnSelectionChanged |
| | | { |
| | | #keys: '[414382.0.541275298]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | info( "selecion change" ); |
| | | detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan); |
| | | DataHolderPriorityFactorDetailsSelect.Data(&detaisls); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityFactorBusinessType |
| | | { |
| | | #keys: '[414382.0.539205233]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[BusinessType]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'ä¼å
级å å' |
| | | ] |
| | | } |
| | |
| | | } |
| | | #child: ListPriorityFactorGrading |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'ä¼å
级å åç»å' |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: '宿' |
| | | Label: 'ä¿å' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'æ·»å å å' |
| | | Label: 'æ·»å ' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: '*' |
| | | Label: '-' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | str := PriorityFactor::GetNameList( MacroPlan, businessType); |
| | | DropDownStringList.Strings(str); |
| | | |
| | | LabelFormula.Text(selection.Formula()); |
| | | LabelCalculateValue.Text(selection.CalculateValue()); |
| | | |
| | | data := shadow( selection ); |
| | | DataHolderEditPriorityPolicy.Data( &data ); |
| | | |
| | | //coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text()); |
| | | //LabelPriorityPolicyCoefficient.Text([String]coefficient); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | #keys: '[414382.0.502145449]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | feedback := "该ä¼å
级å åå·²è¢«éæ©." |
| | | |
| | | return not LabelFormula.Text() ~ DropDownStringList.Text(); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | |
| | | formulaText := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelFormula.Text()); |
| | | LabelFormula.Text(formulaText); |
| | | |
| | | calculateTest := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelCalculateValue.Text()); |
| | | calculateTest := PriorityPolicy::RollBackCalcStr( MacroPlan,businessType,LabelCalculateValue.Text()); |
| | | LabelCalculateValue.Text(calculateTest); |
| | | *] |
| | | GroupServerCalls: false |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPriorityPolicyOperationButton/DropDownStringList |
| | | Response OnCreated () id:Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated |
| | | { |
| | | #keys: '[414382.0.539822108]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strs := PriorityFactor::GetNameList( MacroPlan,DropDownStringList.Text()); |
| | | this.Strings(strs); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | info( "select changeed" ); |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text()); |
| | | LabelPriorityPolicyCoefficient.Text([String]coefficient); |
| | | info("coefficient := " + [String]coefficient ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'ä¼å
çº§ç»æé¡µé¢' |
| | | ] |
| | | } |
| | |
| | | dlg := construct( DialogCreateEditScenario ); |
| | | dlg.checkboxEnableSync().Visible( true ); |
| | | dlg.dropDownStringListGeneral().Visible( true ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) ); |
| | | dlg.checkboxIsKeyProduct().Visible( true ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( true ); |
| | | dlg.NewScenario( ScenarioManager, selection, true ); |
| | |
| | | dlg := construct( DialogCreateEditScenario ); |
| | | dlg.checkboxEnableSync().Visible( true ); |
| | | dlg.dropDownStringListGeneral().Visible( true ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) ); |
| | | dlg.checkboxIsKeyProduct().Visible( true ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( true ); |
| | | parent := selection.Element( 0 ).Parent(); |
| | |
| | | dlg.checkboxEnableSync().Checked( false ); |
| | | dlg.checkboxEnableSync().Visible( false ); |
| | | dlg.dropDownStringListGeneral().Visible( false ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) ); |
| | | dlg.checkboxIsKeyProduct().Visible( false ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( false ); |
| | | dlg.NewScenario( ScenarioManager, selection ); |
| | |
| | | dlg.checkboxEnableSync().Checked( false ); |
| | | dlg.checkboxEnableSync().Visible( false ); |
| | | dlg.dropDownStringListGeneral().Visible( false ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) ); |
| | | dlg.checkboxIsKeyProduct().Visible( false ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( false ); |
| | | parent := selection.Element( 0 ).Parent(); |
| | |
| | | // Edit scenario |
| | | dlg := construct( DialogCreateEditScenario ); |
| | | dlg.dropDownStringListGeneral().Visible( selection.EnableSync() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) ); |
| | | dlg.checkboxIsKeyProduct().Visible( selection.EnableSync() ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( selection.EnableSync() ); |
| | | |
| | |
| | | { |
| | | JInfo := JSON::Parse( SelectItem.ValueJsonString()); |
| | | lb_SUK_FAACM.Text(JInfo.Get( "ParentSKU").GetString()); |
| | | lb_SKUName_FAACM.Text(JInfo.Get( "ParentSKUName").GetString()); |
| | | lb_MaterialCode_FAACM.Text(JInfo.Get( "SKU").GetString()); |
| | | lb_MaterialName.Text(JInfo.Get( "MaterialName").GetString()); |
| | | lb_Unit_FAACM.Text(JInfo.Get( "Unit").GetString()); |
| | | lb_Operator_FAACM.Text(ApplicationMacroPlanner.GetUserName()); |
| | | lb_MaterialType_FAACM.Text(JInfo.Get( "MaterialType").GetString()); |
| | | txt_CustomID_FAACM.Text(JInfo.Get( "CustomCode").GetString()); |
| | | txt_CustomName_FAACM.Text(JInfo.Get( "CustomName").GetString()); |
| | | } |
| | |
| | | [* |
| | | if( not isnull( selection)) |
| | | { |
| | | // 颿µè®¢ååºæ¬ä¿¡æ¯ |
| | | CustomCode:=""; |
| | | CustomName:=""; |
| | | SKUName:=""; |
| | | SValueJsonString:=""; |
| | | // è·å客æ·åç§°å客æ·ID |
| | | if(txtSaveForecastData_FM.Text().Length()>0) |
| | | { |
| | | jForecast := JSON::Parse( txtSaveForecastData_FM.Text()); |
| | | CustomCode := jForecast.Get( "CustomCode").GetString(); |
| | | CustomName := jForecast.Get( "CustomName").GetString(); |
| | | SKUName := jForecast.Get( "SKUName").GetString(); |
| | | } |
| | | |
| | | if(selection.MaterialType()="åæå") |
| | | { |
| | | OrderCode:=""; |
| | | ForecastID:=""; |
| | | if( txtSaveForecastData_FM.Text().Length()>0) |
| | | { |
| | | JForecast := JSON::Parse( txtSaveForecastData_FM.Text()); |
| | | OrderCode := JForecast.Get( "OrderCode").GetString(); |
| | | ForecastID := JForecast.Get( "ForecastID").GetString(); |
| | | } |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.NeedQty(), OrderCode,"-",selection.NeedDate()); |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.NeedQty(), ForecastID,"-",selection.NeedDate(),GlobalOTDTable); |
| | | if(jResult.Get( "Status").GetBoolean()) |
| | | { |
| | | de_dh_FM_ProductMP.FixedFilter( "object.ParentSKU() = " + selection.SKU().AsQUILL() |
| | | + " and object.ForecastID() = " + OrderCode.AsQUILL() |
| | | + " and object.ForecastID() = " + ForecastID.AsQUILL() |
| | | ); |
| | | } |
| | | else |
| | |
| | | } |
| | | else |
| | | { |
| | | // å¼¹åºç©æåç¾ææ |
| | | SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmMaterial" and Obj.ItemKey()="ListSelect"); |
| | | if(not isnull(selection)) |
| | | { |
| | | SValueJsonString:= JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "MaterialName",selection.MaterialName()) |
| | | .Add( "MaterialType",selection.MaterialType()) |
| | | .Add( "OrgCode",selection.OrgCode()) |
| | | .Add( "Unit",selection.Unit()) |
| | | .Add( "CustomCode",CustomCode) |
| | | .Add( "ParentSKU",lb_SUK_FM.Text()) |
| | | .Add( "ParentSKUName",SKUName) |
| | | .Add( "CustomName",CustomName).Build().AsString(); |
| | | } |
| | | if(isnull( SelectItem)) |
| | | { |
| | | MacroPlan.H_MessagePassing(relnew,FKey := "FrmMaterial",ItemKey := "ListSelect", ValueJsonString:=SValueJsonString); |
| | | } |
| | | else |
| | | { |
| | | SelectItem.ValueJsonString( SValueJsonString); |
| | | } |
| | | Application.OpenForm( "FrmAuthorizeAndCountersign_Material","modal"); |
| | | } |
| | | } |
| | | *] |
| | |
| | | JSelect := JSON::Parse( SelectItem.ValueJsonString()); |
| | | lb_SUK_FM.Text(JSelect.Get( "SKU").GetString()); |
| | | de_dh_FM_ProductMP.FixedFilter( "object.ParentSKU() = " + JSelect.Get( "SKU").GetString().AsQUILL() |
| | | + " and object.ForecastID() = " + JSelect.Get( "OrderCode").GetString().AsQUILL() |
| | | + " and object.ForecastID() = " + JSelect.Get( "ForecastID").GetString().AsQUILL() |
| | | ); |
| | | } |
| | | } |
| | |
| | | CustomName:=""; |
| | | SValue:=""; |
| | | SValueJsonString:=""; |
| | | SKUName:=""; |
| | | // è·å客æ·åç§°å客æ·ID |
| | | if(txtSaveForecastData_FM.Text().Length()>0) |
| | | { |
| | | jForecast := JSON::Parse( txtSaveForecastData_FM.Text()); |
| | | CustomCode := jForecast.Get( "CustomCode").GetString(); |
| | | CustomName := jForecast.Get( "CustomName").GetString(); |
| | | SKUName := jForecast.Get( "SKUName").GetString(); |
| | | } |
| | | if(not isnull(selection)) |
| | | { |
| | |
| | | .Add( "Unit",selection.Unit()) |
| | | .Add( "CustomCode",CustomCode) |
| | | .Add( "ParentSKU",lb_SUK_FM.Text()) |
| | | .Add( "ParentSKUName",SKUName) |
| | | .Add( "CustomName",CustomName).Build().AsString(); |
| | | } |
| | | if( isnull( SelectItem)) |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | ButtonSize: 'compact' |
| | | Description: 'è®¢åæ°å¢åç¾/ææ' |
| | | Label: 'è®¢åæ°å¢åç¾/ææ' |
| | | Taborder: 1 |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | ButtonSize: 'compact' |
| | | Description: 'åææ°å¢åç¾/ææ' |
| | | Label: 'åææ°å¢åç¾/ææ' |
| | | Taborder: 2 |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | |
| | | } |
| | | ] |
| | | } |
| | | Component btn_InitialData778 |
| | | { |
| | | #keys: '[414724.0.115504406]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Description: 'å è½½æ°æ®ï¼åçï¼åç»éè¦å¯¹æ¥æ°æ®ï¼' |
| | | Label: 'å è½½é¢æµè®¢åæ°æ®' |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component btn_OrderH_FOF |
| | | { |
| | | #keys: '[414724.0.165490408]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | ButtonSize: 'compact' |
| | | Description: 'ERO订åå²å' |
| | | Image: 'AMMUNITION_BOX_CLOSED' |
| | | Label: 'ERP订åå²å' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component txt_QueryContent_FOF |
| | | { |
| | | #keys: '[414724.0.172390935]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | PlaceHolder: 'æ¨¡ç³æç´¢' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component btn_Query_FOF |
| | | { |
| | | #keys: '[414724.0.172390951]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | ButtonSize: 'compact' |
| | | Description: 'æ¥è¯¢' |
| | | Image: 'VIEW' |
| | | Label: 'æ¥è¯¢' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[H_Forecast]' |
| | | Source: 'dh_FOF_H_Forecast' |
| | | DataType: 'structured[H_OrderForecastRealQty]' |
| | | Source: 'dh_FOF_H_OrderForecastRealQty' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderCode","title":"订åç¼å·","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKUç¼ç ","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastQty","title":"颿µæ°é","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NeedTime","title":"éæ±æ¶é´","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NeedTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Util","title":"åä½","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Util"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomName","title":"客æ·åç§°","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Department","title":"éå®é¨é¨","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Department"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Month","title":"æä»½","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Month"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomName","title":"客æ·åç§°","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKUç¼å·","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecatsQty","title":"颿µæ°é","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecatsQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecatsRealQty","title":"çº¯é¢æµæ°é","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecatsRealQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit","title":"åä½","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Department","title":"é¨é¨","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Department"}}]' |
| | | ContextMenu: 'listContextMenu367' |
| | | Taborder: 2 |
| | | ] |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 7 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | // åå§åæ¥è¯¢åæ°æä»½ |
| | | ds_Month_FOF.Date(Date::ActualDate()); |
| | | // åå§å颿µæ°æ® |
| | | JResult := H_FunctionClass::SM_InitialForcastData( MacroPlan); |
| | | JResult := H_FunctionClass::SM_InitialForcastDataEx( MacroPlan,true,"-"); |
| | | if(not JResult.Get( "Status").GetBoolean()) |
| | | { |
| | | WebMessageBox::Warning( JResult.Get( "Msg").GetString()); |
| | | } |
| | | else |
| | | { |
| | | WebMessageBox::Information( JResult.Get( "Msg").GetString()); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Panel351/btn_Add_Material_FOF503 |
| | | Response OnClick ( |
| | | H_Forecast selection |
| | | H_OrderForecastRealQty selection |
| | | ) id:Response_Panel351_btn_Add_Material_FOF503_OnClick_222 |
| | | { |
| | | #keys: '[414724.0.145178766]' |
| | |
| | | if( isnull( SelectItem)) |
| | | { |
| | | MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", |
| | | Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(), |
| | | ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Util()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | | .Add( "ForecastQty",selection.ForecastQty()) |
| | | .Add( "NeedTime",selection.NeedTime().AsQUILL()) |
| | | .Add( "OrderCode",selection.OrderCode()).Build().AsString()); |
| | | .Add( "ForecastID",selection.ID()) |
| | | .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); |
| | | } |
| | | else |
| | | { |
| | | SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName()); |
| | | SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Util()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | | .Add( "ForecastQty",selection.ForecastQty()) |
| | | .Add( "NeedTime",selection.NeedTime().AsQUILL()) |
| | | .Add( "OrderCode",selection.OrderCode()).Build().AsString()); |
| | | .Add( "ForecastID",selection.ID()) |
| | | .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); |
| | | } |
| | | |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.OrderCode(),"-",selection.NeedTime()); |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month(),GlobalOTDTable); |
| | | if(jResult.Get( "Status").GetBoolean()) |
| | | { |
| | | Application.OpenForm( "FrmMaterial","popout"); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Panel351/btn_Add_Order_FOF449 |
| | | Response OnClick ( |
| | | H_Forecast selection |
| | | H_OrderForecastRealQty selection |
| | | ) id:Response_Panel351_btn_Add_Order_FOF449_OnClick_880 |
| | | { |
| | | #keys: '[414724.0.141244111]' |
| | |
| | | SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect"); |
| | | if( isnull( SelectItem)) |
| | | { |
| | | |
| | | MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", |
| | | Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(), |
| | | ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Util()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "CustomName",selection.CustomName()).Build().AsString()); |
| | | } |
| | | else |
| | | { |
| | | SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName()); |
| | | SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Util()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "CustomName",selection.CustomName()).Build().AsString()); |
| | | } |
| | | Application.OpenForm( "FrmAuthorizeAndCountersign_Order","modal"); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Panel351/btn_Query_FOF |
| | | Response OnClick () id:Response_Panel351_btn_Query_FOF_OnClick |
| | | { |
| | | #keys: '[414724.0.172390950]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | de_dh_FOF_H_Foecast.FixedFilter( "object.SKU().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" |
| | | + " or " + "object.CustomName().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" |
| | | + " or " + "object.Unit().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" |
| | | + " or " + "object.Department().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" |
| | | + " or " + "object.StockingPointID().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" |
| | | ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: liH_Forecast |
| | | Response OnDoubleClick ( |
| | | H_Forecast selection |
| | | H_OrderForecastRealQty selection |
| | | ) id:Response_liH_Forecast_OnDoubleClick |
| | | { |
| | | #keys: '[414724.0.111761136]' |
| | |
| | | if( isnull( SelectItem)) |
| | | { |
| | | MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", |
| | | Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(), |
| | | ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Util()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | | .Add( "ForecastQty",selection.ForecastQty()) |
| | | .Add( "NeedTime",selection.NeedTime().AsQUILL()) |
| | | .Add( "OrderCode",selection.OrderCode()).Build().AsString()); |
| | | .Add( "ForecastID",selection.ID()) |
| | | .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); |
| | | } |
| | | else |
| | | { |
| | | SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName()); |
| | | SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Util()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | | .Add( "ForecastQty",selection.ForecastQty()) |
| | | .Add( "NeedTime",selection.NeedTime().AsQUILL()) |
| | | .Add( "OrderCode",selection.OrderCode()).Build().AsString()); |
| | | .Add( "ForecastID",selection.ID()) |
| | | .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); |
| | | } |
| | | |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.OrderCode(),"-",selection.NeedTime()); |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month(),GlobalOTDTable ); |
| | | if(jResult.Get( "Status").GetBoolean()) |
| | | { |
| | | Application.OpenForm( "FrmMaterial","popout"); |
| | |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: Panel849 |
| | | #child: list_ForecastView_FOF |
| | | Component dh_FOF_Data |
| | | { |
| | | #keys: '[414724.0.86151860]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[SalesDemandBase]*' |
| | | Children: |
| | | [ |
| | | Component de_dh_FOF_Data |
| | | { |
| | | #keys: '[414724.0.86151875]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[SalesDemandBase]' |
| | | Source: 'dh_FOF_ChildrenData' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | Component DataExtractor819 |
| | | { |
| | | #keys: '[414724.0.107645127]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 1 |
| | | Transformation: 'SalesDemand' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | #child: Panel961 |
| | | Component dh_FOF_ChildrenData |
| | | { |
| | | #keys: '[414724.0.106541535]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[SalesDemandBase]*' |
| | | Children: |
| | | [ |
| | | Component de_FOF_ChildrenData_0 |
| | | { |
| | | #keys: '[414724.0.106541577]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Product_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderProduct' |
| | | Taborder: 0 |
| | | Transformation: 'Elements.SalesDemand' |
| | | ] |
| | | } |
| | | Component de_FOF_ChildrenData_1 |
| | | { |
| | | #keys: '[414724.0.106541594]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[StockingPoint_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderStockingPoint' |
| | | Taborder: 1 |
| | | Transformation: 'Elements.SalesDemand' |
| | | ] |
| | | } |
| | | Component de_FOF_ChildrenData_2 |
| | | { |
| | | #keys: '[414724.0.106541611]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[SalesSegment_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderSalesSegment' |
| | | Taborder: 2 |
| | | Transformation: 'Elements.SalesDemand' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dh_FOF_H_Forecast |
| | | Component dh_FOF_H_OrderForecastRealQty |
| | | { |
| | | #keys: '[414724.0.109053093]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[H_Forecast]*' |
| | | Databinding: 'structured[H_OrderForecastRealQty]*' |
| | | Children: |
| | | [ |
| | | Component de_dh_FOF_H_Foecast |
| | |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'H_Forecast' |
| | | Transformation: 'H_OrderForecastRealQty' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: liH_Forecast |
| | |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | image: '' |
| | | page: '' |
| | | group: '' |
| | | index: 14 |
| | | image: '' |
| | | index: 0 |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | |
| | | { |
| | | viewcontents |
| | | { |
| | | image: '' |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: '' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | image: '' |
| | | page: '' |
| | | group: '' |
| | | index: 15 |
| | | image: '' |
| | | index: 0 |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormCapacityAllocationResultsRuleConfiguration' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormCapacityAllocationResultsRuleConfiguration' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormCapacityAllocationResultsRuleConfiguration_PanelImportAndExport |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormCapacityAllocationResultsRuleConfiguration_ListCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | } |
| | | FormCapacityAllocationResultsRuleConfiguration_DataSetLevelCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | groupDepth: -1 |
| | | column_PanelMaterialCode |
| | | { |
| | | columnId: 'PanelMaterialCode' |
| | | dataPath: 'PanelMaterialCode' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ModuleMaterialCode |
| | | { |
| | | columnId: 'ModuleMaterialCode' |
| | | dataPath: 'ModuleMaterialCode' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Division |
| | | { |
| | | columnId: 'Division' |
| | | dataPath: 'Division' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormCapacityAllocationResults |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormCapacityAllocationResults' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormCapacityAllocationResults' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 5 |
| | | columnSpan: 8 |
| | | } |
| | | components |
| | | { |
| | | FormCapacityAllocationResults_PanelCapacityAllocationResults |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormCapacityAllocationResults_ListCapacityAllocationResults |
| | | { |
| | | } |
| | | FormCapacityAllocationResults_DataSetLevelCapacityAllocationResults |
| | | { |
| | | groupDepth: -1 |
| | | column_Date |
| | | { |
| | | columnId: 'Date' |
| | | dataPath: 'Date' |
| | | dataType: 'date' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ID |
| | | { |
| | | columnId: 'ID' |
| | | dataPath: 'ID' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UserQuantity |
| | | { |
| | | columnId: 'UserQuantity' |
| | | dataPath: 'UserQuantity' |
| | | dataType: 'real' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ManufacturedDate |
| | | { |
| | | columnId: 'ManufacturedDate' |
| | | dataPath: 'ManufacturedDate' |
| | | dataType: 'date' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | image: 'BEAR' |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Test' |
| | | name: 'Test' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
| | |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | group: '' |
| | | index: 0 |
| | | image: '' |
| | | page: '' |
| | | group: '' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | |
| | | ProjectProperties |
| | | { |
| | | ApplicationComponentName: 'ApplicationMacroPlanner' |
| | | BuildVersion: '2022.3.0.34' |
| | | BuildVersion: '2022.3.0.32' |
| | | Description: 'Quintiq Macro Planner' |
| | | ProjectKind: 'WebClient' |
| | | } |
| | |
| | | { |
| | | viewcontents |
| | | { |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | forms |
| | | { |
| | | form_FormCustomerAndForecastOrder |
| | |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 15 |
| | | image: '' |
| | | description: '' |
| | | index: 0 |
| | | } |
| | | formatversion: 2 |
| | | id: 'FillingCapacityOrderHistorical' |
| | | name: 'FillingCapacityOrderHistorical' |
| | | isglobal: false |
| | | isroot: true |
| | | isroot: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormCapacityAllocationResults |
| | | { |
| | | layout |
| | | { |
| | | rowSpan: 15 |
| | | columnPosition: 5 |
| | | columnSpan: 8 |
| | | } |
| | | } |
| | | form_FormCapacityAllocationResultsRuleConfiguration |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormCapacityAllocationResultsRuleConfiguration' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormCapacityAllocationResultsRuleConfiguration' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components: null |
| | | } |
| | | form_FormPanelPullPlanReport |
| | | { |
| | | _removed: true |
| | | } |
| | | } |
| | | } |
| | | formatversion: 2 |
| | | id: 'Test' |
| | | name: 'Test' |
| | | isglobal: false |
| | | isroot: false |
| | | } |