已重命名10个文件
已添加67个文件
已修改181个文件
已删除97个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Dataset GlobalOTDSOP |
| | | { |
| | | #keys: '2[414702.1.113455894][414702.1.113455893]' |
| | | DefaultMDSName: 'GlobalOTDSOP' |
| | | InstanceType: GlobalOTDSOP |
| | | } |
| | |
| | | #parent: #root |
| | | EDIBroker Broker_OTD_VersionControl |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | MDSDefinition: GlobalOTDSOP |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Destination MappingVersionControl |
ÎļþÃû´Ó _Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_CARRC_Export |
| | | EDIBroker GlobalOTDSOP_CARRC_Export |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | MDSDefinition: GlobalOTDSOP |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Source Source11 |
ÎļþÃû´Ó _Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | EDIBroker GlobalOTDTable_CARRC_Import |
| | | EDIBroker GlobalOTDSOP_CARRC_Import |
| | | { |
| | | MDSDefinition: GlobalOTDTable |
| | | MDSDefinition: GlobalOTDSOP |
| | | TimeZone: 'ACT' |
| | | UseOSTimeZone: false |
| | | EDIModelLink.Destination Destination13 |
| | |
| | | EDIMLColumn Division { Attribute: Division ValueType: String } |
| | | EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String } |
| | | EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String } |
| | | EDIMLColumn PanelMaterialStockingPointID { Attribute: PanelMaterialStockingPointID ValueType: String } |
| | | EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String } |
| | | } |
| | | } |
| | |
| | | { |
| | | Property: '_QI.Type' |
| | | Type: 'String' |
| | | Value: 'GlobalOTDTable' |
| | | Value: 'GlobalOTDSOP' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAllocationResultsRuleConfiguration_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '1[414702.1.138430337]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414702.1.138430339][414702.1.138430338][414702.1.138430340]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAllocationResultsRuleConfiguration |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAllocationResultsRuleConfiguration |
| | | { |
| | | #keys: '3[414702.1.138430342][414702.1.138430341][414702.1.138430343]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAllocationResults_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocationResults |
| | | { |
| | | #keys: '1[414702.1.138430321]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414702.1.138430323][414702.1.138430322][414702.1.138430324]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAllocationResults |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAllocationResults |
| | | { |
| | | #keys: '3[414702.1.138430326][414702.1.138430325][414702.1.138430327]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeChartElement_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeChartElement |
| | | { |
| | | #keys: '1[414384.0.999194645]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.999194647][414384.0.999194646][414384.0.999194648]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeChartElement |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeChartElement |
| | | { |
| | | #keys: '3[414384.0.999194650][414384.0.999194649][414384.0.999194651]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeChartRow_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeChartRow |
| | | { |
| | | #keys: '1[414384.0.996881297]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881299][414384.0.996881298][414384.0.996881300]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeChartRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeChartRow |
| | | { |
| | | #keys: '3[414384.0.996881302][414384.0.996881301][414384.0.996881303]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeCompareItemColumn_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeCompareItemColumn |
| | | { |
| | | #keys: '1[414384.0.996881443]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][414384.0.996881465][414384.0.996881459][414384.0.996881466][414384.0.996881460][414384.0.996881467][414384.0.996881461][414384.0.996881468][414384.0.996881462][414384.0.996881469][414384.0.996881463][414384.0.996881470][414384.0.996881464]' |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881445][414384.0.996881444][414384.0.996881446]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeCompareItemColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeCompareItemColumn |
| | | { |
| | | #keys: '3[414384.0.996881448][414384.0.996881447][414384.0.996881449]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeCompareItemRow_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeCompareItemRow |
| | | { |
| | | #keys: '1[414384.0.996881317]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881319][414384.0.996881318][414384.0.996881320]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeCompareItemRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeCompareItemRow |
| | | { |
| | | #keys: '3[414384.0.996881322][414384.0.996881321][414384.0.996881323]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterBusinessType_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterBusinessType |
| | | { |
| | | #keys: '1[414384.0.996881340]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881342][414384.0.996881341][414384.0.996881343]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterBusinessType |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterBusinessType |
| | | { |
| | | #keys: '3[414384.0.996881345][414384.0.996881344][414384.0.996881346]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterItem_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterItem |
| | | { |
| | | #keys: '1[414384.0.996881358]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881360][414384.0.996881359][414384.0.996881361]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterItem |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterItem |
| | | { |
| | | #keys: '3[414384.0.996881363][414384.0.996881362][414384.0.996881364]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterMonth_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterMonth |
| | | { |
| | | #keys: '1[414384.0.996881381]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881383][414384.0.996881382][414384.0.996881384]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterMonth |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterMonth |
| | | { |
| | | #keys: '3[414384.0.996881386][414384.0.996881385][414384.0.996881387]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray |
| | | { |
| | | #keys: '1[414384.0.996881401]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881403][414384.0.996881402][414384.0.996881404]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterPlaceOfProductionOfArray |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterPlaceOfProductionOfArray |
| | | { |
| | | #keys: '3[414384.0.996881406][414384.0.996881405][414384.0.996881407]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CapacityAndSaleBudgeFilterYear_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterYear |
| | | { |
| | | #keys: '1[414384.0.996881421]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.996881423][414384.0.996881422][414384.0.996881424]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CapacityAndSaleBudgeFilterYear |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CapacityAndSaleBudgeFilterYear |
| | | { |
| | | #keys: '3[414384.0.996881426][414384.0.996881425][414384.0.996881427]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ManufactureLTImputation_GlobalOTDSOP_GlobalOTDSOP_ManufactureLTImputation |
| | | { |
| | | #keys: '1[414384.0.1005451662]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.1005451664][414384.0.1005451663][414384.0.1005451665]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ManufactureLTImputation |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ManufactureLTImputation |
| | | { |
| | | #keys: '3[414384.0.1005451667][414384.0.1005451666][414384.0.1005451668]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MappingVersionControl_GlobalOTDSOP_GlobalOTDSOP_MappingVersionControl |
| | | { |
| | | #keys: '1[412960.0.337760056]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[412960.0.337760058][412960.0.337760057][412960.0.337760059]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MappingVersionControl |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MappingVersionControl |
| | | { |
| | | #keys: '3[412960.0.337760061][412960.0.337760060][412960.0.337760062]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MatAttrSettingAndPlanStrategyInputSource_GlobalOTDSOP_GlobalOTDSOP_MatAttrSettingAndPlanStrategyInputSource |
| | | { |
| | | #keys: '1[414702.1.128364612]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414702.1.128364614][414702.1.128364613][414702.1.128364615]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MatAttrSettingAndPlanStrategyInputSource |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MatAttrSettingAndPlanStrategyInputSource |
| | | { |
| | | #keys: '3[414702.1.128364617][414702.1.128364616][414702.1.128364618]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MatAttrSettingAndPlanStrategy_GlobalOTDSOP_GlobalOTDSOP_MatAttrSettingAndPlanStrategy |
| | | { |
| | | #keys: '1[414702.1.130145519]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414702.1.130145521][414702.1.130145520][414702.1.130145522]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MatAttrSettingAndPlanStrategy |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MatAttrSettingAndPlanStrategy |
| | | { |
| | | #keys: '3[414702.1.130145524][414702.1.130145523][414702.1.130145525]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation PRHistoryData_GlobalOTDSOP_GlobalOTDSOP_PRHistoryData |
| | | { |
| | | #keys: '1[414384.0.999194777]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414384.0.999194779][414384.0.999194778][414384.0.999194780]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: PRHistoryData |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide PRHistoryData |
| | | { |
| | | #keys: '3[414384.0.999194782][414384.0.999194781][414384.0.999194783]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation PanelMaterialAll_GlobalOTDSOP_GlobalOTDSOP_PanelMaterialAll |
| | | { |
| | | #keys: '1[414702.1.138384587]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414702.1.138384589][414702.1.138384588][414702.1.138384590]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: PanelMaterialAll |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide PanelMaterialAll |
| | | { |
| | | #keys: '3[414702.1.138384592][414702.1.138384591][414702.1.138384593]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation VersionControl_GlobalOTDSOP_GlobalOTDSOP_VersionControl |
| | | { |
| | | #keys: '1[412960.0.337760078]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[412960.0.337760080][412960.0.337760079][412960.0.337760081]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: VersionControl |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide VersionControl |
| | | { |
| | | #keys: '3[412960.0.337760083][412960.0.337760082][412960.0.337760084]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation VersionStatus_GlobalOTDSOP_GlobalOTDSOP_VersionStatus |
| | | { |
| | | #keys: '1[412960.0.337760095]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[412960.0.337760097][412960.0.337760096][412960.0.337760098]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: VersionStatus |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide VersionStatus |
| | | { |
| | | #keys: '3[412960.0.337760100][412960.0.337760099][412960.0.337760101]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation WorkOrderType_GlobalOTDSOP_GlobalOTDSOP_WorkOrderType |
| | | { |
| | | #keys: '1[414702.1.128394598]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDSOP |
| | | { |
| | | #keys: '3[414702.1.128394600][414702.1.128394599][414702.1.128394601]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: WorkOrderType |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide WorkOrderType |
| | | { |
| | | #keys: '3[414702.1.128394603][414702.1.128394602][414702.1.128394604]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDSOP |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | //info( "Product Finished, Start BaseConversionFactor Data Broker" ) |
| | | //macroPlan.Broker_OTD_BaseConversionFactor().Execute(); |
| | | info( "BaseConversionFactor Data Broker Finished, Start BaseConversionFactor Mapping" ) |
| | | macroPlan.DoASyncMappingBaseConversionFactorData(globalOTDTable); |
| | | *] |
| | | } |
| | |
| | | #keys: '1[414702.0.388304510]' |
| | | Expression: |
| | | [* |
| | | targetCapacityAllocationResultsRuleConfiguration := select( this.GlobalOTDTable(), CapacityAllocationResultsRuleConfiguration, tempCARRC, |
| | | targetCapacityAllocationResultsRuleConfiguration := select( this.GlobalOTDSOP(), CapacityAllocationResultsRuleConfiguration, tempCARRC, |
| | | tempCARRC.ModuleMaterialCode() = this.ModuleMaterialCode() and |
| | | tempCARRC.PanelMaterialCode() = this.PanelMaterialCode() ); |
| | | |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateDate ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | MacroPlan macroPlan, |
| | | Scenario scenario |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.CapacityAllocationResults( relflush ); |
| | | globalOTDSOP.CapacityAllocationResults( relflush ); |
| | | |
| | | finaleProductInStockingPoint_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan, globalOTDTable ); |
| | | finaleProductInStockingPoint_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan, globalOTDSOP ); |
| | | |
| | | period_MPS := null( Period_MPs ); |
| | | traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) { |
| | |
| | | } |
| | | |
| | | traverse ( finaleProductInStockingPoint_MPs, Elements, fpispmp ) { |
| | | capacityAllocationResultsRuleConfigurations := selectset( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() ); |
| | | capacityAllocationResultsRuleConfigurations := selectset( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() ); |
| | | // info( "ç产ç产åï¼", fpispmp.ProductID(), "------产åå¨åºåç¹-------ï¼", fpispmp.StockingPointID() ); |
| | | traverse ( period_MPS, Elements, pmp ) { |
| | | // CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); èç |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 ); |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDSOP, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 ); |
| | | } |
| | | } |
| | | |
| | | traverse ( globalOTDTable, CapacityAllocationResults, car ) { |
| | | traverse ( globalOTDSOP, CapacityAllocationResults, car ) { |
| | | car.VersionNumber( scenario.Name() ); |
| | | } |
| | | *] |
| | |
| | | #parent: #root |
| | | StaticMethod CreateDate1 ( |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | DependentDemand dependentDemand, |
| | | NewSupply newSupply, |
| | | Supply_MP firstNewSupply, |
| | |
| | | |
| | | if ( capacityAllocationResultsRuleConfiguration.PanelMaterialCode() = productID ) { |
| | | info( "æ¾å°äºï¼ï¼ï¼" ); |
| | | globalOTDTable.CapacityAllocationResults( relnew, |
| | | PanelBase := panelPISP.StockingPointID(), |
| | | PanelMaterialCode := panelPISP.ProductID(), |
| | | NumberOfPanels := fulfillmentQuantity, |
| | | PanelMeasurementUnit := panelPISP.UnitOfMeasure_MP().Name(), |
| | | ModuleMaterialCode := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfModules := firstNewSupply.Quantity(), |
| | | ModuleMeasurementUnit := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleBase := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().StockingPointID(), |
| | | RequirementDate := dependentDemand.Start().Date(), |
| | | // 导åºå¤é¨ä¾åºå段 |
| | | Date := dependentDemand.Start().Date(), |
| | | Description := "", |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := panelPISP.ProductID(), |
| | | StockingPointID := panelPISP.StockingPointID(), |
| | | UserQuantity := fulfillmentQuantity, |
| | | ManufacturedDate := Date::MinDate() |
| | | ); |
| | | globalOTDSOP.CapacityAllocationResults( relnew, |
| | | PanelBase := panelPISP.StockingPointID(), |
| | | PanelMaterialCode := panelPISP.ProductID(), |
| | | NumberOfPanels := fulfillmentQuantity, |
| | | PanelMeasurementUnit := panelPISP.UnitOfMeasure_MP().Name(), |
| | | ModuleMaterialCode := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfModules := firstNewSupply.Quantity(), |
| | | ModuleMeasurementUnit := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleBase := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().StockingPointID(), |
| | | RequirementDate := dependentDemand.Start().Date(), |
| | | // 导åºå¤é¨ä¾åºå段 |
| | | Date := dependentDemand.Start().Date(), |
| | | Description := "", |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := panelPISP.ProductID(), |
| | | StockingPointID := panelPISP.StockingPointID(), |
| | | UserQuantity := fulfillmentQuantity, |
| | | ManufacturedDate := Date::MinDate() |
| | | ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod IterativeGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | ProductInStockingPoint_MP pisp, |
| | | Number numberOfLayers, |
| | | NewSupply finaleNewSupply, |
| | |
| | | oi := dd.ProcessInput().astype( OperationInput ); |
| | | finaleDependentDemand := finaleDependentDemand * oo.Quantity() * oi.Quantity(); |
| | | // info( "ä¾èµéæ±äº§åIDï¼", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), " ä¾èµæ°éï¼", dd.Quantity(), " å½å卿任å¡Keyï¼", dd.PeriodTask_MP().astype( PeriodTaskOperation ).Key() ); |
| | | CapacityAllocationResults::IterativeGeneration( globalOTDTable, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate ); |
| | | CapacityAllocationResults::IterativeGeneration( globalOTDSOP, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate ); |
| | | } |
| | | // info( "----------------------------------------------------" ); |
| | | } else { |
| | |
| | | // info( "======" ); |
| | | pispPanel := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); |
| | | pispModule := finaleNewSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); |
| | | globalOTDTable.CapacityAllocationResults( relnew, |
| | | PanelBase := pispPanel.StockingPointID(), |
| | | PanelMaterialCode := pispPanel.ProductID(), |
| | | NumberOfPanels := finaleDependentDemand, |
| | | PanelMeasurementUnit := pispPanel.UnitOfMeasure_MP().Name(), |
| | | ModuleMaterialCode := pispModule.ProductID(), |
| | | NumberOfModules := finaleNewSupply.Quantity(), |
| | | ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(), |
| | | ModuleBase := pispModule.StockingPointID(), |
| | | RequirementDate := finaleNewSupply.Start().Date() |
| | | ); |
| | | globalOTDSOP.CapacityAllocationResults( relnew, |
| | | PanelBase := pispPanel.StockingPointID(), |
| | | PanelMaterialCode := pispPanel.ProductID(), |
| | | NumberOfPanels := finaleDependentDemand, |
| | | PanelMeasurementUnit := pispPanel.UnitOfMeasure_MP().Name(), |
| | | ModuleMaterialCode := pispModule.ProductID(), |
| | | NumberOfModules := finaleNewSupply.Quantity(), |
| | | ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(), |
| | | ModuleBase := pispModule.StockingPointID(), |
| | | RequirementDate := finaleNewSupply.Start().Date() |
| | | ); |
| | | } |
| | | finaleNewSupply := null( NewSupply ); |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod IterativeGeneration2 ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | ProductInStockingPoint_MP pisp, |
| | | Date targetDate, |
| | | CapacityAllocationResultsRuleConfigurations carrcs, |
| | |
| | | previous := pispippl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf ); |
| | | if ( not previous.Period_MP().IsHistorical() ) { |
| | | previousDate := previous.Start().Date(); |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDSOP, |
| | | pisp, |
| | | previousDate, |
| | | carrcs, |
| | |
| | | // info( "屿°ï¼", numberOfLayers, " å½åä¾åºçpispï¼", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " æ»ä¾åºå¼ï¼", ns.Quantity(), " éè¦ä¾åºå¼ï¼", currentLayerDependentDemandQuantity, |
| | | // " å½åéæ±pispï¼", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " éæ±å¼ï¼", currentLayerDependentDemandQuantity ); |
| | | // info( "-----------------------------------------------------------------------------------------------------------------" ); |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDSOP, |
| | | dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), |
| | | targetDate, |
| | | carrcs, |
| | |
| | | carrc := select( carrcs, Elements, carrc, carrc.PanelMaterialCode() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() ); |
| | | if ( not isnull( carrc ) ) { |
| | | // info( "æ¾å°é¢æ¿ç©æ..." ); |
| | | globalOTDTable.CapacityAllocationResults( relnew, |
| | | PanelBase := pto.Operation().UnitID(), |
| | | PanelMaterialCode := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfPanels := currentLayerDependentDemandQuantity, |
| | | PanelMeasurementUnit := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleMaterialCode := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfModules := firstLevelSupply.Quantity(), |
| | | ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleBase := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "车éè¿è¾" ), |
| | | Division := carrc.Division(), |
| | | RequirementDate := firstLevelSupply.Start().Date(), |
| | | Date := firstLevelSupply.Start().Date(), |
| | | Description := "", |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | StockingPointID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().StockingPointID(), |
| | | UserQuantity := currentLayerDependentDemandQuantity, |
| | | ManufacturedDate := Date::MinDate() |
| | | ); |
| | | globalOTDSOP.CapacityAllocationResults( relnew, |
| | | PanelBase := pto.Operation().UnitID(), |
| | | PanelMaterialCode := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfPanels := currentLayerDependentDemandQuantity, |
| | | PanelMeasurementUnit := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleMaterialCode := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | NumberOfModules := firstLevelSupply.Quantity(), |
| | | ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(), |
| | | ModuleBase := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "车éè¿è¾" ), |
| | | Division := carrc.Division(), |
| | | RequirementDate := firstLevelSupply.Start().Date(), |
| | | Date := firstLevelSupply.Start().Date(), |
| | | Description := "", |
| | | ID := OS::GenerateGUIDAsString(), |
| | | ProductID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), |
| | | StockingPointID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().StockingPointID(), |
| | | UserQuantity := currentLayerDependentDemandQuantity, |
| | | ManufacturedDate := Date::MinDate() |
| | | ); |
| | | |
| | | } |
| | | //info( "-----------------------------------------------------------------------------------------------------------------" ); |
| | |
| | | // " å½åéæ±pispï¼", targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " éæ±å¼ï¼", currentLayerDependentDemandQuantity ); |
| | | // info( "LaneLeg卿任å¡..." ); |
| | | //info( "-----------------------------------------------------------------------------------------------------------------" ); |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDTable, |
| | | CapacityAllocationResults::IterativeGeneration2( globalOTDSOP, |
| | | targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), |
| | | targetDate, |
| | | carrcs, |
| | |
| | | #parent: #root |
| | | StaticMethod IterativeGeneration3 ( |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | Supply_MP smp, |
| | | Supply_MP firstSMP, |
| | | Number numberOfPlies, |
| | |
| | | fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity; |
| | | info( "--------------------------------------------------------------" ); |
| | | if ( not isnull( capacityAllocationResultsRuleConfiguration ) ) { |
| | | CapacityAllocationResults::CreateDate1( macroPlan, globalOTDTable, dd, ns, firstSMP, capacityAllocationResultsRuleConfiguration, fulfillmentQuantity ); |
| | | CapacityAllocationResults::CreateDate1( macroPlan, globalOTDSOP, dd, ns, firstSMP, capacityAllocationResultsRuleConfiguration, fulfillmentQuantity ); |
| | | } |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp1, firstSMP, numberOfPlies, fulfillmentQuantity, capacityAllocationResultsRuleConfiguration ); |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp1, firstSMP, numberOfPlies, fulfillmentQuantity, capacityAllocationResultsRuleConfiguration ); |
| | | numberOfPlies--; |
| | | } |
| | | } |
| | |
| | | numberOfPlies++; |
| | | info( "--------------------------------------------------------------" ); |
| | | if ( not isnull( capacityAllocationResultsRuleConfiguration ) ) { |
| | | CapacityAllocationResults::CreateDate1( macroPlan, globalOTDTable, targetDependentDemand, ns, firstSMP, capacityAllocationResultsRuleConfiguration, f.Quantity() ); |
| | | CapacityAllocationResults::CreateDate1( macroPlan, globalOTDSOP, targetDependentDemand, ns, firstSMP, capacityAllocationResultsRuleConfiguration, f.Quantity() ); |
| | | } |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp1, firstSMP, numberOfPlies, f.Quantity(), capacityAllocationResultsRuleConfiguration ); |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp1, firstSMP, numberOfPlies, f.Quantity(), capacityAllocationResultsRuleConfiguration ); |
| | | numberOfPlies--; |
| | | } |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod ObtainTheFinalOutputProduct ( |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | GlobalOTDSOP globalOTDSOP |
| | | ) as owning ProductInStockingPoint_MPs |
| | | { |
| | | TextBody: |
| | |
| | | //} |
| | | |
| | | finaleProductInStockingPoint_MPs := selectset( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISPMP, |
| | | exists( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = tempPISPMP.ProductID() and tempCARRC.StockingPointID() = tempPISPMP.StockingPointID() ) |
| | | exists( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = tempPISPMP.ProductID() and tempCARRC.StockingPointID() = tempPISPMP.StockingPointID() ) |
| | | ); |
| | | |
| | | return &finaleProductInStockingPoint_MPs; |
| | |
| | | #parent: #root |
| | | StaticMethod Test ( |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | GlobalOTDSOP globalOTDSOP |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.CapacityAllocationResults( relflush ); |
| | | globalOTDSOP.CapacityAllocationResults( relflush ); |
| | | |
| | | capacityAllocationResultsRuleConfiguration := select( globalOTDTable, CapacityAllocationResultsRuleConfiguration, carrc, |
| | | capacityAllocationResultsRuleConfiguration := select( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, carrc, |
| | | carrc.ModuleMaterialCode() = "ProXOver 1 D2.6 A" and |
| | | carrc.StockingPointID() = "Carco Philadelphia" ); |
| | | |
| | |
| | | traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp, |
| | | /*smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and*/ |
| | | smp.Quantity() > 0 ) { |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp, smp, 1, smp.Quantity(), capacityAllocationResultsRuleConfiguration ); |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp, smp, 1, smp.Quantity(), capacityAllocationResultsRuleConfiguration ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | #parent: #root |
| | | StaticMethod Test1 ( |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | CapacityAllocationResultsRuleConfigurations capacityAllocationResultsRuleConfigurations |
| | | ) |
| | | { |
| | |
| | | traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp, |
| | | /*smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and*/ |
| | | smp.Quantity() > 0 ) { |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp, smp, 1, smp.Quantity(), carrc ); |
| | | CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp, smp, 1, smp.Quantity(), carrc ); |
| | | info( "=======================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" ); |
| | | } |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | GlobalOTDTable globalOTDTable |
| | | GlobalOTDSOP globalOTDSOP |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | // hongjli Sep-25-2023 (created) |
| | | binaryValue := globalOTDTable.GlobalOTDTable_CARRC_Export().ExecuteToXLS( true ).AsBinaryValue(); |
| | | binaryValue := globalOTDSOP.GlobalOTDSOP_CARRC_Export().ExecuteToXLS( true ).AsBinaryValue(); |
| | | |
| | | return binaryValue; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Import ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | String base64String |
| | | ) |
| | | { |
| | |
| | | [* |
| | | binaryData := BinaryData::FromBase64EncodedString( base64String ); |
| | | |
| | | globalOTDTable.GlobalOTDTable_CARRC_Import().ExecuteFromXLS( &binaryData, true ); |
| | | globalOTDSOP.GlobalOTDSOP_CARRC_Import().ExecuteFromXLS( &binaryData, true ); |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod TestData ( |
| | | GlobalOTDTable parent |
| | | GlobalOTDSOP parent |
| | | ) |
| | | { |
| | | Description: 'çææµè¯æ°æ®' |
| | |
| | | info( "çæå¹´åº¦äº§éé¢ç®æ¥è¡¨æµè¯æ°æ®" ) |
| | | |
| | | parent.CapacityAndSaleBudgeChartElement( relflush ); |
| | | |
| | | for( sc := 0; sc < 4; sc := sc + 1 ) { |
| | | scenarioName := "SC" + [String]sc; |
| | | for( i := 0; i < 4; i := i + 1 ) { |
| | |
| | | for( j := 1; j <= 12; j := j + 1 ) { |
| | | monthString := "MONTH" + ifexpr( j < 10, "0" + [String]j, [String]j ); |
| | | parent.CapacityAndSaleBudgeChartElement( relnew, |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessTypeString, |
| | | TimeStringAndScenarioName := monthString + " - " + scenarioName, |
| | | Quantity := Real::Random( 20.0, 30.0 ) ); |
| | | BusinessTypeOrPlaceOfProductionOfArray := businessTypeString, |
| | | TimeStringAndScenarioName := monthString + " - " + scenarioName, |
| | | Quantity := Real::Random( 20.0, 30.0 ) ); |
| | | } |
| | | } |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String businessType, |
| | | String placeOfProductionOfArray |
| | | ) as CapacityAndSaleBudgeChartRow |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String columnName |
| | | ) as CapacityAndSaleBudgeCompareItemColumn |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String businessType, |
| | | String placeOfProductionOfArray |
| | | ) as CapacityAndSaleBudgeCompareItemRow |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String value |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String itemName |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initial ( |
| | | GlobalOTDTable parent |
| | | GlobalOTDSOP parent |
| | | ) |
| | | { |
| | | Description: 'åå§å对æ¯é¡¹' |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initial ( |
| | | GlobalOTDTable parent |
| | | GlobalOTDSOP parent |
| | | ) |
| | | { |
| | | Description: 'åå§å年份' |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String value |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initial ( |
| | | GlobalOTDTable parent |
| | | GlobalOTDSOP parent |
| | | ) |
| | | { |
| | | Description: 'åå§å年份' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | //info( "Forecast Finished, Start CustomerOrder Data Broker" ); |
| | | //macroPlan.Broker_OTD_CustomerOrder().Execute(); |
| | | info( "CustomerOrder Data Broker Finished, Start CustomerOrder Mapping" ); |
| | | macroPlan.DoASyncMappingCustomerOrderData( businessTypes,globalOTDTable, organcodelist ); |
| | | *] |
| | | } |
| | |
| | | // å建天马å
¨å±æ°æ®é |
| | | GlobalOTDTable::OnServerStartup(); |
| | | |
| | | // å建天马SOPå
¨å±æ°æ®é |
| | | GlobalOTDSOP::OnServerStartup(); |
| | | |
| | | // Create a MemoryOnly-dataset that is used to receive SOAP-calls from the DataManager. |
| | | MDSScenarioManager::CreateMemoryOnlyMDS( ScenarioManager::GetDatasetNameReceiver() ); |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | //info( "OperationCost Finished, Start Forecast Data Broker" ); |
| | | //macroPlan.Broker_OTD_Forecast().Execute(); |
| | | info( "Forecast Data Broker Finished, Start Forecast Mapping" ); |
| | | macroPlan.DoASyncMappingForecastData( businessTypes,globalOTDTable, organcodelist ); |
| | | *] |
| | | } |
| | |
| | | String errorMessage |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.Global_BrokerExecuteLog( relnew, |
| | | BrokerName := "GlobalOTDTable_ProductInLane", |
| | | 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_ProductInLane", "产åå¨è½¦éæ°æ®" );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetBusnessStrings ( |
| | | const GlobalOTDTable globalOTDTable |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Sep-7-2023 (created) |
| | | // è·åbusinessType éå |
| | | result := ""; |
| | | scenarioNameList := construct( structured[String]); |
| | | |
| | | traverse( globalOTDTable,BusinessType,b) |
| | | { |
| | | scenarioNameList.Add( b.ScenarioName() ); |
| | | } |
| | | |
| | | // 妿åå¨businessTypeæ°æ® åè¿å : a,b,c |
| | | |
| | | if( not isnull( scenarioNameList ) ) |
| | | { |
| | | result := scenarioNameList.Concatenate( ";" ); |
| | | } |
| | | |
| | | // æµè¯æ°æ® |
| | | //result := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨"; |
| | | |
| | | return result; |
| | | *] |
| | | } |
| | |
| | | { |
| | | #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' |
| | | } |
ÎļþÃû´Ó _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl ÐÞ¸Ä |
| | |
| | | CapacityAndSaleBudgeFilterItems items, |
| | | CapacityAndSaleBudgeFilterYears years, |
| | | CapacityAndSaleBudgeFilterMonths months, |
| | | GlobalOTDTable otdTable |
| | | const GlobalOTDTable otdTable |
| | | ) |
| | | { |
| | | Description: 'todo : mappingParentæ¹ä¸ºmpSync, randomå äº' |
| | |
| | | this.CapacityAndSaleBudgeCompareItemRow( relflush ); |
| | | this.CapacityAndSaleBudgeCompareItemColumn( relflush ); |
| | | // ====æ±æ»ææåºç°ç产å==== |
| | | historyData := selectset( this, Global_MappingAnnualBudgetData, item, true ); |
| | | historyData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true ); |
| | | debuginfo( "historyData : " + [String]historyData.Size() ); |
| | | |
| | | traverse( historyData, Elements, one ) { |
| | |
| | | traverse( months, Elements, month ) { |
| | | columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "颿¿åé
é-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "æ-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), this, DateTime::Now().Year(), month.MonthNo() ); |
| | | cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), otdTable, 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 := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), this, year.YearNo() ); |
| | | cellReal := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), otdTable, year.YearNo() ); |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
| | |
| | | traverse( months, Elements, month ) { |
| | | columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对å¤éå®é¢-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "æ-年度é¢ç®" ); |
| | | traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { |
| | | cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), this, year.YearNo(), month.MonthNo() ); |
| | | cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), otdTable, 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 := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), this, year.YearNo() ); |
| | | cellReal := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), otdTable, year.YearNo() ); |
| | | cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); |
| | | cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDatasetName () as String |
| | | { |
| | | TextBody: 'return typeof( GlobalOTDSOP ).ShortName();' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetLoadedDataset () as owning MDSID |
| | | { |
| | | TextBody: |
| | | [* |
| | | mds := null( MDSID, owning ); |
| | | folder := '/root'; |
| | | datasetName := GlobalOTDSOP::GetDatasetName(); |
| | | |
| | | oinfo := MDSEditor::Editor().LoadedObjectInfo( datasetName, folder, datasetName ); |
| | | |
| | | if( not isnull( oinfo ) ) |
| | | { |
| | | mds := oinfo.MDSID(); |
| | | } |
| | | |
| | | return &mds; |
| | | *] |
| | | } |
ÎļþÃû´Ó _Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetOutputVersionData ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | MacroPlan macroplan, |
| | | String businessname |
| | | ) |
| | |
| | | } |
| | | |
| | | // Send Data To DB |
| | | owner.Broker_OTD_VersionControlToDB().Execute(); |
| | | // owner.Broker_OTD_VersionControlToDB().Execute(); |
| | | *] |
| | | } |
ÎļþÃû´Ó _Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetVersionData ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businessname |
| | | ) |
| | | { |
| | |
| | | } |
| | | |
| | | // Get Data From DB |
| | | owner.Broker_OTD_VersionControl().Execute(); |
| | | //owner.Broker_OTD_VersionControl().Execute(); |
| | | |
| | | // Get Data list to deal |
| | | listtodeal := selectset( owner, MappingVersionControl, item, item.DataTo() = businesstype ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod OnServerStartup |
| | | { |
| | | TextBody: |
| | | [* |
| | | debuginfo( '================================ GlobalOTDSOP =======================================') |
| | | folder := DomainModel::Domain().MDSFolderDefinitions().FindFolder( "/root" ); |
| | | |
| | | datasetName := GlobalOTDSOP::GetDatasetName(); |
| | | |
| | | oinfo := MDSEditor::Editor().ObjectInfos( datasetName, folder.FolderID(), datasetName ); |
| | | |
| | | o := select( oinfo, Elements, o, not o.IsLoaded() ); |
| | | emptydataset := isnull( o ); |
| | | |
| | | if( emptydataset ) |
| | | { |
| | | MDSGlobalOTDSOP::CreateMDS( datasetName, GlobalParameters_MP::GetStorageState() ); |
| | | GlobalOTDSOP::GetLoadedDataset(); |
| | | } |
| | | else |
| | | { |
| | | MDSGlobalOTDSOP::LoadMDSAndConvert( o.MDSID(), GlobalParameters_MP::GetStorageState() ); |
| | | } |
| | | *] |
| | | } |
ÎļþÃû´Ó _Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl ÐÞ¸Ä |
| | |
| | | #parent: #root |
| | | StaticMethod ReceivingPanelMaterials ( |
| | | NamedValueTree requestnvt |
| | | ) as stream[NamedValueTree] |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | MDSGlobalOTDTable::Find( DatasetFindOptions::Construct("GlobalOTDTable")) -> ( c ) { |
| | | MDSGlobalOTDSOP::Find( DatasetFindOptions::Construct("GlobalOTDSOP")) -> ( c ) { |
| | | return c.ReceivingPanelMaterials( requestnvt ); |
| | | } |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod RefreshCapacityAndSaleBudgeFilter ( |
| | | Boolean deleteBeforeCreate, |
| | | const GlobalOTDTable otdTable, |
| | | GlobalOTDSOP otdSop |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Oct-17-2023 (created) |
| | | if( deleteBeforeCreate ) { |
| | | otdSop.CapacityAndSaleBudgeFilterBusinessType( relflush ); |
| | | otdSop.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush ); |
| | | } |
| | | // yypsybs Sep-21-2023 (created) |
| | | debuginfo( "=====RefreshCapacityAndSaleBudgeFilter====" ); |
| | | businessTypes := selectuniquevalues( otdTable, Global_MappingAnnualBudgetData, item, item.BusinessType() ); |
| | | debuginfo( [String]businessTypes.Size() ); |
| | | traverse( businessTypes, Elements, businessType ) { |
| | | CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( otdSop, businessType ); |
| | | } |
| | | placeOfProductionOfArrays := selectuniquevalues( otdTable, Global_MappingAnnualBudgetData, item, item.OrgCodeFromBom() ); |
| | | debuginfo( [String]placeOfProductionOfArrays.Size() ); |
| | | traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { |
| | | CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( otdSop, placeOfProductionOfArray ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type GlobalOTDSOP |
| | | { |
| | | #keys: '5[414702.1.113455880][414702.1.113455878][0.0.0][414702.1.113455879][414702.1.113455881]' |
| | | BaseType: Object |
| | | StructuredName: 'GlobalOTDSOPs' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetCapacityInPCSInYear () as Real |
| | | Method GetCapacityInPCSInYear () const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | for( i := 1; i <= 12; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | } |
| | | result := result + [Real]this.MonthlyModCapacity1(); |
| | | result := result + [Real]this.MonthlyModCapacity2(); |
| | | result := result + [Real]this.MonthlyModCapacity3(); |
| | | result := result + [Real]this.MonthlyModCapacity4(); |
| | | result := result + [Real]this.MonthlyModCapacity5(); |
| | | result := result + [Real]this.MonthlyModCapacity6(); |
| | | result := result + [Real]this.MonthlyModCapacity7(); |
| | | result := result + [Real]this.MonthlyModCapacity8(); |
| | | result := result + [Real]this.MonthlyModCapacity9(); |
| | | result := result + [Real]this.MonthlyModCapacity10(); |
| | | result := result + [Real]this.MonthlyModCapacity11(); |
| | | result := result + [Real]this.MonthlyModCapacity12(); |
| | | return result; |
| | | *] |
| | | } |
| | |
| | | #parent: #root |
| | | Method GetCapacityInSheetInHalfYear ( |
| | | Number halfNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | fromMonth := 1 + ( halfNo - 1 ) * 6; |
| | | toMonth := 6 + ( halfNo - 1 ) * 6; |
| | | for( i := fromMonth; i <= toMonth; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | if( halfNo = 1 ) { |
| | | result := result + [Real]this.MonthlySheetCapacity1(); |
| | | result := result + [Real]this.MonthlySheetCapacity2(); |
| | | result := result + [Real]this.MonthlySheetCapacity3(); |
| | | result := result + [Real]this.MonthlySheetCapacity4(); |
| | | result := result + [Real]this.MonthlySheetCapacity5(); |
| | | result := result + [Real]this.MonthlySheetCapacity6(); |
| | | } |
| | | if( halfNo = 2 ) { |
| | | result := result + [Real]this.MonthlySheetCapacity7(); |
| | | result := result + [Real]this.MonthlySheetCapacity8(); |
| | | result := result + [Real]this.MonthlySheetCapacity9(); |
| | | result := result + [Real]this.MonthlySheetCapacity10(); |
| | | result := result + [Real]this.MonthlySheetCapacity11(); |
| | | result := result + [Real]this.MonthlySheetCapacity12(); |
| | | } |
| | | return result; |
| | | *] |
| | |
| | | #parent: #root |
| | | Method GetCapacityInSheetInSeason ( |
| | | Number seasonNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | fromMonth := 1 + ( seasonNo - 1 ) * 3; |
| | | toMonth := 3 + ( seasonNo - 1 ) * 3; |
| | | for( i := fromMonth; i <= toMonth; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | if( seasonNo = 1 ) { |
| | | result := result + [Real]this.MonthlySheetCapacity1(); |
| | | result := result + [Real]this.MonthlySheetCapacity2(); |
| | | result := result + [Real]this.MonthlySheetCapacity3(); |
| | | } |
| | | if( seasonNo = 2 ) { |
| | | result := result + [Real]this.MonthlySheetCapacity4(); |
| | | result := result + [Real]this.MonthlySheetCapacity5(); |
| | | result := result + [Real]this.MonthlySheetCapacity6(); |
| | | } |
| | | if( seasonNo = 3 ) { |
| | | result := result + [Real]this.MonthlySheetCapacity7(); |
| | | result := result + [Real]this.MonthlySheetCapacity8(); |
| | | result := result + [Real]this.MonthlySheetCapacity9(); |
| | | } |
| | | if( seasonNo = 4 ) { |
| | | result := result + [Real]this.MonthlySheetCapacity10(); |
| | | result := result + [Real]this.MonthlySheetCapacity11(); |
| | | result := result + [Real]this.MonthlySheetCapacity12(); |
| | | } |
| | | return result; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetCapacityInSheetInYear () as Real |
| | | Method GetCapacityInSheetInYear () const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | for( i := 1; i <= 12; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | } |
| | | result := result + [Real]this.MonthlySheetCapacity1(); |
| | | result := result + [Real]this.MonthlySheetCapacity2(); |
| | | result := result + [Real]this.MonthlySheetCapacity3(); |
| | | result := result + [Real]this.MonthlySheetCapacity4(); |
| | | result := result + [Real]this.MonthlySheetCapacity5(); |
| | | result := result + [Real]this.MonthlySheetCapacity6(); |
| | | result := result + [Real]this.MonthlySheetCapacity7(); |
| | | result := result + [Real]this.MonthlySheetCapacity8(); |
| | | result := result + [Real]this.MonthlySheetCapacity9(); |
| | | result := result + [Real]this.MonthlySheetCapacity10(); |
| | | result := result + [Real]this.MonthlySheetCapacity11(); |
| | | result := result + [Real]this.MonthlySheetCapacity12(); |
| | | return result; |
| | | *] |
| | | } |
| | |
| | | #parent: #root |
| | | Method GetSaleAmountInHalfYear ( |
| | | Number halfNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | fromMonth := 1 + ( halfNo - 1 ) * 6; |
| | | toMonth := 6 + ( halfNo - 1 ) * 6; |
| | | for( i := fromMonth; i <= toMonth; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | if( halfNo = 1 ) { |
| | | result := result + [Real]this.MonthlySales1(); |
| | | result := result + [Real]this.MonthlySales2(); |
| | | result := result + [Real]this.MonthlySales3(); |
| | | result := result + [Real]this.MonthlySales4(); |
| | | result := result + [Real]this.MonthlySales5(); |
| | | result := result + [Real]this.MonthlySales6(); |
| | | } |
| | | if( halfNo = 2 ) { |
| | | result := result + [Real]this.MonthlySales7(); |
| | | result := result + [Real]this.MonthlySales8(); |
| | | result := result + [Real]this.MonthlySales9(); |
| | | result := result + [Real]this.MonthlySales10(); |
| | | result := result + [Real]this.MonthlySales11(); |
| | | result := result + [Real]this.MonthlySales12(); |
| | | } |
| | | return result; |
| | | *] |
| | |
| | | #parent: #root |
| | | Method GetSaleAmountInSeason ( |
| | | Number seasonNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | fromMonth := 1 + ( seasonNo - 1 ) * 3; |
| | | toMonth := 3 + ( seasonNo - 1 ) * 3; |
| | | for( i := fromMonth; i <= toMonth; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | if( seasonNo = 1 ) { |
| | | result := result + [Real]this.MonthlySales1(); |
| | | result := result + [Real]this.MonthlySales2(); |
| | | result := result + [Real]this.MonthlySales3(); |
| | | } |
| | | if( seasonNo = 2 ) { |
| | | result := result + [Real]this.MonthlySales4(); |
| | | result := result + [Real]this.MonthlySales5(); |
| | | result := result + [Real]this.MonthlySales6(); |
| | | } |
| | | if( seasonNo = 3 ) { |
| | | result := result + [Real]this.MonthlySales7(); |
| | | result := result + [Real]this.MonthlySales8(); |
| | | result := result + [Real]this.MonthlySales9(); |
| | | } |
| | | if( seasonNo = 4 ) { |
| | | result := result + [Real]this.MonthlySales10(); |
| | | result := result + [Real]this.MonthlySales11(); |
| | | result := result + [Real]this.MonthlySales12(); |
| | | } |
| | | return result; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetSaleAmountInYear () as Real |
| | | Method GetSaleAmountInYear () const as Real |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | result := 0.0; |
| | | for( i := 1; i <= 12; i := i + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i ); |
| | | result := result + [Real]field.GetString( this ); |
| | | } |
| | | result := result + [Real]this.MonthlySales1(); |
| | | result := result + [Real]this.MonthlySales2(); |
| | | result := result + [Real]this.MonthlySales3(); |
| | | result := result + [Real]this.MonthlySales4(); |
| | | result := result + [Real]this.MonthlySales5(); |
| | | result := result + [Real]this.MonthlySales6(); |
| | | result := result + [Real]this.MonthlySales7(); |
| | | result := result + [Real]this.MonthlySales8(); |
| | | result := result + [Real]this.MonthlySales9(); |
| | | result := result + [Real]this.MonthlySales10(); |
| | | result := result + [Real]this.MonthlySales11(); |
| | | result := result + [Real]this.MonthlySales12(); |
| | | return result; |
| | | *] |
| | | } |
| | |
| | | GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number halfNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'äº§è½ - 宿°å¤§å¼ ' |
| | | TextBody: |
| | |
| | | #parent: #root |
| | | StaticMethod GetSaleByMonth ( |
| | | Strings productNo, |
| | | GlobalOTDTable parent, |
| | | const GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number monthNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'éå®é¢ï¼Wï¼' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]monthNo ); |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]field.GetString( item ) ); |
| | | value := 0.0; |
| | | if( monthNo = 1 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales1() ); |
| | | } |
| | | if( monthNo = 2 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales2() ); |
| | | } |
| | | if( monthNo = 3 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales3() ); |
| | | } |
| | | if( monthNo = 4 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales4() ); |
| | | } |
| | | if( monthNo = 5 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales5() ); |
| | | } |
| | | if( monthNo = 6 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales6() ); |
| | | } |
| | | if( monthNo = 7 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales7() ); |
| | | } |
| | | if( monthNo = 8 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales8() ); |
| | | } |
| | | if( monthNo = 9 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales9() ); |
| | | } |
| | | if( monthNo = 10 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales10() ); |
| | | } |
| | | if( monthNo = 11 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales11() ); |
| | | } |
| | | if( monthNo = 12 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySales12() ); |
| | | } |
| | | return value; |
| | | *] |
| | | } |
| | |
| | | GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number seasonNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'äº§è½ - 宿°å¤§å¼ ' |
| | | TextBody: |
| | |
| | | #parent: #root |
| | | StaticMethod GetSaleByYear ( |
| | | Strings productNo, |
| | | GlobalOTDTable parent, |
| | | const GlobalOTDTable parent, |
| | | Number yearNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'éå®é¢ï¼Wï¼' |
| | | TextBody: |
| | |
| | | GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number halfNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'äº§è½ - 宿°å¤§å¼ ' |
| | | TextBody: |
| | |
| | | GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number monthNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: '产è½-宿°å¤§å¼ ' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-18-2023 (created) |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]monthNo ); |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]field.GetString( item ) ); |
| | | value := 0.0; |
| | | if( monthNo = 1 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity1() ); |
| | | } |
| | | if( monthNo = 2 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity2() ); |
| | | } |
| | | if( monthNo = 3 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity3() ); |
| | | } |
| | | if( monthNo = 4 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity4() ); |
| | | } |
| | | if( monthNo = 5 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity5() ); |
| | | } |
| | | if( monthNo = 6 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity6() ); |
| | | } |
| | | if( monthNo = 7 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity7() ); |
| | | } |
| | | if( monthNo = 8 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity8() ); |
| | | } |
| | | if( monthNo = 9 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity9() ); |
| | | } |
| | | if( monthNo = 10 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity10() ); |
| | | } |
| | | if( monthNo = 11 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity11() ); |
| | | } |
| | | if( monthNo = 12 ) { |
| | | value := sum( parent, |
| | | Global_MappingAnnualBudgetData, |
| | | item, |
| | | item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1, |
| | | [Real]item.MonthlySheetCapacity12() ); |
| | | } |
| | | return value; |
| | | *] |
| | | } |
| | |
| | | GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number seasonNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'äº§è½ - 宿°å¤§å¼ ' |
| | | TextBody: |
| | |
| | | Strings productNo, |
| | | GlobalOTDTable parent, |
| | | Number yearNo |
| | | ) as Real |
| | | ) const as Real |
| | | { |
| | | Description: 'äº§è½ - 宿°å¤§å¼ ' |
| | | TextBody: |
| | |
| | | #parent: #root |
| | | StaticMethod GetQuantityByMonth ( |
| | | Strings productCodes, |
| | | GlobalOTDTable parent, |
| | | const GlobalOTDTable parent, |
| | | Number yearNo, |
| | | Number monthNo |
| | | ) as Real |
| | |
| | | #parent: #root |
| | | StaticMethod GetQuantityByYear ( |
| | | Strings productCodes, |
| | | GlobalOTDTable parent, |
| | | const GlobalOTDTable parent, |
| | | Number yearNo |
| | | ) as Real |
| | | { |
| | | Description: '' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-19-2023 (created) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASyncFindMinSeq ( |
| | | const GlobalOTDTable globalOTDTable, |
| | | String orgCode, |
| | | String productId, |
| | | String processSection |
| | | ) as Number |
| | | { |
| | | TextBody: |
| | | [* |
| | | // renhao Sep-20-2023 (created) |
| | | return guard (min( globalOTDTable, Global_MappingOperation, item, |
| | | item.OrganCode() = orgCode and item.ProductID() = productId and item.ProcessSection() = processSection, |
| | | item.SequenceNumber() ), Number::MinNumber() ); |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetByProductId ( |
| | | GlobalOTDTable otdTable, |
| | | const GlobalOTDTable otdTable, |
| | | String productId |
| | | ) as Global_MappingOperation |
| | | ) as const Global_MappingOperation |
| | | { |
| | | TextBody: |
| | | [* |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetByProductId ( |
| | | GlobalOTDTable parent, |
| | | const GlobalOTDTable parent, |
| | | String productId |
| | | ) as Global_MappingProduct_MP |
| | | ) as const Global_MappingProduct_MP |
| | | { |
| | | Description: 'æ ¹æ®æå·æ¥è®°å½' |
| | | TextBody: |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetByProductId ( |
| | | GlobalOTDTable parent, |
| | | const GlobalOTDTable parent, |
| | | String productId |
| | | ) as Global_MappingProviderCapacity |
| | | ) as const Global_MappingProviderCapacity |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Oct-10-2023 (created) |
| | | return select( parent, Global_MappingProviderCapacity, item, item.ProductID() = productId ); |
| | | value := select( parent, Global_MappingProviderCapacity, item, item.ProductID() = productId ) |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | //info( "ActualPISPIP Finished, Start InventoryCost Data Broker" ); |
| | | //macroPlan.Broker_OTD_InventoryCost().Execute(); |
| | | info( "InventoryCost Data Broker Finished, Start InventoryCost Mapping" ); |
| | | macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncCreateLog ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: 'Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, "DataDistribution", "" );' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingActualPISPIPData ( |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Boolean nuclear, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // renhao Aug-14-2023 (created) |
| | | 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" ); |
| | | |
| | | count := 0; |
| | | traverse( listtodeal,Elements,actual){ |
| | | count := count + 1; |
| | | if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "ActualPISPIP " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true); |
| | | if( not isnull( product)){ |
| | | if( not isnull(businessTypes)){ |
| | | |
| | | for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | businessType := businessTypes.Element( i ); |
| | | if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | ActualProductInStockingPointInPeriod::CreateOrUpdate( this, |
| | | actual.ProductID(), |
| | | actual.StockingPointID(), |
| | | actual.Description(), |
| | | actual.ActualInventoryLevelEnd(), |
| | | actual.ManufacturedDate()); |
| | | } |
| | | } |
| | | |
| | | }else{ |
| | | ActualProductInStockingPointInPeriod::CreateOrUpdate( this, |
| | | actual.ProductID(), |
| | | actual.StockingPointID(), |
| | | actual.Description(), |
| | | actual.ActualInventoryLevelEnd(), |
| | | actual.ManufacturedDate()); |
| | | } |
| | | |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingBaseConversionFactorData ( |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | Description: 'ETLæ°æ®è½¬æ¨¡åæ°æ®' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | traverse( globalOTDTable, Global_MappingConversionFactor, item ) { |
| | | //妿ProductIDä¸ä¸ºç©ºï¼ä¸å¹é
ä¸å°Productï¼åä¸å建ï¼è¿å为空 |
| | | // info( item.ProductId().AsQUILL() ); |
| | | BaseConversionFactor::CreateOrUpdate( this, |
| | | item.SourceUnitOfMeasureName(), |
| | | item.TargetUnitOfMeasureName(), |
| | | item.IsEnabled(), |
| | | item.ProductID(), |
| | | item.Factor() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingCustomerOrderData ( |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | Description: 'ETL订å颿µ' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | // å¾
å¤çæ°æ® |
| | | listToDeal := construct( Global_MappingCustomOrders, constcontent ); |
| | | 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 ) 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() ); |
| | | listToDeal := selectset( listToDeal, Elements, item, item.OrderDate() >= queryStartDate /*and item.OrderDate() <= queryEndDate*/, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) ); |
| | | |
| | | totalcount := listToDeal.Size(); |
| | | info( "CustomerOrder has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | count := 0; |
| | | priorityName :="Normal"; |
| | | // å¤ç |
| | | traverse( listToDeal, Elements, item ) { |
| | | count := count + 1; |
| | | if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "CustomerOrder " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | // if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){ |
| | | // info( item.ProductID().AsQUILL() ); |
| | | 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() ); |
| | | // } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingExternalSupplyData ( |
| | | Strings businessTypes, |
| | | Boolean nuclear, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // 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 |
| | | ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/); |
| | | totalcount := listtodeal.Size(); |
| | | description := "å¨éå¨å¶"; |
| | | info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | count := 0; |
| | | traverse( listtodeal,Elements,externalSupply){ |
| | | count := count + 1; |
| | | if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "ExternalSupply " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true); |
| | | |
| | | |
| | | if( not isnull( product)){ |
| | | productMP := Product_MP :: FindProductTypeIndex( externalSupply.ProductID()); |
| | | stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true); |
| | | if( not isnull( stockingpoint) and not isnull( productMP)){ |
| | | if( not isnull(businessTypes)){ |
| | | |
| | | for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | businessType := businessTypes.Element( i ); |
| | | if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | InventorySupply::CreateOrUpdate( externalSupply.ID(), |
| | | productMP, |
| | | stockingpoint, |
| | | externalSupply.Date(), |
| | | externalSupply.ManufacturedDate(), |
| | | externalSupply.UserQuantity(),description); |
| | | } |
| | | } |
| | | |
| | | }else{ |
| | | |
| | | InventorySupply::CreateOrUpdate( externalSupply.ID(), |
| | | productMP, |
| | | stockingpoint, |
| | | externalSupply.Date(), |
| | | externalSupply.ManufacturedDate(), |
| | | externalSupply.UserQuantity(),description); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingForecastData ( |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | Description: 'ETL订å颿µ' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | // å¾
å¤çæ°æ® |
| | | listToDeal := construct( Global_MappingForecasts, constcontent ); |
| | | 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 ) 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() ); |
| | | listToDeal := selectset( listToDeal, Elements, item, item.StartDate() >= queryStartDate and item.EndDate() <= queryEndDate, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) ); |
| | | |
| | | totalcount := listToDeal.Size(); |
| | | info( "Forecast has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | count := 0; |
| | | priorityName := "Normal"; |
| | | // å¤ç |
| | | traverse( listToDeal, Elements, item ) { |
| | | count := count + 1; |
| | | if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "Forecast " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | // if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){ |
| | | Forecast::CreateOrUpdate( this, |
| | | item.ProductID(), item.SalesSegmentName(), item.StockingPointID(), priorityName, |
| | | item.CurrencyID(), item.UnitOfMeasureName(), |
| | | item.ID(), item.StartDate(), item.EndDate(), item.Quantity(), item.Price()); |
| | | // }else{ |
| | | // info( "invaild product" + item.ProductID().AsQUILL() ); |
| | | // } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingInventoryValueAndCostData ( |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | listtodeal := selectset( globalOTDTable,Global_MappingStockingPointCost,item,true ); |
| | | totalcount := listtodeal.Size(); |
| | | |
| | | info( "InventoryCost has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | count := 0; |
| | | traverse( listtodeal, Elements, item ) { |
| | | count := count + 1; |
| | | if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "InventoryCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | |
| | | InventoryValueAndCost::CreateOrUpdate( this, item.ID(), item.ProductID(), |
| | | item.StockingPointID(), |
| | | item.AccountName(), item.CostDriver(), item.Start(), item.Cost()); |
| | | // if( not isnull( Product_MP::FindProductTypeIndex( item.ProductID() ) ) and not isnull( StockingPoint_MP :: FindStockingPointTypeIndex( item.StockingPointID()))){ |
| | | // |
| | | // }else{ |
| | | // info( "invaild product: " + item.ProductID().AsQUILL() ); |
| | | // } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingOperationBOMData ( |
| | | Strings businessTypes, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | 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() ); |
| | | } |
| | | 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 |
| | | ( organcodelist.Find( item.OrganCode() ) >= 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.DoASyncMappingOperationBOMDataRouting( routing,globalOTDTable,keyRows); |
| | | }else{ |
| | | this.DoASyncMappingOperationBOMDataRouting( routing,globalOTDTable,routingRows); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if( createPurchaseSupplyMaterial ) { |
| | | toCreateBomList := selectuniquevalues( bomList, Elements, item, |
| | | item.ComponentType() = "P" and keyProductList.Find( item.ComponentCode())>=0, 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()); |
| | | } |
| | | } |
| | | |
| | | |
| | | // |
| | | //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 DoASyncMappingOperationBOMDataRouting ( |
| | | Routing routing, |
| | | const GlobalOTDTable globalOTDTable, |
| | | constcontent Global_MappingOperationBOMs routingRows |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-21-2023 (created) |
| | | |
| | | // æ ¹æ®å·¥èºæ®µæ±æ»å¤ç |
| | | processSections := selectuniquevalues( routingRows, Elements, row, true, row.ProcessSection() ); |
| | | traverse( processSections, Elements, processSection ) { |
| | | rows := selectset( routingRows, Elements, row, row.ProcessSection() = processSection ); |
| | | firstRow := rows.Element( 0 ); |
| | | // æ¾orgCode/productId/processSectionå¹é
ä¸sequenceæå°çä¸ç»æ°æ® |
| | | minSeq := Global_MappingOperation::DoASyncFindMinSeq( globalOTDTable, firstRow.OrganCode(), firstRow.ProductCode(), processSection ); |
| | | routingStepId := processSection + "_" + [String]minSeq; |
| | | // æ¾å¯¹åºroutingStep |
| | | routingStep := RoutingStep::FindByName( routing, routingStepId ); |
| | | if( not isnull( routingStep ) ) { |
| | | // error( "routing step : " + routing.ID() + "|" + routingStepId + " not found" ); |
| | | // ä»
主æï¼ç»ä¸å¤ç |
| | | noAlterRows := selectset( rows, Elements, noAlterRow, noAlterRow.AlternativeMaterialCode() = "" ); |
| | | traverse( noAlterRows, Elements, noAlterRow ) { |
| | | traverse( routingStep, Operation, toLink ) { |
| | | // æ£æ¥ä¸»æ |
| | | component := Product_MP::FindById( this, noAlterRow.ComponentCode() ); |
| | | if( not isnull( component ) ) { |
| | | // error( "component : " + noAlterRow.ComponentCode() + " not found" ); |
| | | // è¿æ¥äº§åä¸operation |
| | | // inputStockingPointId := noAlterRow.OrganCode() + "_" + noAlterRow.ComponentType() + "_Stock"; |
| | | inputStockingPointId := noAlterRow.OrganCode() + "_Stock"; |
| | | stockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( inputStockingPointId); |
| | | pisp := ProductInStockingPoint_MP::CreateIfNotFound( component, stockingPoint ); |
| | | trash := construct( OperationBOMs ); |
| | | operationBOM := toLink.LinkProduct( component, true, BaseOperationLink::GetGroupID( toLink, true, false ), pisp, |
| | | true, trash ); |
| | | operationBOM.MinQuantityInGroup( 0 ); |
| | | operationBOM.Quantity( noAlterRow.UnitUsageOfComponents() / noAlterRow.ComponentOutputRate() ); |
| | | operationBOM.MaxQuantityInGroup( noAlterRow.UnitUsageOfComponents() / noAlterRow.ComponentOutputRate() ); |
| | | } |
| | | } |
| | | } |
| | | // æ¿æ¢æï¼æä¸»æåç»å¤ç |
| | | alterComponentIds := selectuniquevalues( rows, Elements, row, row.AlternativeMaterialCode() <> "", row.ComponentCode() ); |
| | | traverse( alterComponentIds, Elements, alterComponentId ) { |
| | | alterRows := selectset( rows, Elements, row, row.ComponentCode() = alterComponentId ); |
| | | firstAlterRow := alterRows.Element( 0 ); |
| | | // æ£æ¥ä¸»æ |
| | | component := Product_MP::FindById( this, firstAlterRow.ComponentCode() ); |
| | | if( not isnull( component ) ) { |
| | | // error( "component : " + firstAlterRow.ComponentCode() + " not found" ); |
| | | // } |
| | | traverse( routingStep, Operation, toLink ) { |
| | | // è¿æ¥äº§åä¸operation |
| | | // inputStockingPointId := firstAlterRow.OrganCode() + "_" + firstAlterRow.ComponentType() + "_Stock"; |
| | | inputStockingPointId := firstAlterRow.OrganCode() + "_Stock"; |
| | | stockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( inputStockingPointId); |
| | | pisp := ProductInStockingPoint_MP::CreateIfNotFound( component, stockingPoint ); |
| | | trash := construct( OperationBOMs ); |
| | | mainBOM := toLink.LinkProduct( component, true, BaseOperationLink::GetGroupID( toLink, true, false ), pisp, |
| | | true, trash ); |
| | | mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() ); |
| | | mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() ); |
| | | mainQty := mainBOM.Quantity(); |
| | | Transaction::Transaction().Propagate(); |
| | | // æ·»å è¾
æ |
| | | traverse( alterRows, Elements, alterRow ) { |
| | | alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() ); |
| | | if( not isnull( alterProd ) ) { |
| | | // error( "alterProd : " + alterRow.AlternativeMaterialCode() + " not found" ); |
| | | // stockingPointIdAlter := alterRow.OrganCode() + "_" + alterRow.ComponentType() + "_Stock"; |
| | | stockingPointIdAlter := alterRow.OrganCode() + "_Stock"; |
| | | stockingPointAlter := StockingPoint_MP::FindById( this, stockingPointIdAlter ); |
| | | if( isnull( stockingPointAlter ) ) { |
| | | error( "stockingPoint : " + stockingPointIdAlter + " not found" ); |
| | | } |
| | | pispAlter := ProductInStockingPoint_MP::CreateIfNotFound( alterProd, stockingPointAlter ); |
| | | //mainInput := toLink.LastOperationInput(); |
| | | mainInput := select( toLink,OperationInput,operationInut,operationInut.ProductID()=alterRow.ComponentCode()); |
| | | trash := construct( OperationBOMs ); |
| | | if( not isnull( mainInput ) ) { |
| | | alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash ); |
| | | alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() ); |
| | | alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() ); |
| | | // info( "Quantity" + [String]alterBom.Quantity() ) |
| | | // info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() ) |
| | | mainQty := mainQty - alterBom.Quantity(); |
| | | } |
| | | } |
| | | mainBOM.Quantity( mainQty ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingOperationCostData ( |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings businesstypes, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | Description: 'Get operation cost data from operation mapping' |
| | | TextBody: |
| | | [* |
| | | // Administrator Aug-21-2023 (created) |
| | | // list to deal |
| | | listtodeal := construct( structured[Global_MappingOperation], constcontent ); |
| | | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, true ); |
| | | } else { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, |
| | | item, |
| | | ( businesstypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) ); |
| | | } |
| | | |
| | | // Get the list to deal with max sequence number |
| | | listtodealwithmaxsn := construct( structured[Global_MappingOperation], constcontent ); |
| | | traverse( listtodeal, Elements, item ){ |
| | | maxsn := maxselect( globalOTDTable, Global_MappingOperation, |
| | | moperation, |
| | | moperation.OrganCode() = item.OrganCode(), |
| | | moperation.ProductID() = item.ProductID(), |
| | | moperation.SequenceNumber() ).SequenceNumber() |
| | | if( item.SequenceNumber() = maxsn ){ |
| | | listtodealwithmaxsn.Add( item ); |
| | | } |
| | | } |
| | | |
| | | totalcount := listtodealwithmaxsn.Size(); |
| | | info( "OperationCost has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | count := 0; |
| | | // Get the operation cost data |
| | | traverse( listtodealwithmaxsn, Elements, item ){ |
| | | count := count + 1; |
| | | if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "OperationCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | id := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection()+"_" + [String]item.SequenceNumber(); |
| | | if( guard( item.Line(), "" ).Length() > 0 ) { |
| | | id := id + "_" + item.Line(); |
| | | } |
| | | operation := Operation::FindOperationTypeIndex( id ); |
| | | if(not isnull(operation)){ |
| | | account := Account_MP::FindByName( this, "Operating cost" ); |
| | | isfromdb := false; |
| | | existoperationcost := OperationCost::FindOperationCostTypeIndex( id ); |
| | | if( isnull( existoperationcost ) ){ |
| | | connecteditem := select( globalOTDTable, |
| | | Global_MappingOperationCost, |
| | | moperationcost, |
| | | moperationcost.OrgCode() = item.OrganCode(), |
| | | moperationcost.ProductID() = item.ProductID() ); |
| | | if( not isnull( connecteditem)){ |
| | | 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 DoASyncMappingOperationData ( |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-18-2023 (created) |
| | | // è·åæåºçå¾
å¤çè®°å½ |
| | | toDealList := construct( Global_MappingOperations, constcontent ) ; |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | toDealList := selectsortedset( globalOTDTable, Global_MappingOperation, item, |
| | | ( businessTypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ), |
| | | // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0, |
| | | item.SequenceNumber() ); |
| | | } else { |
| | | toDealList := selectsortedset( globalOTDTable, Global_MappingOperation, item, |
| | | true, |
| | | item.SequenceNumber() ); |
| | | } |
| | | // éæ¡å¤çï¼é¦æ¬¡å¤çæ¶å é¤steps |
| | | dealtRoutingIds := construct( Strings ); |
| | | routingList := construct( Routings ); |
| | | traverse( toDealList, Elements, item ) { |
| | | routingId := item.OrganCode() + "_" + item.ProductID(); |
| | | unitId := item.OrganCode() + "_" + item.PlantName() + "_" + item.ProcessSection(); |
| | | routingStepName := item.ProcessSection() + "_" + [String]item.SequenceNumber(); |
| | | operationId := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection()+"_" + [String]item.SequenceNumber(); |
| | | // info( "========" ) |
| | | // info( "routingId:" + routingId ); |
| | | // info( "unitId:" + unitId ); |
| | | // info( "routingStepName:" + routingStepName ); |
| | | // info( "operationId:" + operationId ); |
| | | if( guard( item.Line(), "" ).Length() > 0 ) { |
| | | unitId := unitId + "_" + item.Line(); |
| | | operationId := operationId + "_" + item.Line() |
| | | } |
| | | routing := Routing::CreateOrUpdate( this, routingId ); |
| | | if( routingList.Find( routing ) < 0 ) { |
| | | routingList.Add( routing ); |
| | | } |
| | | // å é¤steps(unitså
³ç³»ãoperationsä¹ä¼å é¤) |
| | | if( dealtRoutingIds.Find( routingId ) < 0 ) { |
| | | toDeleteSteps := selectset( routing, RoutingStep, routingStep, true ); |
| | | RoutingStep::Delete( toDeleteSteps ); |
| | | dealtRoutingIds.Add( routingId ); |
| | | } |
| | | // RoutingStep |
| | | routingStep := RoutingStep::FindByName( routing, routingStepName ); |
| | | if( isnull( routingStep ) ) { |
| | | routingStep := RoutingStep::Create( routing, routingStepName, "", true ); |
| | | } |
| | | |
| | | // Unit |
| | | unit := Unit::FindById( this, unitId ); |
| | | if( isnull( unit ) ) { |
| | | // UnitOfMeasure |
| | | unitOfMeasure := UnitOfMeasure_MP::FindByName( this, item.UnitOfMeasureName() ); |
| | | if( isnull( unitOfMeasure ) ) { |
| | | info( "unit of measure [" + item.UnitOfMeasureName() + "] not found for routing [" + routingId + "]" ); |
| | | } |
| | | unit := this.Unit( relnew, |
| | | ID := unitId, Name := unitId, CapacityType := "Infinite", |
| | | DefaultGridX := 0, DefaultGridY := 0, |
| | | IsManuallyConfigured := false, |
| | | Currency_MP := this.BaseCurrency(), UnitOfMeasure_MP := unitOfMeasure ); |
| | | } |
| | | // Operation |
| | | haveMaxQty := item.MaximumQuantity() <> 0.0; |
| | | op := Operation::FindOperationTypeIndex( operationId ); |
| | | if( isnull( op)){ |
| | | op := Operation::Create( operationId, unit, operationId, routingStep, |
| | | Duration::Days( item.UserLeadTime() ), Duration::Zero(), item.ActualCapacity(), false, |
| | | [Real]item.MinimumQuantity(), haveMaxQty, guard( [Real]item.MaximumQuantity(), Real::MaxReal() ), |
| | | 0.0, 0.0, false, true ); |
| | | } |
| | | |
| | | // ManufactureLTProcessSection::CreateOrUpdate( op ); |
| | | } |
| | | info( "========" ) |
| | | // éåroutingï¼è¿è¡link |
| | | lastStep := null( RoutingStep ); |
| | | traverse( routingList, Elements.RoutingStep, step ) { |
| | | // åå·¥èºè·¯çº¿æ¶è¿æ¥ |
| | | if( not isnull( lastStep ) and lastStep.Routing() = step.Routing() ) { |
| | | toLink := construct( RoutingSteps ); |
| | | toLink.Add( lastStep ); |
| | | // todo åç |
| | | step.LinkOperations( toLink ); |
| | | } |
| | | lastStep := step; |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingProductData ( |
| | | Strings businesstypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Boolean iskeyproduct |
| | | ) |
| | | { |
| | | Description: 'Method to get needed data from mapping product data' |
| | | TextBody: |
| | | [* |
| | | // Administrator Aug-16-2023 (created) |
| | | // list to deal |
| | | info( "Get list to deal of product" ); |
| | | listToDeal := construct( Global_MappingProduct_MPs, constcontent ); |
| | | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | if( iskeyproduct = true ){ |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true ); |
| | | } |
| | | else{ |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, true ); |
| | | } |
| | | } else { |
| | | if( iskeyproduct = true ){ |
| | | 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 ); |
| | | } |
| | | } |
| | | totalcount := listToDeal.Size(); |
| | | info( "Product has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | // Get the root data |
| | | Product_MP::CreateOrUpdate( this, |
| | | "å
¨é¨ç©æäº§å", |
| | | "", |
| | | "å
¨é¨ç©æäº§å", |
| | | "PCS", |
| | | "å
¨é¨ç©æäº§å", |
| | | 0.0,false,false |
| | | ); |
| | | count := 0; |
| | | // Get the ProductMajorType list & ProductSubclassType list |
| | | traverse( listToDeal, Elements, item ){ |
| | | count := count + 1; |
| | | if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "Product " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | if( not item.ProductMajorType() = "" ){ |
| | | Product_MP::CreateOrUpdate( this, |
| | | item.ProductMajorType(), |
| | | "å
¨é¨ç©æäº§å", |
| | | item.ProductMajorType(), |
| | | "PCS", |
| | | item.ProductMajorType(), |
| | | 0.0,false,false |
| | | ); |
| | | } |
| | | productmajortype := item.ProductMajorType(); |
| | | if( productmajortype="" ){ |
| | | productmajortype := "å
¨é¨ç©æäº§å"; |
| | | } |
| | | |
| | | // if( not item.ProductSubclassType() = "" ){ |
| | | // Product_MP::CreateOrUpdate( this, |
| | | // item.ProductSubclassType(), |
| | | // productmajortype, |
| | | // item.ProductSubclassType(), |
| | | // "PCS", |
| | | // item.ProductSubclassType(), |
| | | // 0.0,false,false |
| | | // ); |
| | | // } |
| | | // productsubclasstype := item.ProductSubclassType(); |
| | | // if( productsubclasstype="" ){ |
| | | // productsubclasstype := productmajortype; |
| | | // } |
| | | |
| | | if( not item.ID() = "" ){ |
| | | Product_MP::CreateOrUpdate( this, |
| | | item.ID(), |
| | | productmajortype, |
| | | item.ID(), |
| | | item.UnitOfMeasureName(), |
| | | item.Name(), |
| | | item.ShelfLife(), |
| | | item.KeyProduct(),item.IsCommon() |
| | | ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingProductInLaneData ( |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | Description: 'Get Product In Line data' |
| | | TextBody: |
| | | [* |
| | | // Administrator Aug-17-2023 (created) |
| | | // list to deal |
| | | listtodeal := selectset( globalOTDTable, Global_MappingProductInLane, item ,true ); |
| | | totalcount := listtodeal.Size(); |
| | | info( "ProductInLane has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | | count := 0; |
| | | // Create ProductInLane |
| | | traverse( listtodeal, Elements, item ){ |
| | | count := count + 1; |
| | | if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ |
| | | info( "Now is dealing with the " + count.AsQUILL() + "ProductInLane " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); |
| | | } |
| | | ProductInLane::CreateOrUpdate( this, item.ProductID(), item.LineID() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingSalesSegmentData ( |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | Description: 'ETLéå®é¨é¨' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | // å¾
å¤çæ°æ® |
| | | listToDeal := construct( Global_MappingSalesSegment_MPs, constcontent ); |
| | | 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 ); |
| | | } |
| | | //nameList := construct( structured[String] ); |
| | | //nameList := selectvalues( listToDeal, Elements, item, true, item.Name() ); |
| | | //// æ£æ¥parent |
| | | //traverse( listToDeal, Elements, item, item.ParentName() <> "" ) { |
| | | // if( nameList.Find( item.ParentName() ) = -1 ) { |
| | | // error( "sales segment parent not found: " + item.Name().AsQUILL() ); |
| | | // } |
| | | //} |
| | | //// éå±éåï¼ç´è³å¤ç宿 |
| | | //dealtNameList := construct( structured[String] ); |
| | | //while( listToDeal.Size() <> dealtNameList.Size() ) { |
| | | // traverse( listToDeal, Elements, item ) { |
| | | // // æªå¤çè¿ |
| | | // if( dealtNameList.Find( item.Name() ) < 0 ){ |
| | | // // æ ç¶é¨é¨ï¼ç´æ¥å¤ç |
| | | // if( item.ParentName() = "" ) { |
| | | // SalesSegment_MP::CreateOrUpdate( this, item.Name(), item.DisplayIndex(), item.ParentName() ); |
| | | // dealtNameList.Add( item.Name() ); |
| | | // } |
| | | // // æç¶é¨é¨ä¸ç¶é¨é¨å·²å¤ç |
| | | // else if( item.ParentName() <> "" and dealtNameList.Find(item.ParentName()) >= 0 ) { |
| | | // SalesSegment_MP::CreateOrUpdate( this, item.Name(), item.DisplayIndex(), item.ParentName() ); |
| | | // dealtNameList.Add( item.Name() ); |
| | | // } |
| | | // // æç¶é¨é¨ä¸ç¶é¨é¨æªå¤çï¼ä¸ä¸è½®å¤ç |
| | | // } |
| | | // } |
| | | //} |
| | | traverse( listToDeal,Elements,item ){ |
| | | if( item.ParentName() <> "" and isnull( SalesSegment_MP::FindByName( this, item.ParentName() ) ) ){ |
| | | SalesSegment_MP::CreateOrUpdate( this, item.ParentName(), item.DisplayIndex(), "" ); |
| | | } |
| | | } |
| | | |
| | | traverse( listToDeal,Elements,item ){ |
| | | SalesSegment_MP::CreateOrUpdate( this, item.Name(), item.DisplayIndex(), item.ParentName() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingUnitData ( |
| | | Strings businesstypes, |
| | | const GlobalOTDTable globalOTDTable, |
| | | Strings organcodelist |
| | | ) |
| | | { |
| | | Description: 'Get unit data from operation mapping' |
| | | TextBody: |
| | | [* |
| | | // Administrator Aug-21-2023 (created) |
| | | // list to deal |
| | | listtodeal := construct( Global_MappingOperations, constcontent ); |
| | | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, true ); |
| | | } else { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, |
| | | // businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 |
| | | ( businesstypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) |
| | | ); |
| | | } |
| | | |
| | | //Set the Default values |
| | | unitofmeasurename := "PCS"; |
| | | infinite := "Infinite"; |
| | | capacitytype := "Transport quantity"; |
| | | |
| | | // Get the root data |
| | | Unit::CreateOrUpdate( this, |
| | | "天马éå¢", |
| | | "天马éå¢", |
| | | "", |
| | | infinite, |
| | | unitofmeasurename ); |
| | | |
| | | // Get the sub root data |
| | | Unit::CreateOrUpdate( this, |
| | | "ç产", |
| | | "ç产", |
| | | "天马éå¢", |
| | | infinite, |
| | | unitofmeasurename ); |
| | | |
| | | supplyunit := Unit::CreateOrUpdate( this, |
| | | "ä¾åºå", |
| | | "ä¾åºå", |
| | | "天马éå¢", |
| | | infinite, |
| | | unitofmeasurename ); |
| | | supplyunit.IsSupplier(true); |
| | | |
| | | Unit::CreateOrUpdate( this, |
| | | "æ´è½¦è¿è¾", |
| | | "æ´è½¦è¿è¾", |
| | | "天马éå¢", |
| | | capacitytype, |
| | | unitofmeasurename ); |
| | | |
| | | // Get the unit list |
| | | traverse( listtodeal, Elements, item){ |
| | | OrgName := item.OrganName(); |
| | | if( OrgName = ''){ |
| | | OrgName := item.OrganCode(); |
| | | } |
| | | //Get the first level unit |
| | | Unit::CreateOrUpdate( this, |
| | | item.OrganCode(), |
| | | OrgName, |
| | | "ç产", |
| | | infinite, |
| | | unitofmeasurename ); |
| | | |
| | | //Get the second level unit |
| | | secondlevelid := item.OrganCode() + "_" + item.PlantName(); |
| | | Unit::CreateOrUpdate( this, |
| | | secondlevelid, |
| | | secondlevelid, |
| | | item.OrganCode(), |
| | | infinite, |
| | | unitofmeasurename ); |
| | | |
| | | //Get the third level unit |
| | | thirdlevelid := secondlevelid + "_" + item.ProcessSection(); |
| | | Unit::CreateOrUpdate( this, |
| | | thirdlevelid, |
| | | thirdlevelid, |
| | | secondlevelid, |
| | | "Time", |
| | | item.UnitOfMeasureName() ); |
| | | |
| | | //Get the last level unit |
| | | if( item.Line()<>"" ){ |
| | | lastlevelid := thirdlevelid + "_" + item.Line(); |
| | | Unit::CreateOrUpdate( this, |
| | | lastlevelid, |
| | | lastlevelid, |
| | | thirdlevelid, |
| | | "Time", |
| | | item.UnitOfMeasureName() ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoASyncMappingUnitOfMeasureData ( |
| | | const GlobalOTDTable globalotdtable |
| | | ) |
| | | { |
| | | Description: 'ETLæ°æ®è½¬æ¨¡åæ°æ®' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | |
| | | defaultOld := UnitOfMeasure_MP::FindDefault( this ); |
| | | defaultNew := select( globalotdtable, Global_MappingUnitOfMeasure_MP, item, true, item.IsDefault() ); |
| | | |
| | | if( not isnull( defaultOld ) and not isnull( defaultNew ) |
| | | and defaultOld.Name() <> defaultNew.Name() ) { |
| | | defaultOld.IsDefault(false); |
| | | //error( "multi default unit of measure" ) |
| | | } |
| | | |
| | | traverse( globalotdtable, Global_MappingUnitOfMeasure_MP, item ) { |
| | | UnitOfMeasure_MP::CreateOrUpdate( this, item.Name(), item.IsDefault() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | Strings businessTypes, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | // å¸ç§åå¸ç§æ±ç |
| | | //Currency_MP::CreateCurrencyFromJson( macroPlan, jsonDataRow ); |
| | | info( "Prepare to do sync" ) |
| | | info( "Get organ code list" ) |
| | | organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() ); |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | traverse( businessTypes, Elements, item ) { |
| | | info( "Business type : " + item ) |
| | | } |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | } |
| | | else{ |
| | | if( businessTypes.Size() = 0 ){ |
| | | if( not isnull( selectset( globalOTDTable, BusinessType, b, b.BusinessTypeName() = "" ) ) ){ |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, organ.BusinessType().BusinessTypeName() = "", organ.OrganCodeName() ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if( organcodelist.Size() = 0 ){ |
| | | organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() ); |
| | | } |
| | | |
| | | info( "KeyProduct : " + [String]isKeyProduct ) |
| | | info( "Create purchase supply material : " + [String]createPurchaseSupplyMaterial ) |
| | | |
| | | // åå§æ¢-0 |
| | | info( "Start Initial" ); |
| | | macroPlan.InitialUnitAndStockingPoint(); |
| | | |
| | | // åä½-1 |
| | | UnitOfMeasure_MP::DoASync( globalOTDTable, macroPlan ); |
| | | |
| | | // éå®é¨é¨-2 |
| | | SalesSegment_MP::DoASync( macroPlan, businessTypes,globalOTDTable ); |
| | | |
| | | // Unit-9 |
| | | // ä¸Operationä¸åå¤ç |
| | | //info( "BaseConversionFactor Finished, Start Operation Data Broker" ); |
| | | //macroPlan.Broker_OTD_Operation().Execute(); |
| | | info( "Operation Data Broker Finished, Start Unit Mapping" ); |
| | | macroPlan.DoASyncMappingUnitData( businessTypes ,globalOTDTable, organcodelist); |
| | | |
| | | // åºåç¹-3 |
| | | info( "Sales Segment Finished, Start Get StockingPoint From Api" ) |
| | | bodynumber := "2"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetStockingPointsInfo"; |
| | | port := 443; |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiStockingPointData( data ); |
| | | |
| | | // è´§å¸ä¿¡æ¯-4 |
| | | info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Api" ) |
| | | bodynumber := "1"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrenciesInfo"; |
| | | port := 443; |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiCurenciesData( data ); |
| | | |
| | | //è´§å¸æ±çä¿¡æ¯-5 |
| | | info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Api" ) |
| | | bodynumber := "5"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrencyRatesInfo"; |
| | | port := 443; |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiCurencyRatesData( data ); |
| | | |
| | | // 产åç©æ-6 |
| | | //info( "Get CurrencyRates From Api Finished, Start Product Data Broker" ) |
| | | //macroPlan.Broker_OTD_Product().Execute(); |
| | | info( "Product Data Broker Finished, Start Product Mapping" ); |
| | | //testproduct := construct( Strings ); |
| | | macroPlan.DoASyncMappingProductData( businessTypes, globalOTDTable,isKeyProduct ); |
| | | |
| | | //åä½è½¬æ¢-7 |
| | | BaseConversionFactor::DoASync( macroPlan ,globalOTDTable); |
| | | |
| | | // å·¥èºè·¯çº¿ + BOM-9 |
| | | info( "Unit Finished, Start Operation Mapping" ); |
| | | macroPlan.DoASyncMappingOperationData( businessTypes ,globalOTDTable, organcodelist ); |
| | | //info( "Operation Finished, Start BOM Data Broker" ); |
| | | //macroPlan.Broker_OTD_BOM().Execute(); |
| | | info( "BOM Data Broker Finished, Start BOM Mapping" ); |
| | | macroPlan.DoASyncMappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist ); |
| | | |
| | | //车éä¿¡æ¯-10 |
| | | info( "BOM Finished, Start Get Lanes From Api" ); |
| | | bodynumber := "3"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLanesInfo"; |
| | | port := 443; |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiLanesData( data ); |
| | | |
| | | //车éè¿è¾æ®µ-11 |
| | | info( "Get Lanes From Api Finished, Start Get LaneLegs From Api" ); |
| | | bodynumber := "4"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLaneLegsInfo"; |
| | | port := 443; |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiLaneLegsData( data ); |
| | | |
| | | // ä¾åºç½ç»ï¼è½¦éï¼-12 |
| | | //info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" ); |
| | | //macroPlan.Broker_OTD_ProductInLane().Execute(); |
| | | info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" ); |
| | | macroPlan.DoASyncMappingProductInLaneData(globalOTDTable); |
| | | |
| | | // å¨åºåºåæ°æ®-13 |
| | | //info( "ProductInLane Finished, Start ActualPISPIP Data Broker" ); |
| | | //macroPlan.Broker_OTD_ActualPISPIP().Execute(); |
| | | info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" ); |
| | | macroPlan.DoASyncMappingActualPISPIPData( businessTypes, globalOTDTable,isKeyProduct, organcodelist ); |
| | | |
| | | // å¨éåºå-14 |
| | | //info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" ); |
| | | //macroPlan.Broker_OTD_ExternalSupply().Execute(); |
| | | info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" ); |
| | | macroPlan.DoASyncMappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist ); |
| | | |
| | | // åºåææ¬-15 |
| | | InventoryValueAndCost::DoASync( macroPlan,globalOTDTable ); |
| | | |
| | | // todo å¶é ææ¬-16 |
| | | info( "InventoryCost Finished, Start OperationCost Mapping" ); |
| | | macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypes, organcodelist ); |
| | | |
| | | // 订å颿µ-17 |
| | | Forecast::DoASync( macroPlan, businessTypes, globalOTDTable, organcodelist ); |
| | | |
| | | // 订åéæ±-18 |
| | | CustomerOrder::DoASync( macroPlan, businessTypes, globalOTDTable, organcodelist ); |
| | | |
| | | //å é¤å¤ä½æ¥éæ°æ®-19 |
| | | macroPlan.DeleteSnaityCheck(); |
| | | |
| | | //// todo ä¾åºåè½å |
| | | //info( "ProviderCapacity::DoSync" ) |
| | | |
| | | //// todo ä¾åºååå¤ |
| | | //info( "ProviderReply::DoSync" ) |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | String businessTypeStr, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | businessTypes := construct( Strings ); |
| | | if( businessTypeStr.Length() > 0 ) { |
| | | businessTypes := businessTypeStr.Tokenize( ',' ); |
| | | } |
| | | MacroPlan::DoASync( macroPlan, businessTypes, isKeyProduct, createPurchaseSupplyMaterial ,globalOTDTable); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | Scenario scenario, |
| | | String businessTypeStr, |
| | | Boolean isKeyProduct, |
| | | Boolean createPurchaseSupplyMaterial, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | info( scenario.DatasetMDSID(), " äºä¸é¨ï¼", businessTypeStr, " isKeyProductï¼", isKeyProduct, " createPurchaseSupplyMaterialï¼", createPurchaseSupplyMaterial ); |
| | | |
| | | MDSMacroPlan::Root( scenario.DatasetMDSID() ) |
| | | //-> DoASyncCreateLog( globalOTDTable ) |
| | | -> MacroPlan::DoASync( businessTypeStr, |
| | | isKeyProduct, |
| | | createPurchaseSupplyMaterial, |
| | | globalOTDTable |
| | | ) |
| | | -> Exception() |
| | | -> MacroPlan::DoASyncOnException( globalOTDTable ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASyncOnException ( |
| | | Exception exception, |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, "DataDistribution", "" ); |
| | | globalOTDTable.SettingFailureDetails( exception.ErrorNumber(), exception.Message(), "DataDistribution", "æ°æ®åå" ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASyncSuccess ( |
| | | Void void, |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // hongjli Oct-15-2023 (created) |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateOrUpdate ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String orgCode, |
| | | String productId, |
| | | String desc |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Transfer ( |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable parent |
| | | const MacroPlan macroPlan, |
| | | GlobalOTDSOP parent |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateOrUpdate ( |
| | | Operation op, |
| | | GlobalOTDTable parent |
| | | const Operation op, |
| | | GlobalOTDSOP parent |
| | | ) as ManufactureLTProcessSection |
| | | { |
| | | TextBody: |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateOrUpdate ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | MacroPlan macroPlan, |
| | | String orgCode, |
| | | String productId, |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CheckThePrecedingColumn ( |
| | | GlobalOTDTable globalOTDTable |
| | | GlobalOTDSOP globalOTDSOP |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) { |
| | | itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç " ); |
| | | targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() ); |
| | | targetMatAttrSettingAndPlanStrategy := select( globalOTDSOP, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() ); |
| | | if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) { |
| | | businessType := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ä¸å¡ç±»å" ).value(); |
| | | nameOfMaterial := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æåç§°" ).value(); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CreateOrUpdateData ( |
| | | GlobalOTDTable globalOTDTable |
| | | GlobalOTDSOP globalOTDSOP |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) { |
| | | itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç " ); |
| | | targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() ); |
| | | targetMatAttrSettingAndPlanStrategy := select( globalOTDSOP, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() ); |
| | | if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) { |
| | | minimumNumberOfDaysInStock := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå°å¤©æ°" ).value(); |
| | | maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå¤§å¤©æ°" ).value(); |
| | |
| | | } |
| | | } |
| | | try { |
| | | matAttrSettingAndPlanStrategy := globalOTDTable.MatAttrSettingAndPlanStrategy( relnew, |
| | | BusinessType := businessType, |
| | | MatCode := createItemCode, |
| | | MatName := nameOfMaterial, |
| | | MatType := itemClassification, |
| | | MatArrivalLT := [Number]LTTimeDays, |
| | | // ProductCount := [Number]numberOfFinishedSKUs, |
| | | // MinProdDeliverLT := [Number]finishedProductDeliveryMinLTDays, |
| | | FlagLongTerm := longAndShortCycleLabels, |
| | | FlagGeneric := genericSpecialLabels, |
| | | // PlanningStrategyAuto := automaticMaterialPlanningPolicies, |
| | | PlanningStrategyCustom := usersManuallySchedulePolicies, |
| | | MinimumNumberOfDaysInStock := [Number]minimumNumberOfDaysInStock, |
| | | MaximumNumberOfDaysInInventory := [Number]maximumNumberOfDaysInInventory |
| | | matAttrSettingAndPlanStrategy := globalOTDSOP.MatAttrSettingAndPlanStrategy( relnew, |
| | | BusinessType := businessType, |
| | | MatCode := createItemCode, |
| | | MatName := nameOfMaterial, |
| | | MatType := itemClassification, |
| | | MatArrivalLT := [Number]LTTimeDays, |
| | | // ProductCount := [Number]numberOfFinishedSKUs, |
| | | // MinProdDeliverLT := [Number]finishedProductDeliveryMinLTDays, |
| | | FlagLongTerm := longAndShortCycleLabels, |
| | | FlagGeneric := genericSpecialLabels, |
| | | // PlanningStrategyAuto := automaticMaterialPlanningPolicies, |
| | | PlanningStrategyCustom := usersManuallySchedulePolicies, |
| | | MinimumNumberOfDaysInStock := [Number]minimumNumberOfDaysInStock, |
| | | MaximumNumberOfDaysInInventory := [Number]maximumNumberOfDaysInInventory |
| | | ); |
| | | matAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() ); |
| | | matAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() ); |
| | | matAttrSettingAndPlanStrategy.SerialNumber( maxselect( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.SerialNumber() ).SerialNumber() + 1 ); |
| | | matAttrSettingAndPlanStrategy.SerialNumber( maxselect( globalOTDSOP, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.SerialNumber() ).SerialNumber() + 1 ); |
| | | } onerror { |
| | | error( "åºåæå°å¤©æ°æåºåæå¤§å¤©æ°å¿
é¡»ä¸ºæ´æ°ï¼", targetMatAttrSettingAndPlanStrategy.MatCode() ); |
| | | } |
| | |
| | | [* |
| | | this.VerifyThatTheItemCodeIsNotDuplicated(); |
| | | |
| | | globalOTDTable := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDTable(); |
| | | globalOTDSOP := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDSOP(); |
| | | |
| | | this.CheckThePrecedingColumn( globalOTDTable ); |
| | | this.CheckThePrecedingColumn( globalOTDSOP ); |
| | | |
| | | this.CreateOrUpdateData( globalOTDTable ); |
| | | this.CreateOrUpdateData( globalOTDSOP ); |
| | | |
| | | this.VerificationData( globalOTDTable ); |
| | | this.VerificationData( globalOTDSOP ); |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method VerificationData ( |
| | | GlobalOTDTable globalOTDTable |
| | | GlobalOTDSOP globalOTDSOP |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | info( "çç¥ä¸ªæ°ï¼", globalOTDTable.MatAttrSettingAndPlanStrategy( relsize ) ); |
| | | traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) { |
| | | info( "çç¥ä¸ªæ°ï¼", globalOTDSOP.MatAttrSettingAndPlanStrategy( relsize ) ); |
| | | traverse ( globalOTDSOP, MatAttrSettingAndPlanStrategy, masaps ) { |
| | | if ( masaps.PlanningStrategyCustom() <> "å®å
¨åºå" and masaps.PlanningStrategyCustom() <> "JIT" and masaps.PlanningStrategyCustom() <> "M/A" and |
| | | masaps.PlanningStrategyCustom() <> "POææ" and masaps.PlanningStrategyCustom() <> "VMI" ) { |
| | | error( "æå¨è®¾ç½®çç¥é误ï¼", masaps.MatCode() ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | GlobalOTDTable parent |
| | | GlobalOTDSOP parent |
| | | ) as String |
| | | { |
| | | TextBody: |
| | |
| | | if( this.MatAttrSettingAndPlanStrategyDataTable( relsize ) > 0 ) { |
| | | traverse( this, MatAttrSettingAndPlanStrategyDataTable, table ) { |
| | | traverse( table, MatAttrSettingAndPlanStrategyDataRow, row ) { |
| | | MatAttrSettingAndPlanStrategy::Update( this.GlobalOTDTable(), row, this.UserName() ); |
| | | MatAttrSettingAndPlanStrategy::Update( this.GlobalOTDSOP(), row, this.UserName() ); |
| | | } |
| | | } |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Upload ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | String filePath, |
| | | String base64Str, |
| | | String userName |
| | |
| | | { |
| | | TextBody: |
| | | [* |
| | | globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relflush ); |
| | | globalOTDSOP.MatAttrSettingAndPlanStrategyInputSource( relflush ); |
| | | |
| | | fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 ); |
| | | |
| | | inputSource := globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relnew, |
| | | FileName := fileName, |
| | | Base64Str := base64Str, |
| | | IsXlsx := fileName.EndsWith( "xlsx" ), |
| | | UserName := userName ); |
| | | inputSource := globalOTDSOP.MatAttrSettingAndPlanStrategyInputSource( relnew, |
| | | FileName := fileName, |
| | | Base64Str := base64Str, |
| | | IsXlsx := fileName.EndsWith( "xlsx" ), |
| | | UserName := userName ); |
| | | |
| | | return inputSource; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | Number serialNumber, |
| | | String businessType, |
| | | String matCode, |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExistByMatCode ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | Strings matCode |
| | | ) |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetByMatCode ( |
| | | const GlobalOTDSOP parent, |
| | | String matCode |
| | | ) as const MatAttrSettingAndPlanStrategy |
| | | { |
| | | Description: 'è·åæ æ³ä¿®æ¹ç' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Oct-17-2023 (created) |
| | | value := select( parent, MatAttrSettingAndPlanStrategy, item, true, matCode = item.MatCode() ); |
| | | return value; |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeInventoryTargets ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) { |
| | | traverse ( globalOTDSOP, MatAttrSettingAndPlanStrategy, masaps ) { |
| | | hasMaxLevel := masaps.MaximumNumberOfDaysInInventory() <> 0; |
| | | product_MP := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = masaps.MatCode() ); |
| | | if ( not isnull( product_MP ) ) { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeleteIfExistByMatCode ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String matCode |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetExistByMatCode ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | String matCode |
| | | ) as MatAttrSettingAndPlanStrategy |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Update ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDSOP parent, |
| | | MatAttrSettingAndPlanStrategyDataRow excelRow, |
| | | String userName |
| | | ) as MatAttrSettingAndPlanStrategy |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DoCall ( |
| | | GlobalOTDTable globalData, |
| | | const GlobalOTDTable globalData, |
| | | GlobalOTDSOP otdSop, |
| | | String callBy |
| | | ) as PRHistoryData |
| | | { |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-11-2023 (created) |
| | | result := globalData.PRHistoryData( relnew ); |
| | | result := otdSop.PRHistoryData( relnew ); |
| | | |
| | | // ç
§æ¬é¨å |
| | | result.AuthorizationStatus( this.AuthorizationStatus() ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method PrintCall ( |
| | | GlobalOTDTable globalData, |
| | | const GlobalOTDTable globalData, |
| | | GlobalOTDSOP otdSop, |
| | | String callBy |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-11-2023 (created) |
| | | result := globalData.PRHistoryData( relnew ); |
| | | result := otdSop.PRHistoryData( relnew ); |
| | | |
| | | // ç
§æ¬é¨å |
| | | result.AuthorizationStatus( this.AuthorizationStatus() ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoCall ( |
| | | GlobalOTDTable globalData, |
| | | const GlobalOTDTable globalData, |
| | | GlobalOTDSOP otdSop, |
| | | PRDatas toCalls, |
| | | String callBy |
| | | ) |
| | |
| | | nowNo := 1; |
| | | traverse( toCalls, Elements, toCall, toCall.PRReleaseStatus() = "" ) { |
| | | info ( "DoCall " + [String]nowNo + "/" + [String]toCalls.Size() + " PR" ); |
| | | toCall.DoCall( globalData, callBy ); |
| | | toCall.DoCall( globalData, otdSop, callBy ); |
| | | nowNo := nowNo + 1; |
| | | } |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FromSupplyPlanning ( |
| | | GlobalOTDTable otdTable, |
| | | const GlobalOTDTable otdTable, |
| | | const GlobalOTDSOP otdSop, |
| | | MacroPlan macroPlan, |
| | | ProductInStockingPointInPeriod pispip, |
| | | String userId |
| | |
| | | mappingOperation := Global_MappingOperation::GetByProductId( otdTable, product.ID() ); |
| | | // QID15 |
| | | mappingProviderCapacity := Global_MappingProviderCapacity::GetByProductId( otdTable, product.ID() ); |
| | | matAttrSetting := MatAttrSettingAndPlanStrategy::GetExistByMatCode( otdTable, product.ID() ); |
| | | |
| | | // ç©ææ ç¾å±æ§ |
| | | matAttrSetting := MatAttrSettingAndPlanStrategy::GetByMatCode( otdSop, product.ID() ) |
| | | |
| | | // æ ¹æ®pispip |
| | | result.MRPCalverNo( ifexpr( pispip.MRPCalverNo() = "", "ææ ", pispip.MRPCalverNo() ) ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FromSupplyPlanning ( |
| | | GlobalOTDTable otdTable, |
| | | const GlobalOTDTable otdTable, |
| | | const GlobalOTDSOP otdSop, |
| | | MacroPlan macroPlan, |
| | | String mrpCalverNo, |
| | | String userId |
| | |
| | | if( isnull( oldRecords ) or oldRecords.Size() = 0 ) { |
| | | pispips := ProductInStockingPointInPeriod::GetByMRPCalverNo( macroPlan, mrpCalverNo ); |
| | | traverse( pispips, Elements, item, item.NewSupplyQuantity() > 0 ) { |
| | | PRData::FromSupplyPlanning( otdTable, macroPlan, item, userId ); |
| | | PRData::FromSupplyPlanning( otdTable, otdSop, macroPlan, item, userId ); |
| | | nowNo := nowNo + 1; |
| | | if( nowNo mod 1000 = 0 ) { |
| | | info( "SupplyPlanning to prData : " + [String]nowNo ); |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-20-2023 (created) |
| | | result := this.GlobalOTDTable().PRHistoryData( relcopy, this ); |
| | | result := this.GlobalOTDSOP().PRHistoryData( relcopy, this ); |
| | | |
| | | // æ´æ°é¨å |
| | | result.PRDataReleaseDate( Date::Today() ); |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Sep-11-2023 (created) |
| | | result := this.GlobalOTDTable().PRHistoryData( relcopy, this ); |
| | | result := this.GlobalOTDSOP().PRHistoryData( relcopy, this ); |
| | | |
| | | // æ´æ°é¨å |
| | | result.PRDataReleaseDate( Date::Today() ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | GlobalOTDTable parent |
| | | GlobalOTDSOP parent |
| | | ) as String |
| | | { |
| | | TextBody: |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReceiveDataGeneration ( |
| | | GlobalOTDTable globalOTDTable, |
| | | GlobalOTDSOP globalOTDSOP, |
| | | NamedValueTree requestnvt |
| | | ) |
| | | { |
| | |
| | | businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); |
| | | scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); |
| | | |
| | | panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() ); |
| | | if ( not isnull( panelMaterialAll ) ) { |
| | | panelMaterialAll.Delete(); |
| | | } |
| | | panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, |
| | | ReleaseDate := releaseDateNameValue.GetValueAsString(), |
| | | BusinessType := businessTypeNameValue.GetValueAsString(), |
| | | ScenarioName := scenarioNameNameValue.GetValueAsString() |
| | | ); |
| | | |
| | | panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); |
| | | panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); |
| | |
| | | CustomerOrder customerOrder, |
| | | String businessType, |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | const GlobalOTDTable globalOTDTable |
| | | ) as Real |
| | | { |
| | | Description: '计ç®å
¬å¼ä¸æ¬å·å
çæ°æ®' |
| | |
| | | String businessType, |
| | | MacroPlan macroPlan, |
| | | Real lastScore, |
| | | GlobalOTDTable globalOTDTable |
| | | const GlobalOTDTable globalOTDTable |
| | | ) as Real |
| | | { |
| | | TextBody: |
| | |
| | | CustomerOrder customerOrder, |
| | | String formula, |
| | | MacroPlan macroPlan, |
| | | GlobalOTDTable globalOTDTable |
| | | const GlobalOTDTable globalOTDTable |
| | | ) as Real |
| | | { |
| | | TextBody: |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | Strings businessTypes, |
| | | const GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | //info( "UnitOfMeasure_MP Finished, Start Sales Segment Data Broker" ) |
| | | //macroPlan.Broker_OTD_SalesSegment().Execute(); |
| | | info( "Sales Segment Data Broker Finished, Start Sales Segment Mapping" ) |
| | | macroPlan.DoASyncMappingSalesSegmentData( businessTypes,globalOTDTable ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DoASync ( |
| | | const GlobalOTDTable globalotdtable, |
| | | MacroPlan macroplan |
| | | ) |
| | | { |
| | | Description: '忬¡åæ¥' |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-17-2023 (created) |
| | | //info( "Inital Finished, Start UnitOfMeasure_MP Data Broker" ) |
| | | //macroPlan.Broker_OTD_UnitOfMeasure().Execute(); |
| | | info( "UnitOfMeasure_MP Data Broker Finished, Start UnitOfMeasure_MP Mapping" ) |
| | | macroplan.DoASyncMappingUnitOfMeasureData(globalotdtable); |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CopyVersion ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businessname |
| | | ) as VersionControl |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Create ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businesstype, |
| | | String caltype, |
| | | DateTime createtime, |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateNewSceneVersion ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businessname |
| | | ) as VersionControl |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateNewVersion ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businessname |
| | | ) as VersionControl |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindByFullVersionID ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String versionid |
| | | ) as VersionControl |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindLatestUpdateVersion ( |
| | | GlobalOTDTable globalotdtable, |
| | | GlobalOTDSOP globalotdsop, |
| | | String businesstype |
| | | ) as VersionControl |
| | | { |
| | |
| | | // Administrator Sep-13-2023 (created) |
| | | |
| | | // Get the latest version data |
| | | latestversion := maxselect( globalotdtable, |
| | | latestversion := maxselect( globalotdsop, |
| | | VersionControl, |
| | | version, |
| | | version.BusinessType()=businesstype and version.IsReleased()=true, |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindLatestVersion ( |
| | | GlobalOTDTable globalotdtable, |
| | | GlobalOTDSOP globalotdsop, |
| | | String businesstype |
| | | ) as VersionControl |
| | | { |
| | |
| | | // Administrator Sep-13-2023 (created) |
| | | |
| | | // Get the latest version data |
| | | latestversion := maxselect( globalotdtable, |
| | | latestversion := maxselect( globalotdsop, |
| | | VersionControl, |
| | | version, |
| | | version.BusinessType()=businesstype, |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindReleasedVersions ( |
| | | GlobalOTDTable globalotdtable, |
| | | GlobalOTDSOP globalotdsop, |
| | | String businesstype, |
| | | String versionid |
| | | ) as owning VersionControls |
| | |
| | | // Administrator Sep-13-2023 (created) |
| | | |
| | | // Get the latest version data |
| | | latestversion := selectset( globalotdtable, VersionControl, version, version.BusinessType()=businesstype and version.IsReleased()=true and version.VersionID().FindString( versionid, 0 ) = 0 ); |
| | | latestversion := selectset( globalotdsop, |
| | | VersionControl, |
| | | version, |
| | | version.BusinessType()=businesstype and version.IsReleased()=true and version.VersionID().FindString( versionid, 0 ) = 0 ); |
| | | |
| | | return &latestversion; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetVersionInfo ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businessname |
| | | ) as owning Strings |
| | | { |
| | |
| | | TextBody: |
| | | [* |
| | | // Administrator Sep-13-2023 (created) |
| | | businesstyoe := GlobalOTDTable::GetBusinessTypeName( businessname ); |
| | | businesstype := GlobalOTDTable::GetBusinessTypeName( businessname ); |
| | | result := construct( Strings ); |
| | | rootversion := VersionControl::FindLatestVersion( owner, businesstyoe ); |
| | | rootversion := VersionControl::FindLatestVersion( owner, businesstype ); |
| | | |
| | | if( not isnull( rootversion ) ){ |
| | | result.Add( rootversion.VersionID() ); |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ReleaseNewVersion ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businesstype |
| | | ) |
| | | { |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateOrUpdate ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String businesstype, |
| | | String businessname, |
| | | DateTime lastreleasetime, |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FindLatestStatus ( |
| | | GlobalOTDTable globalotdtable, |
| | | GlobalOTDSOP globalotdsop, |
| | | String businesstype |
| | | ) as VersionStatus |
| | | { |
| | |
| | | // Administrator Sep-13-2023 (created) |
| | | |
| | | // Get the latest version data |
| | | lateststatus := select( globalotdtable, VersionStatus, version, version.BusinessType()=businesstype ); |
| | | lateststatus := select( globalotdsop, VersionStatus, version, version.BusinessType()=businesstype ); |
| | | |
| | | return lateststatus; |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetBusinessTypeStatus ( |
| | | GlobalOTDTable owner, |
| | | GlobalOTDSOP owner, |
| | | String rootversionid |
| | | ) |
| | | { |
| | |
| | | #parent: #root |
| | | Method New ( |
| | | internal[GUIComponent] parent, |
| | | shadow[GlobalOTDTable] owner |
| | | shadow[GlobalOTDSOP] owner |
| | | ) as shadow[ManufactureLTImputation] id:Method_DialogManufactureLTImputation_New_221 |
| | | { |
| | | #keys: '[414384.0.703976688]' |
| | |
| | | #parent: #root |
| | | Method New ( |
| | | internal[GUIComponent] parent, |
| | | GlobalOTDTable owner |
| | | GlobalOTDSOP owner |
| | | ) as ManufactureLTImputation id:Method_DialogManufactureLTImputation_New |
| | | { |
| | | #keys: '[414384.0.703976686]' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ActionBarGroupScenarioSelection #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: PanelScenarioSelection |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ActionBarPageScenarioSelection #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: ActionBarGroupScenarioSelection |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelScenarioSelection #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component DropDownListScenario id:DropDownListScenario_886 #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component DataExtractorScenarios id:DataExtractorScenarios_484 #extension |
| | | { |
| | | Properties: |
| | | [ |
| | | FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios' |
| | | FixedFilter: 'object.IsLoaded() and not object.IsDeleted() and availablescenarios.Find( object ) >= 0' |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderCurrentUser |
| | | Response OnDataChanged () id:Response_TIANMA_JITUAN_ApplicationMacroPlanner_DataHolderCurrentUser_OnDataChanged |
| | | { |
| | | #keys: '[414702.1.131671499]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | user := QuintiqUser::CurrentUser(); |
| | | scenarionodes := construct( ScenarioNodes ); |
| | | |
| | | if( user.IsAdministrator() |
| | | or not exists( ScenarioManager, ScenarioNode.ScenarioAuthorization, sa, true ) ) |
| | | { |
| | | scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode, true ); |
| | | } |
| | | else |
| | | { |
| | | scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode, |
| | | guard( scenarionode.astype( ScenarioFolder ).IsRecycleBin(), false ) |
| | | or scenarionode.CreatedBy().ToUpper() = user.ShortName().ToUpper() |
| | | or exists( scenarionode, ScenarioAuthorization, sa, |
| | | user.IsMemberOfGroup( sa.Name() ) ) ); |
| | | } |
| | | |
| | | DataHolderAvailableScenarios.Data( &scenarionodes ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | #child: applicationDevelopmentActionBarPageDef_1 |
| | | #child: ActionBarPagePlan |
| | | #child: ActionBarPageInventory |
| | | #child: ActionBarPageScenarioSelection |
| | | ] |
| | | } |
| | | Component DataHolderCapacityAndSaleBudgeFilterItem |
| | |
| | | Taborder: 44 |
| | | ] |
| | | } |
| | | Component DataHolderAvailableScenarios |
| | | { |
| | | #keys: '[414702.1.131690403]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[ScenarioNode]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 45 |
| | | ] |
| | | } |
| | | Component DataHolderCurrentUser #extension |
| | | { |
| | | } |
| | | ] |
| | | } |
| | |
| | | #keys: '[414702.0.375317354]' |
| | | Body: |
| | | [* |
| | | capacityAllocationResultsRuleConfiguration := GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relshadow ); |
| | | capacityAllocationResultsRuleConfiguration := GlobalOTDSOP.CapacityAllocationResultsRuleConfiguration( relshadow ); |
| | | |
| | | DataHolderDialogData.Data( &capacityAllocationResultsRuleConfiguration ); |
| | | |
| | |
| | | |
| | | data := DataHolderDialogData.Data().WrappedInstance(); |
| | | if ( isnull( data ) ) { |
| | | GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew, |
| | | PanelMaterialCode := efPanelMaterialCode.Text(), |
| | | ModuleMaterialCode := efModuleMaterialCode.Text(), |
| | | Division := efDivision.Text(), |
| | | StockingPointID := efStockingPointID.Text() |
| | | ); |
| | | GlobalOTDSOP.CapacityAllocationResultsRuleConfiguration( relnew, |
| | | PanelMaterialCode := efPanelMaterialCode.Text(), |
| | | ModuleMaterialCode := efModuleMaterialCode.Text(), |
| | | Division := efDivision.Text(), |
| | | StockingPointID := efStockingPointID.Text() |
| | | ); |
| | | } else { |
| | | data.Delete(); |
| | | GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew, |
| | | PanelMaterialCode := efPanelMaterialCode.Text(), |
| | | ModuleMaterialCode := efModuleMaterialCode.Text(), |
| | | Division := efDivision.Text(), |
| | | StockingPointID := efStockingPointID.Text() |
| | | ); |
| | | GlobalOTDSOP.CapacityAllocationResultsRuleConfiguration( relnew, |
| | | PanelMaterialCode := efPanelMaterialCode.Text(), |
| | | ModuleMaterialCode := efModuleMaterialCode.Text(), |
| | | Division := efDivision.Text(), |
| | | StockingPointID := efStockingPointID.Text() |
| | | ); |
| | | } |
| | | |
| | | |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'WorkOrderType' |
| | | ] |
| | |
| | | Body: |
| | | [* |
| | | if ( not isnull( DataHolderDialogData.Data() ) ) { |
| | | targetWorkOrderType := select( GlobalOTDTable, WorkOrderType, tempWOT, tempWOT.TypeName() = DataHolderDialogData.Data().WorkOrderType() ); |
| | | targetWorkOrderType := select( GlobalOTDSOP, WorkOrderType, tempWOT, tempWOT.TypeName() = DataHolderDialogData.Data().WorkOrderType() ); |
| | | if ( not isnull( targetWorkOrderType ) ) { |
| | | this.Data( targetWorkOrderType ); |
| | | } else { |
| | | this.Data( select( GlobalOTDTable, WorkOrderType, tempWOT, true ) ); |
| | | this.Data( select( GlobalOTDSOP, WorkOrderType, tempWOT, true ) ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | |
| | | // New version |
| | | globalotdtable := GlobalOTDTable; |
| | | globalotdsop := GlobalOTDSOP; |
| | | testbusinesstype := "éå¢"; |
| | | if( data.IsCreateNewVersion() ){ |
| | | VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype ); |
| | | VersionControl::CreateNewSceneVersion( globalotdsop, testbusinesstype ); |
| | | }else{ |
| | | VersionControl::CopyVersion( globalotdtable, testbusinesstype ); |
| | | VersionControl::CopyVersion( globalotdsop, testbusinesstype ); |
| | | } |
| | | versionname := VersionControl::GetVersionInfo( globalotdtable, testbusinesstype ).Element( 3 ); |
| | | versionname := VersionControl::GetVersionInfo( globalotdsop, testbusinesstype ).Element( 3 ); |
| | | |
| | | // Get Version Name |
| | | if( data.Name() = "" ){ |
| | |
| | | } |
| | | |
| | | // Get Business Type from Scenario Name |
| | | businesstype := select( globalotdtable, |
| | | BusinessType, |
| | | b, |
| | | b.ScenarioName()=data.ScenarioName() ).BusinessTypeName(); |
| | | businesstype := guard( select( globalotdtable, |
| | | BusinessType, |
| | | b, |
| | | b.ScenarioName()=data.ScenarioName() ).BusinessTypeName(), |
| | | "" ); |
| | | data.BusinessType( businesstype ); |
| | | |
| | | // Copy scenario |
| | |
| | | #keys: '[414702.0.145493830]' |
| | | Body: |
| | | [* |
| | | workOrderType := GlobalOTDTable.WorkOrderType( relshadow ); |
| | | workOrderType := GlobalOTDSOP.WorkOrderType( relshadow ); |
| | | |
| | | DataHolderForm.Data( formWorkOrderType ); |
| | | |
| | |
| | | id := efID.Text(); |
| | | typeName := efTypeName.Text(); |
| | | |
| | | idExists := exists( GlobalOTDTable, WorkOrderType, tempWOT, tempWOT.ID() = id and tempWOT.ID() <> data.ID() ); |
| | | typeNameExists := exists( GlobalOTDTable, WorkOrderType, tempWOT, tempWOT.TypeName() = typeName and tempWOT.TypeName() <> data.TypeName() ); |
| | | idExists := exists( GlobalOTDSOP, WorkOrderType, tempWOT, tempWOT.ID() = id and tempWOT.ID() <> data.ID() ); |
| | | typeNameExists := exists( GlobalOTDSOP, WorkOrderType, tempWOT, tempWOT.TypeName() = typeName and tempWOT.TypeName() <> data.TypeName() ); |
| | | |
| | | if ( idExists or typeNameExists ) { |
| | | feedback := "IDæç±»ååç§°éå¤"; |
| | |
| | | data := DataHolderDialogData.Data(); |
| | | workOrderType := data.WrappedInstance(); |
| | | if ( isnull( workOrderType ) ) { |
| | | GlobalOTDTable.WorkOrderType( relnew, ID := data.ID(), TypeName := data.TypeName() ); |
| | | GlobalOTDSOP.WorkOrderType( relnew, ID := data.ID(), TypeName := data.TypeName() ); |
| | | } else { |
| | | workOrderType.ID( data.ID() ); |
| | | workOrderType.TypeName( data.TypeName() ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[414702.1.84941726]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414702.1.84941730]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414702.1.84941732]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[414702.1.84941724]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component dropDownStringListGeneral id:dropDownStringListGeneral_549 |
| | | { |
| | | #keys: '[414702.1.87540205]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderScenario.Data.ScenarioName' |
| | | Label: 'Scenario Name' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component checkboxIsKeyProduct id:checkboxIsKeyProduct_593 |
| | | { |
| | | #keys: '[414702.1.87540263]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderScenario.Data.IsKeyProduct' |
| | | Label: 'S&OP' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component checkboxCreatePurchaseSupplyProduct id:checkboxCreatePurchaseSupplyProduct_102 |
| | | { |
| | | #keys: '[414702.1.84942148]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderScenario.Data.CreatePurchaseSupplyMaterial' |
| | | Label: 'CreatePurchase' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component CheckboxIsCreateNewVersion id:CheckboxIsCreateNewVersion_653 |
| | | { |
| | | #keys: '[414702.1.84942205]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Create a new version' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method DataDistribution ( |
| | | Scenario scenario |
| | | ) id:Method_DialogDataDistribution_DataDistribution |
| | | { |
| | | #keys: '[414702.1.87530593]' |
| | | Body: |
| | | [* |
| | | DataHolderScenario.Data( scenario ); |
| | | |
| | | dropDownStringListGeneral.Strings( GlobalOTDTable::GetBusnessStrings( GlobalOTDTable ) ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[414702.1.84941736]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[414702.1.84941735]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ApplyChanges(); |
| | | |
| | | businessType := select( GlobalOTDTable, |
| | | BusinessType, |
| | | b, |
| | | b.ScenarioName() = dropDownStringListGeneral.Text() |
| | | ); |
| | | |
| | | //Global_BrokerExecuteLog::CreateInOperation( GlobalOTDTable, "DataDistribution", ApplicationMacroPlanner.GetUserName() ); |
| | | MacroPlan::DoASync( DataHolderScenario.Data(), |
| | | businessType.BusinessTypeName(), |
| | | checkboxIsKeyProduct.Checked(), |
| | | checkboxCreatePurchaseSupplyProduct.Checked(), |
| | | GlobalOTDTable ); |
| | | |
| | | Form.Close(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogDataDistribution |
| | | { |
| | | #keys: '[414702.1.84941722]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderScenario |
| | | { |
| | | #keys: '[414702.1.89308159]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Scenario' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Image: 'CAKE2' |
| | | Padding: 'false' |
| | | Title: 'æ°æ®åå' |
| | | ] |
| | | } |
| | |
| | | Form.ApplyChanges(); |
| | | try { |
| | | macroPlan := ExternalMDSEditor::MacroPlan( ddlSelectVersion.Data().DatasetName() ).AsMacroPlan(); |
| | | GlobalOTDTable.SynchronizeOrders( macroPlan ); |
| | | GlobalOTDSOP.SynchronizeOrders( macroPlan ); |
| | | |
| | | Form.Close(); |
| | | |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "汽车çµå" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "汽车çµå" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "车载" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "车载" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "䏿¾" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "䏿¾" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "è¿å¨å¥åº·" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "è¿å¨å¥åº·" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "天å" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "天å" ); |
| | | this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "æ æ°æ®" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | productIdsOver14Days := PRData::ProductIdOver14Days( selection ); |
| | | if( productIdsOver14Days <> "" ) { |
| | | if( WebMessageBox::Question( "è¯¥æ¹æ¬¡ä¸çç©æå·" + productIdsOver14Days + "订ååºè¯¥å¨2å¨åéæ¾ï¼è¯·ç¡®è®¤æ¯å¦ç°å¨éæ¾ï¼ï¼å·²éæ¾çå°è¢«è·³è¿ï¼" ) = 0 ) { |
| | | PRData::DoCall( GlobalOTDTable, selection, ApplicationMacroPlanner.GetUserName() ); |
| | | PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, selection, ApplicationMacroPlanner.GetUserName() ); |
| | | } |
| | | } else if( WebMessageBox::Question( "æ¯å¦åééä¸çæ°æ®ï¼ï¼å·²éæ¾çå°è¢«è·³è¿ï¼" ) = 0 ) { |
| | | PRData::DoCall( GlobalOTDTable, selection, ApplicationMacroPlanner.GetUserName() ); |
| | | PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, selection, ApplicationMacroPlanner.GetUserName() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | info( selection.PrintCall( GlobalOTDTable, ApplicationMacroPlanner.GetUserName() ) ) |
| | | info( selection.PrintCall( GlobalOTDTable, GlobalOTDSOP, ApplicationMacroPlanner.GetUserName() ) ) |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | MacroPlan.PRData( relflush ); |
| | | PRData::FromSupplyPlanning( GlobalOTDTable, MacroPlan, "", ApplicationMacroPlanner.GetUserName() ); |
| | | PRData::FromSupplyPlanning( GlobalOTDTable, GlobalOTDSOP, MacroPlan, "", ApplicationMacroPlanner.GetUserName() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | productIdsOver14Days := PRData::ProductIdOver14Days( DataHolderChecked.Data() ); |
| | | if( productIdsOver14Days <> "" ) { |
| | | if( WebMessageBox::Question( "è¯¥æ¹æ¬¡ä¸çç©æå·" + productIdsOver14Days + "订ååºè¯¥å¨2å¨åéæ¾ï¼è¯·ç¡®è®¤æ¯å¦ç°å¨éæ¾ï¼ï¼å·²éæ¾çå°è¢«è·³è¿ï¼" ) = 0 ) { |
| | | PRData::DoCall( GlobalOTDTable, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() ); |
| | | PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() ); |
| | | } |
| | | } else if( WebMessageBox::Question( "æ¯å¦åééä¸çæ°æ®ï¼ï¼å·²éæ¾çå°è¢«è·³è¿ï¼" ) = 0 ) { |
| | | PRData::DoCall( GlobalOTDTable, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() ); |
| | | PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, DataHolderActiveScenario.Data() ); |
| | | CapacityAllocationResults::CreateDate( GlobalOTDSOP, MacroPlan, DataHolderActiveScenario.Data() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAllocationResultsRuleConfiguration' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | CapacityAllocationResults::Test1( MacroPlan, GlobalOTDTable, selection ); |
| | | CapacityAllocationResults::Test1( MacroPlan, GlobalOTDSOP, selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | Application.Download( "产è½åé
ç»æè§å.xlsx", CapacityAllocationResultsRuleConfiguration::Export( GlobalOTDTable ).AsBinaryData() ); |
| | | Application.Download( "产è½åé
ç»æè§å.xlsx", CapacityAllocationResultsRuleConfiguration::Export( GlobalOTDSOP ).AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | |
| | | fileName := uploadJson.Get( "name" ).GetString(); |
| | | base64String := uploadJson.Get( "data" ).GetString(); |
| | | CapacityAllocationResultsRuleConfiguration::Import( GlobalOTDTable, base64String ); |
| | | CapacityAllocationResultsRuleConfiguration::Import( GlobalOTDSOP, base64String ); |
| | | |
| | | WebMessageBox::Success( "ä¸ä¼ æå", true ); |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | |
| | | [* |
| | | GlobalOTDTable.InitTestDataByYear( MacroPlan, DataHolderCapacityAndSaleBudgeFilterYear.Data() ); |
| | | Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( GlobalOTDTable ); |
| | | GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true ); |
| | | CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDTable ); |
| | | CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDTable ); |
| | | CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDTable ); |
| | | GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP ); |
| | | CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDSOP ); |
| | | CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDSOP ); |
| | | CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDSOP ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonExportTest |
| | | { |
| | | #keys: '[414384.0.914711826]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: 'å¯¼åºæµè¯' |
| | | Taborder: 2 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component ButtonGenerateTestData |
| | | { |
| | | #keys: '[414384.0.971540693]' |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Label: 'æ ¹æ®çéæä»½çææµè¯æ°æ®' |
| | | Label: 'æ ¹æ®çéå¹´ä»½çææµè¯æ°æ®' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeChartElement' |
| | | ] |
| | |
| | | [* |
| | | //CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable ); |
| | | |
| | | GlobalOTDTable.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DropDownSaleOrCapacity.Text(), |
| | | DropDownTimeGroup.Text(), |
| | | DropDownByBusinessTypeOrByOrgCode.Text(), |
| | | DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | GlobalOTDTable ); |
| | | GlobalOTDSOP.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DropDownSaleOrCapacity.Text(), |
| | | DropDownTimeGroup.Text(), |
| | | DropDownByBusinessTypeOrByOrgCode.Text(), |
| | | DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeCompareItemColumn.CapacityAndSaleBudgeCompareItemCell' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeCompareItemRow' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeCompareItemColumn' |
| | | ] |
| | |
| | | info( DataHolderCapacityAndSaleBudgeFilterItem.Data().Size() ); |
| | | info( DataHolderCapacityAndSaleBudgeFilterYear.Data().Size() ); |
| | | info( DataHolderCapacityAndSaleBudgeFilterMonth.Data().Size() ); |
| | | GlobalOTDTable.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterItem.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | GlobalOTDTable ); |
| | | GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterItem.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterYear.Data(), |
| | | DataHolderCapacityAndSaleBudgeFilterMonth.Data(), |
| | | GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | tableBinaryData := GlobalOTDTable.CapacityAndSaleBudgeCompareExport().AsBinaryData(); |
| | | Application.Download( "年度产éé¢ç®å¯¹æ¯.xlsx", tableBinaryData ); |
| | | Application.Download( "年度产éé¢ç®å¯¹æ¯.xlsx", GlobalOTDSOP.CapacityAndSaleBudgeCompareExport().AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterBusinessType' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true ); |
| | | GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterItem' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterMonth' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterPlaceOfProductionOfArray' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true ); |
| | | GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'CapacityAndSaleBudgeFilterYear' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialIT' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | [ |
| | | Image: 'VIEW' |
| | | Taborder: 3 |
| | | Title: 'æ¾ç¤ºæ°æ®' |
| | | Title: 'æµè¯' |
| | | ] |
| | | } |
| | | Component MenuDelete |
| | |
| | | //GlobalOTDTable.Global_ShowCell( relflush ); |
| | | // |
| | | //Global_ShowCell::ShowData( GlobalOTDTable, selection ); |
| | | WebMessageBox::Information( "æ¤æé®ç¨äºæµè¯", true ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'ManufactureLTImputation' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | ManufactureLTImputation::Transfer( MacroPlan, GlobalOTDTable ); |
| | | ManufactureLTImputation::Transfer( MacroPlan, GlobalOTDSOP ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'MatAttrSettingAndPlanStrategy' |
| | | ] |
| | |
| | | |
| | | fileName := uploadJson.Get( "name" ).GetString(); |
| | | base64String := uploadJson.Get( "data" ).GetString(); |
| | | matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDTable, fileName, base64String, ApplicationMacroPlanner.GetUserName() ); |
| | | matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDSOP, fileName, base64String, ApplicationMacroPlanner.GetUserName() ); |
| | | |
| | | matAttrSettingAndPlanStrategyInputSource.ParseTable(); |
| | | |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | MatAttrSettingAndPlanStrategy::SynchronizeInventoryTargets( GlobalOTDTable, MacroPlan ); |
| | | MatAttrSettingAndPlanStrategy::SynchronizeInventoryTargets( GlobalOTDSOP, MacroPlan ); |
| | | |
| | | WebMessageBox::Success( "åºåç®æ 忥æå", true ); |
| | | *] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PRHistoryData' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | Application.Download( "PRHistoryData.xlsx", PRHistoryData::Export( GlobalOTDTable ) ); |
| | | Application.Download( "PRHistoryData.xlsx", PRHistoryData::Export( GlobalOTDSOP ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialAutomotiveElectronics' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "汽车çµå" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "汽车çµå" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "汽车çµå" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "汽车çµå" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialSpecializedDisplay' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "䏿¾" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "䏿¾" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "䏿¾" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "䏿¾" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialSportsHealth' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "è¿å¨å¥åº·" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "è¿å¨å¥åº·" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "è¿å¨å¥åº·" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "è¿å¨å¥åº·" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialTM17' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialTM18' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialTianHua' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "天å" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "天å" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "天å" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "天å" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'PanelMaterialAll.PanelMaterialVehicle' |
| | | ] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "车载" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "车载" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "车载" ); |
| | | targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "车载" ); |
| | | if ( not isnull( targetPanelMaterialAll ) ) { |
| | | this.Data( targetPanelMaterialAll ); |
| | | } |
| | |
| | | Taborder: 21 |
| | | ] |
| | | } |
| | | Component MenuScenarioDataDistribution |
| | | { |
| | | #keys: '[414702.1.89337672]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'CABINET_FLASH' |
| | | Taborder: 22 |
| | | Title: 'æ°æ®åå' |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios' |
| | | FixedFilter: 'availablescenarios.Find( object ) >= 0' |
| | | ] |
| | | } |
| | | Component DataExtractorScenario #extension |
| | | { |
| | | Properties: |
| | | [ |
| | | FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios' |
| | | FixedFilter: 'availablescenarios.Find( object ) >= 0' |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | [* |
| | | // Edit scenario |
| | | dlg := construct( DialogCreateEditScenario ); |
| | | dlg.dropDownStringListGeneral().Visible( selection.EnableSync() ); |
| | | dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) ); |
| | | dlg.DropDownListGeneral().Visible( selection.EnableSync() ); |
| | | dlg.checkboxIsKeyProduct().Visible( selection.EnableSync() ); |
| | | dlg.checkboxCreatePurchaseSupplyProduct().Visible( selection.EnableSync() ); |
| | | |
| | |
| | | Body: |
| | | [* |
| | | // Copy scenario |
| | | owner := GlobalOTDTable; |
| | | owner := GlobalOTDSOP; |
| | | macroplan := MacroPlan; |
| | | testbusinesstype := "éå¢"; |
| | | |
| | | VersionControl::ReleaseNewVersion( owner, testbusinesstype ); |
| | | GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype ); |
| | | GlobalOTDSOP::GetOutputVersionData( owner, macroplan, testbusinesstype ); |
| | | selection.SetReleased(); |
| | | |
| | | versionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 3 ); |
| | |
| | | Body: |
| | | [* |
| | | // Copy scenario |
| | | owner := GlobalOTDTable; |
| | | owner := GlobalOTDSOP; |
| | | macroplan := MacroPlan; |
| | | testbusinesstype := "éå¢"; |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListScenario |
| | | Response OnClick ( |
| | | Scenario selection |
| | | ) id:Response_ListScenario_MenuScenarioDataDistribution_OnClick |
| | | { |
| | | #keys: '[414702.1.89410379]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListScenario/Responsedef_ListScenario_WebMenu_OnClick |
| | | Initiator: 'MenuScenarioDataDistribution' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogDataDistribution ); |
| | | |
| | | dlg.DataDistribution( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | owner := GlobalOTDTable; |
| | | owner := GlobalOTDSOP; |
| | | testbusinesstype := "éå¢"; |
| | | rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 2 ); |
| | | dlg := construct( DialogVersionIDCopy ); |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | owner := GlobalOTDTable; |
| | | owner := GlobalOTDSOP; |
| | | testbusinesstype := "éå¢"; |
| | | //GlobalOTDTable::GetVersionData( owner, testbusinesstype ); |
| | | rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 0 ); |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | owner := GlobalOTDTable; |
| | | owner := GlobalOTDSOP; |
| | | macroplan := MacroPlan; |
| | | testbusinesstype := "éå¢"; |
| | | |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'VersionStatus' |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | DataType: 'GlobalOTDSOP' |
| | | Source: 'GlobalOTDSOP' |
| | | Taborder: 0 |
| | | Transformation: 'WorkOrderType' |
| | | ] |
| | |
| | | ColorSchemeChartEntry |
| | | { |
| | | Definition: 'CurrencyRates' |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B22900' Value: 'HUF' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2004D' Value: '港å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35B2A6' Value: 'é»å·´å«©é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$AFE572' Value: 'ä¹å
¹å«å
æ¯å¦èå§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$0B00B2' Value: 'åäºé£å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E58B' Value: 'è丹第纳å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$729CE5' Value: 'ææå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E572CC' Value: '津巴å¸é¦å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6AFE00' Value: 'æ ¼æ¥å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E5CE' Value: 'è²å¾å®¾æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5A872' Value: 'TRY' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$981E4D' Value: '第纳å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$003FFF' Value: 'DKK' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35B2B0' Value: 'é¿æ¼éäºå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FEA54C' Value: 'å·´æ³¢äº' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6BB235' Value: 'æºå©æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$98824C' Value: 'ZAR' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$144ECB' Value: '巴西é·é¿å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B23542' Value: '塿' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E572DF' Value: 'åºå¸å¸åºåä½ - 欧洲记å¸åä½ 17 (E.U.A.-17)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFE6A' Value: 'æ©å°å¤ç¦åä¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00B282' Value: 'ä¹é¨ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7B4C98' Value: 'å¢¨è¥¿å¥æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$A000B2' Value: 'æ¯éå
°å¡å¢æ¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4C6A' Value: 'åºå¸å¸åºåä½ - 欧洲货å¸åæåä½ (EURCO)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7C35B2' Value: 'CFA æ³é BEAC' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$984C89' Value: 'CHF' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6A4CFE' Value: 'æ¾³é¨å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B28635' Value: 'åå' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5C472' Value: 'å 纳å¡è¿ªï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB5178' Value: '墿ºè¾¾æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$5BFE4C' Value: 'å®éå°æ¯å¡å¡' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E1FE4C' Value: '巴巴夿¯å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$8200B2' Value: 'EEK' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFED2' Value: 'é¿å¯æ±å°¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$754C98' Value: 'å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$981E94' Value: '西ççæ¯å¡å¡' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C9862' Value: 'åææ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$143FCB' Value: 'å¯å
æ¢æ¯å¡å¡å¸æ·' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6E4C98' Value: 'CNY' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$63984C' Value: 'æ©æ´å¥è¿ªæå§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2DE583' Value: 'å°¼æ³å°å¢æ¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5742D' Value: 'æé' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$70984C' Value: 'Uruguary Peso en Unidades Indexadas' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$69984C' Value: 'å¡å°ç»´äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFEE1' Value: '约æ¦ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$411E98' Value: 'æ°å å¡å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E52D8F' Value: 'åæé²å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$52E52D' Value: 'æ°è°¢å
å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E9822' Value: 'ä¹åäº' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$20B200' Value: 'èå
é·' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CBA114' Value: '马æ¥è¥¿äºæåç¹' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE3F00' Value: 'å¯å
æ¢é©¬å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E6198' Value: 'å¸é迪æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E582' Value: 'èéåå
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$988E4C' Value: 'å¡èå°å¢æ¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72A6E5' Value: 'æ°åæ¯æå¤«ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$14CB36' Value: 'é¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C8998' Value: 'æ°ç´¢å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B4FE4C' Value: '婿¯éäºå
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00FE7F' Value: 'æ®æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CDE52D' Value: 'æ°å®½æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00B256' Value: 'KRW' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$14CB26' Value: 'æè±å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$5196CB' Value: 'é©¬è¾¾å æ¯å é¿éäºé' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B23800' Value: 'é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$F04CFE' Value: '澳大æè¥¿äº' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$372DE5' Value: 'ç¹æ®ç»ç®å¸ç§ - éæ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2DE592' Value: '徿 ¼éå
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35B267' Value: 'éå
°åå°¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FF00BF' Value: 'PHP' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2005C' Value: 'RON' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B23595' Value: 'ä¸å 忝å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E6C98' Value: 'è¾¾æè¥¿' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CCE572' Value: 'JPY' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$78CB51' Value: 'USD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7F00FF' Value: 'PLN' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE007F' Value: 'å
鲿å¤' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E5C4' Value: 'NOK' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E5798' Value: 'æ°å°å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2AF00' Value: 'HKD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C9868' Value: 'è¨å°ç¦å¤ç§é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E57289' Value: 'ç¦æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B12DE5' Value: 'æ¯å©æ¶æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51ABCB' Value: '忝æå¤«ç¬¬çº³å°ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7135B2' Value: 'é¿é²å·´å²ç¾' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$3FFE00' Value: 'å
鲿©' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2900B2' Value: 'å æ¿å¤§å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE00AA' Value: 'å¤å¾·' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2C1E98' Value: 'è·å±å®çåæ¯ç¾¤å²ç¾' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4CF0' Value: 'é¶' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$0079B2' Value: 'è·å
°ç¾' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6ECB51' Value: 'é¿å¡æç马å¥ç¹ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$359FB2' Value: 'ç»è®¡' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7CCB14' Value: 'çä¹°å å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C6398' Value: 'INR' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$BFCB51' Value: '奿' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B5CB51' Value: '墿£®å ¡æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B29B35' Value: 'åºå¸å¸åºåä½ - 欧洲记å¸åä½ 9 (E.U.A.-9)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$D2FE4C' Value: 'é¿å¡æç马å¥ç¹' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51CB9B' Value: 'çå
¸å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$8A981E' Value: '丹麦å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C9895' Value: 'SEK' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$63CB51' Value: 'åªå°ç¹é²å§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$A872E5' Value: 'å¡å°ä¼¯ç¦èå
¹' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4C5B' Value: 'ç¾å
ï¼æ¬¡æ¥ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2FB200' Value: 'MYR' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C5D98' Value: 'å§å
çæåå©ç¦' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB14B9' Value: 'åå
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C9098' Value: '纳å
æ³' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$8635B2' Value: 'å
令' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FEFE00' Value: 'å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$A551CB' Value: 'Euro' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$54FE00' Value: 'ç½ä¿ç½æ¯å¢å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00FE6A' Value: 'ä¿å å©äºåå¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$0000FE' Value: 'å
ç½å°äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$8BCB14' Value: 'ç¹æ®ç»ç®å¸ç§ - UIC æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$97B200' Value: 'å å
äºæ¯ç»æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E52D9F' Value: 'é©¬è¾¾å æ¯å æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$824C98' Value: 'èéåç¾' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$61E52D' Value: 'ç¼
å
ï¼å·²åºå¼ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$0002B2' Value: 'THB' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFE5B' Value: 'æä¼å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2359F' Value: 'ç´å¸ç½éé' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB518C' Value: 'å·´å马å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$794CFE' Value: 'åºå¸å¸åºåä½ - 欧洲货å¸åä½ (E.M.U.-6)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B25600' Value: 'CFP æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2002F' Value: 'å å
äºæ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$9E72E5' Value: 'Unidades de formento' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$A22DE5' Value: '婿' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2A635' Value: '宽æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB149B' Value: 'ç§æ©ç½æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C986E' Value: 'ä¹å¹²è¾¾å
令ï¼ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$14CBB0' Value: 'çæå°¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE0094' Value: 'ç´¢è«å°¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$981E39' Value: 'ä¹æåæ¯ç´¢(1)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFE4C' Value: 'ç½ä¿ç½æ¯å¢å¸ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$AF00B2' Value: '津巴å¸é¦å
ï¼ä¸å使ç¨ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$874CFE' Value: 'å°å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB7251' Value: 'çå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E9874' Value: '马纳ç¹ï¼ä¸å使ç¨ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E578' Value: 'ç纳ç¹' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6735B2' Value: 'WIR 欧å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4C87' Value: 'ååé' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$984B1E' Value: 'å¾·å½é©¬å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E987E' Value: 'æ°åè³å
¶éæ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$80B235' Value: 'ç¾' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$88B200' Value: 'ç§å¤å·´å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFEC3' Value: 'ç±å°å
°é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB5182' Value: 'æªå¨å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B23537' Value: 'é¿æä¼¯èåé
é¿å½è¿ªæå§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB7C51' Value: 'æ¢
迪å¡å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5D02D' Value: 'å¤ç±³å°¼å æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$0088B2' Value: 'RUB' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$80981E' Value: '伯å©å
¹å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2D43E5' Value: 'ä¸å¸æ±¶ååºå¤' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1A00B2' Value: 'æ¯æ´ä¼å
å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5B172' Value: 'å
ç¦æ¥' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$24981E' Value: 'é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B951CB' Value: '欧洲货å¸åä½ (E.C.U.)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$005CB2' Value: 'å 纳å¡è¿ª' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00E9FE' Value: '奿¯è¾¾é»å ç§é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51A1CB' Value: 'ç士æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: 'Red' Value: 'EUR' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$964CFE' Value: 'å
ç¦æ¥(1)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6314CB' Value: 'æè²äº' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$BF00FE' Value: 'æ´è' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$3542B2' Value: 'ç«é¶å®é塿¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35B248' Value: 'æ°æä¼å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E57280' Value: 'æç½é¨ç¾¤å²å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$14C8CB' Value: 'æ å¸ç§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00BFFE' Value: 'ç´¢å§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2E981E' Value: 'å
¹ç½æï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B23580' Value: 'æè±ç»´äºå¢å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$984C76' Value: 'åå¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72AFE5' Value: 'NZD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C87FE' Value: 'æ¥å' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E5D8' Value: 'å¡å¡' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB142F' Value: 'ä¿ç½æ¯å¢å¸ï¼æ§å¸ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4CE1' Value: 'å
ç½å°äºåºçº³' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$985F1E' Value: 'åè³å
¶éæ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E172E5' Value: 'GBP' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51CB90' Value: 'ä½å¾è§åæ¯åºå¤' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4CFE' Value: 'é¿å°åå©äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5642D' Value: '伿éäºå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$354CB2' Value: 'Mexican Unidad de Inversion (UDI)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$A900FE' Value: 'æè±ç»´äºæç¹' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$76B235' Value: 'é¿å¯æ±å°¼ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51CBA5' Value: 'ç¾æå¡ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B24700' Value: 'å叿æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$14CBBF' Value: 'æ°ç½é©¬å°¼äºåä¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$02B200' Value: '弿¼ç¾¤å²å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$61B235' Value: '宽æï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$72E5E1' Value: 'å¡å¡å°éäºå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FFBF00' Value: 'AUD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$DCE52D' Value: 'CFA æ³é BCEAO' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$9100B2' Value: '马è³ä»éæ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$98954C' Value: '纳米æ¯äºå
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$984C83' Value: 'è´¢æ¿æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$98884C' Value: 'äºç¾å°¼äºå¾·æå§' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$11B200' Value: 'å¢¨è¥¿å¥æ¯ç´¢ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$5414CB' Value: 'ä¿ç½æ¯å¢å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C9698' Value: 'æ²ç¹éäºå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$002AFE' Value: 'å¥ä¼¦æ¯äºæ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00B274' Value: 'è丹é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$C3E572' Value: 'ææµå
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$5D51CB' Value: 'è¡èç忝åºå¤' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2DBDE5' Value: 'å°å²å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$981E43' Value: 'æ³å½æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C5698' Value: 'å§ç»´å¤' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35AAB2' Value: 'Unidad de Valor Constante (UVC)' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6DCB14' Value: 'æ¯éæ±æ¯å¢æ¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$6851CB' Value: 'WIR æ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B9E572' Value: 'æå¤§å©éæ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB1420' Value: 'ä¹é¨éäºå°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E57276' Value: 'åæ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FEE900' Value: 'ä¹å¹²è¾¾å
令' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: 'Cyan' Value: 'HRK' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00D4FE' Value: 'é¦å ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$76984C' Value: 'SGD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$1E986A' Value: 'æµè¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$5351CB' Value: 'åå¡ä¿æ¯äºæ¯å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00B265' Value: '赫è±' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$984C7C' Value: 'ç¾å
ï¼åæ¥ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$371E98' Value: 'ç¾å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B29135' Value: 'åºå¸å¸åºåä½ - 欧洲记å¸åä½ 17ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FEB44C' Value: '妿¡å°¼äºå
令' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E52D80' Value: 'ç¹å«ææ¬¾æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CFEF0' Value: 'è¯å°¼äºå
令' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51B5CB' Value: 'RMB' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FED400' Value: 'æ ¼é²åäºæ¯ç¥¨' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$AF51CB' Value: 'éèå
°å¾·' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C96FE' Value: 'å°åº¦å¢æ¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CBC351' Value: 'BRL' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35B25D' Value: 'Unidad de Valor Real' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2DCDE5' Value: 'ä¹æåæ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$35B252' Value: 'é¿æ ¹å»·æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$881E98' Value: 'é©å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$76981E' Value: 'ç¦åªé¿å¾' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$C02DE5' Value: 'ç¹ç«å°¼è¾¾åå¤å·´å¥å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$A6B200' Value: 'åºæ®' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$5159CB' Value: 'TWD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$006BB2' Value: 'åå©äºé' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7293E5' Value: 'æ°è¥¿å
°å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB8651' Value: '墿¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7FFF00' Value: 'BGN' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$921E98' Value: 'åå©ç¦' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$98551E' Value: 'ç»å©ç»´äºæ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$51CB86' Value: 'Dollar' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$C9CB51' Value: '忝æå¤«ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$14CB45' Value: 'å¯å
æ¢çæ³é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$C3FE4C' Value: 'è±é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$9400FE' Value: 'å¤å·´æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$76E572' Value: 'LVL' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE964C' Value: '欧å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB9114' Value: 'ç§å¤å·´' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2DAEE5' Value: 'çªå°¼æ¯ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$71E52D' Value: 'æ³°é¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C5098' Value: 'åä¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FEC34C' Value: '婿¯äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$FE4C79' Value: 'å
°ç¹' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$59CB51' Value: 'å¡åå
æ¯å¦å¢å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2003E' Value: 'å£èµ«åæ¿é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5BB72' Value: 'è丹第纳å°ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$145DCB' Value: 'å¾·æå
马' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00FE55' Value: '马å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CA5FE' Value: '塿µ¦è·¯æ¯é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2DE574' Value: 'å¤å¸æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E572D6' Value: '索马éå
令' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E57293' Value: 'LTL' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$7314CB' Value: 'ç§å¨ç¹ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4C985B' Value: 'MXN' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$0015FE' Value: 'ç¾æ
大å
ï¼ç¾æ
大å
ï¼' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$C351CB' Value: 'ä¼¦ç®æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$4CB4FE' Value: 'æ¾³å
' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$3561B2' Value: 'æ·å
å
æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$9572E5' Value: 'ç¦å
å
°ç¾¤å²é' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$2D34E5' Value: 'æ¯ç´¢å¯ææ¢' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$984C50' Value: 'CAD' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$3556B2' Value: '伿å
第纳å°' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$E5DF2D' Value: 'å·´åºæ¯å¦å¢æ¯' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB5196' Value: '人æ°å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB8214' Value: 'å¢å¸' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$B2358A' Value: 'å
¹ç½æ' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$8B72E5' Value: 'IDR' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$00FF3F' Value: 'CZK' } |
| | | ChartEntryValue { Access: 738805.577453704 Color: '$CB14AA' Value: 'å·´æç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B22900' Value: 'HUF' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2004D' Value: '港å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35B2A6' Value: 'é»å·´å«©é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$AFE572' Value: 'ä¹å
¹å«å
æ¯å¦èå§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$0B00B2' Value: 'åäºé£å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E58B' Value: 'è丹第纳å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$729CE5' Value: 'ææå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E572CC' Value: '津巴å¸é¦å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6AFE00' Value: 'æ ¼æ¥å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E5CE' Value: 'è²å¾å®¾æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5A872' Value: 'TRY' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$981E4D' Value: '第纳å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$003FFF' Value: 'DKK' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35B2B0' Value: 'é¿æ¼éäºå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FEA54C' Value: 'å·´æ³¢äº' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6BB235' Value: 'æºå©æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$98824C' Value: 'ZAR' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$144ECB' Value: '巴西é·é¿å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B23542' Value: '塿' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E572DF' Value: 'åºå¸å¸åºåä½ - 欧洲记å¸åä½ 17 (E.U.A.-17)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFE6A' Value: 'æ©å°å¤ç¦åä¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00B282' Value: 'ä¹é¨ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7B4C98' Value: 'å¢¨è¥¿å¥æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$A000B2' Value: 'æ¯éå
°å¡å¢æ¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4C6A' Value: 'åºå¸å¸åºåä½ - 欧洲货å¸åæåä½ (EURCO)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7C35B2' Value: 'CFA æ³é BEAC' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$984C89' Value: 'CHF' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6A4CFE' Value: 'æ¾³é¨å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B28635' Value: 'åå' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5C472' Value: 'å 纳å¡è¿ªï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB5178' Value: '墿ºè¾¾æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$5BFE4C' Value: 'å®éå°æ¯å¡å¡' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E1FE4C' Value: '巴巴夿¯å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$8200B2' Value: 'EEK' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFED2' Value: 'é¿å¯æ±å°¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$754C98' Value: 'å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$981E94' Value: '西ççæ¯å¡å¡' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C9862' Value: 'åææ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$143FCB' Value: 'å¯å
æ¢æ¯å¡å¡å¸æ·' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6E4C98' Value: 'CNY' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$63984C' Value: 'æ©æ´å¥è¿ªæå§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2DE583' Value: 'å°¼æ³å°å¢æ¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5742D' Value: 'æé' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$70984C' Value: 'Uruguary Peso en Unidades Indexadas' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$69984C' Value: 'å¡å°ç»´äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFEE1' Value: '约æ¦ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$411E98' Value: 'æ°å å¡å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E52D8F' Value: 'åæé²å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$52E52D' Value: 'æ°è°¢å
å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E9822' Value: 'ä¹åäº' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$20B200' Value: 'èå
é·' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CBA114' Value: '马æ¥è¥¿äºæåç¹' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE3F00' Value: 'å¯å
æ¢é©¬å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E6198' Value: 'å¸é迪æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E582' Value: 'èéåå
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$988E4C' Value: 'å¡èå°å¢æ¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72A6E5' Value: 'æ°åæ¯æå¤«ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$14CB36' Value: 'é¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C8998' Value: 'æ°ç´¢å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B4FE4C' Value: '婿¯éäºå
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00FE7F' Value: 'æ®æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CDE52D' Value: 'æ°å®½æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00B256' Value: 'KRW' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$14CB26' Value: 'æè±å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$5196CB' Value: 'é©¬è¾¾å æ¯å é¿éäºé' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B23800' Value: 'é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$F04CFE' Value: '澳大æè¥¿äº' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$372DE5' Value: 'ç¹æ®ç»ç®å¸ç§ - éæ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2DE592' Value: '徿 ¼éå
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35B267' Value: 'éå
°åå°¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FF00BF' Value: 'PHP' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2005C' Value: 'RON' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B23595' Value: 'ä¸å 忝å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E6C98' Value: 'è¾¾æè¥¿' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CCE572' Value: 'JPY' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$78CB51' Value: 'USD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7F00FF' Value: 'PLN' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE007F' Value: 'å
鲿å¤' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E5C4' Value: 'NOK' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E5798' Value: 'æ°å°å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2AF00' Value: 'HKD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C9868' Value: 'è¨å°ç¦å¤ç§é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E57289' Value: 'ç¦æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B12DE5' Value: 'æ¯å©æ¶æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51ABCB' Value: '忝æå¤«ç¬¬çº³å°ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7135B2' Value: 'é¿é²å·´å²ç¾' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$3FFE00' Value: 'å
鲿©' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2900B2' Value: 'å æ¿å¤§å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE00AA' Value: 'å¤å¾·' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2C1E98' Value: 'è·å±å®çåæ¯ç¾¤å²ç¾' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4CF0' Value: 'é¶' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$0079B2' Value: 'è·å
°ç¾' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6ECB51' Value: 'é¿å¡æç马å¥ç¹ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$359FB2' Value: 'ç»è®¡' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7CCB14' Value: 'çä¹°å å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C6398' Value: 'INR' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$BFCB51' Value: '奿' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B5CB51' Value: '墿£®å ¡æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B29B35' Value: 'åºå¸å¸åºåä½ - 欧洲记å¸åä½ 9 (E.U.A.-9)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$D2FE4C' Value: 'é¿å¡æç马å¥ç¹' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51CB9B' Value: 'çå
¸å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$8A981E' Value: '丹麦å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C9895' Value: 'SEK' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$63CB51' Value: 'åªå°ç¹é²å§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$A872E5' Value: 'å¡å°ä¼¯ç¦èå
¹' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4C5B' Value: 'ç¾å
ï¼æ¬¡æ¥ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2FB200' Value: 'MYR' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C5D98' Value: 'å§å
çæåå©ç¦' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB14B9' Value: 'åå
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C9098' Value: '纳å
æ³' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$8635B2' Value: 'å
令' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FEFE00' Value: 'å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$A551CB' Value: 'Euro' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$54FE00' Value: 'ç½ä¿ç½æ¯å¢å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00FE6A' Value: 'ä¿å å©äºåå¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$0000FE' Value: 'å
ç½å°äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$8BCB14' Value: 'ç¹æ®ç»ç®å¸ç§ - UIC æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$97B200' Value: 'å å
äºæ¯ç»æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E52D9F' Value: 'é©¬è¾¾å æ¯å æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$824C98' Value: 'èéåç¾' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$61E52D' Value: 'ç¼
å
ï¼å·²åºå¼ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$0002B2' Value: 'THB' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFE5B' Value: 'æä¼å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2359F' Value: 'ç´å¸ç½éé' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB518C' Value: 'å·´å马å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$794CFE' Value: 'åºå¸å¸åºåä½ - 欧洲货å¸åä½ (E.M.U.-6)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B25600' Value: 'CFP æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2002F' Value: 'å å
äºæ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$9E72E5' Value: 'Unidades de formento' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$A22DE5' Value: '婿' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2A635' Value: '宽æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB149B' Value: 'ç§æ©ç½æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C986E' Value: 'ä¹å¹²è¾¾å
令ï¼ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$14CBB0' Value: 'çæå°¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE0094' Value: 'ç´¢è«å°¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$981E39' Value: 'ä¹æåæ¯ç´¢(1)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFE4C' Value: 'ç½ä¿ç½æ¯å¢å¸ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$AF00B2' Value: '津巴å¸é¦å
ï¼ä¸å使ç¨ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$874CFE' Value: 'å°å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB7251' Value: 'çå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E9874' Value: '马纳ç¹ï¼ä¸å使ç¨ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E578' Value: 'ç纳ç¹' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6735B2' Value: 'WIR 欧å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4C87' Value: 'ååé' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$984B1E' Value: 'å¾·å½é©¬å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E987E' Value: 'æ°åè³å
¶éæ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$80B235' Value: 'ç¾' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$88B200' Value: 'ç§å¤å·´å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFEC3' Value: 'ç±å°å
°é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB5182' Value: 'æªå¨å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B23537' Value: 'é¿æä¼¯èåé
é¿å½è¿ªæå§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB7C51' Value: 'æ¢
迪å¡å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5D02D' Value: 'å¤ç±³å°¼å æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$0088B2' Value: 'RUB' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$80981E' Value: '伯å©å
¹å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2D43E5' Value: 'ä¸å¸æ±¶ååºå¤' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1A00B2' Value: 'æ¯æ´ä¼å
å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5B172' Value: 'å
ç¦æ¥' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$24981E' Value: 'é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B951CB' Value: '欧洲货å¸åä½ (E.C.U.)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$005CB2' Value: 'å 纳å¡è¿ª' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00E9FE' Value: '奿¯è¾¾é»å ç§é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51A1CB' Value: 'ç士æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: 'Red' Value: 'EUR' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$964CFE' Value: 'å
ç¦æ¥(1)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6314CB' Value: 'æè²äº' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$BF00FE' Value: 'æ´è' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$3542B2' Value: 'ç«é¶å®é塿¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35B248' Value: 'æ°æä¼å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E57280' Value: 'æç½é¨ç¾¤å²å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$14C8CB' Value: 'æ å¸ç§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00BFFE' Value: 'ç´¢å§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2E981E' Value: 'å
¹ç½æï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B23580' Value: 'æè±ç»´äºå¢å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$984C76' Value: 'åå¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72AFE5' Value: 'NZD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C87FE' Value: 'æ¥å' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E5D8' Value: 'å¡å¡' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB142F' Value: 'ä¿ç½æ¯å¢å¸ï¼æ§å¸ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4CE1' Value: 'å
ç½å°äºåºçº³' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$985F1E' Value: 'åè³å
¶éæ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E172E5' Value: 'GBP' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51CB90' Value: 'ä½å¾è§åæ¯åºå¤' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4CFE' Value: 'é¿å°åå©äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5642D' Value: '伿éäºå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$354CB2' Value: 'Mexican Unidad de Inversion (UDI)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$A900FE' Value: 'æè±ç»´äºæç¹' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$76B235' Value: 'é¿å¯æ±å°¼ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51CBA5' Value: 'ç¾æå¡ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B24700' Value: 'å叿æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$14CBBF' Value: 'æ°ç½é©¬å°¼äºåä¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$02B200' Value: '弿¼ç¾¤å²å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$61B235' Value: '宽æï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$72E5E1' Value: 'å¡å¡å°éäºå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FFBF00' Value: 'AUD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$DCE52D' Value: 'CFA æ³é BCEAO' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$9100B2' Value: '马è³ä»éæ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$98954C' Value: '纳米æ¯äºå
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$984C83' Value: 'è´¢æ¿æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$98884C' Value: 'äºç¾å°¼äºå¾·æå§' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$11B200' Value: 'å¢¨è¥¿å¥æ¯ç´¢ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$5414CB' Value: 'ä¿ç½æ¯å¢å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C9698' Value: 'æ²ç¹éäºå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$002AFE' Value: 'å¥ä¼¦æ¯äºæ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00B274' Value: 'è丹é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$C3E572' Value: 'ææµå
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$5D51CB' Value: 'è¡èç忝åºå¤' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2DBDE5' Value: 'å°å²å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$981E43' Value: 'æ³å½æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C5698' Value: 'å§ç»´å¤' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35AAB2' Value: 'Unidad de Valor Constante (UVC)' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6DCB14' Value: 'æ¯éæ±æ¯å¢æ¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$6851CB' Value: 'WIR æ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B9E572' Value: 'æå¤§å©éæ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB1420' Value: 'ä¹é¨éäºå°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E57276' Value: 'åæ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FEE900' Value: 'ä¹å¹²è¾¾å
令' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: 'Cyan' Value: 'HRK' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00D4FE' Value: 'é¦å ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$76984C' Value: 'SGD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$1E986A' Value: 'æµè¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$5351CB' Value: 'åå¡ä¿æ¯äºæ¯å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00B265' Value: '赫è±' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$984C7C' Value: 'ç¾å
ï¼åæ¥ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$371E98' Value: 'ç¾å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B29135' Value: 'åºå¸å¸åºåä½ - 欧洲记å¸åä½ 17ï¼å·²ä½åºï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FEB44C' Value: '妿¡å°¼äºå
令' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E52D80' Value: 'ç¹å«ææ¬¾æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CFEF0' Value: 'è¯å°¼äºå
令' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51B5CB' Value: 'RMB' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FED400' Value: 'æ ¼é²åäºæ¯ç¥¨' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$AF51CB' Value: 'éèå
°å¾·' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C96FE' Value: 'å°åº¦å¢æ¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CBC351' Value: 'BRL' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35B25D' Value: 'Unidad de Valor Real' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2DCDE5' Value: 'ä¹æåæ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$35B252' Value: 'é¿æ ¹å»·æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$881E98' Value: 'é©å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$76981E' Value: 'ç¦åªé¿å¾' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$C02DE5' Value: 'ç¹ç«å°¼è¾¾åå¤å·´å¥å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$A6B200' Value: 'åºæ®' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$5159CB' Value: 'TWD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$006BB2' Value: 'åå©äºé' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7293E5' Value: 'æ°è¥¿å
°å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB8651' Value: '墿¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7FFF00' Value: 'BGN' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$921E98' Value: 'åå©ç¦' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$98551E' Value: 'ç»å©ç»´äºæ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$51CB86' Value: 'Dollar' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$C9CB51' Value: '忝æå¤«ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$14CB45' Value: 'å¯å
æ¢çæ³é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$C3FE4C' Value: 'è±é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$9400FE' Value: 'å¤å·´æ¯ç´¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$76E572' Value: 'LVL' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE964C' Value: '欧å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB9114' Value: 'ç§å¤å·´' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2DAEE5' Value: 'çªå°¼æ¯ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$71E52D' Value: 'æ³°é¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C5098' Value: 'åä¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FEC34C' Value: '婿¯äºç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$FE4C79' Value: 'å
°ç¹' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$59CB51' Value: 'å¡åå
æ¯å¦å¢å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2003E' Value: 'å£èµ«åæ¿é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5BB72' Value: 'è丹第纳å°ï¼æ§ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$145DCB' Value: 'å¾·æå
马' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00FE55' Value: '马å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CA5FE' Value: '塿µ¦è·¯æ¯é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2DE574' Value: 'å¤å¸æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E572D6' Value: '索马éå
令' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E57293' Value: 'LTL' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$7314CB' Value: 'ç§å¨ç¹ç¬¬çº³å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4C985B' Value: 'MXN' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$0015FE' Value: 'ç¾æ
大å
ï¼ç¾æ
大å
ï¼' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$C351CB' Value: 'ä¼¦ç®æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$4CB4FE' Value: 'æ¾³å
' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$3561B2' Value: 'æ·å
å
æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$9572E5' Value: 'ç¦å
å
°ç¾¤å²é' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$2D34E5' Value: 'æ¯ç´¢å¯ææ¢' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$984C50' Value: 'CAD' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$3556B2' Value: '伿å
第纳å°' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$E5DF2D' Value: 'å·´åºæ¯å¦å¢æ¯' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB5196' Value: '人æ°å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB8214' Value: 'å¢å¸' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$B2358A' Value: 'å
¹ç½æ' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$8B72E5' Value: 'IDR' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$00FF3F' Value: 'CZK' } |
| | | ChartEntryValue { Access: 738766.584444444 Color: '$CB14AA' Value: 'å·´æç¬¬çº³å°' } |
| | | } |
| | | ColorSchemeEntry |
| | | { |