Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev
已重命名2个文件
已修改172个文件
已添加228个文件
已删除35个文件
| | |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | | RelationSide.RightSide MPSync |
| | | { |
| | |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ImportExcel |
| | | OwningSide: 'Reference' |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | | } |
| | |
| | | |
| | | 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() ) ) |
| | | { |
| | | 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 |
| | | { |
| | | traverse( periodtaskoperation, DependentDemand.ProductInStockingPointInPeriodPlanningLeaf.Period_MP, ddperiod ) |
| | | { |
| | | pispipperiods.Add( ddperiod ); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | CapacityPlanningSuboptimizer::GetOperationDependentDemandPeriods( ptperiod, operation, &pispipperiods, getfromperiodtask ); |
| | | } |
| | | fulfilledqty := 0.0; |
| | | |
| | | 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 |
| | | { |
| | | traverse( periodtaskoperation, DependentDemand.ProductInStockingPointInPeriodPlanningLeaf.Period_MP, ddperiod ) |
| | | { |
| | | pispipperiods.Add( ddperiod ); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | CapacityPlanningSuboptimizer::GetOperationDependentDemandPeriods( ptperiod, operation, &pispipperiods, getfromperiodtask ); |
| | | } |
| | | |
| | | 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 |
| | | Method HasAllRequiredFilesForImport (output Strings missingFiles_o, Boolean needUserUploadAllFiles) as Boolean |
| | | Method HasAllRequiredFilesForImport ( |
| | | output Strings missingFiles_o, |
| | | Boolean needUserUploadAllFiles |
| | | ) remote as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method HasAllRequiredFilesForImport (output Strings missingFiles_o) as Boolean |
| | | Method HasAllRequiredFilesForImport ( |
| | | output Strings missingFiles_o |
| | | ) remote as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CanImport (output Strings missingFiles_o) as Boolean |
| | | Method CanImport ( |
| | | output Strings missingFiles_o |
| | | ) remote as Boolean |
| | | { |
| | | Description: 'Checks if necessary files are sufficent before starting import.' |
| | | TextBody: |
| | |
| | | system=false |
| | | version.component=2022.3.0.0 |
| | | version.fileformat=2 |
| | | version.quintiq=6.3.3.0 NightlyBuild 247983, build 247983 |
| | | version.quintiq=6.3.3.0 , build 248673 |
| | |
| | | EDIMLColumn OrderDate { Attribute: OrderDate ValueType: Date } |
| | | EDIMLColumn OrderID { Attribute: OrderID ValueType: String } |
| | | EDIMLColumn OrderLineID { Attribute: OrderLineID ValueType: String } |
| | | EDIMLColumn OrderTime { Attribute: OrderTime ValueType: Date } |
| | | EDIMLColumn OrderType { Attribute: OrderType ValueType: String } |
| | | EDIMLColumn Price { Attribute: Price ValueType: Real } |
| | | EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String } |
| | | EDIMLColumn ProductGrade { Attribute: ProductGrade ValueType: String } |
| | | EDIMLColumn ProductID { Attribute: ProductID ValueType: String } |
| | | EDIMLColumn Quantity { Attribute: Quantity ValueType: Real } |
| | | EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String } |
| | | EDIMLColumn SegmentPriority { Attribute: SegmentPriority ValueType: String } |
| | | EDIMLColumn SheetProfitability { Attribute: SheetProfitability ValueType: String } |
| | | EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String } |
| | | EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String } |
| | | } |
| | |
| | | EDIODBCLinkColumn ORDERTIME |
| | | { |
| | | OthersMayUpdateColumn: true |
| | | ValueType: String |
| | | ValueType: DateTime |
| | | } |
| | | EDIODBCLinkColumn ORDERTYPE |
| | | { |
| | |
| | | } |
| | | EDIColumnMatch { InputColumn: ORDERID OutputColumn: OrderID } |
| | | EDIColumnMatch { InputColumn: ORDERLINEID OutputColumn: OrderLineID } |
| | | EDIColumnMatch { InputColumn: ORDERTIME OutputColumn: OrderType } |
| | | EDIColumnMatch |
| | | { |
| | | InputColumn: ORDERTIME |
| | | OutputColumn: OrderTime |
| | | Converter |
| | | { |
| | | XMLDefinition: |
| | | [* |
| | | <?xml version="1.0" encoding="UTF-16"?> |
| | | <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1"> |
| | | <IsStandard>true</IsStandard> |
| | | <IsISO>false</IsISO> |
| | | <IsCustom>false</IsCustom> |
| | | <ConversionType>0</ConversionType> |
| | | </DateTimeToDate> |
| | | *] |
| | | } |
| | | } |
| | | EDIColumnMatch { InputColumn: ORDERTYPE OutputColumn: OrderType } |
| | | EDIColumnMatch { InputColumn: PRICE OutputColumn: Price } |
| | | EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName } |
| | | EDIColumnMatch { InputColumn: PRODUCTGRADE OutputColumn: ProductGrade } |
| | | EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID } |
| | | EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity } |
| | | EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName } |
| | | EDIColumnMatch { InputColumn: SEGMENTPRIORITY OutputColumn: SegmentPriority } |
| | | EDIColumnMatch { InputColumn: SHEETPROFITABILITY OutputColumn: SheetProfitability } |
| | | EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID } |
| | | EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeChartElement |
| | | { |
| | | #keys: '1[414384.0.921264786]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264788][414384.0.921264787][414384.0.921264789]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeChartElement |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeChartElement |
| | | { |
| | | #keys: '3[414384.0.921264791][414384.0.921264790][414384.0.921264792]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeChartRow |
| | | { |
| | | #keys: '1[414384.0.921264769]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264771][414384.0.921264770][414384.0.921264772]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeChartRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeChartRow |
| | | { |
| | | #keys: '3[414384.0.921264774][414384.0.921264773][414384.0.921264775]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeCompareItemColumn |
| | | { |
| | | #keys: '1[414384.0.921264730]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][414384.0.921264749][414384.0.921264743][414384.0.921264750][414384.0.921264744][414384.0.921264751][414384.0.921264745][414384.0.921264752][414384.0.921264746][414384.0.921264753][414384.0.921264747][414384.0.921264754][414384.0.921264748]' |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264732][414384.0.921264731][414384.0.921264733]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeCompareItemColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeCompareItemColumn |
| | | { |
| | | #keys: '3[414384.0.921264735][414384.0.921264734][414384.0.921264736]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeCompareItemRow |
| | | { |
| | | #keys: '1[414384.0.921264713]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264715][414384.0.921264714][414384.0.921264716]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeCompareItemRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeCompareItemRow |
| | | { |
| | | #keys: '3[414384.0.921264718][414384.0.921264717][414384.0.921264719]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterBusinessType |
| | | { |
| | | #keys: '1[414384.0.921264696]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264698][414384.0.921264697][414384.0.921264699]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterBusinessType |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterBusinessType |
| | | { |
| | | #keys: '3[414384.0.921264701][414384.0.921264700][414384.0.921264702]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterItem |
| | | { |
| | | #keys: '1[414384.0.921264679]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264681][414384.0.921264680][414384.0.921264682]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterItem |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterItem |
| | | { |
| | | #keys: '3[414384.0.921264684][414384.0.921264683][414384.0.921264685]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterMonth |
| | | { |
| | | #keys: '1[414384.0.921264662]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264664][414384.0.921264663][414384.0.921264665]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterMonth |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterMonth |
| | | { |
| | | #keys: '3[414384.0.921264667][414384.0.921264666][414384.0.921264668]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray |
| | | { |
| | | #keys: '1[414384.0.921264645]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264647][414384.0.921264646][414384.0.921264648]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterPlaceOfProductionOfArray |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterPlaceOfProductionOfArray |
| | | { |
| | | #keys: '3[414384.0.921264650][414384.0.921264649][414384.0.921264651]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterYear |
| | | { |
| | | #keys: '1[414384.0.921264628]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414384.0.921264630][414384.0.921264629][414384.0.921264631]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterYear |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterYear |
| | | { |
| | | #keys: '3[414384.0.921264633][414384.0.921264632][414384.0.921264634]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable |
| | | { |
| | | #keys: '1[414702.0.483720679]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Global_ShowCell |
| | | { |
| | | #keys: '3[414702.0.483720681][414702.0.483720680][414702.0.483720682]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.483720684][414702.0.483720683][414702.0.483720685]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_ShowCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable |
| | | { |
| | | #keys: '1[414702.0.483720692]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Global_ShowColumn |
| | | { |
| | | #keys: '3[414702.0.483720694][414702.0.483720693][414702.0.483720695]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.483720697][414702.0.483720696][414702.0.483720698]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_ShowColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable |
| | | { |
| | | #keys: '1[414702.0.483720663]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Global_ShowRow |
| | | { |
| | | #keys: '3[414702.0.483720665][414702.0.483720664][414702.0.483720666]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide GlobalOTDTable |
| | | { |
| | | #keys: '3[414702.0.483720668][414702.0.483720667][414702.0.483720669]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_ShowRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn |
| | | { |
| | | #keys: '1[414702.0.483720723]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Global_ShowCell |
| | | { |
| | | #keys: '3[414702.0.483720725][414702.0.483720724][414702.0.483720726]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: Global_ShowColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide Global_ShowColumn |
| | | { |
| | | #keys: '3[414702.0.483720728][414702.0.483720727][414702.0.483720729]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_ShowCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow |
| | | { |
| | | #keys: '1[414702.0.483720707]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Global_ShowCell |
| | | { |
| | | #keys: '3[414702.0.483720709][414702.0.483720708][414702.0.483720710]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: Global_ShowRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide Global_ShowRow |
| | | { |
| | | #keys: '3[414702.0.483720712][414702.0.483720711][414702.0.483720713]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Global_ShowCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OrganCode_BusinessType_BusinessType_OrganCode |
| | | { |
| | | #keys: '1[412960.0.276650038]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide BusinessType |
| | | { |
| | | #keys: '3[412960.0.276650040][412960.0.276650039][412960.0.276650041]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OrganCode |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OrganCode |
| | | { |
| | | #keys: '3[412960.0.276650043][412960.0.276650042][412960.0.276650044]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: BusinessType |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation YuxTest_MPSync_MPSync_YuxTest |
| | | { |
| | | #keys: '1[414384.0.915854641]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.915854643][414384.0.915854642][414384.0.915854644]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: YuxTest |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide YuxTest |
| | | { |
| | | #keys: '3[414384.0.915854646][414384.0.915854645][414384.0.915854647]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | Attribute BusinessTypeName |
| | | { |
| | | #keys: '3[414382.0.361554811][414382.0.361554810][414382.0.361554812]' |
| | | Description: 'äºä¸é¨åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DisplayType |
| | | { |
| | | #keys: '3[412960.0.276650024][412960.0.276650023][412960.0.276650025]' |
| | | Description: 'æ¾ç¤ºç±»å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ScenarioName |
| | | { |
| | | #keys: '3[412960.0.276650011][412960.0.276650010][412960.0.276650012]' |
| | | Description: 'åºæ¯åç§°' |
| | | ValueType: String |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod CreateData ( |
| | | GlobalOTDTable owner, |
| | | MacroPlan macroPlan, |
| | | String businessName |
| | | ) |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetScenarioNamesStr ( |
| | | GlobalOTDTable owner |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-7-2023 (created) |
| | | // è·åbusinessType éå |
| | | result := ""; |
| | | scenarioNameList := construct( structured[String]); |
| | | |
| | | traverse( owner,BusinessType,b) |
| | | { |
| | | scenarioNameList.Add( b.ScenarioName() ); |
| | | } |
| | | |
| | | // 妿åå¨businessTypeæ°æ® åè¿å : a,b,c |
| | | |
| | | if( not isnull( scenarioNameList ) ) |
| | | { |
| | | result := scenarioNameList.Concatenate( ";" ); |
| | | } |
| | | |
| | | // æµè¯æ°æ® |
| | | //result := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨"; |
| | | |
| | | return result; |
| | | *] |
| | | } |
| | |
| | | |
| | | traverse ( finaleProductInStockingPoint_MPs, Elements, fpispmp ) { |
| | | capacityAllocationResultsRuleConfigurations := selectset( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() ); |
| | | info( "ç产ç产åï¼", fpispmp.ProductID(), "------产åå¨åºåç¹-------ï¼", fpispmp.StockingPointID() ); |
| | | // info( "ç产ç产åï¼", fpispmp.ProductID(), "------产åå¨åºåç¹-------ï¼", fpispmp.StockingPointID() ); |
| | | traverse ( period_MPS, Elements, pmp ) { |
| | | // CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); èç |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 ); |
| | |
| | | TextBody: |
| | | [* |
| | | numberOfLayers++; |
| | | info( "ç®æ æ¶é´ï¼", targetDate.Format( "Y-M2-D2" ) ); |
| | | //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 ) { |
| | |
| | | |
| | | ontype( ns.PeriodTask_MP() ) { |
| | | PeriodTaskOperation as pto : { |
| | | info( "Operation卿任å¡..." ); |
| | | // 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( "-----------------------------------------------------------------------------------------------------------------" ); |
| | | // 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, |
| | |
| | | } |
| | | carrc := select( carrcs, Elements, carrc, carrc.PanelMaterialCode() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() ); |
| | | if ( not isnull( carrc ) ) { |
| | | info( "æ¾å°é¢æ¿ç©æ..." ); |
| | | // info( "æ¾å°é¢æ¿ç©æ..." ); |
| | | globalOTDTable.CapacityAllocationResults( relnew, |
| | | PanelBase := pto.Operation().UnitID(), |
| | | PanelMaterialCode := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | |
| | | Description := "", |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | StockingPointID := "", |
| | | StockingPointID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().StockingPointID(), |
| | | UserQuantity := currentLayerDependentDemandQuantity, |
| | | ManufacturedDate := Date::MinDate() |
| | | ); |
| | |
| | | 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( "屿°ï¼", 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(), |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod TestData ( |
| | | ScenarioManager scenarioManager |
| | | GlobalOTDTable parent |
| | | ) |
| | | { |
| | | Description: 'çææµè¯æ°æ®' |
| | |
| | | |
| | | info( "çæå¹´åº¦äº§éé¢ç®æ¥è¡¨æµè¯æ°æ®" ) |
| | | |
| | | scenarioManager.CapacityAndSaleBudgeChartElement( relflush ); |
| | | parent.CapacityAndSaleBudgeChartElement( relflush ); |
| | | |
| | | for( sc := 0; sc < 4; sc := sc + 1 ) { |
| | | scenarioName := "SC" + [String]sc; |
| | |
| | | businessTypeString := "BT" + [String]i; |
| | | for( j := 1; j <= 12; j := j + 1 ) { |
| | | monthString := "MONTH" + ifexpr( j < 10, "0" + [String]j, [String]j ); |
| | | scenarioManager.CapacityAndSaleBudgeChartElement( relnew, |
| | | parent.CapacityAndSaleBudgeChartElement( relnew, |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessTypeString, |
| | | TimeStringAndScenarioName := monthString + " - " + scenarioName, |
| | | Quantity := Real::Random( 20.0, 30.0 ) ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | ScenarioManager scenarioManager, |
| | | GlobalOTDTable parent, |
| | | String businessType, |
| | | String placeOfProductionOfArray |
| | | ) as CapacityAndSaleBudgeChartRow |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | value := select( scenarioManager, CapacityAndSaleBudgeChartRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); |
| | | value := select( parent, CapacityAndSaleBudgeChartRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); |
| | | if( isnull( value ) ) { |
| | | value := scenarioManager.CapacityAndSaleBudgeChartRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); |
| | | value := parent.CapacityAndSaleBudgeChartRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); |
| | | } |
| | | return value; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | ScenarioManager manager, |
| | | GlobalOTDTable parent, |
| | | String columnName |
| | | ) as CapacityAndSaleBudgeCompareItemColumn |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | value := select( manager, CapacityAndSaleBudgeCompareItemColumn, item, item.ColumnName() = columnName ); |
| | | value := select( parent, CapacityAndSaleBudgeCompareItemColumn, item, item.ColumnName() = columnName ); |
| | | if( isnull( value ) ) { |
| | | value := manager.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnName ); |
| | | value := parent.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnName ); |
| | | } |
| | | return value; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | ScenarioManager scenarioManager, |
| | | GlobalOTDTable parent, |
| | | String businessType, |
| | | String placeOfProductionOfArray |
| | | ) as CapacityAndSaleBudgeCompareItemRow |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | value := select( scenarioManager, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); |
| | | value := select( parent, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); |
| | | if( isnull( value ) ) { |
| | | value := scenarioManager.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); |
| | | value := parent.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); |
| | | } |
| | | return value; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | MPSync parent, |
| | | GlobalOTDTable parent, |
| | | String value |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | ScenarioManager parent, |
| | | GlobalOTDTable parent, |
| | | String itemName |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initial ( |
| | | ScenarioManager parent |
| | | GlobalOTDTable parent |
| | | ) |
| | | { |
| | | Description: 'åå§å对æ¯é¡¹' |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initial ( |
| | | ScenarioManager parent |
| | | GlobalOTDTable parent |
| | | ) |
| | | { |
| | | Description: 'åå§å年份' |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | MPSync parent, |
| | | GlobalOTDTable parent, |
| | | String value |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initial ( |
| | | ScenarioManager parent |
| | | GlobalOTDTable parent |
| | | ) |
| | | { |
| | | Description: 'åå§å年份' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 CreateData ( |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( macroPlan, SalesDemand.astype( CustomerOrder ), co, true ) { |
| | | macroPlan.CustomerAndForecastOrder( relnew, |
| | | OrderID := co.OrderID(), |
| | | ProductID := co.ProductID(), |
| | | BusinessType := co.BusinessType(), |
| | | Customer := co.CustomerName(), |
| | | CustomerID := co.CustomerID(), |
| | | Quantity := co.Quantity(), |
| | | UnitOfMeasureName := co.UnitOfMeasureName(), |
| | | DemandDate := co.StartDate() |
| | | ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 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 |
| | | } |
| | |
| | | // æ°å¢/æ´æ° |
| | | result := CustomerOrder::FindById( macroPlan, id ); |
| | | if( isnull( result ) ) { |
| | | CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price, |
| | | result := CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price, |
| | | priorityName, salesSegmentName, currencyId, unitOfMeasureName, |
| | | false, customerName, customerId, orderId, orderLineId, true, true, true ); |
| | | } else { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[414702.0.525344991][414702.0.525344990][414702.0.525344992]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
| | |
| | | Attribute OrderType |
| | | { |
| | | #keys: '3[414382.0.394820190][414382.0.394820189][414382.0.394820191]' |
| | | Description: '订åç±»åå
æ¬ï¼åç¾ãææï¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute State |
| | | { |
| | | #keys: '3[414702.0.533501330][414702.0.533501329][414702.0.533501331]' |
| | | Description: 'ç¶æï¼æªå²åãå·²å²åï¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeIndex FillingCapacityOrderTypeIndex |
| | | { |
| | | Attributes: |
| | | [ |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: ID |
| | | } |
| | | ] |
| | | } |
| | |
| | | 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) |
| | | { |
| | | |
| | | 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,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); |
| | | //} |
| | | |
| | | //// æ°å¢åç¾/ææè®¢å 订åä¿¡æ¯å å
¥å¡«äº§ |
| | | //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 CapacityAndSaleBudgeChart ( |
| | | MacroPlans macroPlans, |
| | | String saleOrCapacity, |
| | | String groupBy, |
| | | String byBusinessTypeOrByOrgCode, |
| | | CapacityAndSaleBudgeFilterBusinessTypes businessTypes, |
| | | CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays, |
| | | CapacityAndSaleBudgeFilterYears years, |
| | | CapacityAndSaleBudgeFilterMonths months, |
| | | MPSync mpSync, |
| | | GlobalOTDTable otdTable, |
| | | MacroPlan mappingParent |
| | | ) |
| | | { |
| | | Description: 'æå
¥åå¤çæ°æ®ï¼äº§çéè¦çCapacityAndSaleBudgeChartElement' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-19-2023 (created) |
| | | // true, false |
| | | info( saleOrCapacity ); |
| | | // æ;å£åº¦;åå¹´;å¹´ |
| | | info( groupBy ); |
| | | // 颿¿åºå°;äºä¸é¨ |
| | | info( byBusinessTypeOrByOrgCode ); |
| | | traverse( businessTypes, Elements, businessType ) { |
| | | debuginfo( "businessType : " + businessType.BusinessType() ); |
| | | } |
| | | traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { |
| | | debuginfo( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() ); |
| | | } |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | debuginfo( "macroPlan : " + macroPlan.ScenarioName() ); |
| | | } |
| | | // 年份ä¸éæ¶å
¨é |
| | | if( years.Size() = 0 ) { |
| | | years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, true, item.YearNo() ); |
| | | } |
| | | traverse( years, Elements, year ) { |
| | | debuginfo( "yearNo : " + [String]year.YearNo() ); |
| | | } |
| | | // æä»½ä¸éæ¶å
¨é |
| | | if( months.Size() = 0 ) { |
| | | months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() ); |
| | | } |
| | | traverse( months, Elements, month ) { |
| | | debuginfo( "monthNo : " + [String]month.MonthNo() ); |
| | | } |
| | | |
| | | // ====æ¸
çæ§æ°æ®==== |
| | | this.CapacityAndSaleBudgeChartRow( relflush ); |
| | | this.CapacityAndSaleBudgeChartElement( relflush ); |
| | | |
| | | // ====æé¢æ¿åºå°åäºä¸é¨å¯¹äº§åè¿è¡çéåç»==== |
| | | historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true ); |
| | | if( businessTypes.Size() > 0 ) { |
| | | businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() ); |
| | | historyData := selectset( historyData, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 ); |
| | | } |
| | | if( placeOfProductionOfArrays.Size() > 0 ) { |
| | | placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() ); |
| | | historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.PlaceOfProductionOfArray() ) > -1 ); |
| | | } |
| | | //info( "historyData : " + [String]historyData.Size() ); |
| | | traverse( historyData, Elements, item ) { |
| | | row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.PlaceOfProductionOfArray() ); |
| | | // è®°å½æ¯è¡å
å«åªäºproduct |
| | | CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductCode() ); |
| | | } |
| | | rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true ); |
| | | //info( "rows : " + [String]rows.Size() ); |
| | | placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.PlaceOfProductionOfArray() ); |
| | | businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() ); |
| | | // çæå¾è¡¨å
ç´ |
| | | traverse( years, Elements, year ) { |
| | | debuginfo( "process year start : " + [String]year.YearNo() ); |
| | | if( byBusinessTypeOrByOrgCode = "颿¿åºå°" and groupBy = "å¹´" ) { |
| | | // ç®æ |
| | | traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ), |
| | | MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ), |
| | | Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | if ( byBusinessTypeOrByOrgCode = "颿¿åºå°" and groupBy = "åå¹´" ) { |
| | | for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) { |
| | | traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "ä¸", "ä¸" ) + "åå¹´-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ), |
| | | MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "ä¸", "ä¸" ) + "åå¹´-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ), |
| | | Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if ( byBusinessTypeOrByOrgCode = "颿¿åºå°" and groupBy = "å£åº¦" ) { |
| | | for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { |
| | | traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); |
| | | // info( "productCodeList : " + [String]productCodeList.Size() ); |
| | | // info( "MappingCapacityAndSaleBudge::GetSheetBySeason : " + [String]MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) ); |
| | | // info( "seasonNo : " + [String]seasonNo ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "å£åº¦-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ), |
| | | MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) ) |
| | | ); |
| | | // info( "productCodeList : " + [String]productCodeList.Size() ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "å£åº¦-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) , |
| | | Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if ( byBusinessTypeOrByOrgCode = "颿¿åºå°" and groupBy = "æ" ) { |
| | | traverse( months, Elements, month ) { |
| | | info( "process month start : " + [String]month.MonthNo() ); |
| | | monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() ); |
| | | traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "æ-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ), |
| | | MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "æ-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ), |
| | | Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | info( "process month end : " + [String]month.MonthNo() ); |
| | | } |
| | | } |
| | | if( byBusinessTypeOrByOrgCode = "äºä¸é¨" and groupBy = "å¹´" ) { |
| | | // ç®æ |
| | | traverse( businessTypeList, Elements, businessType ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ), |
| | | MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) , |
| | | Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | if ( byBusinessTypeOrByOrgCode = "äºä¸é¨" and groupBy = "åå¹´" ) { |
| | | for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) { |
| | | traverse( businessTypeList, Elements, businessType ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "ä¸", "ä¸" ) + "åå¹´-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ), |
| | | MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "ä¸", "ä¸" ) + "åå¹´-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) , |
| | | Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if ( byBusinessTypeOrByOrgCode = "äºä¸é¨" and groupBy = "å£åº¦" ) { |
| | | for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { |
| | | debuginfo( "process season start : " + [String]seasonNo ); |
| | | traverse( businessTypeList, Elements, businessType ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "å£åº¦-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ), |
| | | MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "å£åº¦-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ), |
| | | Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | info( "process season end : " + [String]seasonNo ); |
| | | } |
| | | } |
| | | if ( byBusinessTypeOrByOrgCode = "äºä¸é¨" and groupBy = "æ" ) { |
| | | traverse( months, Elements, month ) { |
| | | debuginfo( "process month start : " + [String]month.MonthNo() ); |
| | | monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() ); |
| | | traverse( businessTypeList, Elements, businessType ) { |
| | | productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "æ-ç®æ ", |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ), |
| | | MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) ) |
| | | ); |
| | | // S&OP |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | this.CapacityAndSaleBudgeChartElement( relnew, |
| | | TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "æ-" + macroPlan.ScenarioName(), |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessType, |
| | | Quantity := ifexpr( saleOrCapacity = "éå®é¢", |
| | | MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) , |
| | | Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | debuginfo( "process month end : " + [String]month.MonthNo() ); |
| | | } |
| | | } |
| | | debuginfo( "process year end : " + [String]year.YearNo() ) |
| | | } |
| | | //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() ); |
| | | //traverse( this, CapacityAndSaleBudgeChartRow, row ) { |
| | | // info( "==â==" ); |
| | | // info( row.BusinessType() ); |
| | | // info( row.PlaceOfProductionOfArray() ); |
| | | // elements := selectset( row, CapacityAndSaleBudgeChartRowProduct, cell, true ); |
| | | // info( elements.Size() ); |
| | | // info( row.GetProductCodes().Concatenate( " | " ) ); |
| | | // info( "==â==" ); |
| | | //} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CapacityAndSaleBudgeCompare ( |
| | | MacroPlans macroPlans, |
| | | CapacityAndSaleBudgeFilterItems items, |
| | | CapacityAndSaleBudgeFilterYears years, |
| | | CapacityAndSaleBudgeFilterMonths months, |
| | | MPSync mpSync, |
| | | GlobalOTDTable otdTable, |
| | | MacroPlan mappingParent |
| | | ) |
| | | { |
| | | Description: 'todo : mappingParentæ¹ä¸ºmpSync, randomå äº' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | // ====ä¸éæ¶é»è®¤å
¨é==== |
| | | if( years.Size() = 0 ) { |
| | | years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, item.YearNo() ); |
| | | } |
| | | if( months.Size() = 0 ) { |
| | | months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, item.MonthNo() ); |
| | | } |
| | | traverse( macroPlans, Elements, item ) { |
| | | debuginfo( "scenario : " + item.ScenarioName() ); |
| | | } |
| | | traverse( items, Elements, item ) { |
| | | debuginfo( "item : " + item.ItemName() ); |
| | | } |
| | | traverse( years, Elements, item ) { |
| | | debuginfo( "year : " + [String]item.YearNo() ); |
| | | } |
| | | traverse( months, Elements, item ) { |
| | | debuginfo( "month : " + [String]item.MonthNo() ); |
| | | } |
| | | // ====æ¸
çæ§æ°æ®==== |
| | | this.CapacityAndSaleBudgeCompareItemRow( relflush ); |
| | | this.CapacityAndSaleBudgeCompareItemColumn( relflush ); |
| | | // ====æ±æ»ææåºç°ç产å==== |
| | | historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true ); |
| | | debuginfo( "historyData : " + [String]historyData.Size() ) |
| | | traverse( historyData, Elements, one ) { |
| | | productCode := one.ProductCode(); |
| | | MappingBOM::CreateTestData( mappingParent, "äºä¸é¨" + [String](productCode.Length() mod 3), [String](productCode.Length() mod 4), productCode ); |
| | | boms := selectset( mappingParent, MappingBOM, bom, bom.ProductCode() = productCode ); |
| | | if( boms.Size() > 0 ) { |
| | | bom := boms.First(); |
| | | businessType := bom.BusinessType(); |
| | | placeOfProductionOfArray := one.PlaceOfProductionOfArray(); |
| | | // ç¸å颿¿åºå°åäºä¸é¨çæ¾ä¸è¡ |
| | | row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, businessType, placeOfProductionOfArray ); |
| | | // è®°å½æ¯è¡å
å«åªäºproduct |
| | | CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode ); |
| | | } else { |
| | | debuginfo( "no boms for product : " + productCode ); |
| | | } |
| | | } |
| | | debuginfo( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() ); |
| | | // ====ä»å·¦åå³çæå头ä¸å
容==== |
| | | // äºä¸é¨ï¼ç»ç» |
| | | debuginfo( "dealing businessType and placeOfProductionOfArray" ) |
| | | columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "äºä¸é¨" ); |
| | | columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "颿¿åºå°" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cell := columnBusinessType.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.BusinessType() ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | cell := columnPlaceOfProductionOfArray.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.PlaceOfProductionOfArray() ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | // 颿¿åé
é - 年度é¢ç® (sheets) |
| | | // æ ¼å¼ï¼ 颿¿åé
é - å¹´ - æï¼1-12 & totalï¼ - 年度é¢ç®/scenarioName |
| | | info( "dealing 颿¿åé
é" ) |
| | | if( CapacityAndSaleBudgeFilterItem::Contains( items, "颿¿åé
é" ) ) { |
| | | traverse( years, Elements, year ) { |
| | | debuginfo( "颿¿åé
é" + [String]year.YearNo() + "å¹´" ); |
| | | // å岿°æ® |
| | | debuginfo( "颿¿åé
é" + [String]year.YearNo() + "å¹´å岿°æ®" ); |
| | | traverse( months, Elements, month ) { |
| | | columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "颿¿åé
é-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "æ-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := MappingCapacityAndSaleBudge::GetSheetByMonth( row.GetProductCodes(), mpSync, DateTime::Now().Year(), month.MonthNo() ); |
| | | cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "颿¿åé
é-" + [String]year.YearNo() + "å¹´-total-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := MappingCapacityAndSaleBudge::GetSheetByYear( row.GetProductCodes(), mpSync, year.YearNo() ); |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | debuginfo( "颿¿åé
é" + [String]year.YearNo() + "å¹´S&OPæ°æ®" ); |
| | | // S&OPæ°æ® |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | traverse( months, Elements, month ) { |
| | | columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, |
| | | "颿¿åé
é-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "æ-" + macroPlan.ScenarioName() ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := Product_MP::GetNewSupplyByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() ); |
| | | cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, |
| | | "颿¿åé
é-" + [String]year.YearNo() + "å¹´-total-" + macroPlan.ScenarioName() ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := Product_MP::GetNewSupplyByYear( row.GetProductCodes(), macroPlan, year.YearNo() ); |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 年度éå®é¢ |
| | | debuginfo( "dealing éå®é¢" ) |
| | | if( CapacityAndSaleBudgeFilterItem::Contains( items, "éå®é¢" ) ) { |
| | | traverse( years, Elements, year ) { |
| | | debuginfo( "éå®é¢" + [String]year.YearNo() + "å¹´" ); |
| | | // å岿°æ® |
| | | debuginfo( "éå®é¢" + [String]year.YearNo() + "å¹´å岿°æ®" ); |
| | | traverse( months, Elements, month ) { |
| | | columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对å¤éå®é¢-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "æ-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := MappingCapacityAndSaleBudge::GetSaleByMonth( row.GetProductCodes(), mpSync, year.YearNo(), month.MonthNo() ); |
| | | cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对å¤éå®é¢-" + [String]year.YearNo() + "å¹´-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := MappingCapacityAndSaleBudge::GetSaleByYear( row.GetProductCodes(), mpSync, year.YearNo() ); |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | debuginfo( "éå®é¢" + [String]year.YearNo() + "å¹´å岿°æ®S&OPæ°æ®" ); |
| | | // S&OPæ°æ® |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | traverse( months, Elements, month ) { |
| | | columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对å¤éå®é¢-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "æ-" + macroPlan.ScenarioName() ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := MappingAnnualBudget::GetSaleByMonth( row.GetProductCodes(), mpSync, year.YearNo(), month.MonthNo() ); |
| | | cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对å¤éå®é¢-" + [String]year.YearNo() + "å¹´-total-" + macroPlan.ScenarioName() ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | // QID 23 |
| | | cellReal := MappingAnnualBudget::GetSaleByYear( row.GetProductCodes(), mpSync, year.YearNo() ); |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // å¤§å¼ çå©é¢ |
| | | debuginfo( "dealing å¤§å¼ çå©é¢" ) |
| | | traverse( years, Elements, year ) { |
| | | // å岿°æ® |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "å¤§å¼ çå©é¢-" + [String]year.YearNo() + "å¹´-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | // todo |
| | | // QID 23 |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | // S&OPæ°æ® |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "å¤§å¼ çå©é¢-" + [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName() ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | } |
| | | // 产åçå©é¢ |
| | | debuginfo( "dealing 产åçå©é¢" ) |
| | | traverse( years, Elements, year ) { |
| | | // å岿°æ® |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "产åçå©é¢-" + [String]year.YearNo() + "å¹´-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | // todo |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | // S&OPæ°æ® |
| | | traverse( macroPlans, Elements, macroPlan ) { |
| | | columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "产åçå©é¢-" + [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName() ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | // todo |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 设置rowNoåcolumnNo |
| | | debuginfo( "set rowNo and columnNo" ); |
| | | rowNo := 1; |
| | | rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() ); |
| | | traverse( rowSorted, Elements, item ) { |
| | | item.RowNo( rowNo ); |
| | | rowNo := rowNo + 1; |
| | | } |
| | | columnNo := 1; |
| | | traverse( this, CapacityAndSaleBudgeCompareItemColumn, item ) { |
| | | item.ColumnNo( columnNo ); |
| | | columnNo := columnNo + 1; |
| | | } |
| | | debuginfo( "done" ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CapacityAndSaleBudgeCompareExport () as BinaryValue |
| | | { |
| | | Description: 'å¯¼åºæ¯è¾ç»æ' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-22-2023 (created) |
| | | tableName := "年度产éé¢ç®å¯¹æ¯"; |
| | | |
| | | text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>' + tableName + '</name>'; |
| | | |
| | | // å¤çcolumn <column><name>ç©æç¼ç </name><type>String</type></column> |
| | | columnXml := "" |
| | | traverse( this, CapacityAndSaleBudgeCompareItemColumn, column ) { |
| | | debuginfo( "columnName : " + column.ColumnName() ); |
| | | columnXml := columnXml + "<column><name>" + column.ColumnName() + "</name><type>String</type></column>"; |
| | | } |
| | | text := text + columnXml + "</table>" |
| | | |
| | | // å¡å
容 |
| | | xmlDOMImplementation := XMLDOMImplementation::Create(); |
| | | xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text ); |
| | | tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 ); |
| | | rows := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, row, row.PlaceOfProductionOfArray() + "_" + row.BusinessType() ); |
| | | traverse ( rows, Elements, row ) { |
| | | debuginfo( "rowNo : " + [String]row.RowNo() ); |
| | | traverse( row, CapacityAndSaleBudgeCompareItemCell, cell ) { |
| | | ScenarioManager::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, cell.CellContent(), cell.CapacityAndSaleBudgeCompareItemColumn().ColumnName() ); |
| | | } |
| | | } |
| | | xmlDOMSerializer := xmlDOMImplementation.CreateSerializer(); |
| | | xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument ); |
| | | |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) ); |
| | | tableGroupHandle := TableGroupHandle::Create( tableName ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return tableBinaryData.AsBinaryValue(); |
| | | *] |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_AIPISPIP", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "å®é
åºåæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_AIPISPIP", "å®é
åºåæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_ConversionFactor", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "åä½è½¬æ¢å åæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_ConversionFactor", "åä½è½¬æ¢å åæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_CustomOrder", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "è®¢åæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_CustomOrder", "è®¢åæ°æ®" );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade ( |
| | | Number errorNo, |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_CustomerGrade", "客æ·ççº§æ°æ®" );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI ( |
| | | Number errorNo, |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_DOI_DSI", "DOI_DSIæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_Forecast", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "颿µæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_Forecast", "颿µæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_InventorySupply", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "åºåä¾åºæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_InventorySupply", "åºåä¾åºæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_Operation", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "æä½æ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_Operation", "æä½æ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_OperationBOM", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "æä½BOMæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_OperationBOM", "æä½BOMæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_OperationCost", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "æä½ææ¬æ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_OperationCost", "æä½ææ¬æ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_Product_MP", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "äº§åæ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_Product_MP", "äº§åæ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_SalesSegment_MP", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "éå®é¨é¨", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_SalesSegment_MP", "éå®é¨é¨" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_StockingPointCost", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "åºåç¹ææ¬æ°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_StockingPointCost", "åºåç¹ææ¬æ°æ®" );' |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_UnitOfMeasure_MP", |
| | | ElementTotal := 0, |
| | | ErrorMessage := errorMessage, |
| | | IsSuccess := false, |
| | | Name := "å使°æ®", |
| | | ErrorNo := errorNo, |
| | | ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "GlobalOTDTable_UnitOfMeasure_MP", "å使°æ®" );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_AIPISPIP |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_AIPISPIP", |
| | | ElementTotal := this.Global_MappingActualProductInStockingPointInPeriod( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "å®é
åºåæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_AIPISPIP", "å®é
åºåæ°æ®", this.Global_MappingActualProductInStockingPointInPeriod( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_ConversionFactor |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_ConversionFactor", |
| | | ElementTotal := this.Global_MappingConversionFactor( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "åä½è½¬æ¢å åæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_ConversionFactor", "åä½è½¬æ¢å åæ°æ®", this.Global_MappingConversionFactor( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_CustomOrder |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_CustomOrder", |
| | | ElementTotal := this.Global_MappingCustomOrder( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "è®¢åæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_CustomOrder", "è®¢åæ°æ®", this.Global_MappingCustomOrder( relsize ) );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_CustomerGrade |
| | | { |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_CustomerGrade", "客æ·ççº§æ°æ®", this.Global_MappingCustomerGrade( relsize ) );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_DOI_DSI |
| | | { |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_DOI_DSI", "DOI_DSIæ°æ®", this.Global_MappingDOI_DSI( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_Forecast |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_Forecast", |
| | | ElementTotal := this.Global_MappingForecast( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "颿µæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_Forecast", "颿µæ°æ®", this.Global_MappingForecast( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_InventorySupply |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_InventorySupply", |
| | | ElementTotal := this.Global_MappingInventorySupply( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "åºåä¾åºæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_InventorySupply", "åºåä¾åºæ°æ®", this.Global_MappingInventorySupply( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_Operation |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_Operation", |
| | | ElementTotal := this.Global_MappingOperation( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æä½æ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_Operation", "æä½æ°æ®", this.Global_MappingOperation( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_OperationBOM |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_OperationBOM", |
| | | ElementTotal := this.Global_MappingOperationBOM( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æä½BOMæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_OperationBOM", "æä½BOMæ°æ®", this.Global_MappingOperationBOM( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_OperationCost |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_OperationCost", |
| | | ElementTotal := this.Global_MappingOperationCost( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æä½ææ¬æ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_OperationCost", "æä½ææ¬æ°æ®", this.Global_MappingOperationCost( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_ProductInLane |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_ProductInLane", |
| | | ElementTotal := this.Global_MappingProductInLane( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "产åå¨è½¦éæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_ProductInLane", "产åå¨è½¦éæ°æ®", this.Global_MappingProductInLane( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_Product_MP |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_Product_MP", |
| | | ElementTotal := this.Global_MappingProduct_MP( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "äº§åæ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_Product_MP", "äº§åæ°æ®", this.Global_MappingProduct_MP( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_SalesSegment_MP |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_SalesSegment_MP", |
| | | ElementTotal := this.Global_MappingSalesSegment_MP( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "éå®é¨é¨", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_SalesSegment_MP", "éå®é¨é¨", this.Global_MappingSalesSegment_MP( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_StockingPointCost |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_StockingPointCost", |
| | | ElementTotal := this.Global_MappingStockingPointCost( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "åºåç¹ææ¬æ°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_StockingPointCost", "åºåç¹ææ¬æ°æ®", this.Global_MappingStockingPointCost( relsize ) );' |
| | | } |
| | |
| | | #parent: #root |
| | | Method OnAsyncExecute_GlobalOTDTable_UnitOfMeasure_MP |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_UnitOfMeasure_MP", |
| | | ElementTotal := this.Global_MappingUnitOfMeasure_MP( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "å使°æ®", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | *] |
| | | TextBody: 'this.SettingSuccessfulDetails( "GlobalOTDTable_UnitOfMeasure_MP", "å使°æ®", this.Global_MappingUnitOfMeasure_MP( relsize ) );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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() = "æå" ) |
| | | { |
| | | uniquebomids := construct( Strings ); |
| | | product.IsLinkedWithFinishedGood( false ); |
| | | product.SetIsLinkedWithFinishedGoodAttributes_Recursive( 0, // depth |
| | | 100, // maxdepth |
| | | productspool, |
| | | operationspool, |
| | | operationbomspool, |
| | | uniquebomids ); |
| | | uniquebomids := uniquebomids.Unique(); |
| | | product.BOMCount( uniquebomids.Size() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SettingFailureDetails ( |
| | | Number errorNo, |
| | | String errorMessage, |
| | | String brokerName, |
| | | String name |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | gbel := select( this, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = brokerName ); |
| | | |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( 0 ); |
| | | gbel.ErrorMessage( errorMessage ); |
| | | gbel.IsSuccess( false ); |
| | | gbel.Name( name ); |
| | | gbel.ErrorNo( errorNo ); |
| | | gbel.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SettingSuccessfulDetails ( |
| | | String brokerName, |
| | | String name, |
| | | Number elementTotal |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | gbel := select( this, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = brokerName ); |
| | | |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( elementTotal ); |
| | | gbel.IsSuccess( true ); |
| | | gbel.Name( name ); |
| | | gbel.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SynchronizationAllMappingBrokerAndAPIByOption ( |
| | | String executionUser, |
| | | Boolean isCustomOrder, |
| | | Boolean isForeacst, |
| | | Boolean isUnitOfMeasure_MP, |
| | | Boolean isSalesSegment_MP, |
| | | Boolean isProduct_MP, |
| | | Boolean isConversionFactor, |
| | | Boolean isOperation, |
| | | Boolean isOperationBOM, |
| | | Boolean isProductInLane, |
| | | Boolean isAIPISPIP, |
| | | Boolean isInventorySupply, |
| | | Boolean isStockingPointCost, |
| | | Boolean isOperationCost, |
| | | Boolean isDOI_DSI, |
| | | Boolean isCustomerGrade, |
| | | Boolean isStockingPoint_MP, |
| | | Boolean isCurrency_MP, |
| | | Boolean isCurrencyRate_MP, |
| | | Boolean isLane, |
| | | Boolean isLaneLeg |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | if ( isCustomOrder ) { |
| | | Global_MappingCustomOrder::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_CustomOrder" ); |
| | | } |
| | | |
| | | if ( isForeacst ) { |
| | | Global_MappingForecast::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_Forecast" ); |
| | | } |
| | | |
| | | if ( isUnitOfMeasure_MP ) { |
| | | Global_MappingUnitOfMeasure_MP::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_UnitOfMeasure_MP" ); |
| | | } |
| | | |
| | | if ( isSalesSegment_MP ) { |
| | | Global_MappingSalesSegment_MP::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_SalesSegment_MP" ); |
| | | } |
| | | |
| | | if ( isProduct_MP ) { |
| | | Global_MappingProduct_MP::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_Product_MP" ); |
| | | } |
| | | |
| | | if ( isConversionFactor ) { |
| | | Global_MappingConversionFactor::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_ConversionFactor" ); |
| | | } |
| | | |
| | | if ( isOperation ) { |
| | | Global_MappingOperation::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_Operation" ); |
| | | } |
| | | |
| | | if ( isOperationBOM ) { |
| | | Global_MappingOperationBOM::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_OperationBOM" ); |
| | | } |
| | | |
| | | if ( isProductInLane ) { |
| | | Global_MappingProductInLane::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_ProductInLane" ); |
| | | } |
| | | |
| | | if ( isAIPISPIP ) { |
| | | Global_MappingActualProductInStockingPointInPeriod::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_AIPISPIP" ); |
| | | } |
| | | |
| | | if ( isInventorySupply ) { |
| | | Global_MappingInventorySupply::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_InventorySupply" ); |
| | | } |
| | | |
| | | if ( isStockingPointCost ) { |
| | | Global_MappingStockingPointCost::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_StockingPointCost" ); |
| | | } |
| | | |
| | | if ( isOperationCost ) { |
| | | Global_MappingOperationCost::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_OperationCost" ); |
| | | } |
| | | |
| | | if ( isDOI_DSI ) { |
| | | Global_MappingDOI_DSI::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_DOI_DSI" ); |
| | | } |
| | | |
| | | if ( isCustomerGrade ) { |
| | | Global_MappingCustomerGrade::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_CustomerGrade" ); |
| | | } |
| | | |
| | | if ( isStockingPoint_MP ) { |
| | | this.Global_MappingStockingPoint_MP( relflush ); |
| | | Global_BrokerExecuteLog::CreateInOperation( this, "StockingPoint_MP", executionUser ); |
| | | this -> OnException( this -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception(), this ); |
| | | } |
| | | |
| | | if ( isCurrency_MP ) { |
| | | this.Global_MappingCurrency_MP( relflush ); |
| | | Global_BrokerExecuteLog::CreateInOperation( this, "Currency_MP", executionUser ); |
| | | this -> OnException( this -> Global_MappingCurrency_MP::CreateByAPI() -> Exception(), this ); |
| | | } |
| | | |
| | | if ( isCurrencyRate_MP ) { |
| | | this.Global_MappingCurrencyRate_MP( relflush ); |
| | | Global_BrokerExecuteLog::CreateInOperation( this, "CurrencyRate_MP", executionUser ); |
| | | this -> OnException( this -> Global_MappingCurrencyRate_MP::CreateByAPI() -> Exception(), this ); |
| | | } |
| | | |
| | | if ( isLane ) { |
| | | this.Global_MappingLane( relflush ); |
| | | Global_BrokerExecuteLog::CreateInOperation( this, "Lane", executionUser ); |
| | | this -> OnException( this -> Global_MappingLane::CreateByAPI() -> Exception(), this ); |
| | | } |
| | | |
| | | if ( isLaneLeg ) { |
| | | this.Global_MappingLaneLeg( relflush ); |
| | | Global_BrokerExecuteLog::CreateInOperation( this, "LaneLeg", executionUser ); |
| | | this -> OnException( this -> Global_MappingLaneLeg::CreateByAPI() -> Exception(), this ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SynchronizeDataToMacroPlan ( |
| | | MacroPlan macroPlan, |
| | | Boolean isUnitOfMeasure_MP |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | if ( isUnitOfMeasure_MP ) { |
| | | Global_MappingUnitOfMeasure_MP::SynchronizeMacroPlanData( this, macroPlan ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Test |
| | | { |
| | | TextBody: |
| | | [* |
| | | // KKO2 Sep-27-2023 (created) |
| | | *] |
| | | } |
| | |
| | | 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 -> OnException( globalOTDTable -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | globalOTDTable -> OnException( globalOTDTable -> Global_MappingCurrency_MP::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | globalOTDTable -> OnException( globalOTDTable -> Global_MappingCurrencyRate_MP::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | globalOTDTable.GlobalOTDTable_Product_MP().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_ConversionFactor().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_Operation().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_OperationBOM().AsyncExecute(); |
| | | globalOTDTable -> OnException( globalOTDTable -> Global_MappingLane::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | globalOTDTable -> OnException( globalOTDTable -> Global_MappingLaneLeg::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | globalOTDTable.GlobalOTDTable_ProductInLane().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_AIPISPIP().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_InventorySupply().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_StockingPointCost().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute(); |
| | | globalOTDTable.GlobalOTDTable_CustomOrder().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_SalesSegment_MP().AsyncExecute(); |
| | | //globalOTDTable -> OnException( globalOTDTable -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | //globalOTDTable -> OnException( globalOTDTable -> Global_MappingCurrency_MP::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | //globalOTDTable -> OnException( globalOTDTable -> Global_MappingCurrencyRate_MP::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | //globalOTDTable.GlobalOTDTable_Product_MP().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_ConversionFactor().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_Operation().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_OperationBOM().AsyncExecute(); |
| | | //globalOTDTable -> OnException( globalOTDTable -> Global_MappingLane::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | //globalOTDTable -> OnException( globalOTDTable -> Global_MappingLaneLeg::CreateByAPI() -> Exception(), globalOTDTable ); |
| | | //globalOTDTable.GlobalOTDTable_ProductInLane().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_AIPISPIP().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_InventorySupply().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_StockingPointCost().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_CustomOrder().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_DOI_DSI().AsyncExecute(); |
| | | //globalOTDTable.GlobalOTDTable_CustomerGrade().AsyncExecute(); |
| | | *] |
| | | } |
| | |
| | | { |
| | | #keys: '5[414702.0.83354588][414702.0.83354586][0.0.0][414702.0.83354587][414702.0.83354589]' |
| | | BaseType: Object |
| | | OnCreate: |
| | | [* |
| | | this.BusinessType( relnew, BusinessTypeName := "ææºäºä¸é¨OLED" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "ä¸ä¸æ¾ç¤ºäºä¸é¨" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "å¤åCELLOLED" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "ææºäºä¸é¨" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "汽车çµåäºä¸é¨" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "ç¹ç§æ¾ç¤º" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "è¿å¨å¥åº·äºä¸é¨" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "车载æ¾ç¤ºäºä¸é¨" ); |
| | | this.BusinessType( relnew, BusinessTypeName := "ITäºä¸é¨" ); |
| | | *] |
| | | StructuredName: 'GlobalOTDTables' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ExecuteUser |
| | | { |
| | | #keys: '3[414702.0.498264673][414702.0.498264672][414702.0.498264674]' |
| | | Description: 'æ§è¡ç¨æ·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ExecutionStatus |
| | | { |
| | | #keys: '3[414702.0.498264686][414702.0.498264685][414702.0.498264687]' |
| | | Description: |
| | | [* |
| | | æ§è¡ç¶æ |
| | | InOperation |
| | | Complete |
| | | *] |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CanRun ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String brokerName |
| | | ) as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | isCanRun := exists( globalOTDTable, Global_BrokerExecuteLog, tempGBEL, tempGBEL.BrokerName() = brokerName and |
| | | tempGBEL.ExecutionStatus() = "InOperation" |
| | | ); |
| | | |
| | | return isCanRun; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateInOperation ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String brokerName, |
| | | String executionUser |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := brokerName, |
| | | ExecuteUser := executionUser, |
| | | ExecutionStatus := "InOperation" ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingActualProductInStockingPointInPeriod( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_AIPISPIP().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingConversionFactor( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_ConversionFactor().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
| | |
| | | ); |
| | | } |
| | | |
| | | globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "", |
| | | ElementTotal := globalOTDTable.Global_MappingCurrencyRate_MP( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æ¥å£æ°æ®ï¼è´§å¸æ±çï¼", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | gbel := select( globalOTDTable, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = "CurrencyRate_MP" ); |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( globalOTDTable.Global_MappingCurrencyRate_MP( relsize ) ); |
| | | gbel.IsSuccess( true ); |
| | | gbel.Name( "æ¥å£æ°æ®ï¼è´§å¸æ±çï¼" ); |
| | | gbel.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
| | |
| | | ); |
| | | } |
| | | |
| | | globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "", |
| | | ElementTotal := globalOTDTable.Global_MappingCurrency_MP( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æ¥å£æ°æ®ï¼è´§å¸ï¼", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | gbel := select( globalOTDTable, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = "Currency_MP" ); |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( globalOTDTable.Global_MappingCurrency_MP( relsize ) ); |
| | | gbel.IsSuccess( true ); |
| | | gbel.Name( "æ¥å£æ°æ®ï¼è´§å¸ï¼" ); |
| | | gbel.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderTime |
| | | { |
| | | #keys: '3[414702.0.462647536][414702.0.462647535][414702.0.462647537]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderType |
| | | { |
| | | #keys: '3[414702.0.462647526][414702.0.462647525][414702.0.462647527]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductGrade |
| | | { |
| | | #keys: '3[414702.0.462647546][414702.0.462647545][414702.0.462647547]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SegmentPriority |
| | | { |
| | | #keys: '3[414702.0.462647556][414702.0.462647555][414702.0.462647557]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SheetProfitability |
| | | { |
| | | #keys: '3[414702.0.462647566][414702.0.462647565][414702.0.462647567]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingCustomOrder( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_CustomOrder().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 |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingCustomerGrade( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_CustomerGrade().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingDOI_DSI( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_DOI_DSI().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingForecast( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingInventorySupply( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_InventorySupply().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
| | |
| | | ); |
| | | } |
| | | |
| | | globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "", |
| | | ElementTotal := globalOTDTable.Global_MappingLane( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æ¥å£æ°æ®ï¼è½¦éï¼", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | |
| | | gbel := select( globalOTDTable, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = "Lane" ); |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( globalOTDTable.Global_MappingLane( relsize ) ); |
| | | gbel.IsSuccess( true ); |
| | | gbel.Name( "æ¥å£æ°æ®ï¼è½¦éï¼" ); |
| | | gbel.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
| | |
| | | ); |
| | | } |
| | | |
| | | globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "", |
| | | ElementTotal := globalOTDTable.Global_MappingLaneLeg( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æ¥å£æ°æ®ï¼è½¦éæ¯æ¶ï¼", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | gbel := select( globalOTDTable, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = "LaneLeg" ); |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( globalOTDTable.Global_MappingLaneLeg( relsize ) ); |
| | | gbel.IsSuccess( true ); |
| | | gbel.Name( "æ¥å£æ°æ®ï¼è½¦éæ¯æ¶ï¼" ); |
| | | gbel.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingOperation( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_Operation().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingOperationBOM( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_OperationBOM().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingProductInLane( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_ProductInLane().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BOMCount |
| | | { |
| | | #keys: '3[157968.0.1161166085][157968.0.1161166084][157968.0.1161166086]' |
| | | Description: 'Number of unique BOM used to produce this finished good.' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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, |
| | | output Strings uniquebomids_o |
| | | ) |
| | | { |
| | | 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() ) |
| | | { |
| | | if( this.ProductMajorType() <> "æå" ) |
| | | { |
| | | uniquebomids_o.Add( this.ID() ); |
| | | } |
| | | |
| | | 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, |
| | | uniquebomids_o ); |
| | | } |
| | | |
| | | 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, |
| | | uniquebomids_o ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | debuginfo( "Product:", this.ID(), |
| | | "| BusinessType:", this.BusinessType(), |
| | | "| Max depth reached, stop searching... (", depth, ")" ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingProduct_MP( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_Product_MP().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingSalesSegment_MP( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_SalesSegment_MP().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingStockingPointCost( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_StockingPointCost().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
| | |
| | | ); |
| | | } |
| | | |
| | | globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "", |
| | | ElementTotal := globalOTDTable.Global_MappingStockingPoint_MP( relsize ), |
| | | ErrorMessage := "", |
| | | IsSuccess := true, |
| | | Name := "æ¥å£æ°æ®ï¼åºåç¹ï¼", |
| | | SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), |
| | | ErrorNo := 0 |
| | | ); |
| | | gbel := select( globalOTDTable, Global_BrokerExecuteLog, tempGBEL, tempGBEL.ExecutionStatus() = "InOperation" and |
| | | tempGBEL.BrokerName() = "StockingPoint_MP" ); |
| | | gbel.ExecutionStatus( "Complete" ); |
| | | gbel.ElementTotal( globalOTDTable.Global_MappingStockingPoint_MP( relsize ) ); |
| | | gbel.IsSuccess( true ); |
| | | gbel.Name( "æ¥å£æ°æ®ï¼åºåç¹ï¼" ); |
| | | gbel.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingOperationCost( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInterfaceData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String executionUser, |
| | | String brokerName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.Global_MappingUnitOfMeasure_MP( relflush ); |
| | | isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName ); |
| | | if ( not isCanRun ) { |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser ); |
| | | globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().AsyncExecute(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeMacroPlanData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew, |
| | | Name := "忥å使°æ®", |
| | | IsSuccess := true |
| | | ); |
| | | |
| | | try { |
| | | traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, gmuommp ) { |
| | | unitOfMeasure_MP := select( macroPlan, UnitOfMeasure_MP, tempUOMMP, tempUOMMP.Name() = gmuommp.Name() ); |
| | | if ( isnull( unitOfMeasure_MP ) ) { |
| | | unitOfMeasure_MP := UnitOfMeasure_MP::Create( macroPlan, gmuommp.Name(), false, false ); |
| | | } |
| | | if ( gmuommp.IsDefault() ) { |
| | | unitOfMeasure_MP.SetAsDefault(); |
| | | } |
| | | } |
| | | } onerror { |
| | | global_BrokerExecuteLog.IsSuccess( false ); |
| | | global_BrokerExecuteLog.ErrorNo( e.ErrorNr() ); |
| | | global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Value |
| | | { |
| | | #keys: '3[414702.0.483720762][414702.0.483720761][414702.0.483720763]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateShowData_CustomOrder ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | businessTypeColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "äºä¸é¨" ); |
| | | currencyIDColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 1, "è´§å¸" ); |
| | | customerColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 2, "客æ·åç§°" ); |
| | | customerIDColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 3, "客æ·ID" ); |
| | | idColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 4, "å¯ä¸æ è¯" ); |
| | | orderDateColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 5, "è®¢åæ¥æ" ); |
| | | orderIDColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 6, "订åå·" ); |
| | | orderLineIDColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 7, "订åè¡å·" ); |
| | | priceColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 8, "åä»·" ); |
| | | priorityNameColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 9, "ä¼å
级åç§°" ); |
| | | productIDColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 10, "产åç¼ç " ); |
| | | stockingPointIDColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 11, "åºåç¹ç¼ç " ); |
| | | salesegmentNameColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 12, "éå®é¨é¨åç§°" ); |
| | | quantityColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 13, "æ°é" ); |
| | | unitofmeasureNameColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 14, "åä½" ); |
| | | orderTypeColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 15, "订åç±»å" ); |
| | | isAvailableColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 16, "æ¯å¦å¯ç¨" ); |
| | | productGradeColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 17, "产åç级" ); |
| | | segmentPriorityColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 18, "ç»åå¸åºä¼å
级" ); |
| | | sheetProfitabilityColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 19, "å¤§å¼ çå©" ); |
| | | orderTimeColumn := Global_ShowColumn::CreateColumn( globalOTDTable, 20, "订åä¸åæ¶é´" ); |
| | | i := 1; |
| | | traverse ( globalOTDTable, Global_MappingCustomOrder, gmco ) { |
| | | gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := i ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.BusinessType(), businessTypeColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.CurrencyID(), currencyIDColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.Customer(), customerColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.CustomerID(), customerIDColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.ID(), idColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, guard( gmco.OrderDate().Format( "Y-M2-D2" ), "æ¶é´æ ¼å¼é误" ), orderDateColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.OrderID(), orderIDColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.OrderLineID(), orderLineIDColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, [String]gmco.Price(), priceColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.PriorityName(), priorityNameColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.ProductID(), productIDColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.StockingPointID(), stockingPointIDColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.SalesSegmentName(), salesegmentNameColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, [String]gmco.Quantity(), quantityColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.UnitOfMeasureName(), unitofmeasureNameColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.OrderType(), orderTypeColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, [String]gmco.IsAvailable(), isAvailableColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.ProductGrade(), productGradeColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.SegmentPriority(), segmentPriorityColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmco.SheetProfitability(), sheetProfitabilityColumn, gloabal_ShowRow ); |
| | | Global_ShowCell::SetColumnsAndRows( globalOTDTable, guard( gmco.OrderTime().Format( "Y-M2-D2" ), "æ¶é´æ ¼å¼é误" ), orderTimeColumn, gloabal_ShowRow ); |
| | | |
| | | i++; |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SetColumnsAndRows ( |
| | | GlobalOTDTable globalOTDTable, |
| | | String value, |
| | | Global_ShowColumn global_ShowColumn, |
| | | Global_ShowRow global_ShowRow |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | global_ShowCell := globalOTDTable.Global_ShowCell( relnew, Value := value ); |
| | | global_ShowCell.Global_ShowColumn( relset, global_ShowColumn ); |
| | | global_ShowCell.Global_ShowRow( relset, global_ShowRow ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ShowData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | Global_BrokerExecuteLog global_BrokerExecuteLog |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_CustomOrder" ) { |
| | | Global_ShowCell::CreateShowData_CustomOrder( globalOTDTable ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type Global_ShowCell |
| | | { |
| | | #keys: '5[414702.0.483720658][414702.0.483720656][0.0.0][414702.0.483720657][414702.0.483720659]' |
| | | BaseType: Object |
| | | StructuredName: 'Global_ShowCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ColumnIndex |
| | | { |
| | | #keys: '3[414702.0.487974706][414702.0.487974705][414702.0.487974707]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ColumnName |
| | | { |
| | | #keys: '3[414702.0.483720752][414702.0.483720751][414702.0.483720753]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateColumn ( |
| | | GlobalOTDTable globalOTDTable, |
| | | Number columnIndex, |
| | | String columnName |
| | | ) as Global_ShowColumn |
| | | { |
| | | TextBody: |
| | | [* |
| | | global_ShowColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := columnIndex, ColumnName := columnName ); |
| | | |
| | | return global_ShowColumn; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type Global_ShowColumn |
| | | { |
| | | #keys: '5[414702.0.483720653][414702.0.483720651][0.0.0][414702.0.483720652][414702.0.483720654]' |
| | | BaseType: Object |
| | | StructuredName: 'Global_ShowColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RowNr |
| | | { |
| | | #keys: '3[414702.0.483720742][414702.0.483720741][414702.0.483720743]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type Global_ShowRow |
| | | { |
| | | #keys: '5[414702.0.483720648][414702.0.483720646][0.0.0][414702.0.483720647][414702.0.483720649]' |
| | | BaseType: Object |
| | | StructuredName: 'Global_ShowRows' |
| | | } |
| | |
| | | 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()); |
| | |
| | | StaticMethod SM_GetProductInfo ( |
| | | MacroPlan Owner, |
| | | String SKU |
| | | ) as MappingProduct |
| | | ) as Product_MP |
| | | { |
| | | Description: 'æ ¹æ®SKUè·åç©æä¿¡æ¯' |
| | | TextBody: |
| | | [* |
| | | // æ ¹æ®SKUè·åç©æä¿¡æ¯ |
| | | // 注æï¼ç©æç±»åå ParentIDï¼ |
| | | 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; |
| | | *] |
| | |
| | | idx:=0; |
| | | RQty:=0; |
| | | ObjOrderRealQty:=null( H_OrderForecastRealQty,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)); |
| | | } |
| | | |
| | | // è·åç©æä¿¡æ¯ |
| | | ObjMaterial := H_FunctionClass::SM_GetProductInfo( Owner,Obj.ProductID()); |
| | | if(not isnull( ObjMaterial)) |
| | | { |
| | | SKUName := ObjMaterial.Name(); |
| | | } |
| | | |
| | | // æ´æ°é¢æµä¿¡æ¯ï¼éæ°æ°æ®æ´æ°ä¿¡æ¯ã |
| | | ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomCode()=CustomName and ObjO.SKU()=Obj.ProductID() |
| | | and ObjO.Month().StartOfMonth() = Obj.EndDate().StartOfMonth() ) |
| | |
| | | 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(),SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName() |
| | | ,Department := DepartMent,VCode := VersionCode); |
| | | ,Department := DepartMent,VCode := VersionCode,SKUName := SKUName); |
| | | } |
| | | else |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | MethodOverride Execute #extension |
| | | { |
| | | TextBody: |
| | | [* |
| | | opt := DatasetFindOptions::Construct( this.MacroPlanDatasetName() ); |
| | | mp := MDSMacroPlan::Find( opt ); |
| | | |
| | | opt := DatasetFindOptions::Construct(); |
| | | scenarioManager := MDSScenarioManager::Find( opt ); |
| | | |
| | | // Only get data source which has all required files uploaded |
| | | dummyMissingFiles := construct( Strings ); |
| | | needUserUploadAllFiles := true; |
| | | validUploadedFiles := selectset( this, LibSOPImpExp_DataSourceChildren, ds, |
| | | ds.HasAllRequiredFilesForImport( dummyMissingFiles, needUserUploadAllFiles ) ); |
| | | |
| | | traverse( validUploadedFiles, Elements, file ) |
| | | { |
| | | this.LibSOPImpExp_UserInput( relnew, Value := file.Name() ); |
| | | } |
| | | |
| | | binaryValues := selectvalues( validUploadedFiles, Elements.LibSOPImpExp_DataSourceFile.LibSOPImpExp_ImportUploadedFile, file, true, file.DataAsBinary() ); |
| | | brokerNames := selectvalues( validUploadedFiles, Elements.LibSOPImpExp_DataSourceFile, file, true, file.BrokerName() ); |
| | | userinputvalues := selectuniquevalues( this, LibSOPImpExp_UserInput, userinput, |
| | | true, |
| | | userinput.Value() ); |
| | | mpsync := this.MPSync(); |
| | | |
| | | // Reactive way to import |
| | | o := this |
| | | ->SetStatusInProgress() |
| | | ->|mp->ImportExcels_Tianma( userinputvalues, binaryValues.Copy(), brokerNames ) |
| | | ->|scenarioManager->ImportExcels_Tianma( userinputvalues, binaryValues.Copy(), brokerNames ) |
| | | ->|mpsync->ImportExcels_Tianma( userinputvalues, binaryValues.Copy(), brokerNames ) |
| | | ->|this->SetStatusDone() |
| | | ->|mp->SetLastImportTime() |
| | | ->Exception(); |
| | | |
| | | this->OnException(o); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization ImportExcel #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod IsDataSourceIncluded_Tianma ( |
| | | Strings userinputvalues, |
| | | String datasource_i |
| | | ) remote as Boolean |
| | | { |
| | | Description: 'If data source selected by user to export' |
| | | TextBody: 'return exists( userinputvalues, Elements, input, input = datasource_i );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization LibSOPImpExp_ExportExcel #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ImportExcels_Tianma ( |
| | | Strings userinputvalues, |
| | | BinaryValues mpBinaryValues_i, |
| | | Strings mpBrokers_i |
| | | ) |
| | | { |
| | | Description: 'Import from Excel, used by web app.' |
| | | TextBody: |
| | | [* |
| | | // @userInput_i - Array of data group that user imports |
| | | // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position |
| | | // @mpBrokers_i - Array of uploaded Excels' broker name |
| | | |
| | | is3DDrive := false; |
| | | |
| | | // Check if each data group has files uploaded by user for import |
| | | this.Import( LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_ImportProfiles() ), |
| | | mpBinaryValues_i, mpBrokers_i, is3DDrive, construct( FileItems), construct( Strings ) ); |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method RefreshCapacityAndSaleBudgeFilter |
| | | Method RefreshCapacityAndSaleBudgeFilter ( |
| | | GlobalOTDTable globalOtdTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | |
| | | businessTypes := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, item.BusinessType() ); |
| | | info( [String]businessTypes.Size() ); |
| | | traverse( businessTypes, Elements, businessType ) { |
| | | CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( this, businessType ); |
| | | CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( globalOtdTable, businessType ); |
| | | } |
| | | placeOfProductionOfArrays := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, item.PlaceOfProductionOfArray() ); |
| | | info( [String]placeOfProductionOfArrays.Size() ); |
| | | traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { |
| | | CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( this, placeOfProductionOfArray ); |
| | | CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( globalOtdTable, placeOfProductionOfArray ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method RefreshCapacityAndSaleBudgeFilter ( |
| | | Boolean deleteBeforeCreate, |
| | | GlobalOTDTable globalOtdTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | if( deleteBeforeCreate ) { |
| | | globalOtdTable.CapacityAndSaleBudgeFilterBusinessType( relflush ); |
| | | globalOtdTable.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush ); |
| | | } |
| | | this.RefreshCapacityAndSaleBudgeFilter( globalOtdTable ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ImportExcels_Tianma ( |
| | | Strings userinputvalues, |
| | | BinaryValues mpBinaryValues_i, |
| | | Strings mpBrokers_i |
| | | ) |
| | | { |
| | | Description: 'Import from Excel, used by web app.' |
| | | TextBody: |
| | | [* |
| | | // @userinputvalues - Array of data group that user imports |
| | | // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position |
| | | // @mpBrokers_i - Array of uploaded Excels' broker name |
| | | |
| | | is3DDrive := false; |
| | | |
| | | // Check if each data group has files uploaded by user for import |
| | | this.Synchronize( LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_SupplyChainParameters() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_GlobalParameters() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Periods() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Functionality_InventorySpecifications() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Functionality_InventorySupplies() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Products() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Forecasts() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_ServiceLevels() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Campaigns() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Entities() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Costs() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Lanes() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Routings() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Capacities() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Functionality_SupplySpecifications() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Recipes() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Designer_Actuals() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_GlobalParameters_KPIFeedbackName() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_OptimizerPuzzles() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_PostponementSpecAndFulfillmentRestriction() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_CustomerOrder() ), |
| | | false, /* isImportBinary */ |
| | | mpBinaryValues_i, |
| | | mpBrokers_i, |
| | | is3DDrive, |
| | | construct( FileItems ), /* 3ddrive, ignore */ |
| | | construct( Strings ) /* 3ddrive, ignore */ ); |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // renhao Aug-14-2023 (created) |
| | | listtodeal := selectset( globalOTDTable,Global_MappingActualProductInStockingPointInPeriod,actual,actual.ActualInventoryLevelEnd() > 0 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( globalOTDTable, |
| | | Global_MappingActualProductInStockingPointInPeriod, |
| | | actual, |
| | | ( actual.ActualInventoryLevelEnd() > 0 ) and |
| | | ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | | totalcount := listtodeal.Size(); |
| | | info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | |
| | | if( not isnull(businessTypes)){ |
| | | |
| | | for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | businessType := businessTypes.Element( i); |
| | | businessType := businessTypes.Element( i ); |
| | | if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | ActualProductInStockingPointInPeriod::CreateOrUpdate( this, |
| | | actual.ProductID(), |
| | |
| | | if( isnull( businessTypes ) or businessTypes.Size() = 0 ) { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingCustomOrder, item, true ); |
| | | } else { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingCustomOrder, item, businessTypes.Find( item.BusinessType() ) <> -1 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listToDeal := selectset( globalOTDTable, |
| | | Global_MappingCustomOrder, |
| | | item, |
| | | ( businessTypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | | } |
| | | queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | |
| | | } |
| | | // if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){ |
| | | // info( item.ProductID().AsQUILL() ); |
| | | CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(), |
| | | item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(), |
| | | priorityName, item.ProductID(), |
| | | item.StockingPointID(), |
| | | item.SalesSegmentName(), |
| | | item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable()); |
| | | customOrder := CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(), |
| | | item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(), |
| | | priorityName, item.ProductID(), |
| | | item.StockingPointID(), |
| | | item.SalesSegmentName(), |
| | | item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable()); |
| | | customOrder.BusinessType( item.BusinessType() ); |
| | | customOrder.OrderType( item.OrderType() ); |
| | | customOrder.OrderTime( item.OrderTime() ); |
| | | customOrder.ProductGrade( item.ProductGrade() ); |
| | | customOrder.SegmentPriority( item.SegmentPriority() ); |
| | | customOrder.SheetProfitability( item.SheetProfitability() ); |
| | | // }else{ |
| | | // info( "invaild product: " + item.ProductID().AsQUILL() ); |
| | | // } |
| | |
| | | // renhao Aug-14-2023 (created) |
| | | queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | | listtodeal := selectset( globalOTDTable,Global_MappingInventorySupply,externalSupply, externalSupply.UserQuantity()>0 and externalSupply.Date() >= queryStartDate /*and externalSupply.Date() <= queryEndDate*/); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( globalOTDTable, |
| | | Global_MappingInventorySupply, |
| | | externalSupply, |
| | | ( externalSupply.UserQuantity()>0 ) and |
| | | ( externalSupply.Date() >= queryStartDate ) and |
| | | ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/); |
| | | totalcount := listtodeal.Size(); |
| | | description := "å¨éå¨å¶"; |
| | | info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" ); |
| | |
| | | if( not isnull(businessTypes)){ |
| | | |
| | | for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | businessType := businessTypes.Element( i); |
| | | businessType := businessTypes.Element( i ); |
| | | if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | InventorySupply::CreateOrUpdate( externalSupply.ID(), |
| | | productMP, |
| | |
| | | if( isnull( businessTypes ) or businessTypes.Size() = 0 ) { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingForecast, item, item.Quantity() > 0 ); |
| | | } else { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingForecast, item, businessTypes.Find( item.BusinessType() ) <> -1 and item.Quantity()>0 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listToDeal := selectset( globalOTDTable, |
| | | Global_MappingForecast, |
| | | item, |
| | | ( businessTypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( item.Quantity()>0 ) and |
| | | ( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | | } |
| | | queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-21-2023 (created) |
| | | |
| | | keyProductList := construct( Strings ); |
| | | if( isKeyProduct ) { |
| | | keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="æå" or item.ProductMajorType()="åæå", item.ID() ); |
| | | } |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | bomList := selectsortedset( globalOTDTable, Global_MappingOperationBOM, item, |
| | | ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, |
| | | true, |
| | | // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) |
| | | businessTypes.Find( item.BusinessType() ) >= 0 ) |
| | | ( businessTypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) ) |
| | | // and ifexpr( isKeyProduct, |
| | | // keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, |
| | | // true ) |
| | |
| | | // ========åç»å¤çè¾å
¥======== |
| | | |
| | | } |
| | | |
| | | if( not isnull( stockingPoint)){ |
| | | if( isKeyProduct){ |
| | | keyRows := selectset( routingRows,Elements,routingrow,keyProductList.Find( routingrow.ComponentCode())>=0); |
| | |
| | | this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType()); |
| | | } |
| | | } |
| | | |
| | | |
| | | // |
| | | //keyProductList := construct( Strings ); |
| | | //if( isKeyProduct ) { |
| | | // keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="æå" or item.ProductMajorType()="åæå", item.ID() ); |
| | | //} |
| | | //bomList := selectsortedset( globalOTDTable, Global_MappingOperationBOM, item, |
| | | // ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, |
| | | // true, |
| | | //// businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) |
| | | // businessTypes.Find( item.BusinessType() ) >= 0 ) |
| | | //// and ifexpr( isKeyProduct, |
| | | //// keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, |
| | | //// true ) |
| | | // , |
| | | // item.OrganCode() + "_" + item.ProductCode() + "_" + item.ProcessSection() ); |
| | | //// æroutingåroutingStepåç» |
| | | //routingIds := selectuniquevalues( bomList, Elements, item, true, item.OrganCode() + "_" + item.ProductCode() ); |
| | | //traverse( routingIds, Elements, routingId ) { |
| | | // routingRows := selectset( bomList, Elements, item, true, routingId = item.OrganCode() + "_" + item.ProductCode() ); |
| | | // if( routingRows.Size() > 0 ) { |
| | | // firstRow := routingRows.Element( 0 ); |
| | | //// stockingPointId := firstRow.OrganCode() + "_" + firstRow.ProductType() + "_Stock"; |
| | | //// inputStockingPointId := firstRow.OrganCode() + "_" + firstRow.ComponentType() + "_Stock"; |
| | | // stockingPointId := firstRow.OrganCode() + "_Stock"; |
| | | // |
| | | // // ========æ£æ¥======== |
| | | // product := Product_MP::FindProductTypeIndex( firstRow.ProductCode() ); |
| | | // if( not isnull( product ) ) { |
| | | //// error( "product : " + firstRow.ProductCode() + " not found" ); |
| | | // stockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( stockingPointId ); |
| | | // |
| | | //// info( stockingPointId.AsQUILL() ); |
| | | // // if( isnull( stockingPoint ) ) { |
| | | // // error( "stockingPoint : " + stockingPointId + " not found" ); |
| | | // // } |
| | | // routing := Routing::FindRoutingTypeIndex( routingId ); |
| | | // if( not isnull( routing ) ) { |
| | | //// error( "routing : " + routingId + " not found" ); |
| | | // // ========å¤çè¾åº======== |
| | | // if( not isnull( stockingPoint ) ) { |
| | | //// info( 1 ); |
| | | // operationsInLastSteps := Operation::FindFinalOperationsByRoutingId( this, routingId ); |
| | | // traverse( operationsInLastSteps, Elements, operationsInLastStep ) { |
| | | // operationsInLastStep.CreateOperationBOM( product, stockingPoint, false, true ); |
| | | // operationsInLastStep.GetOperationBOM( product.ID(), stockingPoint.ID(), false ).Quantity( 1 ); |
| | | // } |
| | | // // ========åç»å¤çè¾å
¥======== |
| | | // |
| | | // } |
| | | // if( not isnull( stockingPoint)){ |
| | | // if( isKeyProduct){ |
| | | // keyRows := selectset( routingRows,Elements,routingrow,keyProductList.Find( routingrow.ComponentCode())>=0); |
| | | // this.MappingOperationBOMDataRouting( routing,globalOTDTable,keyRows); |
| | | // }else{ |
| | | // this.MappingOperationBOMDataRouting( routing,globalOTDTable,routingRows); |
| | | // } |
| | | // |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | //if( createPurchaseSupplyMaterial ) { |
| | | // toCreateBomList := selectuniquevalues( bomList, Elements, item, |
| | | // item.ComponentType() = "P", item.OrganCode() + item.ComponentCode()); |
| | | // traverse( toCreateBomList, Elements, key ) { |
| | | // boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.ComponentCode() = key ); |
| | | // bom := boms.First(); |
| | | // this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType()); |
| | | // } |
| | | //} |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingOperationCostData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | Strings businesstypes |
| | | ) |
| | | { |
| | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | listtodeal := selectset( this, MappingOperation, item, true ); |
| | | } else { |
| | | listtodeal := selectset( this, MappingOperation, item, businesstypes.Find( item.BusinessType() ) <> -1 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( this, |
| | | MappingOperation, |
| | | item, |
| | | ( businesstypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) ); |
| | | } |
| | | |
| | | // Get the list to deal with max sequence number |
| | |
| | | // è·åæåºçå¾
å¤çè®°å½ |
| | | toDealList := construct( Global_MappingOperations ) ; |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | toDealList := selectsortedset( globalOTDTable, Global_MappingOperation, item, |
| | | businessTypes.Find( item.BusinessType() ) >= 0, |
| | | ( businessTypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ), |
| | | // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0, |
| | | item.SequenceNumber() ); |
| | | } else { |
| | |
| | | } |
| | | } else { |
| | | if( iskeyproduct = true ){ |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType()) >= 0 ); |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | else{ |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType()) >= 0 ); |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | } |
| | | totalcount := listToDeal.Size(); |
| | |
| | | if( isnull( businessTypes ) or businessTypes.Size() = 0 ) { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingSalesSegment_MP, item, true ); |
| | | } else { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingSalesSegment_MP, item, businessTypes.Find( item.BusinessType() ) <> -1 ); |
| | | listToDeal := selectset( globalOTDTable, |
| | | Global_MappingSalesSegment_MP, |
| | | item, |
| | | businessTypes.Find( item.BusinessType() ) <> -1 ); |
| | | } |
| | | //nameList := construct( structured[String] ); |
| | | //nameList := selectvalues( listToDeal, Elements, item, true, item.Name() ); |
| | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, true ); |
| | | } else { |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, |
| | | // businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 |
| | | businesstypes.Find( item.BusinessType() ) >= 0 |
| | | ( businesstypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | // todo å¶é ææ¬-16 |
| | | info( "InventoryCost Finished, Start OperationCost Mapping" ); |
| | | macroPlan.MappingOperationCostData( businessTypes ); |
| | | macroPlan.MappingOperationCostData( globalOTDTable, businessTypes ); |
| | | |
| | | // 订å颿µ-17 |
| | | Forecast::DoSync( macroPlan, businessTypes ,globalOTDTable); |
| | |
| | | } |
| | | //--------------------------------------------------------------------------------------------- |
| | | xmlTemplate := xmlTemplate + "</table>"; |
| | | info( xmlTemplate ); |
| | | //info( xmlTemplate ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) ); |
| | | XLS::SaveTable( tableHandle, OS::TempPath() + "MappingCapacityAndSaleBudge.xlsx" ); |
| | | file := OSFile::Construct(); |
| | |
| | | |
| | | xmlDOMSerializer := xmlDOMImplementation.CreateSerializer(); |
| | | xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument ); |
| | | |
| | | info( xmlTableString ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) ); |
| | | tableGroupHandle := TableGroupHandle::Create( "ç©ææ ç¾" ); |
| | | tableGroupHandle.Add( tableHandle ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrganCodeName |
| | | { |
| | | #keys: '3[412960.0.276650052][412960.0.276650051][412960.0.276650053]' |
| | | Description: 'ç»ç»ç¼ç åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OrganCode |
| | | { |
| | | #keys: '5[412960.0.276650035][412960.0.276650033][0.0.0][412960.0.276650034][412960.0.276650036]' |
| | | BaseType: Object |
| | | Description: 'äºä¸é¨å¯¹åºçç»ç»ç¼ç éå' |
| | | StructuredName: 'OrganCodes' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | *] |
| | | } |
| | |
| | | // NBoTk Sep-21-2023 (created) |
| | | |
| | | data := selectobject( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType and p.Name() = name |
| | | p.Name() = name |
| | | ) |
| | | |
| | | return data.Coefficient(); |
| | |
| | | value := ""; |
| | | |
| | | strList := selectuniquevalues( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType, |
| | | p.Name() |
| | | ); |
| | | |
| | |
| | | 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äºä¸é¨"); |
| | | |
| | | traverse( businessTypeList,Elements,b) |
| | | businessType := ""; |
| | | |
| | | // 妿已ç»åå¨ä¼å
çº§æ°æ® åä¸åå¤ç |
| | | list := selectset( owner,PriorityFactor,p,true); |
| | | if( list.Size() = 0 ) |
| | | { |
| | | 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 ); |
| | | |
| | | // æ·»å äºä¸é¨å¯¹åºçé¢å¶ä¼å
级å åæ°æ® |
| | | 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 ); |
| | | |
| | | // ä¼å
级å åç»å |
| | | priorityFactorList := selectset( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType |
| | | ); |
| | | |
| | | traverse( priorityFactorList,Elements,e) |
| | | { |
| | | 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( priorityFactor.BusinessType() <> "éå¢é¢æ¿" ) |
| | | { |
| | | isBusinessType := false; |
| | | if( p.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()); |
| | | isBusinessType := true; |
| | | } |
| | | |
| | | 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 GetCalcFormula ( |
| | | MacroPlan macroPlan, |
| | | String formula |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Oct-7-2023 (created) |
| | | priorityFactor := null( PriorityFactor); |
| | | traverse( macroPlan,PriorityFactor,p) |
| | | { |
| | | if( formula.StartsWith( p.Name()) ) |
| | | { |
| | | priorityFactor := p; |
| | | } |
| | | } |
| | | value := priorityFactor.Name() + "[" + [String]priorityFactor.Coefficient() +"*L]"; |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetCalcStr ( |
| | | MacroPlan macroPlan, |
| | | String formula, |
| | | String lastCalcStr |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Oct-7-2023 (created) |
| | | |
| | | calcStr := ""; |
| | | remindFormula := formula; |
| | | |
| | | // éåä¼å
级å åé
ç½® |
| | | if( not remindFormula = '' ) |
| | | { |
| | | // ä»èµ·å§ä½ç½®å¼å§å¹é
|
| | | if(remindFormula.StartsWith( "+" )) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "+" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "-" )) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "-" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "*" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "*" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "/" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "/" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "(" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "{" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( ")" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + ")" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else |
| | | { |
| | | // 䏿¯ç¬¦å· ç´æ¥è·å计ç®åçæ°å¼ |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | |
| | | } |
| | | |
| | | return calcStr; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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,""); |
| | | 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; |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // NBoTk Sep-21-2023 (created) |
| | | value := stringData; |
| | | |
| | | symbolList := construct( structured[String]); |
| | | symbolList.Add( "+") |
| | | symbolList.Add( "-") |
| | |
| | | } |
| | | } |
| | | |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,businessType); |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,""); |
| | | traverse( nameList,Elements,e) |
| | | { |
| | | if( stringData.EndsWith( e.Name())) |
| | |
| | | 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()-1); |
| | | 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()-1); |
| | | 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()-1); |
| | | 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()-1); |
| | | 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()-1); |
| | | } |
| | | else |
| | | { |
| | | // 䏿¯ç¬¦å· ç´æ¥è·å计ç®åçæ°å¼ |
| | | score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); |
| | | } |
| | | } |
| | | |
| | | // 没æå¹é
å
¬å¼è®¡ç®å®æ |
| | | return score; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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(isnull( priorityFactor) ) |
| | | { |
| | | value := 1.0; |
| | | } |
| | | else |
| | | { |
| | | if( "客æ·çç¥" = priorityFactor.Name()) |
| | | { |
| | | obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "客æ·çç¥" and p.GradingName() = customerOrder.CustomerPolicy()); |
| | | gradeTarget := 1.0; |
| | | if( not isnull( obj ) ) |
| | | { |
| | | gradeTarget := obj.GradeTarget(); |
| | | } |
| | | value := priorityFactor.Coefficient() * 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( p.Name().Length(),formula.Length() - p.Name().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(); |
| | | |
| | | // è·å对åºäºä¸é¨è®¡ç®å
¬å¼ |
| | | 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() |
| | | ) |
| | | |
| | | // Quintiqä¼å
级å10级 éè¦åæ®µè®¡ç® |
| | | subLevel := resultList.Size() div 10; |
| | | subLevelCount := 0; |
| | | |
| | | 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); |
| | | |
| | | // å建ä¼å
çº§æ°æ® éè¦å
æ¸
é¤ä¸ä¸æ¬¡ç计ç®ç»æ |
| | | // 夿å½åcustomerOrderæ¯å¦åå¨ |
| | | oldPriority := selectobject( macroPlan,Priority,p,p.Name() = [String]priorityValue); |
| | | if(isnull( oldPriority ) ) |
| | | { |
| | | macroPlan.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue); |
| | | } |
| | | } |
| | | |
| | | // å¤æè®¡ç®å段æ°éä¸Quintiqåå§ä¼å
级 |
| | | subLevelCount := subLevelCount + 1; |
| | | if( subLevelCount = subLevel ) |
| | | { |
| | | // å½å°è¾¾å段æ°éå ä¼å
级+1 åæ®µè®¡æ°ä»0å¼å§ |
| | | if( priorityValue < 10 ) |
| | | { |
| | | priorityValue := priorityValue + 1; |
| | | } |
| | | subLevelCount := 0; |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | Attribute ScenarioName |
| | | { |
| | | #keys: '3[412960.0.288500040][412960.0.288500039][412960.0.288500041]' |
| | | Description: 'åºæ¯åç§°ï¼å¯¹åºäºä¸é¨&ç»ç»ç¼ç ç»´æ¤ä¸ç»´æ¤çåºæ¯åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ImportExcels_Tianma ( |
| | | Strings userinputvalues, |
| | | BinaryValues mpBinaryValues_i, |
| | | Strings mpBrokers_i |
| | | ) |
| | | { |
| | | Description: 'Import from Excel, used by web app.' |
| | | TextBody: |
| | | [* |
| | | // @userinputvalues - Array of data group that user imports |
| | | // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position |
| | | // @mpBrokers_i - Array of uploaded Excels' broker name |
| | | |
| | | is3DDrive := false; |
| | | |
| | | // Check if each data group has files uploaded by user for import |
| | | this.Import( LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Strategies() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Accounts() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Bookmarks() ), |
| | | LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_KPISetting() ), |
| | | mpBinaryValues_i.Copy(), |
| | | mpBrokers_i, |
| | | is3DDrive, |
| | | construct( FileItems ), /* 3ddrive, ignore */ |
| | | construct( Strings ) /* 3ddrive, ignore */ ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod AvailableScenarioNames ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-23-2023 (created) |
| | | //strings := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨;"; |
| | | |
| | | //table := KB_BusinessTypesTable; |
| | | // |
| | | //if( strings.EndsWith( ";" ) ) { |
| | | // strings := strings.SubString( 0, strings.Length() - 1 ); |
| | | //} |
| | | |
| | | // 使ç¨businessTypeè·åæ°æ® |
| | | strings := BusinessType::GetScenarioNamesStr( globalOTDTable); |
| | | |
| | | return strings; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TestBoolean |
| | | { |
| | | #keys: '3[414384.0.915854691][414384.0.915854690][414384.0.915854692]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TestDate |
| | | { |
| | | #keys: '3[414384.0.915854704][414384.0.915854703][414384.0.915854705]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TestDateTime |
| | | { |
| | | #keys: '3[414384.0.915854714][414384.0.915854713][414384.0.915854715]' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TestNumber |
| | | { |
| | | #keys: '3[414384.0.915854681][414384.0.915854680][414384.0.915854682]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TestReal |
| | | { |
| | | #keys: '3[414384.0.915854668][414384.0.915854667][414384.0.915854669]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TestString |
| | | { |
| | | #keys: '3[414384.0.915854658][414384.0.915854657][414384.0.915854659]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | YuxTests toExportList |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // generate by generate_export_method.py |
| | | xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?> |
| | | <table> |
| | | <name>YuxTest</name> |
| | | '; |
| | | convDateToString := DateToString::StandardConverter(); |
| | | convDateToString.SetCustomConversion(); |
| | | convDateToString.CustomFormatString( 'yyyy-MM-dd' ); |
| | | convDateTimeToString := DateTimeToString::StandardConverter(); |
| | | convDateTimeToString.SetCustomConversion(); |
| | | convDateTimeToString.CustomFormatString( 'yyyy-MM-dd HH:mm:ss' ); |
| | | info( "export start" ); |
| | | //--------------------------------------------------------------------------------------------- |
| | | columnStr := "<column><name>æµè¯æ°å</name><type>String</type>"; |
| | | traverse( toExportList, Elements, toExportItem ) { |
| | | testNumber := toExportItem.TestNumber(); |
| | | cellStr := '<cell value="' + [String]testNumber + '"/>'; |
| | | columnStr := columnStr + cellStr; |
| | | } |
| | | columnStr := columnStr + "</column>"; |
| | | xmlTemplate := xmlTemplate + columnStr; |
| | | //--------------------------------------------------------------------------------------------- |
| | | columnStr := "<column><name>æµè¯å°æ°</name><type>String</type>"; |
| | | traverse( toExportList, Elements, toExportItem ) { |
| | | testReal := toExportItem.TestReal(); |
| | | cellStr := '<cell value="' + [String]testReal + '"/>'; |
| | | columnStr := columnStr + cellStr; |
| | | } |
| | | columnStr := columnStr + "</column>"; |
| | | xmlTemplate := xmlTemplate + columnStr; |
| | | //--------------------------------------------------------------------------------------------- |
| | | columnStr := "<column><name>æµè¯å符串</name><type>String</type>"; |
| | | traverse( toExportList, Elements, toExportItem ) { |
| | | testString := toExportItem.TestString(); |
| | | cellStr := '<cell value="' + testString + '"/>'; |
| | | columnStr := columnStr + cellStr; |
| | | } |
| | | columnStr := columnStr + "</column>"; |
| | | xmlTemplate := xmlTemplate + columnStr; |
| | | //--------------------------------------------------------------------------------------------- |
| | | columnStr := "<column><name>æµè¯å¸å°</name><type>String</type>"; |
| | | traverse( toExportList, Elements, toExportItem ) { |
| | | testBoolean := toExportItem.TestBoolean(); |
| | | cellStr := '<cell value="' + [String]testBoolean + '"/>'; |
| | | columnStr := columnStr + cellStr; |
| | | } |
| | | columnStr := columnStr + "</column>"; |
| | | xmlTemplate := xmlTemplate + columnStr; |
| | | //--------------------------------------------------------------------------------------------- |
| | | columnStr := "<column><name>æµè¯æ¥æ</name><type>String</type>"; |
| | | traverse( toExportList, Elements, toExportItem ) { |
| | | testDate := toExportItem.TestDate(); |
| | | cellStr := '<cell value="' + ifexpr( testDate = Date::MinDate(), "", convDateToString.Convert( testDate )) + '"/>'; |
| | | columnStr := columnStr + cellStr; |
| | | } |
| | | columnStr := columnStr + "</column>"; |
| | | xmlTemplate := xmlTemplate + columnStr; |
| | | //--------------------------------------------------------------------------------------------- |
| | | columnStr := "<column><name>æµè¯æ¥ææ¶é´</name><type>String</type>"; |
| | | traverse( toExportList, Elements, toExportItem ) { |
| | | testDateTime := toExportItem.TestDateTime(); |
| | | cellStr := '<cell value="' + ifexpr( testDateTime = DateTime::MinDateTime(), "", convDateTimeToString.Convert( testDateTime )) + '"/>'; |
| | | columnStr := columnStr + cellStr; |
| | | } |
| | | columnStr := columnStr + "</column>"; |
| | | xmlTemplate := xmlTemplate + columnStr; |
| | | //--------------------------------------------------------------------------------------------- |
| | | xmlTemplate := xmlTemplate + "</table>"; |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) ); |
| | | XLS::SaveTable( tableHandle, OS::TempPath() + "YuxTest.xlsx" ); |
| | | file := OSFile::Construct(); |
| | | file.Open( OS::TempPath() + "YuxTest.xlsx", "Read", true ); |
| | | data := file.ReadBinary() |
| | | info( "export end" ); |
| | | return data.AsBase64EncodedString(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ExportTest ( |
| | | MPSync parent |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-25-2023 (created) |
| | | list := selectset( parent, YuxTest, item, true ); |
| | | if( list.Size() = 0 ) { |
| | | for( i := 0; i < 100; i := i + 1 ) { |
| | | parent.YuxTest( relnew, |
| | | TestBoolean := ifexpr( Number::Random( 0, 1 ) = 1, true, false ), |
| | | TestDate := ifexpr( Number::Random( 0, 1 ) = 1, Date::MinDate(), Date::ActualDate() ), |
| | | TestDateTime := ifexpr( Number::Random( 0, 1 ) = 1,DateTime::MinDateTime(), DateTime::ActualTime() ), |
| | | TestNumber := Number::Random( 100, 200 ), |
| | | TestReal := Real::Random( 10.0, 20.0 ), |
| | | TestString := [String]Number::Random( 1000, 2000 ) |
| | | ); |
| | | } |
| | | } |
| | | list := selectset( parent, YuxTest, item, true ); |
| | | return YuxTest::Export( list ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type YuxTest |
| | | { |
| | | #keys: '5[414384.0.915854638][414384.0.915854636][0.0.0][414384.0.915854637][414384.0.915854639]' |
| | | BaseType: Object |
| | | StructuredName: 'YuxTests' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeDataInterface Global_BrokerExecuteLog |
| | | { |
| | | TypeKey: '[414702.0.265587041]' |
| | | ImageDataMember ImageExecutionStatus |
| | | { |
| | | #keys: '1[414702.0.496052017]' |
| | | ImageSpecifications: |
| | | [ |
| | | ImageDataMemberImageSpecification |
| | | { |
| | | Image: 'MEDIA_PLAY_GREEN' |
| | | Quill: 'object.ExecutionStatus() = "InOperation"' |
| | | Value: 'InOperation' |
| | | } |
| | | ImageDataMemberImageSpecification |
| | | { |
| | | Image: 'CHECK' |
| | | Quill: 'object.ExecutionStatus() = "Complete"' |
| | | Value: 'ImageExecutionStatus2' |
| | | } |
| | | ] |
| | | } |
| | | } |
| | |
| | | [ |
| | | Component MenuSpecial #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component MenuGlobalOTDTableTest { #keys: '[157968.0.1170224128]' BaseType: 'Menu' Properties: [ Image: 'DUDE2' Text: 'GlobalOTDTable Test' ] } |
| | | ] |
| | | Properties: |
| | | [ |
| | | ModeledStringList ChildOrdering |
| | |
| | | c: MenuTest |
| | | c: MenuScenarioManagerTest |
| | | c: MenuMPDomainHandlerTest |
| | | c: MenuGlobalOTDTableTest |
| | | c: MenuRemoveHistory |
| | | c: Menu46 |
| | | c: MenuRefresh |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: mbMainMenu/MenuGlobalOTDTableTest |
| | | Response OnClick () id:Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick |
| | | { |
| | | #keys: '[157968.0.1170224134]' |
| | | Body: |
| | | [* |
| | | // Run GlobalOTDTable test method |
| | | GlobalOTDTable.Test(); |
| | | *] |
| | | DefinitionID: 'Responsedef_Menu_OnClick' |
| | | } |
| | |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component ButtonPriority |
| | | { |
| | | #keys: '[414382.0.587601840]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'QUEUE' |
| | | Label: 'ä¼å
级å å' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | 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 abgInterfaceTest |
| | | { |
| | | #keys: '[414702.0.457001887]' |
| | | BaseType: 'WebActionBarGroup' |
| | | Children: |
| | | [ |
| | | Component btnInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459575623]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'BEAR' |
| | | Label: 'æ¥å£æµè¯' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | |
| | | Children: |
| | | [ |
| | | #child: abgTest |
| | | #child: abgInterfaceTest |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ActionBarGroupSalesViews/ButtonPriority |
| | | Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick |
| | | { |
| | | #keys: '[414382.0.587601951]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "PriorityTest",true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | 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: abgInterfaceTest/btnInterfaceTest |
| | | Response OnClick () id:Response_TIANMA_JITUAN_abgInterfaceTest_btnInterfaceTest_OnClick |
| | | { |
| | | #keys: '[414702.0.459575742]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "æ¥å£æµè¯", true ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderBusinessType.Data.BusinessTypeName' |
| | | Label: 'Business Type Name' |
| | | Description: 'äºä¸é¨åç§°è¾å
¥' |
| | | Label: 'äºä¸é¨åç§°' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component editScenarioName |
| | | { |
| | | #keys: '[412960.0.275480603]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderBusinessType.Data.ScenarioName' |
| | | Description: 'åºæ¯åç§°ç¼è¾' |
| | | Label: 'åºæ¯åç§°' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component editDisplayType |
| | | { |
| | | #keys: '[412960.0.278321833]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderBusinessType.Data.DisplayType' |
| | | Description: 'æ¾ç¤ºç±»åç¼è¾' |
| | | Label: 'æ¾ç¤ºç±»å' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | DataHolderBusinessType.Data().Commit(); |
| | | |
| | | //if( not isnull( DataHolderForm.Data() ) ) |
| | | //{ |
| | | // // Access the form, select the new assumption |
| | | // DataHolderForm.Data().ListAssumptions().SelectByKey( DataHolderDialogData.Data().WrappedInstance().Key() ); |
| | | //} |
| | | |
| | | this.Close(); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 ( |
| | | String name |
| | | ) id:Method_DialogChoosePriorityPolicy_CalculatePriorityResult |
| | | { |
| | | #keys: '[414382.0.577602130]' |
| | | Body: |
| | | [* |
| | | 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: |
| | | [* |
| | | name := PriorityPolicyStringList.Text(); |
| | | dlg := construct( DialogChoosePriorityPolicy ); |
| | | dlg.CalculatePriorityResult(name); |
| | | dlg.Close(); |
| | | *] |
| | | 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: |
| | |
| | | Properties: |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderDialogData.Data.BusinessType' |
| | | Label: 'BusinessType' |
| | | DataBinding: 'DataHolderDialogData.Data.ScenarioName' |
| | | Label: 'Scenario Name' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | |
| | | data.Name( versionname ); |
| | | } |
| | | |
| | | // Get Business Type from Scenario Name |
| | | businesstype := select( globalotdtable, |
| | | BusinessType, |
| | | b, |
| | | b.ScenarioName()=data.ScenarioName() ).BusinessTypeName(); |
| | | data.BusinessType( businesstype ); |
| | | |
| | | // Copy scenario |
| | | if( isnull( data.WrappedInstance() ) ) |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[414382.0.579140304]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnApply |
| | | { |
| | | #keys: '[414382.0.579140306]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Apply' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnOk |
| | | { |
| | | #keys: '[414382.0.579140308]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414382.0.579140310]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | 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.579140302]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component EditBusinessType |
| | | { |
| | | #keys: '[414382.0.581576821]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.BusinessType' |
| | | Label: 'äºä¸é¨' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component EditCustomerPolicy |
| | | { |
| | | #keys: '[414382.0.581576840]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.CustomerPolicy' |
| | | Label: '客æ·çç¥' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component EditOrderType |
| | | { |
| | | #keys: '[414382.0.581576842]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.OrderType' |
| | | Label: '订åç±»å' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component EditProductGrade |
| | | { |
| | | #keys: '[414382.0.581576844]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.ProductGrade' |
| | | Label: '产åç级' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component EditSegmentPriority |
| | | { |
| | | #keys: '[414382.0.581576846]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.SegmentPriority' |
| | | Label: 'ç»åå¸åºä¼å
级' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component EditOrderTime |
| | | { |
| | | #keys: '[414382.0.581576988]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.OrderTime' |
| | | Label: '订åä¸åæ¶é´' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component EditSheetProfitability |
| | | { |
| | | #keys: '[414382.0.581577181]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderSelectCustomerOrder.Data.SheetProfitability' |
| | | Label: 'å¤§å¼ ç婿°´å¹³' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ClickBynOk () id:Method_DialogEditCustomerOrderPriority_ClickBynOk |
| | | { |
| | | #keys: '[414382.0.581577357]' |
| | | Body: |
| | | [* |
| | | // Disabled button to prevent the possibility of multiple firing |
| | | |
| | | btnOk.Enabled(false,''); |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | DataHolderSelectCustomerOrder.Data().Commit(); |
| | | this.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method EditCustomerOrderPriority ( |
| | | CustomerOrder selection |
| | | ) id:Method_DialogEditCustomerOrderPriority_EditCustomerOrderPriority |
| | | { |
| | | #keys: '[414382.0.581575991]' |
| | | Body: |
| | | [* |
| | | // Edits assumption |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderSelectCustomerOrder.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnApply |
| | | Response OnClick () id:Response_pnlActions_btnApply_OnClick |
| | | { |
| | | #keys: '[414382.0.579140312]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | Precondition: |
| | | [* |
| | | return Form.HasChanges(); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ApplyChanges(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[414382.0.579140314]' |
| | | 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.579140313]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ClickBynOk(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogEditCustomerOrderPriority |
| | | { |
| | | #keys: '[414382.0.579140300]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderSelectCustomerOrder |
| | | { |
| | | #keys: '[414382.0.581575244]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[CustomerOrder]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | Title: 'ä¿®æ¹è®¢åä¼å
级å åä¿¡æ¯' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New ( |
| | | MacroPlan owner, |
| | | String businessType |
| | | ) id:Method_DialogEditPriorityFactor_New |
| | | { |
| | | #keys: '[414382.0.593002251]' |
| | | Body: |
| | | [* |
| | | data := owner.PriorityFactor(relshadow); |
| | | data.BusinessType(businessType); |
| | | |
| | | DataHolderEditPriorityFactor.Data(&data); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
| | |
| | | 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' |
| | | Enabled: false |
| | | Label: 'ååç¼ç ' |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component dropDownStringListSalesSegmentName id:dropDownStringListSalesSegmentName_325 |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesSegmentName' |
| | | Label: 'SalesSegmentName' |
| | | Strings: 'SalesSagmentName' |
| | | Enabled: false |
| | | Label: 'éå®é¨é¨' |
| | | Taborder: 1 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component dropDownStringListStockPointID id:dropDownStringListStockPointID_801 |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.StockingPointID' |
| | | Label: 'StockPointID' |
| | | Strings: 'StockPointID' |
| | | Enabled: false |
| | | Label: 'åºåç¹' |
| | | Taborder: 2 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component dropDownStringListCustomer id:dropDownStringListCustomer_957 |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.Customer' |
| | | Label: 'Customer' |
| | | Strings: 'Customer' |
| | | Enabled: false |
| | | Label: '客æ·' |
| | | Taborder: 3 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component edtQuantity id:edtQuantity_995 |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.Quantity' |
| | | Label: 'Quantity' |
| | | Label: 'æ°é' |
| | | Mask: 'REAL' |
| | | Taborder: 4 |
| | | Taborder: 12 |
| | | ] |
| | | } |
| | | Component dropDownStringListUnitOfMeasureName id:dropDownStringListUnitOfMeasureName_750 |
| | |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.UnitOfMeasureName' |
| | | Label: 'UnitOfMeasureName' |
| | | Enabled: false |
| | | Label: 'æ°éåä½' |
| | | Strings: 'UnitName' |
| | | Taborder: 5 |
| | | Taborder: 4 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component edtSalesAmount id:edtSalesAmount_608 |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesAmount' |
| | | Label: 'SalesAmount' |
| | | Label: 'éå®é¢' |
| | | Mask: 'NUMBER' |
| | | Taborder: 6 |
| | | Taborder: 13 |
| | | ] |
| | | } |
| | | Component dsDemandDate |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.DemandDate' |
| | | Label: 'Demand Date' |
| | | Taborder: 8 |
| | | Label: 'éæ±æ¥æ' |
| | | Taborder: 15 |
| | | ] |
| | | } |
| | | Component dsForecastDemandDate |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.ForecastDemandDate' |
| | | Label: 'Forecast Demand Date' |
| | | Label: 'é¢æéæ±æ¥æ' |
| | | Taborder: 14 |
| | | ] |
| | | } |
| | | Component ddlSalesSegment |
| | | { |
| | | #keys: '[414702.0.525040441]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'SalesSegment_MP' |
| | | Children: |
| | | [ |
| | | Component deSalesSegment |
| | | { |
| | | #keys: '[414702.0.525040443]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[SalesSegment_MP]' |
| | | FixedFilter: 'object.Child(relsize)=0' |
| | | Source: 'ApplicationMacroPlanner.DataHolderSalesSegment' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: 'éå®é¨é¨' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ddlProduct_MP |
| | | { |
| | | #keys: '[414702.0.525462899]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'Product_MP' |
| | | Children: |
| | | [ |
| | | Component deContent |
| | | { |
| | | #keys: '[414702.0.525462901]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Product_MP]' |
| | | FixedFilter: 'not object.IsSystem()' |
| | | Source: 'ApplicationMacroPlanner.DataHolderProduct' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: '产å' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ddlStockingPoint_MP |
| | | { |
| | | #keys: '[414702.0.525462922]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'StockingPoint_MP' |
| | | Children: |
| | | [ |
| | | Component deContent345 |
| | | { |
| | | #keys: '[414702.0.525462924]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[StockingPoint_MP]' |
| | | FixedFilter: 'not object.IsSystem()' |
| | | Source: 'ApplicationMacroPlanner.DataHolderStockingPoint' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: 'åºåç¹' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component ddlBusinessType |
| | | { |
| | | #keys: '[414702.0.525012300]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'BusinessType' |
| | | Children: |
| | | [ |
| | | Component deContent989 |
| | | { |
| | | #keys: '[414702.0.525012302]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'BusinessType' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'BusinessTypeName' |
| | | Label: 'äºä¸é¨' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component ddlUnitOfMeasure_MP |
| | | { |
| | | #keys: '[414702.0.525669735]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'UnitOfMeasure_MP' |
| | | Children: |
| | | [ |
| | | Component deContent703 |
| | | { |
| | | #keys: '[414702.0.525669737]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'UnitOfMeasure_MP' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: 'åä½' |
| | | Taborder: 9 |
| | | ] |
| | | } |
| | | Component efCustomerName |
| | | { |
| | | #keys: '[414702.0.525734924]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.Customer' |
| | | Label: 'Customer name' |
| | | Taborder: 10 |
| | | ] |
| | | } |
| | | Component efCustomID |
| | | { |
| | | #keys: '[414702.0.525734943]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: 'Customer ID' |
| | | Taborder: 11 |
| | | ] |
| | | } |
| | | Component ddslOrderType |
| | | { |
| | | #keys: '[414702.0.526239841]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFillingCapacityOrder.Data.OrderType' |
| | | Label: '订åç±»å' |
| | | Strings: 'åç¾;ææ' |
| | | Taborder: 16 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | [* |
| | | // Disabled button to prevent the possibility of multiple firing |
| | | |
| | | btnOk.Enabled(false,''); |
| | | //btnOk.Enabled(false,''); |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | DataHolderFillingCapacityOrder.Data().Commit(); |
| | | //DataHolderFillingCapacityOrder.Data().Commit(); |
| | | |
| | | //if( not isnull( DataHolderForm.Data() ) ) |
| | | //{ |
| | |
| | | |
| | | DataHolderFillingCapacityOrder.Data( &data ); |
| | | |
| | | salesSegment_MP := select( MacroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = selection.SalesSegmentName() ); |
| | | ddlSalesSegment.Data( salesSegment_MP ); |
| | | |
| | | product_MP := select( MacroPlan, Product_MP, tempPMP, tempPMP.ID() = selection.ProductID() ); |
| | | ddlProduct_MP.Data( product_MP ); |
| | | |
| | | stockingPoint_MP := select( MacroPlan, StockingPoint_MP, tempSPMP, tempSPMP.ID() = selection.StockingPointID() ); |
| | | ddlStockingPoint_MP.Data( stockingPoint_MP ); |
| | | |
| | | businessType := select( GlobalOTDTable, BusinessType, tempBT, tempBT.BusinessTypeName() = selection.BusinessType() ); |
| | | ddlBusinessType.Data( businessType ); |
| | | |
| | | unitOfMeasure_MP := select( MacroPlan, UnitOfMeasure_MP, tempUOMMP, tempUOMMP.Name() = selection.UnitOfMeasureName() ); |
| | | ddlUnitOfMeasure_MP.Data( unitOfMeasure_MP ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | |
| | | data := owner.FillingCapacityOrder(relshadow); |
| | | data.OrderType("ææ") |
| | | data := owner.FillingCapacityOrder( relshadow ); |
| | | //data.OrderType("ææ") |
| | | |
| | | DataHolderFillingCapacityOrder.Data(&data); |
| | | DataHolderFillingCapacityOrder.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | feedback := Translations::FilllingCapacity_ValidateInput(); |
| | | |
| | | checkValue := not dropDownStringListProductID.Text() = '' and not dropDownStringListSalesSegmentName.Text() = '' |
| | | and not dropDownStringListStockPointID.Text() = '' and not dropDownStringListCustomer.Text() = '' |
| | | and not edtQuantity.Text() = '' and not dropDownStringListUnitOfMeasureName.Text() = '' |
| | | and not edtSalesAmount.Text() = '' |
| | | |
| | | return checkValue; |
| | | //feedback := Translations::FilllingCapacity_ValidateInput(); |
| | | // |
| | | //checkValue := not dropDownStringListProductID.Text() = '' and not dropDownStringListSalesSegmentName.Text() = '' |
| | | // and not dropDownStringListStockPointID.Text() = '' and not dropDownStringListCustomer.Text() = '' |
| | | // and not edtQuantity.Text() = '' and not dropDownStringListUnitOfMeasureName.Text() = '' |
| | | // and not edtSalesAmount.Text() = '' |
| | | // |
| | | //return checkValue; |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ClickBtnOk() |
| | | Form.ApplyChanges(); |
| | | |
| | | data := guard( DataHolderFillingCapacityOrder.Data().WrappedInstance(), null( FillingCapacityOrder ) );; |
| | | if ( isnull( data ) ) { |
| | | MacroPlan.FillingCapacityOrder( relnew, |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := guard( ddlProduct_MP.Data().ID(), "null" ), |
| | | BusinessType := guard( ddlBusinessType.Data().BusinessTypeName(), "null" ), |
| | | SalesSegmentName := guard( ddlSalesSegment.Data().Name(), "null" ), |
| | | StockingPointID := guard( ddlStockingPoint_MP.Data().ID(), "null" ), |
| | | Customer := efCustomerName.Text(), |
| | | Quantity := [Real]edtQuantity.Text(), |
| | | UnitOfMeasureName := ddlUnitOfMeasure_MP.Data().Name(), |
| | | ForecastDemandDate := dsForecastDemandDate.Date(), |
| | | DemandDate := dsDemandDate.Date(), |
| | | OrderType := ddslOrderType.Text(), |
| | | SalesAmount := [Number]edtSalesAmount.Text() |
| | | ); |
| | | } else { |
| | | data.ProductID( guard( ddlProduct_MP.Data().ID(), "null" ) ); |
| | | data.BusinessType( guard( ddlBusinessType.Data().BusinessTypeName(), "null" ) ); |
| | | data.SalesSegmentName( guard( ddlSalesSegment.Data().Name(), "null" ) ); |
| | | data.StockingPointID( guard( ddlStockingPoint_MP.Data().ID(), "null" ) ); |
| | | data.Customer( efCustomerName.Text() ); |
| | | data.Quantity( [Real]edtQuantity.Text() ); |
| | | data.UnitOfMeasureName( ddlUnitOfMeasure_MP.Data().Name() ); |
| | | data.ForecastDemandDate( dsForecastDemandDate.Date() ); |
| | | data.DemandDate( dsDemandDate.Date() ); |
| | | data.OrderType( ddslOrderType.Text() ); |
| | | data.SalesAmount( [Number]edtSalesAmount.Text() ); |
| | | } |
| | | |
| | | Form.Close(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderFilling.Data.VerNo' |
| | | Label: 'VerNo' |
| | | Label: 'çæ¬å·' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | PriorityPolicy selection |
| | | ) id:Method_DialogNewPriorityPolicy_Edit |
| | | { |
| | | #keys: '[414382.0.603040472]' |
| | | Body: |
| | | [* |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderNewPriorityPolicy.Data( &data); |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[412960.0.278371059]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[412960.0.278371063]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[412960.0.278371065]' |
| | | 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: '[412960.0.278371057]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component editOrganCodeName |
| | | { |
| | | #keys: '[412960.0.280135212]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderOrganCode.Data.OrganCodeName' |
| | | Description: 'ç»ç»ç¼ç åç§°ç¼è¾' |
| | | Label: 'ç»ç»ç¼ç ' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ClickBtnOk () id:Method_DialogOrganCode_ClickBtnOk |
| | | { |
| | | #keys: '[412960.0.279955432]' |
| | | Body: |
| | | [* |
| | | // Disabled button to prevent the possibility of multiple firing |
| | | |
| | | btnOk.Enabled(false,''); |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | DataHolderOrganCode.Data().Commit(); |
| | | |
| | | this.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | OrganCode selection |
| | | ) id:Method_DialogOrganCode_Edit |
| | | { |
| | | #keys: '[412960.0.279955433]' |
| | | Body: |
| | | [* |
| | | // Edits assumption |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderOrganCode.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New ( |
| | | BusinessType owner |
| | | ) id:Method_DialogOrganCode_New |
| | | { |
| | | #keys: '[412960.0.279955435]' |
| | | Body: |
| | | [* |
| | | data := owner.OrganCode(relshadow); |
| | | DataHolderOrganCode.Data( &data); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[412960.0.278371069]' |
| | | 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: '[412960.0.278371068]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ClickBtnOk() |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogOrganCode |
| | | { |
| | | #keys: '[412960.0.278371055]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderOrganCode |
| | | { |
| | | #keys: '[412960.0.279955517]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[OrganCode]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Description: 'ç»ç»ç¼ç è¾¹çå¼¹çª' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | Title: 'ç»ç»ç¼ç ç¼è¾' |
| | | ] |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessTypeName","title":"BusinessTypeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessTypeName"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessTypeName","title":"BusinessTypeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessTypeName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayType","title":"DisplayType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ScenarioName","title":"ScenarioName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ScenarioName"}}]' |
| | | ContextMenu: 'listContextMenuBusinessType655' |
| | | Taborder: 2 |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListOrganCode |
| | | { |
| | | #keys: '[412960.0.278370451]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorOrganCode |
| | | { |
| | | #keys: '[412960.0.278370452]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'BusinessType' |
| | | Description: 'ç»ç»ç¼ç ' |
| | | ExtractionMode: 'Selected' |
| | | Source: 'ListBusinessType' |
| | | Taborder: 0 |
| | | Transformation: 'OrganCode' |
| | | ] |
| | | } |
| | | #child: listActionBarPageOrganCode |
| | | Component DataSetLevelOrganCode |
| | | { |
| | | #keys: '[412960.0.278370457]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuBusinessType |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCodeName","title":"OrganCodeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCodeName"}}]' |
| | | ContextMenu: 'listContextMenuBusinessType' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'ç»ç»ç¼ç ' |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListOrganCode_WebMenu_OnClick |
| | | { |
| | | #keys: '[412960.0.280046014]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[507.0.16811226]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelBusinessType |
| | | { |
| | | #keys: '[412960.0.278370440]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListOrganCode |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageOrganCode |
| | | { |
| | | #keys: '[412960.0.278370454]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuBusinessType |
| | | { |
| | | #keys: '[412960.0.278370459]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuEdit526 |
| | | { |
| | | #keys: '[412960.0.278370780]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 3 |
| | | Title: 'Edit' |
| | | ] |
| | | } |
| | | Component MenuDelete267 |
| | | { |
| | | #keys: '[412960.0.278370833]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 4 |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | Component MenuNewOrganCode |
| | | { |
| | | #keys: '[412960.0.280077335]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Description: 'æ°å»ºç»ç»ç¼ç ' |
| | | Image: 'EARTH_ADD' |
| | | Taborder: 6 |
| | | Title: 'Add Organ Code' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListBusinessType |
| | | Response OnClick ( |
| | | BusinessType selection |
| | | ) id:Response_ListBusinessType_MenuNewOrganCode_OnClick |
| | | { |
| | | #keys: '[412960.0.280105097]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListBusinessType/Responsedef_ListBusinessType_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuNewOrganCode' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogOrganCode ); |
| | | dlg.New( selection ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOrganCode |
| | | Response OnClick ( |
| | | OrganCode selection |
| | | ) id:Response_ListOrganCode_MenuDelete267_OnClick |
| | | { |
| | | #keys: '[412960.0.280046423]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOrganCode/Responsedef_ListOrganCode_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuDelete267' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOrganCode |
| | | Response OnClick ( |
| | | OrganCode selection |
| | | ) id:Response_ListOrganCode_MenuEdit526_OnClick |
| | | { |
| | | #keys: '[412960.0.280046170]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOrganCode/Responsedef_ListOrganCode_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuEdit526' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogOrganCode ); |
| | | dlg.Edit( selection ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | Children: |
| | | [ |
| | | #child: ListBusinessType |
| | | #child: PanelBusinessType |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'Business Type' |
| | | Title: 'äºä¸é¨&ç»ç»ç¼ç ç»´æ¤' |
| | | ] |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ButtonExportTest |
| | | Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonExportTest_OnClick |
| | | { |
| | | #keys: '[414384.0.914711825]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MPSync ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | base64 := YuxTest::ExportTest( MPSync ); |
| | | Application.Download( "result.xlsx", base64 ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | [* |
| | | MPSync::TestData( MPSync, MacroPlan ); |
| | | GlobalOTDTable.InitTestData(); |
| | | MPSync.RefreshCapacityAndSaleBudgeFilter(); |
| | | MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonExportTest |
| | | { |
| | | #keys: '[414384.0.914711826]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: 'å¯¼åºæµè¯' |
| | | Taborder: 1 |
| | | Visible: false |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeChartElement' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAndSaleBudgeChartElement::TestData( ScenarioManager ); |
| | | CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable ); |
| | | |
| | | ScenarioManager.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DropDownSaleOrCapacity.Text(), |
| | | DropDownTimeGroup.Text(), |
| | | DropDownByBusinessTypeOrByOrgCode.Text(), |
| | | DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | MPSync, |
| | | GlobalOTDTable, |
| | | MacroPlan ); |
| | | GlobalOTDTable.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DropDownSaleOrCapacity.Text(), |
| | | DropDownTimeGroup.Text(), |
| | | DropDownByBusinessTypeOrByOrgCode.Text(), |
| | | DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | MPSync, |
| | | GlobalOTDTable, |
| | | MacroPlan ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeCompareItemColumn.CapacityAndSaleBudgeCompareItemCell' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeCompareItemRow' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeCompareItemColumn' |
| | | ] |
| | |
| | | info( DataHolderCapacityAndSaleBudgeFilterItem.Data().Size() ); |
| | | info( DataHolderCapacityAndSaleBudgeFilterYear.Data().Size() ); |
| | | info( DataHolderCapacityAndSaleBudgeFilterMonth.Data().Size() ); |
| | | ScenarioManager.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterItem.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | MPSync, |
| | | GlobalOTDTable, |
| | | MacroPlan ); |
| | | GlobalOTDTable.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterItem.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | MPSync, |
| | | GlobalOTDTable, |
| | | MacroPlan ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | tableBinaryData := ScenarioManager.CapacityAndSaleBudgeCompareExport().AsBinaryData(); |
| | | tableBinaryData := GlobalOTDTable.CapacityAndSaleBudgeCompareExport().AsBinaryData(); |
| | | Application.Download( "年度产éé¢ç®å¯¹æ¯.xlsx", tableBinaryData ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MPSync' |
| | | Source: 'MPSync' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterBusinessType' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | MPSync.RefreshCapacityAndSaleBudgeFilter(); |
| | | MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterItem' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAndSaleBudgeFilterItem::Initial( ScenarioManager ); |
| | | CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterMonth' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAndSaleBudgeFilterMonth::Initial( ScenarioManager ); |
| | | CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MPSync' |
| | | Source: 'MPSync' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterPlaceOfProductionOfArray' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | MPSync.RefreshCapacityAndSaleBudgeFilter(); |
| | | MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterYear' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAndSaleBudgeFilterYear::Initial( ScenarioManager ); |
| | | CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | [ |
| | | 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 listContextMenuSD #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component MenuPriorityResult |
| | | { |
| | | #keys: '[414382.0.562012014]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 10 |
| | | Title: 'äºä¸é¨ä¼å
级计ç®' |
| | | ] |
| | | } |
| | | Component MenuEditCustomerOrderPriority |
| | | { |
| | | #keys: '[414382.0.581575364]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 11 |
| | | Title: 'ä¿®æ¹å®¢æ·è®¢åä¼å
级å åä¿¡æ¯' |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListSalesDemands |
| | | Response OnClick ( |
| | | SalesDemandBase selection |
| | | ) id:Response_ListSalesDemands_MenuEditCustomerOrderPriority_OnClick |
| | | { |
| | | #keys: '[414382.0.581575400]' |
| | | CanBindMultiple: false |
| | | DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick |
| | | Initiator: 'MenuEditCustomerOrderPriority' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogEditCustomerOrderPriority ); |
| | | data := selection.astype( CustomerOrder ); |
| | | dlg.EditCustomerOrderPriority( data); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFillingCapacityOrder |
| | | { |
| | | #keys: '[414702.0.526129526]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonDeduct |
| | | { |
| | | #keys: '[414702.0.523642357]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EDITOR_ACCESSIBILITY_LOCAL' |
| | | Label: 'å²å' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | BindOnDoubleClick: true |
| | | Image: 'PENCIL' |
| | | Taborder: 4 |
| | | Title: 'Edit' |
| | |
| | | Children: |
| | | [ |
| | | #child: ListFillingCapacityOrder |
| | | #child: PanelFillingCapacityOrder |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelButton |
| | | { |
| | | #keys: '[414702.0.454190771]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonTransform |
| | | { |
| | | #keys: '[414702.0.454190800]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'BARRIER_CLOSED' |
| | | Label: '转æ¢' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Image: 'JERRYCAN' |
| | | Taborder: 3 |
| | | Title: 'Filling' |
| | | Title: '填产' |
| | | ] |
| | | } |
| | | Component MenuTest |
| | | Component MenuRefresh |
| | | { |
| | | #keys: '[414382.0.415603149]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Image: 'EDITOR_HAS_DECLARATIVE_DEFINITION' |
| | | Taborder: 4 |
| | | Title: 'Test' |
| | | Title: 'å建æµè¯æ°æ®' |
| | | ] |
| | | } |
| | | Component MenuDelete |
| | | { |
| | | #keys: '[414702.0.472081906]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 5 |
| | | Title: 'å é¤' |
| | | ] |
| | | } |
| | | Component MenuSelectAll |
| | | { |
| | | #keys: '[414702.0.472012591]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_SELECTION' |
| | | Shortcut: 'Ctrl+A' |
| | | Taborder: 6 |
| | | Title: 'å
¨é' |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCustomerAndFillingCapacityOrder |
| | | Response OnClick ( |
| | | CustomerAndForecastOrder selection |
| | | ) id:Response_ListCustomerAndFillingCapacityOrder_MenuDelete_OnClick |
| | | { |
| | | #keys: '[414702.0.472032713]' |
| | | DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick |
| | | Initiator: 'MenuDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCustomerAndFillingCapacityOrder |
| | | Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick |
| | | { |
| | | #keys: '[414382.0.415724061]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick |
| | | Initiator: 'MenuRefresh' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | CustomerAndForecastOrder::RefreshData( MacroPlan,GlobalOTDTable); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListCustomerAndFillingCapacityOrder |
| | | Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuSelectAll_OnClick |
| | | { |
| | | #keys: '[414702.0.474548365]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick |
| | | Initiator: 'MenuSelectAll' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.SelectAll(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelButton/ButtonTransform |
| | | Response OnClick () id:Response_PanelButton_ButtonTransform_OnClick |
| | | { |
| | | #keys: '[414702.0.454181189]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | CustomerAndForecastOrder::CreateData( MacroPlan ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Children: |
| | | [ |
| | | #child: ListCustomerAndFillingCapacityOrder |
| | | #child: PanelButton |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | { |
| | | 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 |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459846558]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459846559]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'Global_BrokerExecuteLog' |
| | | ] |
| | | } |
| | | #child: listActionBarPageInterfaceTest |
| | | Component DataSetLevelInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459846564]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuInterfaceTest |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageExecutionStatus","title":"è¿è¡ç¶æ","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImageExecutionStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ExecuteUser","title":"æ§è¡ç¨æ·","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ExecuteUser"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsSuccess","title":"æ¯å¦æå","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsSuccess"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BrokerName","title":"Brokeråç§°","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BrokerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ElementTotal","title":"æ°æ®å¤§å°","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ElementTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorDateTime","title":"é误æ¶é´","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorDateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorMessage","title":"éè¯¯æ¶æ¯","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorMessage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorNo","title":"é误å·","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"æ¥å¿åç§°","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SuccessDateTime","title":"æåæ¶é´","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SuccessDateTime"}}]' |
| | | ContextMenu: 'listContextMenuInterfaceTest' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListInterfaceTest_WebMenu_OnClick |
| | | { |
| | | #keys: '[414702.0.488307130]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[1041.0.20211517]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInterfaceGlobal_BrokerExecuteLog |
| | | { |
| | | #keys: '[414702.0.459917264]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListInterfaceTest |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInterfaceOption1 |
| | | { |
| | | #keys: '[414702.0.459752107]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component CheckboxCustomOrder |
| | | { |
| | | #keys: '[414702.0.459786494]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'CustomOrder' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component CheckboxForecast |
| | | { |
| | | #keys: '[414702.0.459501981]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Forecast' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component CheckboxUnitOfMeasure_MP |
| | | { |
| | | #keys: '[414702.0.500042972]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'UnitOfMeasure_MP' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component CheckboxSalesSegment_MP |
| | | { |
| | | #keys: '[414702.0.498882706]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'SalesSegment_MP' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component CheckboxProduct_MP |
| | | { |
| | | #keys: '[414702.0.500281942]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Product_MP' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInterfaceOption2 |
| | | { |
| | | #keys: '[414702.0.500233382]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component CheckboxConversionFactor |
| | | { |
| | | #keys: '[414702.0.501770364]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'ConversionFactor' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component CheckboxOperation |
| | | { |
| | | #keys: '[414702.0.501791718]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Operation' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component CheckboxOperationBOM |
| | | { |
| | | #keys: '[414702.0.501742364]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'OperationBOM' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component CheckboxProductInLane |
| | | { |
| | | #keys: '[414702.0.501792106]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'ProductInLane' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component CheckboxAIPISPIP |
| | | { |
| | | #keys: '[414702.0.503110868]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'AIPISPIP' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInterfaceOption3 |
| | | { |
| | | #keys: '[414702.0.501742781]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component CheckboxInventorySupply |
| | | { |
| | | #keys: '[414702.0.503576372]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'InventorySupply' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component CheckboxStockingPointCost |
| | | { |
| | | #keys: '[414702.0.503748797]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'StockingPointCost' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component CheckboxOperationCost |
| | | { |
| | | #keys: '[414702.0.503158219]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'OperationCost' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component CheckboxDOI_DSI |
| | | { |
| | | #keys: '[414702.0.503158880]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'DOI_DSI' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component CheckboxCustomerGrade |
| | | { |
| | | #keys: '[414702.0.503159013]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'CustomerGrade' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInterfaceOption4 |
| | | { |
| | | #keys: '[414702.0.504229568]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component CheckboxStockingPoint_MP |
| | | { |
| | | #keys: '[414702.0.501794917]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'StockingPoint_MP' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component CheckboxCurrency_MP |
| | | { |
| | | #keys: '[414702.0.504229987]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Currency_MP' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component CheckboxCurrencyRate_MP |
| | | { |
| | | #keys: '[414702.0.503787453]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'CurrencyRate_MP' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component CheckboxLane |
| | | { |
| | | #keys: '[414702.0.503787560]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Lane' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component CheckboxLaneLeg |
| | | { |
| | | #keys: '[414702.0.503787710]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'LaneLeg' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459815967]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonPullInterfaceDataToIntermediateTable |
| | | { |
| | | #keys: '[414702.0.457042579]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'WINE' |
| | | Label: 'æåæ¥å£æ°æ®å°ä¸é´è¡¨' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonSynchronizeDataToMacroPlan |
| | | { |
| | | #keys: '[414702.0.461471389]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'COFFEE_MACHINE' |
| | | Label: 'åæ¥æ°æ®å°MacroPlan' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459846561]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459846566]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuCreateShowData |
| | | { |
| | | #keys: '[414702.0.488246034]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'VIEW' |
| | | Taborder: 3 |
| | | Title: 'æ¾ç¤ºæ°æ®' |
| | | ] |
| | | } |
| | | Component MenuDelete |
| | | { |
| | | #keys: '[414702.0.495675965]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 4 |
| | | Title: 'å é¤' |
| | | ] |
| | | } |
| | | Component MenuSelectionAll |
| | | { |
| | | #keys: '[414702.0.494390825]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'SELECTION' |
| | | Shortcut: 'Ctrl+A' |
| | | Taborder: 5 |
| | | Title: 'å
¨é' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListInterfaceTest |
| | | Response OnClick ( |
| | | Global_BrokerExecuteLog selection |
| | | ) id:Response_ListInterfaceTest_MenuCreateShowData_OnClick |
| | | { |
| | | #keys: '[414702.0.488307153]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListInterfaceTest/Responsedef_ListInterfaceTest_WebMenu_OnClick |
| | | Initiator: 'MenuCreateShowData' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | GlobalOTDTable.Global_ShowRow( relflush ); |
| | | GlobalOTDTable.Global_ShowColumn( relflush ); |
| | | GlobalOTDTable.Global_ShowCell( relflush ); |
| | | |
| | | Global_ShowCell::ShowData( GlobalOTDTable, selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListInterfaceTest |
| | | Response OnClick ( |
| | | Global_BrokerExecuteLog selection |
| | | ) id:Response_ListInterfaceTest_MenuDelete_OnClick |
| | | { |
| | | #keys: '[414702.0.494333825]' |
| | | DefinitionID => /ListInterfaceTest/Responsedef_ListInterfaceTest_WebMenu_OnClick |
| | | Initiator: 'MenuDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListInterfaceTest |
| | | Response OnClick () id:Response_ListInterfaceTest_MenuSelectionAll_OnClick |
| | | { |
| | | #keys: '[414702.0.494351350]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListInterfaceTest/Responsedef_ListInterfaceTest_WebMenu_OnClick |
| | | Initiator: 'MenuSelectionAll' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.SelectAll(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelInterfaceTest/ButtonPullInterfaceDataToIntermediateTable |
| | | Response OnClick () id:Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnClick |
| | | { |
| | | #keys: '[414702.0.459947783]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( GlobalOTDTable ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | GlobalOTDTable.SynchronizationAllMappingBrokerAndAPIByOption( ApplicationMacroPlanner.GetUserName(), |
| | | CheckboxCustomOrder.Checked(), |
| | | CheckboxForecast.Checked(), |
| | | CheckboxUnitOfMeasure_MP.Checked(), |
| | | CheckboxSalesSegment_MP.Checked(), |
| | | CheckboxProduct_MP.Checked(), |
| | | CheckboxConversionFactor.Checked(), |
| | | CheckboxOperation.Checked(), |
| | | CheckboxOperationBOM.Checked(), |
| | | CheckboxProductInLane.Checked(), |
| | | CheckboxAIPISPIP.Checked(), |
| | | CheckboxInventorySupply.Checked(), |
| | | CheckboxStockingPointCost.Checked(), |
| | | CheckboxOperationCost.Checked(), |
| | | CheckboxDOI_DSI.Checked(), |
| | | CheckboxCustomerGrade.Checked(), |
| | | CheckboxStockingPoint_MP.Checked(), |
| | | CheckboxCurrency_MP.Checked(), |
| | | CheckboxCurrencyRate_MP.Checked(), |
| | | CheckboxLane.Checked(), |
| | | CheckboxLaneLeg.Checked() ); |
| | | |
| | | WebMessageBox::Information( "æ°æ®å¼å§æåä¸ï¼ï¼ä»
éä¸äººæä½ï¼", true ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelInterfaceTest/ButtonSynchronizeDataToMacroPlan |
| | | Response OnClick () id:Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick |
| | | { |
| | | #keys: '[414702.0.465857875]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | GlobalOTDTable.SynchronizeDataToMacroPlan( MacroPlan, |
| | | CheckboxUnitOfMeasure_MP.Checked() |
| | | ); |
| | | |
| | | WebMessageBox::Success( "忥æåï¼", true ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormInterfaceTest |
| | | { |
| | | #keys: '[414702.0.459670964]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelInterfaceOption1 |
| | | #child: PanelInterfaceTest |
| | | #child: PanelInterfaceGlobal_BrokerExecuteLog |
| | | #child: PanelInterfaceOption2 |
| | | #child: PanelInterfaceOption3 |
| | | #child: PanelInterfaceOption4 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'BACON' |
| | | Title: 'æ¥å£æµè¯' |
| | | ] |
| | | } |
| | |
| | | ] |
| | | 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 |
| | | } |
| | |
| | | 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]' |
| | |
| | | Title: 'ç¼è¾' |
| | | ] |
| | | } |
| | | Component MenuNew |
| | | { |
| | | #keys: '[414382.0.593001800]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_ADD' |
| | | Taborder: 3 |
| | | Title: 'æ°å¢' |
| | | ] |
| | | } |
| | | Component MenuDel |
| | | { |
| | | #keys: '[414382.0.593001811]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_DELETE' |
| | | Taborder: 5 |
| | | Title: 'å é¤' |
| | | ] |
| | | } |
| | | Component MenuInit |
| | | { |
| | | #keys: '[414382.0.600301960]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_NEW' |
| | | Taborder: 6 |
| | | Title: 'åå§å' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | |
| | | list := this.Data(); |
| | | strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); |
| | | DropDownStringListBusinessType.Strings(strings); |
| | | *] |
| | | 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); |
| | | list := this.Data(); |
| | | strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); |
| | | DropDownStringListBusinessType.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityFactorSelect |
| | | Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderPriorityFactorSelect_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.593010798]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | data := selectset( MacroPlan,PriorityFactor,p,true); |
| | | this.Data(&data); |
| | | *] |
| | | 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: |
| | | [* |
| | | strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); |
| | | this.Strings(strings); |
| | | info( "create" + DropDownStringListBusinessType.Text()); |
| | | list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); |
| | | DataHolderPriorityFactorSelect.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | info( "selection" + DropDownStringListBusinessType.Text()); |
| | | list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); |
| | | DataHolderPriorityFactorSelect.Data(&list); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPriorityFactor |
| | | Response OnClick ( |
| | | PriorityFactor selection |
| | | ) id:Response_ListPriorityFactor_MenuDel_OnClick |
| | | { |
| | | #keys: '[414382.0.593002800]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick |
| | | Initiator: 'MenuDel' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPriorityFactor |
| | | Response OnClick () id:Response_ListPriorityFactor_MenuInit_OnClick |
| | | { |
| | | #keys: '[414382.0.600302015]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick |
| | | Initiator: 'MenuInit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // åå§åä¼å
级å å |
| | | PriorityFactor::InitData( MacroPlan); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPriorityFactor |
| | | Response OnClick () id:Response_ListPriorityFactor_MenuNew_OnClick |
| | | { |
| | | #keys: '[414382.0.593002709]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick |
| | | Initiator: 'MenuNew' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogEditPriorityFactor ); |
| | | businessType := DropDownStringListBusinessType.Text(); |
| | | dlg.New( MacroPlan, businessType); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | [ |
| | | Label: 'äºä¸é¨:' |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
| | | #child: ListPriorityFactor |
| | |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityFactorBusinessType |
| | | { |
| | | #keys: '[414382.0.539205233]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[BusinessType]*' |
| | | Children: |
| | | [ |
| | | Component DataExtractorPriorityFactorBusinessType |
| | | { |
| | | #keys: '[414382.0.584060499]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'BusinessType' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'ä¼å
级å å' |
| | | ] |
| | | } |
| | |
| | | } |
| | | #child: ListPriorityFactorGrading |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'ä¼å
级å åç»å' |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[PriorityPolicy]' |
| | | Source: 'DataHolderPriorityPolicy' |
| | | Source: 'DataHolderPriorityPolicyShowList' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | Taborder: 3 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: '宿' |
| | | Label: 'ä¿å' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Taborder: 4 |
| | | Title: 'ä¼å
级çç¥é
ç½®' |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'æ·»å å å' |
| | | Label: 'æ·»å ' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: '*' |
| | | Label: '-' |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityPolicyBusinessType |
| | | Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyBusinessType_OnCreated |
| | | { |
| | | #keys: '[414382.0.585796031]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | list := this.Data(); |
| | | strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); |
| | | PriorityPolicyBusinessType.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityPolicyBusinessType |
| | | Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyBusinessType_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.585796110]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | list := this.Data(); |
| | | strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); |
| | | PriorityPolicyBusinessType.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityPolicyFactor |
| | | Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyFactor_OnCreated |
| | | { |
| | | #keys: '[414382.0.586001511]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | list := this.Data(); |
| | | strings := selectuniquevalues( list,Elements,e,e.Name()).Concatenate( ";" ); |
| | | DropDownStringList.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityPolicyFactor |
| | | Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyFactor_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.585931640]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | list := this.Data(); |
| | | strings := selectuniquevalues( list,Elements,e,e.Name()).Concatenate( ";" ); |
| | | DropDownStringList.Strings(strings); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityPolicy |
| | | Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnCreated |
| | | { |
| | | #keys: '[414382.0.594152096]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | data := this.Data(); |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | list := selectset( data,Elements,e,e.BusinessType() = businessType); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | #parent: DataHolderPriorityPolicy |
| | | Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.502145694]' |
| | | #keys: '[414382.0.595379026]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | this.Data(&list); |
| | | data := this.Data(); |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | list := selectset( data,Elements,e,e.BusinessType() = businessType); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | PanelPriorityPolicyOperation.Visible(true); |
| | | dlg := construct( DialogNewPriorityPolicy ); |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | dlg.Edit( selection); |
| | | |
| | | PanelPriorityPolicyOperationName.Text(selection.Name()); |
| | | |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | str := PriorityFactor::GetNameList( MacroPlan, businessType); |
| | | DropDownStringList.Strings(str); |
| | | |
| | | LabelFormula.Text(selection.Formula()); |
| | | LabelCalculateValue.Text(selection.CalculateValue()); |
| | | |
| | | data := shadow( selection ); |
| | | DataHolderEditPriorityPolicy.Data( &data ); |
| | | *] |
| | | 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 |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); |
| | | strings := BusinessType::GetScenarioNamesStr( GlobalOTDTable ); |
| | | this.Strings(strings); |
| | | |
| | | list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | DataHolderPriorityPolicy.Data(&list); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | #keys: '[414382.0.487792124]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[PriorityPolicy]*' |
| | | Children: |
| | | [ |
| | | Component DataExtractorPriorityPolicy216 |
| | | { |
| | | #keys: '[414382.0.593061574]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'PriorityPolicy' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: ListPriorityPolicy |
| | |
| | | Databinding: 'shadow[PriorityPolicy]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityPolicyBusinessType |
| | | { |
| | | #keys: '[414382.0.585736261]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[BusinessType]*' |
| | | Children: |
| | | [ |
| | | Component DataExtractorPriorityPolicyBusinessType |
| | | { |
| | | #keys: '[414382.0.585207663]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'BusinessType' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityPolicyFactor |
| | | { |
| | | #keys: '[414382.0.585208237]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[PriorityFactor]*' |
| | | Children: |
| | | [ |
| | | Component DataExtractorPriorityPolicyFactor |
| | | { |
| | | #keys: '[414382.0.585705356]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'PriorityFactor' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityPolicyShowList |
| | | { |
| | | #keys: '[414382.0.593062135]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[PriorityPolicy]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'ä¼å
çº§ç»æé¡µé¢' |
| | | ] |
| | | } |
| | |
| | | dlg := construct( DialogCreateEditScenario ); |
| | | dlg.checkboxEnableSync().Visible( true ); |
| | | dlg.dropDownStringListGeneral().Visible( true ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( 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::AvailableScenarioNames( 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::AvailableScenarioNames( 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::AvailableScenarioNames( 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::AvailableScenarioNames( GlobalOTDTable ) ); |
| | | dlg.checkboxIsKeyProduct().Visible( selection.EnableSync() ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( selection.EnableSync() ); |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditorShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402111]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCellShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402112]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402113]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'Global_ShowCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Value' |
| | | Column: 'Global_ShowColumn' |
| | | Row: 'Global_ShowRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRowsShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402116]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor703 |
| | | { |
| | | #keys: '[414702.0.491402117]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'Global_ShowRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'RowNr' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumnsShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402120]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor253 |
| | | { |
| | | #keys: '[414702.0.491402121]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'Global_ShowColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'ColumnName' |
| | | SortCriteria: 'ColumnIndex' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageShowInterfaceData |
| | | #child: matrixeditorContextMenuShowInterfaceData |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: 'MatrixEditorColumnsShowInterfaceData' |
| | | ContextMenu: 'matrixeditorContextMenuShowInterfaceData' |
| | | Rows: 'MatrixEditorRowsShowInterfaceData' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402124]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.491402127]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormShowInterfaceData |
| | | { |
| | | #keys: '[414702.0.484442828]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorShowInterfaceData |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'PROJECTOR' |
| | | Title: 'æ¥å£æ°æ®æ¾ç¤º' |
| | | ] |
| | | } |
| | |
| | | { |
| | | 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()); |
| | | } |
| | |
| | | // 颿µè®¢ååºæ¬ä¿¡æ¯ |
| | | 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()="åæå") |
| | |
| | | JForecast := JSON::Parse(txtSaveForecastData_FM.Text()); |
| | | ForecastID := JForecast.Get( "ForecastID").GetString(); |
| | | } |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.NeedQty(), ForecastID,"-",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() |
| | |
| | | .Add( "Unit",selection.Unit()) |
| | | .Add( "CustomCode",CustomCode) |
| | | .Add( "ParentSKU",lb_SUK_FM.Text()) |
| | | .Add( "ParentSKUName",SKUName) |
| | | .Add( "CustomName",CustomName).Build().AsString(); |
| | | } |
| | | if(isnull( SelectItem)) |
| | |
| | | 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: 3 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component txt_QueryContent_FOF |
| | |
| | | Properties: |
| | | [ |
| | | PlaceHolder: 'æ¨¡ç³æç´¢' |
| | | Taborder: 4 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component btn_Query_FOF |
| | |
| | | Description: 'æ¥è¯¢' |
| | | Image: 'VIEW' |
| | | Label: 'æ¥è¯¢' |
| | | Taborder: 5 |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | { |
| | | MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", |
| | | ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | |
| | | else |
| | | { |
| | | SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | |
| | | .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); |
| | | } |
| | | |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month()); |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month(),GlobalOTDTable); |
| | | if(jResult.Get( "Status").GetBoolean()) |
| | | { |
| | | Application.OpenForm( "FrmMaterial","popout"); |
| | |
| | | SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect"); |
| | | if( isnull( SelectItem)) |
| | | { |
| | | |
| | | MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", |
| | | ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "CustomName",selection.CustomName()).Build().AsString()); |
| | | } |
| | | else |
| | |
| | | SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "CustomName",selection.CustomName()).Build().AsString()); |
| | | } |
| | | Application.OpenForm( "FrmAuthorizeAndCountersign_Order","modal"); |
| | |
| | | { |
| | | MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", |
| | | ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | |
| | | else |
| | | { |
| | | SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) |
| | | .Add( "SKUName",selection.SKUName()) |
| | | .Add( "Util",selection.Unit()) |
| | | .Add( "CustomCode",selection.CustomCode()) |
| | | .Add( "CustomName",selection.CustomName()) |
| | |
| | | .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); |
| | | } |
| | | |
| | | jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month()); |
| | | 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 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_legacy_1 |
| | | { |
| | | title: 'Scenario manager' |
| | | shown: true |
| | | componentID: 'FormScenarioManager' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 5 |
| | | } |
| | | components |
| | | { |
| | | FormScenarioManager_ListScenario |
| | | { |
| | | } |
| | | FormScenarioManager_DataSetLevelScenario |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 90 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 277 |
| | | } |
| | | column_ChangedBy |
| | | { |
| | | columnId: 'ChangedBy' |
| | | dataPath: 'ChangedBy' |
| | | dataType: 'string' |
| | | title: 'Changed by' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 106 |
| | | } |
| | | column_ChangedOn |
| | | { |
| | | columnId: 'ChangedOn' |
| | | dataPath: 'ChangedOn' |
| | | dataType: 'datetime' |
| | | title: 'Changed on' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 99 |
| | | } |
| | | column_StorageMode |
| | | { |
| | | columnId: 'StorageMode' |
| | | dataPath: 'StorageMode' |
| | | dataType: 'string' |
| | | title: 'StorageMode' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 40 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_legacy_2 |
| | | { |
| | | title: 'Assumptions' |
| | | shown: true |
| | | componentID: 'FormAssumptions' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 9 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 5 |
| | | } |
| | | components |
| | | { |
| | | FormAssumptions_ListAssumptions |
| | | { |
| | | } |
| | | FormAssumptions_DataSetLevelAssumptions |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | title: 'ç±»å«' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 108 |
| | | } |
| | | column_Importance |
| | | { |
| | | columnId: 'Importance' |
| | | dataPath: 'Importance' |
| | | dataType: 'string' |
| | | title: 'éè¦æ§' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 110 |
| | | } |
| | | column_Title |
| | | { |
| | | columnId: 'Title' |
| | | dataPath: 'Title' |
| | | dataType: 'string' |
| | | title: 'æ é¢' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ChangedBy |
| | | { |
| | | columnId: 'ChangedBy' |
| | | dataPath: 'ChangedBy' |
| | | dataType: 'string' |
| | | title: 'Changed by' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_CreatedOn |
| | | { |
| | | columnId: 'CreatedOn' |
| | | dataPath: 'CreatedOn' |
| | | dataType: 'datetime' |
| | | title: 'Created on' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormScenariosKPIsComparison |
| | | { |
| | | title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' |
| | | shown: true |
| | | componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 16 |
| | | columnPosition: 6 |
| | | columnSpan: 7 |
| | | } |
| | | components |
| | | { |
| | | FormScenariosKPIsComparison_MatrixEditorFinancialKPIs |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_DisplayValue |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DisplayValue' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: '' |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'KPISetting.DisplayIndex'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: true |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 1 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPISelection' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | index: 3 |
| | | image: 'ELEMENTS_TREE_EDIT' |
| | | page: 'applicationDevelopmentActionBarPageDef' |
| | | group: '' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Business_Type_Maintain' |
| | | name: 'Business Type Maintain' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
| | |
| | | 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_FormBusinessType |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormBusinessType' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormBusinessType' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 11 |
| | | columnPosition: 9 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormBusinessType_ListBusinessType |
| | | { |
| | | } |
| | | FormBusinessType_DataSetLevelBusinessType |
| | | { |
| | | groupDepth: -1 |
| | | column_BusinessTypeName |
| | | { |
| | | columnId: 'BusinessTypeName' |
| | | dataPath: 'BusinessTypeName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityResult |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityResult' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityResult' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 13 |
| | | rowSpan: 11 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityResult_PanelPriorityResult |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityResult_ListPriorityResult |
| | | { |
| | | } |
| | | FormPriorityResult_DataSetLevelPriorityResult |
| | | { |
| | | groupDepth: -1 |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityResultScore |
| | | { |
| | | columnId: 'PriorityResultScore' |
| | | dataPath: 'PriorityResultScore' |
| | | dataType: 'real' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormPriorityResult_PanelPriorityResultDetails |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityResult_ListPriorityResultBusinessTypeDetails |
| | | { |
| | | } |
| | | FormPriorityResult_DataSetLevelPriorityResultDetails |
| | | { |
| | | groupDepth: -1 |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityResultScore |
| | | { |
| | | columnId: 'PriorityResultScore' |
| | | dataPath: 'PriorityResultScore' |
| | | dataType: 'real' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityPolicyName |
| | | { |
| | | columnId: 'PriorityPolicyName' |
| | | dataPath: 'PriorityPolicyName' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorName |
| | | { |
| | | columnId: 'PriorityFactorName' |
| | | dataPath: 'PriorityFactorName' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorGradingName |
| | | { |
| | | columnId: 'PriorityFactorGradingName' |
| | | dataPath: 'PriorityFactorGradingName' |
| | | dataType: 'string' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityTotalScore |
| | | { |
| | | columnId: 'PriorityTotalScore' |
| | | dataPath: 'PriorityTotalScore' |
| | | dataType: 'real' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormPriorityResult_ListPriorityResultGroupDetails |
| | | { |
| | | } |
| | | FormPriorityResult_DataSetLevelPriorityResultDetails872 |
| | | { |
| | | groupDepth: -1 |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityResultScore |
| | | { |
| | | columnId: 'PriorityResultScore' |
| | | dataPath: 'PriorityResultScore' |
| | | dataType: 'real' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityPolicyName |
| | | { |
| | | columnId: 'PriorityPolicyName' |
| | | dataPath: 'PriorityPolicyName' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorName |
| | | { |
| | | columnId: 'PriorityFactorName' |
| | | dataPath: 'PriorityFactorName' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorGradingName |
| | | { |
| | | columnId: 'PriorityFactorGradingName' |
| | | dataPath: 'PriorityFactorGradingName' |
| | | dataType: 'string' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityTotalScore |
| | | { |
| | | columnId: 'PriorityTotalScore' |
| | | dataPath: 'PriorityTotalScore' |
| | | dataType: 'real' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityFactor |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityFactor' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityFactor' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 12 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityFactor_ListPriorityFactor |
| | | { |
| | | } |
| | | FormPriorityFactor_DataSetLevelPriorityFactor |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Coefficient |
| | | { |
| | | columnId: 'Coefficient' |
| | | dataPath: 'Coefficient' |
| | | dataType: 'real' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 496 |
| | | } |
| | | column_Desc |
| | | { |
| | | columnId: 'Desc' |
| | | dataPath: 'Desc' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityFactorGrading |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityFactorGrading' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityFactorGrading' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 11 |
| | | columnPosition: 5 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityFactorGrading_ListPriorityFactorGrading |
| | | { |
| | | } |
| | | FormPriorityFactorGrading_DataSetLevelPriorityFactorGrading |
| | | { |
| | | groupDepth: -1 |
| | | column_GradingName |
| | | { |
| | | columnId: 'GradingName' |
| | | dataPath: 'GradingName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_GradeValueStr |
| | | { |
| | | columnId: 'GradeValueStr' |
| | | dataPath: 'GradeValueStr' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_GradeDesc |
| | | { |
| | | columnId: 'GradeDesc' |
| | | dataPath: 'GradeDesc' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityPolicy |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityPolicy' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityPolicy' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 12 |
| | | rowSpan: 14 |
| | | columnPosition: 5 |
| | | columnSpan: 7 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityPolicy_ListPriorityPolicy |
| | | { |
| | | } |
| | | FormPriorityPolicy_DataSetLevelPriorityPolicy |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Formula |
| | | { |
| | | columnId: 'Formula' |
| | | dataPath: 'Formula' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 433 |
| | | } |
| | | column_CalculateValue |
| | | { |
| | | columnId: 'CalculateValue' |
| | | dataPath: 'CalculateValue' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 644 |
| | | } |
| | | column_Desc |
| | | { |
| | | columnId: 'Desc' |
| | | dataPath: 'Desc' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormPriorityPolicy_PanelPriorityPolicyOperation |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityPolicy_PanelPriorityPolicyOperationButton |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityPolicy_PanelPriorityPolicyCoefficient |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 1 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_1 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 2 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_1 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 3 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_2 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 4 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_2 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 5 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_3 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 6 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_3 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 7 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_4 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 8 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_4 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 9 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_5 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 10 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_5 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 11 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_6 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 12 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_6 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 13 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_7 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 14 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_7 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 15 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormSanityCheck |
| | | { |
| | | title: 'Sanity Check' |
| | | shown: false |
| | | componentID: 'FormSanityCheck' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 16 |
| | | } |
| | | components |
| | | { |
| | | FormSanityCheck_PanelSanityCheckToolbar |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormSanityCheck_PanelSanityCheckContent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormSanityCheck_PanelSanityCheckGroup |
| | | { |
| | | sizeRatio: 4 |
| | | } |
| | | FormSanityCheck_ListSanityCheckGroup |
| | | { |
| | | } |
| | | FormSanityCheck_DataSetLevelSanityCheckGroup |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3' |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Show |
| | | { |
| | | columnId: 'Show' |
| | | dataPath: 'Show' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Group |
| | | { |
| | | columnId: 'Group' |
| | | dataPath: 'Group' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 270 |
| | | } |
| | | column__Expr3 |
| | | { |
| | | columnId: '_Expr3' |
| | | dataPath: '_Expr3' |
| | | dataType: 'number' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 95 |
| | | } |
| | | } |
| | | FormSanityCheck_PanelSanityCheckMessage |
| | | { |
| | | sizeRatio: 5 |
| | | } |
| | | FormSanityCheck_ListSanityCheckMessage |
| | | { |
| | | } |
| | | FormSanityCheck_DataSetLevelSanityCheckMessage |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description' |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Show |
| | | { |
| | | columnId: 'Show' |
| | | dataPath: 'Show' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Messages |
| | | { |
| | | columnId: 'Messages' |
| | | dataPath: 'Messages' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 585 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_8 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 17 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_8 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 18 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_9 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 19 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_9 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 20 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_10 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 21 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_10 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 22 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_11 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 23 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_11 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 24 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_12 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 25 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_12 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 26 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_13 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 27 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_13 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 28 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_14 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 29 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_14 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 30 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles_15 |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 31 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_15 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 32 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormSanityCheck_1 |
| | | { |
| | | title: 'Sanity Check' |
| | | shown: false |
| | | componentID: 'FormSanityCheck' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 33 |
| | | } |
| | | components |
| | | { |
| | | FormSanityCheck_PanelSanityCheckToolbar |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormSanityCheck_PanelSanityCheckContent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormSanityCheck_PanelSanityCheckGroup |
| | | { |
| | | sizeRatio: 4 |
| | | } |
| | | FormSanityCheck_ListSanityCheckGroup |
| | | { |
| | | } |
| | | FormSanityCheck_DataSetLevelSanityCheckGroup |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3' |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Show |
| | | { |
| | | columnId: 'Show' |
| | | dataPath: 'Show' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Group |
| | | { |
| | | columnId: 'Group' |
| | | dataPath: 'Group' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 270 |
| | | } |
| | | column__Expr3 |
| | | { |
| | | columnId: '_Expr3' |
| | | dataPath: '_Expr3' |
| | | dataType: 'number' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 95 |
| | | } |
| | | } |
| | | FormSanityCheck_PanelSanityCheckMessage |
| | | { |
| | | sizeRatio: 5 |
| | | } |
| | | FormSanityCheck_ListSanityCheckMessage |
| | | { |
| | | } |
| | | FormSanityCheck_DataSetLevelSanityCheckMessage |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description' |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Show |
| | | { |
| | | columnId: 'Show' |
| | | dataPath: 'Show' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Messages |
| | | { |
| | | columnId: 'Messages' |
| | | dataPath: 'Messages' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 585 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_16 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 34 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Metals_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' |
| | | Food_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' |
| | | Empty_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI_17 |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: false |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 35 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPIDashboard' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Metals_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' |
| | | Food_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' |
| | | Empty_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorities |
| | | { |
| | | title: 'Priorities' |
| | | shown: true |
| | | componentID: 'FormPriorities' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 36 |
| | | } |
| | | components |
| | | { |
| | | FormPriorities_ListPriority |
| | | { |
| | | } |
| | | FormPriorities_DataSetLevelPriority |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_ImgHasSalesDemand |
| | | { |
| | | columnId: 'ImgHasSalesDemand' |
| | | dataPath: 'ImgHasSalesDemand' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 30 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 95 |
| | | } |
| | | column_Weight |
| | | { |
| | | columnId: 'Weight' |
| | | dataPath: 'Weight' |
| | | dataType: 'real' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 95 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 15 |
| | | image: '' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'PriorityTest' |
| | | name: 'PriorityTest' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | form_FormCustomerAndForecastOrder |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 16 |
| | | rowSpan: 16 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormCustomerAndForecastOrder_PanelButton |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormCustomerAndForecastOrder_ListCustomerAndFillingCapacityOrder |
| | | { |
| | | } |
| | | FormCustomerAndForecastOrder_DataSetLevelCustomerAndFillingCapacityOrder |
| | | { |
| | | groupDepth: -1 |
| | | column_VerNo |
| | | { |
| | | columnId: 'VerNo' |
| | | dataPath: 'VerNo' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_OrderID |
| | | { |
| | | columnId: 'OrderID' |
| | | dataPath: 'OrderID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ServiceType |
| | | { |
| | | columnId: 'ServiceType' |
| | | dataPath: 'ServiceType' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PanelBigSheetQuantity |
| | | { |
| | | columnId: 'PanelBigSheetQuantity' |
| | | dataPath: 'PanelBigSheetQuantity' |
| | | dataType: 'real' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_SalesAmount |
| | | { |
| | | columnId: 'SalesAmount' |
| | | dataPath: 'SalesAmount' |
| | | dataType: 'number' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ForecastDemandDate |
| | | { |
| | | columnId: 'ForecastDemandDate' |
| | | dataPath: 'ForecastDemandDate' |
| | | dataType: 'date' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormFillingCapacityOrder |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormFillingCapacityOrder' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormFillingCapacityOrder' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 16 |
| | | rowSpan: 16 |
| | | columnPosition: 5 |
| | | columnSpan: 8 |
| | | } |
| | | components |
| | | { |
| | | FormFillingCapacityOrder_ListFillingCapacityOrder |
| | | { |
| | | } |
| | | FormFillingCapacityOrder_DataSetLevelFillingCapacityOrder |
| | | { |
| | | groupDepth: -1 |
| | | column_VerNo |
| | | { |
| | | columnId: 'VerNo' |
| | | dataPath: 'VerNo' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PanelBigSheetQuantity |
| | | { |
| | | columnId: 'PanelBigSheetQuantity' |
| | | dataPath: 'PanelBigSheetQuantity' |
| | | dataType: 'real' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_SalesAmount |
| | | { |
| | | columnId: 'SalesAmount' |
| | | dataPath: 'SalesAmount' |
| | | dataType: 'number' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ForecastDemandDate |
| | | { |
| | | columnId: 'ForecastDemandDate' |
| | | dataPath: 'ForecastDemandDate' |
| | | dataType: 'date' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_OrderType |
| | | { |
| | | columnId: 'OrderType' |
| | | dataPath: 'OrderType' |
| | | dataType: 'string' |
| | | index: 12 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityPolicy |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityPolicy' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityPolicy' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 32 |
| | | rowSpan: 13 |
| | | columnPosition: 5 |
| | | columnSpan: 8 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityPolicy_ListPriorityPolicy |
| | | { |
| | | } |
| | | FormPriorityPolicy_DataSetLevelPriorityPolicy |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Formula |
| | | { |
| | | columnId: 'Formula' |
| | | dataPath: 'Formula' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_CalculateValue |
| | | { |
| | | columnId: 'CalculateValue' |
| | | dataPath: 'CalculateValue' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Desc |
| | | { |
| | | columnId: 'Desc' |
| | | dataPath: 'Desc' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormPriorityPolicy_PanelPriorityPolicyOperation |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityPolicy_PanelPriorityPolicyOperationButton |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityPolicy_PanelPriorityPolicyCoefficient |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityResult |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityResult' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityResult' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 45 |
| | | rowSpan: 17 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityResult_PanelPriorityResult |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityResult_ListPriorityResult |
| | | { |
| | | } |
| | | FormPriorityResult_DataSetLevelPriorityResult |
| | | { |
| | | groupDepth: -1 |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityResultScore |
| | | { |
| | | columnId: 'PriorityResultScore' |
| | | dataPath: 'PriorityResultScore' |
| | | dataType: 'real' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormPriorityResult_PanelPriorityResultDetails |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPriorityResult_ListPriorityResultBusinessTypeDetails |
| | | { |
| | | } |
| | | FormPriorityResult_DataSetLevelPriorityResultDetails |
| | | { |
| | | groupDepth: -1 |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityResultScore |
| | | { |
| | | columnId: 'PriorityResultScore' |
| | | dataPath: 'PriorityResultScore' |
| | | dataType: 'real' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityPolicyName |
| | | { |
| | | columnId: 'PriorityPolicyName' |
| | | dataPath: 'PriorityPolicyName' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorName |
| | | { |
| | | columnId: 'PriorityFactorName' |
| | | dataPath: 'PriorityFactorName' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorGradingName |
| | | { |
| | | columnId: 'PriorityFactorGradingName' |
| | | dataPath: 'PriorityFactorGradingName' |
| | | dataType: 'string' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityTotalScore |
| | | { |
| | | columnId: 'PriorityTotalScore' |
| | | dataPath: 'PriorityTotalScore' |
| | | dataType: 'real' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormPriorityResult_ListPriorityResultGroupDetails |
| | | { |
| | | } |
| | | FormPriorityResult_DataSetLevelPriorityResultDetails872 |
| | | { |
| | | groupDepth: -1 |
| | | column_SalesSegmentName |
| | | { |
| | | columnId: 'SalesSegmentName' |
| | | dataPath: 'SalesSegmentName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Customer |
| | | { |
| | | columnId: 'Customer' |
| | | dataPath: 'Customer' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_UnitOfMeasureName |
| | | { |
| | | columnId: 'UnitOfMeasureName' |
| | | dataPath: 'UnitOfMeasureName' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DemandDate |
| | | { |
| | | columnId: 'DemandDate' |
| | | dataPath: 'DemandDate' |
| | | dataType: 'date' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityResultScore |
| | | { |
| | | columnId: 'PriorityResultScore' |
| | | dataPath: 'PriorityResultScore' |
| | | dataType: 'real' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityPolicyName |
| | | { |
| | | columnId: 'PriorityPolicyName' |
| | | dataPath: 'PriorityPolicyName' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorName |
| | | { |
| | | columnId: 'PriorityFactorName' |
| | | dataPath: 'PriorityFactorName' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityFactorGradingName |
| | | { |
| | | columnId: 'PriorityFactorGradingName' |
| | | dataPath: 'PriorityFactorGradingName' |
| | | dataType: 'string' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_PriorityTotalScore |
| | | { |
| | | columnId: 'PriorityTotalScore' |
| | | dataPath: 'PriorityTotalScore' |
| | | dataType: 'real' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityFactor |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityFactor' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityFactor' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 37 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityFactor_ListPriorityFactor |
| | | { |
| | | } |
| | | FormPriorityFactor_DataSetLevelPriorityFactor |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Coefficient |
| | | { |
| | | columnId: 'Coefficient' |
| | | dataPath: 'Coefficient' |
| | | dataType: 'real' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Desc |
| | | { |
| | | columnId: 'Desc' |
| | | dataPath: 'Desc' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPriorityFactorGrading |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPriorityFactorGrading' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPriorityFactorGrading' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 32 |
| | | rowSpan: 5 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormPriorityFactorGrading_ListPriorityFactorGrading |
| | | { |
| | | } |
| | | FormPriorityFactorGrading_DataSetLevelPriorityFactorGrading |
| | | { |
| | | groupDepth: -1 |
| | | column_GradingName |
| | | { |
| | | columnId: 'GradingName' |
| | | dataPath: 'GradingName' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_GradeValueStr |
| | | { |
| | | columnId: 'GradeValueStr' |
| | | dataPath: 'GradeValueStr' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_GradeDesc |
| | | { |
| | | columnId: 'GradeDesc' |
| | | dataPath: 'GradeDesc' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormInterfaceTest |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormInterfaceTest' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormInterfaceTest' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 16 |
| | | columnPosition: 1 |
| | | columnSpan: 6 |
| | | } |
| | | components |
| | | { |
| | | FormInterfaceTest_PanelInterfaceOption1 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInterfaceTest_PanelInterfaceOption2 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInterfaceTest_PanelInterfaceOption3 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInterfaceTest_PanelInterfaceOption4 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInterfaceTest_PanelInterfaceTest |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInterfaceTest_PanelInterfaceGlobal_BrokerExecuteLog |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInterfaceTest_ListInterfaceTest |
| | | { |
| | | } |
| | | FormInterfaceTest_DataSetLevelInterfaceTest |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'IsSuccess' |
| | | column_ImageExecutionStatus |
| | | { |
| | | columnId: 'ImageExecutionStatus' |
| | | dataPath: 'ImageExecutionStatus' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 37 |
| | | } |
| | | column_ExecuteUser |
| | | { |
| | | columnId: 'ExecuteUser' |
| | | dataPath: 'ExecuteUser' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 110 |
| | | } |
| | | column_IsSuccess |
| | | { |
| | | columnId: 'IsSuccess' |
| | | dataPath: 'IsSuccess' |
| | | dataType: 'boolean' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 96 |
| | | } |
| | | column_BrokerName |
| | | { |
| | | columnId: 'BrokerName' |
| | | dataPath: 'BrokerName' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 229 |
| | | } |
| | | column_ElementTotal |
| | | { |
| | | columnId: 'ElementTotal' |
| | | dataPath: 'ElementTotal' |
| | | dataType: 'number' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 87 |
| | | } |
| | | column_ErrorDateTime |
| | | { |
| | | columnId: 'ErrorDateTime' |
| | | dataPath: 'ErrorDateTime' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 121 |
| | | } |
| | | column_ErrorMessage |
| | | { |
| | | columnId: 'ErrorMessage' |
| | | dataPath: 'ErrorMessage' |
| | | dataType: 'string' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 86 |
| | | } |
| | | column_ErrorNo |
| | | { |
| | | columnId: 'ErrorNo' |
| | | dataPath: 'ErrorNo' |
| | | dataType: 'number' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 86 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_SuccessDateTime |
| | | { |
| | | columnId: 'SuccessDateTime' |
| | | dataPath: 'SuccessDateTime' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormShowInterfaceData |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormShowInterfaceData' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormShowInterfaceData' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 16 |
| | | columnPosition: 7 |
| | | columnSpan: 6 |
| | | } |
| | | components |
| | | { |
| | | FormShowInterfaceData_MatrixEditorShowInterfaceData |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QTIANMA_JITUAN::FormShowInterfaceData.MatrixEditorShowInterfaceData' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Value |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Value' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'ColumnIndex'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'RowNr'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | image: 'SKIN_TIGER' |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'æ¥å£æµè¯' |
| | | name: 'æ¥å£æµè¯' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
| | |
| | | { |
| | | 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 |
| | | } |