Combine code of MPsync
将MPsync的代码进行了整合,仅加入了新增的代码,因此会缺失部分前端相关的按钮对应的函数等
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingActualPISPIP_MPSync_MPSync_MappingActualPISPIP |
| | | { |
| | | #keys: '1[414384.0.737300004]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300006][414384.0.737300005][414384.0.737300007]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingActualPISPIP |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingActualPISPIP |
| | | { |
| | | #keys: '3[414384.0.737300009][414384.0.737300008][414384.0.737300010]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingBOM_MPSync_MPSync_MappingBOM |
| | | { |
| | | #keys: '1[414384.0.737300037]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300039][414384.0.737300038][414384.0.737300040]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingBOM |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingBOM |
| | | { |
| | | #keys: '3[414384.0.737300042][414384.0.737300041][414384.0.737300043]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingBaseConversionFactor_MPSync_MPSync_MappingBaseConversionFactor |
| | | { |
| | | #keys: '1[414384.0.737300021]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300023][414384.0.737300022][414384.0.737300024]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingBaseConversionFactor |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingBaseConversionFactor |
| | | { |
| | | #keys: '3[414384.0.737300026][414384.0.737300025][414384.0.737300027]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingCustomerOrder_MPSync_MPSync_MappingCustomerOrder |
| | | { |
| | | #keys: '1[414384.0.737300053]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300055][414384.0.737300054][414384.0.737300056]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingCustomerOrder |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingCustomerOrder |
| | | { |
| | | #keys: '3[414384.0.737300058][414384.0.737300057][414384.0.737300059]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingExternalSupply_MPSync_MPSync_MappingExternalSupply |
| | | { |
| | | #keys: '1[414384.0.737300069]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300071][414384.0.737300070][414384.0.737300072]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingExternalSupply |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingExternalSupply |
| | | { |
| | | #keys: '3[414384.0.737300074][414384.0.737300073][414384.0.737300075]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingForecast_MPSync_MPSync_MappingForecast |
| | | { |
| | | #keys: '1[414384.0.737300085]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300087][414384.0.737300086][414384.0.737300088]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingForecast |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingForecast |
| | | { |
| | | #keys: '3[414384.0.737300090][414384.0.737300089][414384.0.737300091]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingInventoryValueAndCost_MPSync_MPSync_MappingInventoryValueAndCost |
| | | { |
| | | #keys: '1[414384.0.737300101]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300103][414384.0.737300102][414384.0.737300104]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingInventoryValueAndCost |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingInventoryValueAndCost |
| | | { |
| | | #keys: '3[414384.0.737300106][414384.0.737300105][414384.0.737300107]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingOperationCost_MPSync_MPSync_MappingOperationCost |
| | | { |
| | | #keys: '1[414384.0.736080617]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.736080619][414384.0.736080618][414384.0.736080620]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingOperationCost |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingOperationCost |
| | | { |
| | | #keys: '3[414384.0.736080622][414384.0.736080621][414384.0.736080623]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingOperation_MPSync_MPSync_MappingOperation |
| | | { |
| | | #keys: '1[414384.0.737300117]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.737300119][414384.0.737300118][414384.0.737300120]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingOperation |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingOperation |
| | | { |
| | | #keys: '3[414384.0.737300122][414384.0.737300121][414384.0.737300123]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingProductInLane_MPSync_MPSync_MappingProductInLane |
| | | { |
| | | #keys: '1[414384.0.736080646]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.736080648][414384.0.736080647][414384.0.736080649]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingProductInLane |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingProductInLane |
| | | { |
| | | #keys: '3[414384.0.736080651][414384.0.736080650][414384.0.736080652]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingProduct_MPSync_MPSync_MappingProduct |
| | | { |
| | | #keys: '1[414384.0.736080633]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.736080635][414384.0.736080634][414384.0.736080636]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingProduct |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingProduct |
| | | { |
| | | #keys: '3[414384.0.736080638][414384.0.736080637][414384.0.736080639]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingSalesSegment_MPSync_MPSync_MappingSalesSegment |
| | | { |
| | | #keys: '1[414384.0.736080662]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.736080664][414384.0.736080663][414384.0.736080665]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingSalesSegment |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingSalesSegment |
| | | { |
| | | #keys: '3[414384.0.736080667][414384.0.736080666][414384.0.736080668]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingUnitOfMeasure_MPSync_MPSync_MappingUnitOfMeasure |
| | | { |
| | | #keys: '1[414384.0.736080697]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.736080699][414384.0.736080698][414384.0.736080700]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingUnitOfMeasure |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingUnitOfMeasure |
| | | { |
| | | #keys: '3[414384.0.736080702][414384.0.736080701][414384.0.736080703]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingUnit_MPSync_MPSync_MappingUnit |
| | | { |
| | | #keys: '1[414384.0.736080678]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MPSync |
| | | { |
| | | #keys: '3[414384.0.736080680][414384.0.736080679][414384.0.736080681]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingUnit |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingUnit |
| | | { |
| | | #keys: '3[414384.0.736080683][414384.0.736080682][414384.0.736080684]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MPSync |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExist ( |
| | | MPSync mpSync, |
| | | String from, |
| | | String to, |
| | | String productId |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | toDel := select( mpSync, IOBaseConversionFactor, item, |
| | | item.SourceUnitOfMeasureName() = from and item.TargetUnitOfMeasureName() = to and item.ProductID() = productId ); |
| | | if( not isnull( toDel ) ) { |
| | | toDel.Delete(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOBaseConversionFactor #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExist ( |
| | | MPSync mpSync, |
| | | String currencyId, |
| | | Date start |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | toDel := select( mpSync, IOCurrencyRate_MP, item, |
| | | item.CurrencyID() = currencyId and item.Start() = start ); |
| | | if( not isnull( toDel ) ) { |
| | | toDel.Delete(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOCurrencyRate_MP #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExist ( |
| | | MPSync mpSync, |
| | | String id |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | toDel := select( mpSync, IOCurrency_MP, item, item.ID() = id ); |
| | | if( not isnull( toDel ) ) { |
| | | toDel.Delete(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOCurrency_MP #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExist ( |
| | | MPSync mpSync, |
| | | String id |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | toDel := select( mpSync, IOLane, item, item.ID() = id ); |
| | | if( not isnull( toDel ) ) { |
| | | toDel.Delete(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOLane #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | MPSync mpSync, |
| | | String id |
| | | ) as IOOperation |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-5-2023 (created) |
| | | result := select( mpSync, IOOperation, op, op.ID() = id ); |
| | | if( isnull( result ) ) { |
| | | result := mpSync.IOOperation( relnew, |
| | | ID := id ); |
| | | } |
| | | return result; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOOperation #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | MPSync mpSync, |
| | | String id, |
| | | String name, |
| | | String parentId, |
| | | String uom |
| | | ) as IOProduct_MP |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | value := IOProduct_MP::FindById( mpSync, id ); |
| | | if( isnull( value ) ) { |
| | | value := IOProduct_MP::Create( mpSync, id, name, "", uom ); |
| | | if( parentId <> "" ) { |
| | | value.ParentID( parentId ); |
| | | } |
| | | } |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindById ( |
| | | MPSync mpSync, |
| | | String id |
| | | ) as IOProduct_MP |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | result := select( mpSync, IOProduct_MP, item, item.ID() = id ); |
| | | return result; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOProduct_MP #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | MPSync mpSync, |
| | | String routingId, |
| | | String name, |
| | | Number seq |
| | | ) as IORoutingStep |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-5-2023 (created) |
| | | value := select( mpSync, IORoutingStep, item, item.RoutingID() = routingId and item.Name() = name and item.SequenceNumberForExcel() = seq ); |
| | | if( isnull( value ) ) { |
| | | mpSync.IORoutingStep( relnew, |
| | | RoutingID := routingId, |
| | | Name := name, |
| | | SequenceNumberForExcel := seq ); |
| | | } |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IORoutingStep #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExistByTree ( |
| | | MPSync mpSync, |
| | | String id, |
| | | String name, |
| | | String parentId, |
| | | String UOMName, |
| | | String currencyId, |
| | | Date startDate, |
| | | Date endDate, |
| | | String capacityType |
| | | ) as IOUnit |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-6-2023 (created) |
| | | value := IOUnit::FindById( mpSync, id ); |
| | | if( isnull( value ) ) { |
| | | value := mpSync.IOUnit( relnew, |
| | | ID := id, |
| | | Name := name, |
| | | ParentUnitID := parentId, |
| | | UnitOfMeasureName := UOMName, |
| | | CurrencyID := currencyId, |
| | | StartDate := startDate, |
| | | EndDate := endDate, |
| | | CapacityType := capacityType ); |
| | | } |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindById ( |
| | | MPSync mpSync, |
| | | String id |
| | | ) as IOUnit |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-6-2023 (created) |
| | | value := select( mpSync, IOUnit, item, item.ID() = id ); |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization IOUnit #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExist ( |
| | | MPSync mpSync, |
| | | String name |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-1-2023 (created) |
| | | toDel := select( mpSync, IOUnitOfMeasure_MP, item, |
| | | item.Name() = name ); |
| | | if( not isnull( toDel ) ) { |
| | | toDel.Delete(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetProductTypeByProductId ( |
| | | String productId |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-5-2023 (created) |
| | | values := selectvalues( this, MappingBOM, item, item.ProductCode() = productId, item.ProductType() ); |
| | | value := ""; |
| | | if( values.Size() > 0 ) { |
| | | value := values.Element( 0 ); |
| | | } |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ImportDBDataCustom ( |
| | | MacroPlan macroPlan, |
| | | Strings businessTypes, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial |
| | | ) |
| | | { |
| | | Description: 'å°è¡¨çæ°æ®è½¬ä¸ºIOxxxxçæ°æ®' |
| | | TextBody: |
| | | [* |
| | | // Import data from DB |
| | | |
| | | // æ°æ®å¤ç |
| | | |
| | | // éå®çº§å«åéå®é¨é¨ |
| | | this.MappingSalesLevelData(); |
| | | this.Broker_OTD_SalesSegment().Execute(); |
| | | this.MappingSalesSegmentData( businessTypes ); |
| | | |
| | | // åä½åå使¢ç® |
| | | this.Broker_OTD_UnitOfMeasure().Execute(); |
| | | this.MappingUnitOfMeasureData(); |
| | | this.Broker_OTD_BaseConversionFactor().Execute(); |
| | | this.MappingBaseConversionFactorData(); |
| | | |
| | | // è´§å¸åè´§å¸æ±ç |
| | | this.MappingCurrencyData(); |
| | | this.MappingCurrencyRateData(); |
| | | |
| | | // åºåç¹ |
| | | this.MappingStockingPointData(); |
| | | |
| | | // 产å |
| | | this.Broker_OTD_Product().Execute(); |
| | | this.MappingProductData( businessTypes, isKeyProduct ); |
| | | |
| | | // 订å颿µ |
| | | this.Broker_OTD_Forecast().Execute(); |
| | | this.MappingForecastData( businessTypes ); |
| | | |
| | | // 订åéæ± |
| | | this.Broker_OTD_CustomerOrder().Execute(); |
| | | this.MappingCustomerOrderData( businessTypes ); |
| | | |
| | | // 车é |
| | | this.MappingLaneData(); |
| | | // 车éè¿è¾æ®µ |
| | | this.MappingLaneLegData(); |
| | | // ä¾åºç½ç»ï¼è½¦éï¼ |
| | | this.Broker_OTD_ProductInLane().Execute(); |
| | | this.MappingProductInLaneData(); |
| | | |
| | | // routing routingStep unit operation operationLink operationInputGroup operationBOM |
| | | this.Broker_OTD_Operation().Execute(); |
| | | this.Broker_OTD_BOM().Execute(); |
| | | // æ¸
çæ§æ°æ® |
| | | this.IOUnit( relflush ); |
| | | this.IOOperation( relflush ); |
| | | this.IOOperationLink( relflush ); |
| | | this.IOOperationInputGroup( relflush ); |
| | | // å¤çæ°æ® |
| | | this.MappingUnitData( businessTypes ); |
| | | this.MappingOperationData( businessTypes ); |
| | | // æ¸
çæ§æ°æ® |
| | | this.IOOperationBOM( relflush ); |
| | | // å¤çæ°æ® |
| | | this.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial ); |
| | | |
| | | // åºåææ¬ |
| | | this.Broker_OTD_InventoryCost().Execute(); |
| | | this.MappingInventoryValueAndCostData(); |
| | | |
| | | // åºåæ°æ® |
| | | this.Broker_OTD_ActualPISPIP().Execute(); |
| | | this.MappingActualPISPIPData( businessTypes, isKeyProduct ) |
| | | |
| | | // Update the LastImportFromDatabase time |
| | | this.LastImportTime( DateTime::ActualTime() ); |
| | | // sync to mp |
| | | if( not isnull( macroPlan ) ) { |
| | | macroPlan.SynchronizeFromMPSync( this, false, |
| | | true, true, true, true, true, |
| | | true, true, true, true, true, |
| | | true, true, true, true, true, |
| | | true, true, true, true, true, |
| | | true, true, true, true ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingActualPISPIPData ( |
| | | Strings businessTypes, |
| | | Boolean nuclear |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOActualProductInStockingPointInPeriod( relflush ); |
| | | // å
æå
³é®ç©æï¼åæbusinessTypeçé产å |
| | | productList := selectset( this, MappingProduct, item, item.KeyProduct() = nuclear ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | productList := selectset( productList, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | productIdList := selectvalues( productList, Elements, item, item.ID() ); |
| | | // æ ¹æ®äº§åçéåºåæ°æ® |
| | | traverse( this, MappingActualPISPIP, item, productIdList.Find( item.ProductID() ) >= 0 ) { |
| | | this.IOActualProductInStockingPointInPeriod( relnew, |
| | | ActualInventoryLevelEnd := item.ActualInventoryLevelEnd(), |
| | | // todo 确认使ç¨å½åæ¥æè¿æ¯æ°æ®åºæ¥æ |
| | | Date := item.Date(), |
| | | Description := item.Description(), |
| | | ManufacturedDate := item.ManufacturedDate(), |
| | | ProductID := item.ProductID(), |
| | | StockingPointID := item.StockingPointID() ); |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingBaseConversionFactorData |
| | | { |
| | | Description: 'ETLæ°æ®è½¬æ¨¡åæ°æ®' |
| | | TextBody: |
| | | [* |
| | | this.IOBaseConversionFactor( relflush ); |
| | | traverse( this, MappingBaseConversionFactor, item ) { |
| | | // IOBaseConversionFactor::DeleteIfExist( this, item.SourceUnitOfMeasureName(), item.TargetUnitOfMeasureName(), item.ProductId() ); |
| | | this.IOBaseConversionFactor( relnew, |
| | | SourceUnitOfMeasureName := item.SourceUnitOfMeasureName(), |
| | | TargetUnitOfMeasureName := item.TargetUnitOfMeasureName(), |
| | | ProductID := item.ProductId(), |
| | | UserFactor := item.Factor(), |
| | | IsEnabled := item.IsEnabled() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingCurencyRatesData ( |
| | | JSON data |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | data_length := data.Size(); |
| | | for( i := 0; i < data_length; i++ ) |
| | | { |
| | | datarow := data.Get( i ); |
| | | currencyId := datarow.Get( "currencyid" ).GetString(); |
| | | rate := [Real]datarow.Get( "rate" ).GetString(); |
| | | startString := datarow.Get( "start" ).GetString(); |
| | | years := [Number]startString.SubString( 0, 4 ); |
| | | month := [Number]startString.SubString( 5, 2 ); |
| | | day := [Number]startString.SubString( 8, 2 ); |
| | | start := Date::Construct( years, month, day ); |
| | | // å é¤å·²æç |
| | | // IOCurrencyRate_MP::DeleteIfExist( this, currencyId, start ); |
| | | this.IOCurrencyRate_MP( relnew, |
| | | CurrencyID := currencyId, |
| | | Rate := rate, |
| | | Start := start ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingCurrencyData ( |
| | | JSON data |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | data_length := data.Size(); |
| | | for( i := 0; i < data_length; i++ ) |
| | | { |
| | | datarow := data.Get( i ); |
| | | id := datarow.Get( "id" ).GetString(); |
| | | isBase := [Boolean]datarow.Get( "isbase" ).GetString(); |
| | | name := datarow.Get( "name" ).GetString(); |
| | | symbol := " "; |
| | | // å é¤å·²æç |
| | | // IOCurrency_MP::DeleteIfExist( this, id ); |
| | | this.IOCurrency_MP( relnew, |
| | | ID := id, IsBase := isBase, Name := name, Symbol := symbol ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingCurrencyData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOCurrency_MP( relflush ); |
| | | // è´§å¸ä¿¡æ¯ |
| | | bodyNumber := "1"; |
| | | postRequestBody := MPSync::ApiBuildPostRequestBody( bodyNumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrenciesInfo"; |
| | | port := 443; |
| | | data := MPSync::ApiResponesCheck( address, port, url, postRequestBody ); |
| | | this.MappingCurrencyData( data ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingCurrencyRateData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOCurrencyRate_MP( relflush ); |
| | | // è´§å¸æ±çä¿¡æ¯ |
| | | bodynumber := "5"; |
| | | postrequestbody := MPSync::ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrencyRatesInfo"; |
| | | port := 443; |
| | | data := MPSync::ApiResponesCheck( address, port, url, postrequestbody ); |
| | | this.MappingCurencyRatesData( data ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingCustomerOrderData ( |
| | | Strings businessTypes |
| | | ) |
| | | { |
| | | Description: 'ETL订å颿µ' |
| | | TextBody: |
| | | [* |
| | | toDels := selectset( this, IOSalesDemandBase, item, item.istype( IOCustomerOrder ) ); |
| | | traverse( toDels, Elements, toDel ) { |
| | | toDel.Delete(); |
| | | } |
| | | // å¾
å¤çæ°æ® |
| | | toDealList := selectset( this, MappingCustomerOrder, item, true ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | toDealList := selectset( toDealList, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | // todo 没macroPlanæä¹æ |
| | | //queryStartDate := guard( DateTime::Now() - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | | //listToDeal := selectset( listToDeal, Elements, item, item.StartDate() >= queryStartDate and item.EndDate() <= queryEndDate ); |
| | | // å¤ç |
| | | traverse( toDealList, Elements, item ) { |
| | | this.IOSalesDemandBase( relnew, |
| | | IOCustomerOrder, |
| | | ID := item.ID(), |
| | | CurrencyID := item.CurrencyID(), |
| | | PriorityName := item.PriorityName(), |
| | | ProductID := item.ProductID(), |
| | | SalesSegmentName := item.SalesSegmentName(), |
| | | StockingPointID := item.StockPointID(), |
| | | UnitOfMeasureName := item.UnitOfMeasureName(), |
| | | CustomerID := item.CustomerID(), |
| | | CustomerName := item.Customer(), |
| | | OrderID := item.OrderID(), |
| | | OrderLineID := item.OrderLineID(), |
| | | Price := item.Price(), |
| | | Quantity := item.Quantity(), |
| | | StartDate := item.OrderDate() ); |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingExternalSupplyData ( |
| | | Strings businessTypes, |
| | | Boolean nuclear |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | //// renhao Aug-14-2023 (created) |
| | | // |
| | | //traverse( this,MappingExternalSupply,externalSupply){ |
| | | // product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true); |
| | | // |
| | | // if( not isnull( product)){ |
| | | // productMP := select( this,Product_MP,productMP,productMP.ID() = externalSupply.ProductID() ,true); |
| | | // stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true); |
| | | // if( not isnull(businessTypes)){ |
| | | // |
| | | // for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | // businessType := businessTypes.Element( i); |
| | | // if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | // InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"å¨éå¨å¶",true); |
| | | // } |
| | | // } |
| | | // |
| | | // }else{ |
| | | // InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"å¨éå¨å¶",true); |
| | | // } |
| | | // |
| | | // } |
| | | //} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingForecastData ( |
| | | Strings businessTypes |
| | | ) |
| | | { |
| | | Description: 'ETL订å颿µ' |
| | | TextBody: |
| | | [* |
| | | toDels := selectset( this, IOSalesDemandBase, item, item.istype( IOForecast ) ); |
| | | traverse( toDels, Elements, toDel ) { |
| | | toDel.Delete(); |
| | | } |
| | | // å¾
å¤çæ°æ® |
| | | listToDeal := selectset( this, MappingForecast, item, true ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | listToDeal := selectset( listToDeal, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | // todo 没macroPlanæä¹æ |
| | | //queryStartDate := guard( DateTime::Now() - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | | //listToDeal := selectset( listToDeal, Elements, item, item.StartDate() >= queryStartDate and item.EndDate() <= queryEndDate ); |
| | | // å¤ç |
| | | traverse( listToDeal, Elements, item ) { |
| | | this.IOSalesDemandBase( relnew, |
| | | IOForecast, |
| | | ID := item.ID(), |
| | | CurrencyID := item.CurrencyID(), |
| | | PriorityName := item.PriorityName(), |
| | | SalesSegmentName := item.SalesSegmentName(), |
| | | StockingPointID := item.StockingPointID(), |
| | | UnitOfMeasureName := item.UnitOfMeasureName(), |
| | | ProductID := item.ProductID(), |
| | | StartDate := item.StartDate(), |
| | | EndDate := item.EndDate(), |
| | | Quantity := item.Quantity(), |
| | | Price := item.Price()); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingInventoryValueAndCostData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOInventoryValueAndCost( relflush ); |
| | | traverse( this, MappingInventoryValueAndCost, item ) { |
| | | this.IOInventoryValueAndCost( relnew, |
| | | ID := item.ID(), |
| | | AccountName := item.AccountName(), |
| | | Cost := item.Cost(), |
| | | CostDriver := item.CostDriver(), |
| | | ProductID := item.ProductID(), |
| | | Start := item.Start(), |
| | | StockingPointID := item.StockingPointID() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingLaneData ( |
| | | JSON data |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | dataLength := data.Size(); |
| | | for( i := 0; i < dataLength; i++ ) { |
| | | dataRow := data.Get( i ); |
| | | id := dataRow.Get( "id" ).GetString(); |
| | | unitId := dataRow.Get( "unitid" ).GetString(); |
| | | name := dataRow.Get( "name" ).GetString(); |
| | | userLeadTimeHours := [Number]dataRow.Get( "userleadtime" ).GetString(); |
| | | this.IOLane( relnew, |
| | | ID := id, |
| | | Name := name, |
| | | UnitID := unitId, |
| | | UserLeadTime := Duration::Hours( userLeadTimeHours ) ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingLaneData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOLane( relflush ); |
| | | bodyNumber := "3"; |
| | | postRequestBody := MPSync::ApiBuildPostRequestBody( bodyNumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLanesInfo"; |
| | | port := 443; |
| | | data := MPSync::ApiResponesCheck( address, port, url, postRequestBody ); |
| | | this.MappingLaneData( data ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingLaneLegData ( |
| | | JSON data |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | dataLength := data.Size(); |
| | | for( i := 0; i < dataLength; i++ ) { |
| | | dataRow := data.Get( i ); |
| | | laneId := dataRow.Get( "laneid" ).GetString(); |
| | | originStockingPointId := dataRow.Get( "originstockingpointid" ).GetString(); |
| | | destinationStockingPointId := dataRow.Get( "destinationstockingpointid" ).GetString(); |
| | | name := dataRow.Get( "name" ).GetString(); |
| | | userLeadTimeHours := [Number]dataRow.Get( "userleadtime" ).GetString(); |
| | | this.IOLaneLeg( relnew, |
| | | LaneID := laneId, |
| | | OriginStockingPointID := originStockingPointId, |
| | | DestinationStockingPointID := destinationStockingPointId, |
| | | Name := name, |
| | | HasUserLeadTime := true, |
| | | UserLeadTime := Duration::Hours( userLeadTimeHours ), |
| | | Start := Date::MinDate(), |
| | | End := Date::MaxDate(), |
| | | PreferenceBonus := 0.0, |
| | | CO2Emission := 0.0 ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingLaneLegData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOLaneLeg( relflush ); |
| | | bodynumber := "4"; |
| | | postRequestBody := MPSync::ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLaneLegsInfo"; |
| | | port := 443; |
| | | data := MPSync::ApiResponesCheck( address, port, url, postRequestBody ); |
| | | this.MappingLaneLegData( data ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingOperationBOMData ( |
| | | Strings businessTypes, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // keyProduct |
| | | keyProductIds := selectuniquevalues( this, MappingProduct, prod, prod.KeyProduct() = true, prod.ID() ); |
| | | // è·åæåºçå¾
å¤çè®°å½ |
| | | toDealOps := construct( MappingOperations ); |
| | | toDealBoms := construct( MappingBOMs ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | toDealOps := selectsortedset( this, MappingOperation, item, |
| | | businessTypes.Find( item.BusinessType() ) >= 0 |
| | | and ( not isKeyProduct or keyProductIds.Find( item.ProductID() ) >= 0 ), |
| | | item.SequenceNumber() ); |
| | | toDealBoms := selectset( this, MappingBOM, item, |
| | | businessTypes.Find( item.BusinessType() ) >= 0 |
| | | and ( not isKeyProduct or keyProductIds.Find( item.ComponentCode() ) >= 0 ) ); |
| | | } else { |
| | | toDealOps := selectsortedset( this, MappingOperation, item, |
| | | not isKeyProduct or keyProductIds.Find( item.ProductID() ) >= 0 , |
| | | item.SequenceNumber() ); |
| | | toDealBoms := selectset( this, MappingBOM, item, |
| | | businessTypes.Find( item.BusinessType() ) >= 0 |
| | | and ( not isKeyProduct or keyProductIds.Find( item.ComponentCode() ) >= 0 ) ); |
| | | } |
| | | // 对æ¯ä¸ªrouting计ç®inputGroupId |
| | | inputGroupId := 1 |
| | | // 对æ¯ä¸ªRoutingè¿è¡æå
¥äº§åºå¤ç |
| | | routingKeys := selectuniquevalues( toDealOps, Elements, item, item.OrganCode() + "_" + item.ProductID() ); |
| | | traverse( routingKeys, Elements, routingKey ) { |
| | | // ==== äº§åº ==== |
| | | // æ¾æå¤§seq |
| | | maxSeq := max( toDealOps, Elements, item, item.OrganCode() + "_" + item.ProductID() = routingKey, item.SequenceNumber() ); |
| | | maxSeqElements := selectset( toDealOps, Elements, item, |
| | | item.OrganCode() + "_" + item.ProductID() = routingKey and item.SequenceNumber() = maxSeq ); |
| | | traverse( maxSeqElements, Elements, maxSeqELement ) { |
| | | operationId := maxSeqELement.OrganCode() + "_" + maxSeqELement.ProductID() + "_" + maxSeqELement.ProcessSection(); |
| | | if( maxSeqELement.Line() <> "" ) { |
| | | operationId := operationId + "_" + maxSeqELement.Line(); |
| | | } |
| | | this.IOOperationBOM( relnew, |
| | | OperationID := operationId, |
| | | ProductID := maxSeqELement.ProductID(), |
| | | StockingPointID := maxSeqELement.OrganCode() + "_" + this.GetProductTypeByProductId( maxSeqELement.ProductID() ) + "_Stock", |
| | | Quantity := 1, |
| | | IsInput := false ); |
| | | } |
| | | // ==== æå
¥ ==== |
| | | // 对Operationä¸çæ¯ä¸ªProcessSectionï¼ æ¾seqæå°çlistï¼æ¯æ¡bom对该listçæoperationBOM |
| | | processSectionList := selectuniquevalues( toDealOps, Elements, toDeal, |
| | | toDeal.OrganCode() + "_" + toDeal.ProductID() = routingKey, |
| | | toDeal.ProcessSection() ); |
| | | traverse( processSectionList, Elements, processSection ) { |
| | | minSeq := min( toDealOps, Elements, item, |
| | | item.OrganCode() + "_" + item.ProductID() = routingKey |
| | | and item.ProcessSection() = processSection, |
| | | item.SequenceNumber() ); |
| | | operationRecordsWithMinSeq := selectset( toDealOps, Elements, minSeqWithProcessSectionElement, |
| | | minSeqWithProcessSectionElement.OrganCode() + "_" + minSeqWithProcessSectionElement.ProductID() = routingKey |
| | | and minSeqWithProcessSectionElement.ProcessSection() = processSection |
| | | and minSeqWithProcessSectionElement.SequenceNumber() = minSeq ); |
| | | bomRecords := selectset( toDealBoms, Elements, bom, |
| | | bom.OrganCode() + "_" + bom.ProductCode() = routingKey |
| | | and bom.ProcessSection() = processSection ); |
| | | // ææ¯å¦ææ¿æ¢æåç» |
| | | bomWithoutAlters := selectset( bomRecords, Elements, bomRecord, bomRecord.AlternativeMaterialCode() = "" ); |
| | | bomWithAlters := selectset( bomRecords, Elements, bomRecord, bomRecord.AlternativeMaterialCode() <> "" ); |
| | | // å¤çä¸å¸¦æ¿æ¢æçinput |
| | | traverse( operationRecordsWithMinSeq, Elements, op ) { |
| | | traverse( bomWithoutAlters, Elements, bom ) { |
| | | operationId := op.OrganCode() + "_" + op.ProductID() + "_" + op.ProcessSection(); |
| | | if( op.Line() <> "" ) { |
| | | operationId := operationId + "_" + op.Line(); |
| | | } |
| | | this.IOOperationBOM( relnew, |
| | | OperationID := operationId, |
| | | ProductID := op.ProductID(), |
| | | StockingPointID := op.OrganCode() + "_" + bom.ComponentType() + "_Stock", |
| | | IsInput := true, |
| | | Quantity := bom.UnitUsageOfComponents() / bom.ComponentOutputRate() ); |
| | | } |
| | | } |
| | | // å¤çå¸¦æ¿æ¢æçï¼ælineå主æåç» |
| | | lineList := selectuniquevalues( operationRecordsWithMinSeq, Elements, item, item.Line() ); |
| | | mainProdList := selectuniquevalues( bomWithAlters, Elements, item, item.ComponentCode() ); |
| | | traverse( lineList, Elements, line ) { |
| | | opWithLine := select( operationRecordsWithMinSeq, Elements, item, item.Line() = line ); |
| | | opId := opWithLine.OrganCode() + "_" + opWithLine.ProductID() + "_" + opWithLine.ProcessSection(); |
| | | if( opWithLine.Line() <> "" ) { |
| | | opId := opId + "_" + opWithLine.Line(); |
| | | } |
| | | traverse( mainProdList, Elements, mainProd ) { |
| | | // æ¯ç§ä¸»æä¸ä¸ªgroup |
| | | inputGroupId := inputGroupId + 1; |
| | | bomWithMainProdList := selectset( bomWithAlters, Elements, item, item.ComponentCode() = mainProd ); |
| | | bomRandom := bomWithMainProdList.First(); |
| | | // æ»æ°é |
| | | maxQuantityInGroup := bomRandom.UnitUsageOfComponents() / bomRandom.ComponentOutputRate(); |
| | | // æ¿ä»£ææ»æ¯ä¾ |
| | | alterRateTotal := sum( bomWithMainProdList, Elements, item, item.AlternativeRate() ); |
| | | // å建inputGroup |
| | | this.IOOperationInputGroup( relnew, InputGroupID := inputGroupId, OperationID := opId, InputGroupQuantity := maxQuantityInGroup ); |
| | | // å建主æçinput bom |
| | | this.IOOperationBOM( relnew, |
| | | OperationID := opId, |
| | | InputGroupID := inputGroupId, |
| | | ProductID := bomRandom.ComponentCode(), |
| | | StockingPointID := bomRandom.OrganCode() + "_" + bomRandom.ComponentType() + "_Stock", |
| | | IsInput := true, |
| | | Quantity := maxQuantityInGroup * ( 1 - alterRateTotal ), |
| | | MinQuantityInGroup := 0.0, |
| | | MaxQuantityInGroup := maxQuantityInGroup ); |
| | | // æ¿ä»£æinput bom |
| | | traverse( bomWithMainProdList, Elements, bom ) { |
| | | this.IOOperationBOM( relnew, |
| | | OperationID := opId, |
| | | InputGroupID := inputGroupId, |
| | | ProductID := bom.AlternativeMaterialCode(), |
| | | StockingPointID := bom.OrganCode() + "_" + bom.ComponentType() + "_Stock", |
| | | IsInput := true, |
| | | Quantity := maxQuantityInGroup * bom.AlternativeRate(), |
| | | MinQuantityInGroup := 0.0, |
| | | MaxQuantityInGroup := maxQuantityInGroup ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // é对æ¯ä¸ªrouting éç½® inputGroupId |
| | | inputGroupId := 1; |
| | | } |
| | | // 对æ¯ä¸ªOrgCode_ComponentCodeç»åï¼å建éè´routing |
| | | if( createPurchaseSupplyMaterial ) { |
| | | toCreateKeys := selectuniquevalues( toDealBoms, Elements, bom, |
| | | bom.ComponentType() = "P", |
| | | bom.OrganCode() + "_" + bom.ComponentCode() ); |
| | | traverse( toCreateKeys, Elements, toCreateKey ) { |
| | | bomRandom := selectset( toDealBoms, Elements, bom, bom.ComponentType() = "P" and bom.OrganCode() + "_" + bom.ComponentCode() = toCreateKey ).First(); |
| | | routingId := bomRandom.OrganCode() + "_" + bomRandom.ComponentCode(); |
| | | routingName := routingId; |
| | | routingStepName := "éè´"; |
| | | routingStepSeq := 1; |
| | | operationId := bomRandom.OrganCode() + "_PR_" + bomRandom.ComponentCode(); |
| | | operationName := operationId; |
| | | unitId := "ä¾åºå"; |
| | | // ==== å建 ==== |
| | | // å建routing |
| | | this.IORouting( relnew, |
| | | ID := routingId, Name := routingName, IsEnabled := true, Start := Date::MinDate(), End := Date::MaxDate() ); |
| | | // å建routingStep |
| | | IORoutingStep::CreateIfNotExist( this, |
| | | routingId, |
| | | routingStepName, |
| | | routingStepSeq ); |
| | | // å建op |
| | | ioOp := IOOperation::CreateIfNotExist( this, operationId ); |
| | | ioOp.UnitID( unitId ); |
| | | ioOp.RoutingID( routingId ); |
| | | ioOp.RoutingStepName( routingStepName ); |
| | | ioOp.Name( operationName ); |
| | | ioOp.UserLeadTime( Duration::Zero() ); |
| | | ioOp.Throughput( 1.0 ); |
| | | ioOp.HasUserMaximumQuantity( false ); |
| | | ioOp.UserMinimumQuantity( Real::MinReal() ); |
| | | ioOp.UserMaximumQuantity( Real::MaxReal() ); |
| | | // å建opBOM |
| | | this.IOOperationBOM( relnew, |
| | | OperationID := operationId, |
| | | ProductID := bomRandom.ComponentCode(), |
| | | StockingPointID := bomRandom.OrganCode() + "_" + bomRandom.ComponentType() + "_Stock", |
| | | IsInput := true, |
| | | Quantity := 1 ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingOperationCostData ( |
| | | Strings businesstypes |
| | | ) |
| | | { |
| | | Description: 'Get operation cost data from operation mapping' |
| | | TextBody: |
| | | [* |
| | | //// Administrator Aug-21-2023 (created) |
| | | //// list to deal |
| | | //listtodeal := construct( structured[MappingOperation] ); |
| | | // |
| | | //if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | // listtodeal := selectset( this, MappingOperation, item, true ); |
| | | //} else { |
| | | // listtodeal := selectset( this, MappingOperation, item, businesstypes.Find( item.BusinessType() ) <> -1 ); |
| | | //} |
| | | // |
| | | //// Get the list to deal with max sequence number |
| | | //listtodealwithmaxsn := construct( structured[MappingOperation] ); |
| | | //traverse( listtodeal, Elements, item ){ |
| | | // maxsn := maxselect( this, |
| | | // MappingOperation, |
| | | // moperation, |
| | | // moperation.OrganCode() = item.OrganCode(), |
| | | // moperation.ProductID() = item.ProductID(), |
| | | // moperation.SequenceNumber() ).SequenceNumber() |
| | | // if( item.SequenceNumber() = maxsn ){ |
| | | // listtodealwithmaxsn.Add( item ); |
| | | // } |
| | | // } |
| | | // |
| | | //// Get the operation cost data |
| | | //traverse( listtodealwithmaxsn, Elements, item ){ |
| | | // id := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection() + "_" + item.Line(); |
| | | // operation := Operation::FindOperationTypeIndex( id ); |
| | | // account := Account_MP::FindByName( this, "Operation cost" ); |
| | | // isfromdb := false; |
| | | // existoperationcost := OperationCost::FindOperationCostTypeIndex( id ); |
| | | // if( isnull( existoperationcost ) ){ |
| | | // connecteditem := select( this, |
| | | // MappingOperationCost, |
| | | // moperationcost, |
| | | // moperationcost.OrgCode() = item.OrganCode(), |
| | | // moperationcost.ProductID() = item.ProductID() ); |
| | | // cost := connecteditem.Cost(); |
| | | // lengthoftime := connecteditem.LengthOfTime(); |
| | | // start := connecteditem.Start(); |
| | | // timeunit := connecteditem.TimeUnit(); |
| | | // OperationCost::Create( id, operation, account, "Volume", start, timeunit, lengthoftime, cost, isfromdb ); |
| | | // } |
| | | // } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingOperationData ( |
| | | Strings businessTypes |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // è·åæåºçå¾
å¤çè®°å½ |
| | | toDealList := construct( MappingOperations ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | toDealList := selectsortedset( this, MappingOperation, item, |
| | | businessTypes.Find( item.BusinessType() ) >= 0, |
| | | item.SequenceNumber() ); |
| | | } else { |
| | | toDealList := selectsortedset( this, MappingOperation, item, |
| | | true, |
| | | item.SequenceNumber() ); |
| | | } |
| | | // å é¤åærouting |
| | | this.IORouting( relflush ); |
| | | // æ°routing |
| | | routingIdList := selectuniquevalues( toDealList, Elements, item, item.OrganCode() + "_" + item.ProductID() ); |
| | | traverse( routingIdList, Elements, routingId ) { |
| | | this.IORouting( relnew, |
| | | ID := routingId, Name := routingId, IsEnabled := true ); |
| | | } |
| | | // å é¤åæroutingStep |
| | | this.IORoutingStep( relflush ); |
| | | // æ°routingStep |
| | | traverse( toDealList, Elements, op ) { |
| | | routingId := op.OrganCode() + "_" + op.ProductID(); |
| | | routingStepName := op.ProcessSection() + "_" + [String]op.SequenceNumber(); |
| | | IORoutingStep::CreateIfNotExist( this, |
| | | routingId, |
| | | routingStepName, |
| | | op.SequenceNumber() ); |
| | | } |
| | | // æ°operation |
| | | traverse( toDealList, Elements, op ) { |
| | | // æ±æ»æ°æ® |
| | | routingId := op.OrganCode() + "_" + op.ProductID(); |
| | | routingStepName := op.ProcessSection() + "_" + [String]op.SequenceNumber(); |
| | | opId := op.OrganCode() + "_" + op.ProductID() + "_" + op.ProcessSection(); |
| | | unitId := op.OrganCode() + "_" + op.ProcessSection(); |
| | | if( op.Line() <> "" ) { |
| | | opId := opId + "_" + op.Line(); |
| | | unitId := unitId + "_" + op.Line(); |
| | | } |
| | | opName := opId; |
| | | // æ°å»º |
| | | ioOp := IOOperation::CreateIfNotExist( this, opId ); |
| | | ioOp.UnitID( unitId ); |
| | | ioOp.RoutingID( routingId ); |
| | | ioOp.RoutingStepName( routingStepName ); |
| | | ioOp.Name( opName ); |
| | | ioOp.UserLeadTime( Duration::Hours( op.UserLeadTime() ) ); |
| | | ioOp.Throughput( op.ActualCapacity() ); |
| | | ioOp.UserMinimumQuantity( op.MinimumQuantity() ); |
| | | ioOp.UserMaximumQuantity( op.MaximumQuantity() ); |
| | | ioOp.HasUserMaximumQuantity( op.MaximumQuantity() <> 0.0 ); |
| | | } |
| | | // æ OrganCode + ProductID åç» + æåº |
| | | keyList := selectuniquevalues( toDealList, Elements, op, |
| | | op.OrganCode() + "_" + op.ProductID() ); |
| | | keyList := selectsortedset( keyList, Elements, str, str ); |
| | | traverse( keyList, Elements, key ) { |
| | | previousList := construct( MappingOperations ); |
| | | // æ SequenceNumber åç» + æåº |
| | | subKeyList := selectuniquevalues( toDealList, Elements, op, |
| | | key = op.OrganCode() + "_" + op.ProductID(), |
| | | op.SequenceNumber() ); |
| | | subKeyList := selectsortedset( subKeyList, Elements, seq, seq ); |
| | | // éåæ¯ä¸ªSeqï¼ä¸åä¸ä¸ªlistè¿è¡è¿æ¥ï¼åæ¶å建group |
| | | traverse( subKeyList, Elements, seq ) { |
| | | elementList := selectset( this, MappingOperation, op, |
| | | op.OrganCode() + "_" + op.ProductID() = key and op.SequenceNumber() = seq ); |
| | | if( not isnull( previousList ) and previousList.Size() > 0 ) { |
| | | // 对æ¯ä¸ªç®æ å建inputGroup |
| | | if( previousList.Size() > 1 ) { |
| | | traverse( elementList, Elements, targetOp ) { |
| | | targetOpId := targetOp.OrganCode() + "_" + targetOp.ProductID() + "_" + targetOp.ProcessSection(); |
| | | this.IOOperationInputGroup( relnew, InputGroupID := 1, OperationID := targetOpId, InputGroupQuantity := 1 ); |
| | | } |
| | | } |
| | | // æºä¸ç®æ 两两å建operationLink |
| | | traverse( elementList, Elements, targetOp ) { |
| | | traverse( previousList, Elements, sourceOp ) { |
| | | sourceOpId := sourceOp.OrganCode() + "_" + sourceOp.ProductID() + "_" + sourceOp.ProcessSection(); |
| | | targetOpId := targetOp.OrganCode() + "_" + targetOp.ProductID() + "_" + targetOp.ProcessSection(); |
| | | this.IOOperationLink( relnew, |
| | | SourceOperationID := sourceOpId, DestOperationID := targetOpId, |
| | | SourceGroupID := 1, DestGroupID := 1, SourceQuantity := 1, DestQuantity := 1 / previousList.Size(), |
| | | DestHasUserQuantity := false, DestMinQuantity := 0, DestMaxQuantity := 1 ); |
| | | } |
| | | } |
| | | } |
| | | previousList := elementList; |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingProductData ( |
| | | Strings businesstypes, |
| | | Boolean iskeyproduct |
| | | ) |
| | | { |
| | | Description: 'Method to get needed data from mapping product data' |
| | | TextBody: |
| | | [* |
| | | // æ¸
餿§æ°æ® |
| | | this.IOProduct_MP( relflush ); |
| | | // list to deal |
| | | listToDeal := construct( structured[MappingProduct] ); |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | if( iskeyproduct = true ){ |
| | | listToDeal := selectset( this, MappingProduct, item, item.KeyProduct() = true ); |
| | | } else { |
| | | listToDeal := selectset( this, MappingProduct, item, true ); |
| | | } |
| | | } else { |
| | | if( iskeyproduct = true ){ |
| | | listToDeal := selectset( this, MappingProduct, item, item.KeyProduct() = true, businesstypes.Find( item.BusinessType() ) <> -1 or businesstypes.Find( item.CommonBusiness() ) <> -1 ); |
| | | } else { |
| | | listToDeal := selectset( this, MappingProduct, item, businesstypes.Find( item.BusinessType() ) <> -1 or businesstypes.Find( item.CommonBusiness() ) <> -1 ); |
| | | } |
| | | } |
| | | // åå»ºæ ¹äº§å |
| | | IOProduct_MP::CreateIfNotExist( this, "å
¨é¨ç©æäº§å", "å
¨é¨ç©æäº§å", "", "PCS" ); |
| | | // å¤çæ°ä¿¡æ¯ |
| | | traverse( listToDeal, Elements, item ) { |
| | | // å建ç¶äº§å |
| | | IOProduct_MP::CreateIfNotExist( this, item.ProductMajorType(), item.ProductMajorType(), "å
¨é¨ç©æ", "PCS" ); |
| | | IOProduct_MP::CreateIfNotExist( this, item.ProductSubclassType(), item.ProductSubclassType(), item.ProductMajorType(), "PCS" ); |
| | | // å建产å |
| | | this.IOProduct_MP( relnew, |
| | | ID := item.ID(), |
| | | Name := item.Name(), |
| | | ParentID := item.ProductSubclassType(), |
| | | UOMName := item.UnitOfMeasureName(), |
| | | // todo ? |
| | | HasShelfLife := true, |
| | | ShelfLife := item.ShelfLife(), |
| | | Notes := item.Notes() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingProductInLaneData |
| | | { |
| | | Description: 'Get Product In Line data' |
| | | TextBody: |
| | | [* |
| | | this.IOProductInLane( relflush ); |
| | | traverse( this, MappingProductInLane, item ){ |
| | | this.IOProductInLane( relnew, |
| | | LaneID := item.LineID(), |
| | | ProductID := item.ProductID() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingSalesLevelData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOSalesLevel_MP( relflush ); |
| | | this.IOSalesLevel_MP( relnew, |
| | | Level := 0, |
| | | Name := "è¥éä¸å¿" ); |
| | | this.IOSalesLevel_MP( relnew, |
| | | Level := 1, |
| | | Name := "éå®ç§" ); |
| | | this.IOSalesLevel_MP( relnew, |
| | | Level := 2, |
| | | Name := "客æ·" ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingSalesSegmentData ( |
| | | Strings businessTypes |
| | | ) |
| | | { |
| | | Description: 'ETLéå®é¨é¨' |
| | | TextBody: |
| | | [* |
| | | this.IOSalesSegment_MP( relflush ); |
| | | toDealList := selectset( this, MappingSalesSegment, item, true ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | toDealList := selectset( toDealList, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | |
| | | traverse( toDealList, Elements, item ) { |
| | | this.IOSalesSegment_MP( relnew, |
| | | Name := item.Name(), |
| | | ParentName := item.ParentName(), |
| | | DisplayIndex := item.DisplayIndex() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingStockingPointData ( |
| | | JSON data |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | dataLength := data.Size(); |
| | | for( i:=0; i < dataLength; i++ ) |
| | | { |
| | | dataRow := data.Get( i ); |
| | | id := dataRow.Get( "id" ).GetString(); |
| | | unitId := dataRow.Get( "unitid" ).GetString(); |
| | | name := dataRow.Get( "name" ).GetString(); |
| | | this.IOStockingPoint_MP( relnew, |
| | | ID := id, |
| | | Name := name, |
| | | UnitID := unitId, |
| | | CurrencyID := "CNY", |
| | | UnitOfMeasureName := "PCS", |
| | | IsPlannedInfinite := false, |
| | | GroupName := " ", |
| | | Notes := " ", |
| | | Start := Date::MinDate(), |
| | | End := Date::MaxDate() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingStockingPointData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.IOStockingPoint_MP( relflush ); |
| | | bodyNumber := "2"; |
| | | postRequestBody := MPSync::ApiBuildPostRequestBody( bodyNumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | port := 443; |
| | | url := "/otdService/https/GetStockingPointsInfo"; |
| | | data := MPSync::ApiResponesCheck( address, port, url, postRequestBody ); |
| | | this.MappingStockingPointData( data ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingUnitData ( |
| | | Strings businessTypes |
| | | ) |
| | | { |
| | | Description: 'Get unit data from operation mapping' |
| | | TextBody: |
| | | [* |
| | | listToDeal := selectset( this, MappingOperation, item, true ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | listToDeal := selectset( this, MappingOperation, item, businessTypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | // 常é |
| | | unitOfMeasureName := "PCS"; |
| | | currencyId := "CNY"; |
| | | startDate := Date::Date( 1900, 1, 1 ); |
| | | endDate := Date::Date( 9999, 12, 31 ); |
| | | capacityType := "Infinite"; |
| | | // é级å建 |
| | | IOUnit::CreateIfNotExistByTree( this, "天马éå¢", "天马éå¢", "", unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | IOUnit::CreateIfNotExistByTree( this, "ç产", "ç产", "天马éå¢", unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | IOUnit::CreateIfNotExistByTree( this, "ä¾åºå", "ä¾åºå", "天马éå¢", unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | IOUnit::CreateIfNotExistByTree( this, "æ´è½¦è¿è¾", "æ´è½¦è¿è¾", "天马éå¢", unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | // æ ¹æ®operationå建 |
| | | traverse( listToDeal, Elements, op ) { |
| | | // ä¸çº§ orgCode |
| | | levelOne := op.OrganCode(); |
| | | IOUnit::CreateIfNotExistByTree( this, |
| | | levelOne, op.OrganName(), "ç产", |
| | | unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | // äºçº§ orgCode + plantName |
| | | levelTwo := op.OrganCode() + "_" + op.PlantName(); |
| | | IOUnit::CreateIfNotExistByTree( this, |
| | | levelTwo, levelTwo, levelOne, |
| | | unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | // ä¸çº§ äºçº§ + processSection |
| | | levelThree := levelTwo + "_" + op.ProcessSection(); |
| | | IOUnit::CreateIfNotExistByTree( this, |
| | | levelThree, levelThree, levelTwo, |
| | | unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | // å级 ä¸çº§ + line |
| | | if( op.Line() <> "" ) { |
| | | levelFour := levelThree + "_" + op.Line(); |
| | | IOUnit::CreateIfNotExistByTree( this, |
| | | levelFour, levelFour, levelThree, |
| | | unitOfMeasureName, currencyId, startDate, endDate, capacityType ); |
| | | } |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingUnitOfMeasureData |
| | | { |
| | | Description: 'ETLæ°æ®è½¬æ¨¡åæ°æ®' |
| | | TextBody: |
| | | [* |
| | | this.IOUnitOfMeasure_MP( relflush ); |
| | | traverse( this, MappingUnitOfMeasure, item ) { |
| | | // IOUnitOfMeasure_MP::DeleteIfExist( this, item.Name() ); |
| | | this.IOUnitOfMeasure_MP( relnew, IsDefault := item.IsDefault(), Name := item.Name() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ApiBuildPostRequestBody ( |
| | | String bodynumber |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | postrequestbody := JSON::Object() |
| | | .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | .Add( "ouZone", "OU_TMSH" ) |
| | | .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | .Add( "dataType", "JSON" ) |
| | | .Add( "data", JSON::Object() |
| | | .Add( "pageIndex", "1" ) ).Build(); |
| | | |
| | | info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ); |
| | | postrequestbodystring := postrequestbody.AsString(); |
| | | |
| | | return postrequestbodystring; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ApiResponesCheck ( |
| | | String address, |
| | | Number port, |
| | | String path, |
| | | String postrequestbody |
| | | ) as owning JSON |
| | | { |
| | | TextBody: |
| | | [* |
| | | // for HTTPS requests: |
| | | i := HTTPInterface::Create( address, port ); |
| | | //i := HTTPInterface::Create( address ,443); |
| | | info( address, port, path, postrequestbody ); |
| | | |
| | | i.URL(path); |
| | | //i.SSL(false); |
| | | i.SSL(true); |
| | | i.SSLKeystore('MyKeystore'); // created in the Config Utility |
| | | |
| | | i.PostMethod(true); //it's a POST method |
| | | |
| | | i.Call(postrequestbody); // Call's argument is for POST method's content. |
| | | htmlresult := i.Result(); |
| | | |
| | | htmlresponse := JSON::Parse( htmlresult ); |
| | | |
| | | code := htmlresponse.Get( "resultCode" ).GetString(); |
| | | message := htmlresponse.Get( "resultMsg" ); |
| | | data := htmlresponse.Get( "responseData" ); |
| | | datalist := data.Get( "dataList" ); |
| | | |
| | | if( code = "1" ) |
| | | { |
| | | info( "Data have been written into table" ); |
| | | } |
| | | else |
| | | { |
| | | messagestring := " "; |
| | | if ( message.IsNull() ) |
| | | { |
| | | messagestring := "No message returns!"; |
| | | } |
| | | else |
| | | { |
| | | messagestring := message.GetString(); |
| | | } |
| | | info( "Error! error code: " + code + ", error message: " + messagestring ); |
| | | } |
| | | |
| | | return &datalist; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type MPSync #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoSyncNew ( |
| | | MacroPlan macroPlan, |
| | | MPSync mpSync, |
| | | String businessTypeStr, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | businessTypes := construct( Strings ); |
| | | if( businessTypeStr.Length() > 0 ) { |
| | | businessTypes := businessTypeStr.Tokenize( ',' ); |
| | | } |
| | | MacroPlan::DoSyncNew( macroPlan, mpSync, businessTypes, isKeyProduct, createPurchaseSupplyMaterial ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoSyncNew ( |
| | | MacroPlan macroPlan, |
| | | MPSync mpSync, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | businessTypes := construct( Strings ); |
| | | MacroPlan::DoSyncNew( macroPlan, mpSync, businessTypes, isKeyProduct, createPurchaseSupplyMaterial ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoSyncNew ( |
| | | MacroPlan macroPlan, |
| | | MPSync mpSync, |
| | | Strings businessTypes, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-31-2023 (created) |
| | | mpSync.ImportDBDataCustom( macroPlan, businessTypes, isKeyProduct, createPurchaseSupplyMaterial ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: mbMainMenu/MenuTestCurrencyData |
| | | Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestCurrencyData_OnClick |
| | | { |
| | | #keys: '[414502.0.88134030]' |
| | | Body: |
| | | [* |
| | | // Click to start a dialog about lane data test |
| | | dlg := construct( CurrencyDataTestDialog ); |
| | | dlg.OpenDialog( Application ); |
| | | *] |
| | | DefinitionID: 'Responsedef_Menu_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: mbMainMenu/MenuTestCurrency |
| | | Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestCurrency_OnClick |
| | | { |
| | | #keys: '[414502.0.88134200]' |
| | | Body: |
| | | [* |
| | | // Click to start a dialog about lane data test |
| | | dlg := construct( CurrencyRateDataTestDialog ); |
| | | dlg.OpenDialog( Application ); |
| | | *] |
| | | DefinitionID: 'Responsedef_Menu_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: mbMainMenu/MenuTestLanesData |
| | | Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestLanesData_OnClick |
| | | { |
| | | #keys: '[414502.0.18234397]' |
| | | Body: |
| | | [* |
| | | // Click to start a dialog about lane data test |
| | | dlg := construct( LanesDataTestDialog ); |
| | | dlg.OpenDialog( Application ); |
| | | *] |
| | | DefinitionID: 'Responsedef_Menu_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: mbMainMenu/MenuTestLanesLegsData |
| | | Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestLanesLegsData_OnClick |
| | | { |
| | | #keys: '[412960.0.15704079]' |
| | | Body: |
| | | [* |
| | | // Click to start a dialog about lane data test |
| | | dlg := construct( LanesLegsDataTestDialog ); |
| | | dlg.OpenDialog( Application ); |
| | | *] |
| | | DefinitionID: 'Responsedef_Menu_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: mbMainMenu/MenuTestStockpointData |
| | | Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestStockpointData_OnClick |
| | | { |
| | | #keys: '[414502.0.18234233]' |
| | | Body: |
| | | [* |
| | | // Click to start a new dialog about stockpoint data test |
| | | dlg := construct( StockpointDataTestDialog ); |
| | | dlg.OpenDialog( Application ); |
| | | *] |
| | | DefinitionID: 'Responsedef_Menu_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Toolbar484 |
| | | { |
| | | #keys: '[414502.0.88134261]' |
| | | BaseType: 'Toolbar' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 128 id: 486 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 661 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 550 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => btnOk |
| | | Position { startcolumn: 661 startrow: 337 endcolumn: 661 endrow: 337 } |
| | | } |
| | | GBElement |
| | | { |
| | | Component => btnCancel |
| | | Position { startcolumn: 550 startrow: 337 endcolumn: 550 endrow: 337 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 337 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414502.0.88134278]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+O' |
| | | Text: '&OK' |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414502.0.88134286]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+C' |
| | | Text: '&Cancel' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: false |
| | | Location: 'bottom' |
| | | Size: 26 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: btnOk |
| | | c: btnCancel |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OpenDialog ( |
| | | internal[GUIComponent] parent |
| | | ) id:Method_CurrencyDataTestDialog_OpenDialog |
| | | { |
| | | #keys: '[414502.0.88134527]' |
| | | Body: |
| | | [* |
| | | testResult := MacroPlan.TestDataConnect("TestCurrency"); |
| | | |
| | | Label413.Text( testResult ); |
| | | |
| | | |
| | | this.DoModal( parent ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar484/btnCancel |
| | | Response OnClick () id:Response_Toolbar484_btnCancel_OnClick |
| | | { |
| | | #keys: '[414502.0.88134293]' |
| | | Body: |
| | | [* |
| | | Dialog.EndModal(-1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar484/btnOk |
| | | Response OnClick () id:Response_Toolbar484_btnOk_OnClick |
| | | { |
| | | #keys: '[414502.0.88134285]' |
| | | Body: |
| | | [* |
| | | Dialog.ApplyChanges(); |
| | | Dialog.EndModal(1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent CurrencyDataTestDialog |
| | | { |
| | | #keys: '[414502.0.88134250]' |
| | | BaseType: 'Dialog' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 0 id: 947 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => Label413 |
| | | Position { startcolumn: 947 startrow: 363 endcolumn: 947 endrow: 363 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 363 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | #child: Toolbar484 |
| | | Component Label413 |
| | | { |
| | | #keys: '[414502.0.88134400]' |
| | | BaseType: 'Label' |
| | | Properties: |
| | | [ |
| | | Transparent: true |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | Height: 108 |
| | | Title: 'Currency Data Test Dialog' |
| | | Width: 121 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: Toolbar484 |
| | | c: Label413 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Toolbar868 |
| | | { |
| | | #keys: '[414502.0.88134578]' |
| | | BaseType: 'Toolbar' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 128 id: 376 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 118 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 500 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => btnOk |
| | | Position { startcolumn: 118 startrow: 254 endcolumn: 118 endrow: 254 } |
| | | } |
| | | GBElement |
| | | { |
| | | Component => btnCancel |
| | | Position { startcolumn: 500 startrow: 254 endcolumn: 500 endrow: 254 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 254 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414502.0.88134595]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+O' |
| | | Text: '&OK' |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414502.0.88134603]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+C' |
| | | Text: '&Cancel' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: false |
| | | Location: 'bottom' |
| | | Size: 26 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: btnOk |
| | | c: btnCancel |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OpenDialog ( |
| | | internal[GUIComponent] parent |
| | | ) id:Method_CurrencyRateDataTestDialog_OpenDialog |
| | | { |
| | | #keys: '[414502.0.88134671]' |
| | | Body: |
| | | [* |
| | | testResult := MacroPlan.TestDataConnect("TestCurrencyRate"); |
| | | |
| | | Label492.Text( testResult ); |
| | | |
| | | |
| | | this.DoModal( parent ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar868/btnCancel |
| | | Response OnClick () id:Response_Toolbar868_btnCancel_OnClick |
| | | { |
| | | #keys: '[414502.0.88134610]' |
| | | Body: |
| | | [* |
| | | Dialog.EndModal(-1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar868/btnOk |
| | | Response OnClick () id:Response_Toolbar868_btnOk_OnClick |
| | | { |
| | | #keys: '[414502.0.88134602]' |
| | | Body: |
| | | [* |
| | | Dialog.ApplyChanges(); |
| | | Dialog.EndModal(1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent CurrencyRateDataTestDialog |
| | | { |
| | | #keys: '[414502.0.88134567]' |
| | | BaseType: 'Dialog' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 0 id: 116 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => Label492 |
| | | Position { startcolumn: 116 startrow: 920 endcolumn: 116 endrow: 920 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 920 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | #child: Toolbar868 |
| | | Component Label492 |
| | | { |
| | | #keys: '[414502.0.88134655]' |
| | | BaseType: 'Label' |
| | | Properties: |
| | | [ |
| | | Transparent: true |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | Title: 'Currency Rate Data Test Dialog' |
| | | Width: 444 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: Toolbar868 |
| | | c: Label492 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Toolbar458 |
| | | { |
| | | #keys: '[414502.0.18234842]' |
| | | BaseType: 'Toolbar' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 128 id: 178 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 729 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 210 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => btnOk |
| | | Position { startcolumn: 729 startrow: 251 endcolumn: 729 endrow: 251 } |
| | | } |
| | | GBElement |
| | | { |
| | | Component => btnCancel |
| | | Position { startcolumn: 210 startrow: 251 endcolumn: 210 endrow: 251 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 251 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414502.0.18234859]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+O' |
| | | Text: '&OK' |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414502.0.18234867]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+C' |
| | | Text: '&Cancel' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: false |
| | | Location: 'bottom' |
| | | Size: 26 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: btnOk |
| | | c: btnCancel |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OpenDialog ( |
| | | internal[GUIComponent] parent |
| | | ) id:Method_LanesDataTestDialog_OpenDialog |
| | | { |
| | | #keys: '[414502.0.27954178]' |
| | | Body: |
| | | [* |
| | | testResult := MacroPlan.TestDataConnect("TestLanes"); |
| | | |
| | | Label808.Text( testResult ); |
| | | |
| | | |
| | | this.DoModal( parent ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar458/btnCancel |
| | | Response OnClick () id:Response_Toolbar458_btnCancel_OnClick |
| | | { |
| | | #keys: '[414502.0.18234874]' |
| | | Body: |
| | | [* |
| | | Dialog.EndModal(-1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar458/btnOk |
| | | Response OnClick () id:Response_Toolbar458_btnOk_OnClick |
| | | { |
| | | #keys: '[414502.0.18234866]' |
| | | Body: |
| | | [* |
| | | Dialog.ApplyChanges(); |
| | | Dialog.EndModal(1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent LanesDataTestDialog |
| | | { |
| | | #keys: '[414502.0.18234831]' |
| | | BaseType: 'Dialog' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 0 id: 785 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => Label808 |
| | | Position { startcolumn: 785 startrow: 325 endcolumn: 785 endrow: 325 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 325 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | #child: Toolbar458 |
| | | Component Label808 |
| | | { |
| | | #keys: '[414502.0.27954099]' |
| | | BaseType: 'Label' |
| | | Properties: |
| | | [ |
| | | Transparent: true |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | Height: 108 |
| | | Title: 'Lanes Data Test' |
| | | Width: 136 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: Toolbar458 |
| | | c: Label808 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Toolbar886 |
| | | { |
| | | #keys: '[412960.0.15704261]' |
| | | BaseType: 'Toolbar' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 128 id: 851 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 755 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 969 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => btnOk |
| | | Position { startcolumn: 755 startrow: 569 endcolumn: 755 endrow: 569 } |
| | | } |
| | | GBElement |
| | | { |
| | | Component => btnCancel |
| | | Position { startcolumn: 969 startrow: 569 endcolumn: 969 endrow: 569 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 569 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[412960.0.15704278]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+O' |
| | | Text: '&OK' |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[412960.0.15704286]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+C' |
| | | Text: '&Cancel' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: false |
| | | Location: 'bottom' |
| | | Size: 26 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: btnOk |
| | | c: btnCancel |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OpenDialog ( |
| | | internal[GUIComponent] parent |
| | | ) id:Method_LanesLegsDataTestDialog_OpenDialog |
| | | { |
| | | #keys: '[412960.0.15704586]' |
| | | Body: |
| | | [* |
| | | testResult := MacroPlan.TestDataConnect("TestLanesLegs"); |
| | | |
| | | Label484.Text( testResult ); |
| | | |
| | | |
| | | this.DoModal( parent ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar886/btnCancel |
| | | Response OnClick () id:Response_Toolbar886_btnCancel_OnClick |
| | | { |
| | | #keys: '[412960.0.15704293]' |
| | | Body: |
| | | [* |
| | | Dialog.EndModal(-1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar886/btnOk |
| | | Response OnClick () id:Response_Toolbar886_btnOk_OnClick |
| | | { |
| | | #keys: '[412960.0.15704285]' |
| | | Body: |
| | | [* |
| | | Dialog.ApplyChanges(); |
| | | Dialog.EndModal(1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent LanesLegsDataTestDialog |
| | | { |
| | | #keys: '[412960.0.15704249]' |
| | | BaseType: 'Dialog' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 0 id: 739 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => Label484 |
| | | Position { startcolumn: 739 startrow: 321 endcolumn: 739 endrow: 321 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 321 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | #child: Toolbar886 |
| | | Component Label484 |
| | | { |
| | | #keys: '[412960.0.15704489]' |
| | | BaseType: 'Label' |
| | | Properties: |
| | | [ |
| | | Transparent: true |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | Title: 'Lanes Legs Data Test' |
| | | Width: 492 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: Toolbar886 |
| | | c: Label484 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Toolbar309 |
| | | { |
| | | #keys: '[414502.0.18234549]' |
| | | BaseType: 'Toolbar' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 128 id: 557 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 351 parent: 0 } |
| | | GBFlow.Column { grow: 0 id: 110 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => btnOk |
| | | Position { startcolumn: 351 startrow: 960 endcolumn: 351 endrow: 960 } |
| | | } |
| | | GBElement |
| | | { |
| | | Component => btnCancel |
| | | Position { startcolumn: 110 startrow: 960 endcolumn: 110 endrow: 960 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 960 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414502.0.18234566]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+O' |
| | | Text: '&OK' |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414502.0.18234574]' |
| | | BaseType: 'Button' |
| | | Properties: |
| | | [ |
| | | LayoutGroup: 'dlgButtons' |
| | | Shortcut: 'Alt+C' |
| | | Text: '&Cancel' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: false |
| | | Location: 'bottom' |
| | | Size: 26 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: btnOk |
| | | c: btnCancel |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OpenDialog ( |
| | | internal[GUIComponent] parent |
| | | ) id:Method_StockpointDataTestDialog_OpenDialog |
| | | { |
| | | #keys: '[414502.0.18237141]' |
| | | Body: |
| | | [* |
| | | testResult := MacroPlan.TestDataConnect("TestStockpoint"); |
| | | |
| | | Label310.Text( testResult ); |
| | | |
| | | |
| | | this.DoModal( parent ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar309/btnCancel |
| | | Response OnClick () id:Response_Toolbar309_btnCancel_OnClick |
| | | { |
| | | #keys: '[414502.0.18234581]' |
| | | Body: |
| | | [* |
| | | Dialog.EndModal(-1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: Toolbar309/btnOk |
| | | Response OnClick () id:Response_Toolbar309_btnOk_OnClick |
| | | { |
| | | #keys: '[414502.0.18234573]' |
| | | Body: |
| | | [* |
| | | Dialog.ApplyChanges(); |
| | | Dialog.EndModal(1); |
| | | *] |
| | | DefinitionID: 'Responsedef_GUIButtonBase_OnClick' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent StockpointDataTestDialog |
| | | { |
| | | #keys: '[414502.0.18234537]' |
| | | BaseType: 'Dialog' |
| | | GBLayout |
| | | { |
| | | Type: 'internal[GBLayoutDefinition]' |
| | | Columns: |
| | | [ |
| | | GBFlow.Column { grow: 0 id: 423 parent: 0 } |
| | | ] |
| | | Elements: |
| | | [ |
| | | GBElement |
| | | { |
| | | Component => Label310 |
| | | Position { startcolumn: 423 startrow: 569 endcolumn: 423 endrow: 569 } |
| | | } |
| | | ] |
| | | Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ] |
| | | Rows: |
| | | [ |
| | | GBFlow.Row { grow: 0 id: 569 parent: 0 } |
| | | ] |
| | | } |
| | | Children: |
| | | [ |
| | | #child: Toolbar309 |
| | | Component Label310 |
| | | { |
| | | #keys: '[414502.0.18237441]' |
| | | BaseType: 'Label' |
| | | Properties: |
| | | [ |
| | | Transparent: true |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | Height: 108 |
| | | Title: 'Stockpoint Data Test' |
| | | Width: 121 |
| | | ModeledStringList ChildOrdering |
| | | { |
| | | c: Label310 |
| | | c: Toolbar309 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <KBSChange:KBSChange |
| | | xmlns:KBSChange="KBSChange" |
| | | xmlns:KBRevisionElementID="KBRevisionElementID" |
| | | xmlns:KBElementID="KBElementID"> |
| | | <KBSChange:ChangeNr>1086</KBSChange:ChangeNr> |
| | | <KBSChange:User>quintiq/yypsybs</KBSChange:User> |
| | | <KBSChange:Description>123</KBSChange:Description> |
| | | <KBSChange:Category></KBSChange:Category> |
| | | <KBSChange:CreationTime>2023-08-24T14:48:03</KBSChange:CreationTime> |
| | | <KBSChange:Elements> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>45</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>AccountTypes</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>1</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>BusinessTypes</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>47</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>CostDriverRules</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>17</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>DemoScenario</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>57</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>NonFinancialKPI</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>31</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>SanityCheckCategories</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>23</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>ScenarioStatus</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>60</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>SolverSettings</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:KBRevisionElementID> |
| | | <KBRevisionElementID:Revision>532</KBRevisionElementID:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>TestInstances</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBRevisionElementID:KBRevisionElementID> |
| | | </KBSChange:Elements> |
| | | </KBSChange:KBSChange> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <KBSElementRevision:KBSElementRevision |
| | | xmlns:KBSElementRevision="KBSElementRevision" |
| | | xmlns:KBElementID="KBElementID"> |
| | | <KBSElementRevision:Revision>1</KBSElementRevision:Revision> |
| | | <KBElementID:KBElementID> |
| | | <KBElementID:Kind>Table</KBElementID:Kind> |
| | | <KBElementID:Name>BusinessTypes</KBElementID:Name> |
| | | </KBElementID:KBElementID> |
| | | </KBSElementRevision:KBSElementRevision> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <table> |
| | | <name>BusinessTypes</name> |
| | | <column> |
| | | <name>BusinessType</name> |
| | | <label>BusinessType</label> |
| | | <type>String</type> |
| | | <cell value="aaa"/> |
| | | <cell value="bbb"/> |
| | | </column> |
| | | </table> |