Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
已修改42个文件
已添加194个文件
已删除4个文件
| | |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: LibCal_ExplicitTimeInterval |
| | | OwningSide: 'Reference' |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | | RelationSide.RightSide SubscribingETI |
| | | { |
| | |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: LibCal_ExplicitTimeInterval |
| | | OwningSide: 'Reference' |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | | } |
| | |
| | | // Directly update the relation from the Participations to the RecurrencePattern. |
| | | Transaction::Transaction().Propagate( relation( LibCal_Participation, RecurrencePattern ) ); |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
| | |
| | | this.AddSubscriber( subscriber, useLeadingPeriod_i ); |
| | | } |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | |
| | | |
| | | this.SetSubscribers( subscribers_i, useLeadingPeriod ); |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
| | |
| | | subscription.EndDate( endDate_i ); |
| | | } |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
| | |
| | | onlyWhenChanged := true; |
| | | this.UpdateCalendar( onlyWhenChanged ); |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
| | |
| | | #keys: '3[131094.0.1190114209][131094.0.1190114208][131094.0.1190114210]' |
| | | Description: 'EndTime of the event. Is only relevant for non-recurring events.' |
| | | ValueType: DateTime |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | |
| | | |
| | | return timeInterval; |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | } |
| | |
| | | // this.CalcIsRecurring(); is not good enough here, explicit propagation is required. |
| | | Transaction::Transaction().Propagate( attribute( LibCal_Participation, IsRecurring ) ); |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
| | |
| | | } |
| | | } |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
| | |
| | | } |
| | | } |
| | | *] |
| | | InterfaceProperties { Accessibility: 'Module' } |
| | | InterfaceProperties { Accessibility: 'Extensible' } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Daemon MachineStockInterface |
| | | { |
| | | Frequency: P1DT0H0M0S |
| | | Priority: 'Default' |
| | | StartDate: 2024-07-19 |
| | | StartTimeOfDay: P0DT9H0M0S |
| | | Text: |
| | | [* |
| | | options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. |
| | | mdskey := DatasetController::FindUnique( options ); |
| | | |
| | | MDSInterfaceDataset::Root( mdskey ) -> MachineStockData::Synchronize( "Administrator" ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Daemon ShippingActualInterface |
| | | { |
| | | Frequency: P1DT0H0M0S |
| | | Priority: 'Default' |
| | | StartDate: 2024-07-19 |
| | | StartTimeOfDay: P0DT23H30M0S |
| | | Text: |
| | | [* |
| | | options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. |
| | | mdskey := DatasetController::FindUnique( options ); |
| | | |
| | | MDSInterfaceDataset::Root( mdskey ) -> ShippingActualData::Synchronize( "Administrator" ); |
| | | *] |
| | | } |
| | |
| | | { |
| | | DefaultText: 'There are duplicate three digit codes present' |
| | | } |
| | | InfoMessage InterfaceDataset_ActualDailyProductionData_Name |
| | | { |
| | | DefaultText: 'Actual daily production data' |
| | | } |
| | | InfoMessage InterfaceDataset_ActualDailyProductionData_Secret |
| | | { |
| | | DefaultText: '527086842571391021' |
| | | } |
| | | InfoMessage InterfaceDataset_ActualDailyProductionData_URL |
| | | { |
| | | DefaultText: '/data-service/api/service/post-data/V1.101/e014325a6be14dab818303ef90c2968a' |
| | | } |
| | | InfoMessage InterfaceDataset_Address |
| | | { |
| | | DefaultText: 'ds-yunrong-gw.dmp.vwfawedl.mobi' |
| | | } |
| | | InfoMessage InterfaceDataset_ContentType |
| | | { |
| | | DefaultText: 'application/json' |
| | | } |
| | | InfoMessage InterfaceDataset_FinishedEngineInventory_Name |
| | | { |
| | | DefaultText: 'Finished engine inventory' |
| | | } |
| | | InfoMessage InterfaceDataset_FinishedEngineInventory_Secret |
| | | { |
| | | DefaultText: '527100497300029474' |
| | | } |
| | | InfoMessage InterfaceDataset_FinishedEngineInventory_URL |
| | | { |
| | | DefaultText: '/data-service/api/service/post-data/V1.101/f084aa52d19c48d090416936a94f1dab' |
| | | } |
| | | InfoMessage InterfaceDataset_MachineStockData_Name |
| | | { |
| | | DefaultText: 'Machine stock data' |
| | | } |
| | | InfoMessage InterfaceDataset_MachineStockData_Secret |
| | | { |
| | | DefaultText: '527077575449641087' |
| | | } |
| | | InfoMessage InterfaceDataset_MachineStockData_URL |
| | | { |
| | | DefaultText: '/data-service/api/service/post-data/V1.101/2f6c42fe895c45bdb2e8e1ca8489b5a2' |
| | | } |
| | | InfoMessage InterfaceDataset_ShippingActualData_Name |
| | | { |
| | | DefaultText: 'Shipping actual data' |
| | | } |
| | | InfoMessage InterfaceDataset_ShippingActualData_Secret |
| | | { |
| | | DefaultText: '527088907855069215' |
| | | } |
| | | InfoMessage InterfaceDataset_ShippingActualData_URL |
| | | { |
| | | DefaultText: '/data-service/api/service/post-data/V1.101/f4f94c47c1a2440898b5e1e2c0c5cbc8' |
| | | } |
| | | InfoMessage InterfaceDataset_Token_URL |
| | | { |
| | | DefaultText: '/authorization/token/api/open/token/generateToken?grant_type=client_credentials&client_id=19KxoxPF25cy96K8TL&client_secret=' |
| | | } |
| | | InfoMessage MP_ChangeLossSetting_CheckNull |
| | | { |
| | | DefaultText: 'The required field is blank.' |
| | |
| | | { |
| | | DefaultText: 'The Event type of binding Event exists.' |
| | | } |
| | | InfoMessage MP_LibCal_Event_ValidDate |
| | | { |
| | | DefaultText: 'This date is not within the planned cycle!' |
| | | } |
| | | InfoMessage MP_LibCal_Event_ValidDatePeriod |
| | | { |
| | | DefaultText: 'The start date must be less than the end date!' |
| | | } |
| | | InfoMessage MP_Routing_IllegalDateRange |
| | | { |
| | | DefaultText: 'The start date cannot be longer than the end date.' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ActualDailyProductionData_MacroPlan_MacroPlan_ActualDailyProductionData |
| | | { |
| | | #keys: '1[412672.1.61744699]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[412672.1.61744701][412672.1.61744700][412672.1.61744702]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ActualDailyProductionData |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ActualDailyProductionData |
| | | { |
| | | #keys: '3[412672.1.61744704][412672.1.61744703][412672.1.61744705]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinishedEngineInventory_InterfaceLoginfo_InterfaceLoginfo_FinishedEngineInventory |
| | | { |
| | | #keys: '1[415136.0.932110028]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceLoginfo |
| | | { |
| | | #keys: '3[415136.0.932110030][415136.0.932110029][415136.0.932110031]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinishedEngineInventory |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinishedEngineInventory |
| | | { |
| | | #keys: '3[415136.0.932110033][415136.0.932110032][415136.0.932110034]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceLoginfo |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InterfaceLoginfo_InterfaceDataset_InterfaceDataset_InterfaceLoginfo |
| | | { |
| | | #keys: '1[415136.0.917964687]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[415136.0.917964689][415136.0.917964688][415136.0.917964690]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InterfaceLoginfo |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InterfaceLoginfo |
| | | { |
| | | #keys: '3[415136.0.917964692][415136.0.917964691][415136.0.917964693]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InterfaceLoginfo_ShippingActualData_ShippingActualData_InterfaceLoginfo |
| | | { |
| | | #keys: '1[415136.0.917964760]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide ShippingActualData |
| | | { |
| | | #keys: '3[415136.0.917964762][415136.0.917964761][415136.0.917964763]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceLoginfo |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide InterfaceLoginfo |
| | | { |
| | | #keys: '3[415136.0.917964765][415136.0.917964764][415136.0.917964766]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ShippingActualData |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation MachineStockData_InterfaceLoginfo_InterfaceLoginfo_MachineStockData |
| | | { |
| | | #keys: '1[415136.0.931886865]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceLoginfo |
| | | { |
| | | #keys: '3[415136.0.931886867][415136.0.931886866][415136.0.931886868]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MachineStockData |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide MachineStockData |
| | | { |
| | | #keys: '3[415136.0.931886870][415136.0.931886869][415136.0.931886871]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceLoginfo |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ShippingActualCell_ShippingActualColumn_ShippingActualColumn_ShippingActualCell |
| | | { |
| | | #keys: '1[415136.0.904040097]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide ShippingActualColumn |
| | | { |
| | | #keys: '3[415136.0.904040099][415136.0.904040098][415136.0.904040100]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ShippingActualCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ShippingActualCell |
| | | { |
| | | #keys: '3[415136.0.904040102][415136.0.904040101][415136.0.904040103]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: ShippingActualColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ShippingActualCell_ShippingActualRow_ShippingActualRow_ShippingActualCell |
| | | { |
| | | #keys: '1[415136.0.904040084]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide ShippingActualRow |
| | | { |
| | | #keys: '3[415136.0.904040086][415136.0.904040085][415136.0.904040087]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ShippingActualCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ShippingActualCell |
| | | { |
| | | #keys: '3[415136.0.904040089][415136.0.904040088][415136.0.904040090]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: ShippingActualRow |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ShippingActualColumn_InterfaceDataset_InterfaceDataset_ShippingActualColumn |
| | | { |
| | | #keys: '1[415136.0.904040009]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[415136.0.904040011][415136.0.904040010][415136.0.904040012]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ShippingActualColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ShippingActualColumn |
| | | { |
| | | #keys: '3[415136.0.904040014][415136.0.904040013][415136.0.904040015]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ShippingActualRow_InterfaceDataset_InterfaceDataset_ShippingActualRow |
| | | { |
| | | #keys: '1[415136.0.904040037]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[415136.0.904040039][415136.0.904040038][415136.0.904040040]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ShippingActualRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ShippingActualRow |
| | | { |
| | | #keys: '3[415136.0.904040042][415136.0.904040041][415136.0.904040043]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Date |
| | | { |
| | | #keys: '3[412672.1.61744627][412672.1.61744626][412672.1.61744628]' |
| | | Description: 'æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Product |
| | | { |
| | | #keys: '3[412672.1.61744620][412672.1.61744619][412672.1.61744621]' |
| | | Description: 'ç©æå·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductLine |
| | | { |
| | | #keys: '3[412672.1.61744610][412672.1.61744609][412672.1.61744611]' |
| | | Description: '产线' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductionVolume |
| | | { |
| | | #keys: '3[412672.1.61744637][412672.1.61744636][412672.1.61744638]' |
| | | Description: 'å¯¹åºæ¥æçå®é
ç产æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Shift |
| | | { |
| | | #keys: '3[412672.1.61744647][412672.1.61744646][412672.1.61744648]' |
| | | Description: 'å¯¹åºæ¥æçå®é
çäº§çæ¬¡' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftProductionVolume |
| | | { |
| | | #keys: '3[412672.1.61744657][412672.1.61744656][412672.1.61744658]' |
| | | Description: '对åºç次çå®é
ç产æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftSequence |
| | | { |
| | | #keys: '3[412672.1.61744667][412672.1.61744666][412672.1.61744668]' |
| | | Description: 'çæ¬¡é¡ºåº' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetRequestBody ( |
| | | Date date |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-19-2024 (created) |
| | | json := JSON::Object() |
| | | .Add( "inParam", JSON::Object().Add( "productiondate", date.Format( "Y-M2-D2" ) ) ).Build(); |
| | | requestbody := json.AsString(); |
| | | return requestbody |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Synchronize ( |
| | | MacroPlan owner, |
| | | InterfaceDataset interfaceDataset |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-23-2024 (created) |
| | | date := Date::ActualDate(); |
| | | loginfo := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := QuintiqUser::CurrentUser().ShortName() |
| | | , Name := Translations::InterfaceDataset_ActualDailyProductionData_Name() |
| | | , InterfaceDateTime := DateTime::ActualTime() |
| | | , Message := 'ç产å®é
æ°æ®' |
| | | , RequestBody := ActualDailyProductionData::GetRequestBody( date ) ); |
| | | |
| | | data := InterfaceLoginfo::CallInterface( interfaceDataset,loginfo ); |
| | | if( not isnull( data ) ){ |
| | | cnv1 := StringToDateTime::StandardConverter(); |
| | | cnv1.SetCustomConversion(); |
| | | cnv1.CustomFormatString( 'yyyy-MM-dd HH:mm:ss' ); |
| | | |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( 'yyyy-MM-dd' ); |
| | | |
| | | info( data.AsString() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ActualDailyProductionData |
| | | { |
| | | #keys: '5[412672.1.61744606][412672.1.61744604][0.0.0][412672.1.61744605][412672.1.61744607]' |
| | | BaseType: Object |
| | | Description: 'Actual daily production report' |
| | | StructuredName: 'ActualDailyProductionDatas' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Amount |
| | | { |
| | | #keys: '3[415136.0.931887050][415136.0.931887049][415136.0.931887051]' |
| | | Description: 'éé¢' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BIPlace |
| | | { |
| | | #keys: '3[415136.0.931887027][415136.0.931887026][415136.0.931887028]' |
| | | Description: 'ç»è®¡åæçåºåå°ç¹' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Brand |
| | | { |
| | | #keys: '3[415136.0.932110085][415136.0.932110084][415136.0.932110086]' |
| | | Description: 'åç' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DDay |
| | | { |
| | | #keys: '3[415136.0.931887060][415136.0.931887059][415136.0.931887061]' |
| | | Description: 'æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DMonth |
| | | { |
| | | #keys: '3[415136.0.932110115][415136.0.932110114][415136.0.932110116]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DType |
| | | { |
| | | #keys: '3[415136.0.932110105][415136.0.932110104][415136.0.932110106]' |
| | | Description: 'SAP\\WZK\\ZTï¼SAPç³»ç» é¿æ¥å¤æåº 大è¿å¨é' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DWeek |
| | | { |
| | | #keys: '3[415136.0.931887068][415136.0.931887067][415136.0.931887069]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EngineModularPlatform |
| | | { |
| | | #keys: '3[415136.0.931887017][415136.0.931887016][415136.0.931887018]' |
| | | Description: 'å卿ºæ¨¡ååå¹³å°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EngineType |
| | | { |
| | | #keys: '3[415136.0.932110075][415136.0.932110074][415136.0.932110076]' |
| | | Description: 'å卿ºç±»åï¼æ¨ªç½®ã纵置' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Fac |
| | | { |
| | | #keys: '3[415136.0.931887064][415136.0.931887063][415136.0.931887065]' |
| | | Description: 'å·¥åcode' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FourCode |
| | | { |
| | | #keys: '3[415136.0.932110043][415136.0.932110042][415136.0.932110044]' |
| | | Description: 'åä½ç ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FullName |
| | | { |
| | | #keys: '3[415136.0.932110063][415136.0.932110062][415136.0.932110064]' |
| | | Description: '宿´åå·åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Price |
| | | { |
| | | #keys: '3[415136.0.931887037][415136.0.931887036][415136.0.931887038]' |
| | | Description: 'åä»·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ReceiptPlace |
| | | { |
| | | #keys: '3[415136.0.931886999][415136.0.931886998][415136.0.931887000]' |
| | | Description: 'æ¶è´§å°ç¹' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SpellName |
| | | { |
| | | #keys: '3[415136.0.931887007][415136.0.931887006][415136.0.931887008]' |
| | | Description: 'ç®ååå·åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Total |
| | | { |
| | | #keys: '3[415136.0.932110095][415136.0.932110094][415136.0.932110096]' |
| | | Description: 'åºåé' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute VehicleType |
| | | { |
| | | #keys: '3[415136.0.932110053][415136.0.932110052][415136.0.932110054]' |
| | | Description: 'å卿ºè½¦å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Fac |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateData ( |
| | | InterfaceLoginfo owner, |
| | | StringToDate cnv, |
| | | JSON item |
| | | ) as FinishedEngineInventory |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-17-2024 (created) |
| | | four_code := guard( item.Get( "four_code").GetString(),""); |
| | | vehicle_type := guard( item.Get( "vehicle_type").GetString(),""); |
| | | receipt_place := guard( item.Get( "receipt_place").GetString(),""); |
| | | full_name := guard( item.Get( "full_name").GetString(),""); |
| | | spell_name := guard( item.Get( "spell_name").GetString(),""); |
| | | engine_type := guard( item.Get( "engine_type").GetString(),""); |
| | | engine_modular_platform := guard( item.Get( "engine_modular_platform").GetString(),""); |
| | | brand := guard( item.Get( "brand").GetString(),""); |
| | | bi_place := guard( item.Get( "bi_place").GetString(),""); |
| | | price := guard( item.Get( "price").GetString(),""); |
| | | total := guard( item.Get( "total").GetReal(),0); |
| | | amount := guard( item.Get( "amount").GetReal(),0); |
| | | dtype := guard( item.Get( "dtype").GetString(),""); |
| | | fac := guard( item.Get( "fac").GetString(),""); |
| | | dday := guard( item.Get( "dday").GetString(),""); |
| | | dweek := guard( item.Get( "dweek").GetString(),""); |
| | | dmonth := guard( item.Get( "dmonth").GetString(),""); |
| | | |
| | | msdata := owner.FinishedEngineInventory( relnew, FourCode := four_code |
| | | , VehicleType := vehicle_type |
| | | , ReceiptPlace := receipt_place |
| | | , FullName := full_name |
| | | , SpellName := spell_name |
| | | , EngineType := engine_type |
| | | , EngineModularPlatform := engine_modular_platform |
| | | , Brand := brand |
| | | , BIPlace := bi_place |
| | | , Price := price |
| | | , Total := total |
| | | , Amount := amount |
| | | , DType := dtype |
| | | , Fac := fac |
| | | , DDay := cnv.Convert( dday ) |
| | | , DWeek := dweek |
| | | , DMonth := dmonth ); |
| | | |
| | | return msdata; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetRequestBody ( |
| | | Date date |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-19-2024 (created) |
| | | json := JSON::Object() |
| | | .Add( "inParam", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ) ).Build(); |
| | | requestbody := json.AsString(); |
| | | return requestbody |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Synchronize ( |
| | | InterfaceDataset owner, |
| | | String executor |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | //// çå
°é¸½ Jul-17-2024 (created) |
| | | date := Date::ActualDate(); |
| | | loginfo := owner.InterfaceLoginfo( relnew, ExecuteUser := executor |
| | | , Name := Translations::InterfaceDataset_FinishedEngineInventory_Name() |
| | | , InterfaceDateTime := DateTime::ActualTime() |
| | | , Message := 'åºåæ°æ®ï¼å卿ºæååºåï¼' |
| | | , RequestBody := FinishedEngineInventory::GetRequestBody( date ) ); |
| | | |
| | | data := InterfaceLoginfo::CallInterface( owner, loginfo ); |
| | | if( not isnull( data ) ){ |
| | | |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( 'yyyy-MM-dd' ); |
| | | |
| | | // sadatalist := construct( ShippingActualDatas ); |
| | | for( seq := 0;seq < data.Size();seq++){ |
| | | item := data.Get(seq); |
| | | FinishedEngineInventory::GenerateData( loginfo, cnv2, item ); |
| | | // sadatalist.Add( sadata ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinishedEngineInventory |
| | | { |
| | | #keys: '5[415136.0.932110025][415136.0.932110023][0.0.0][415136.0.932110024][415136.0.932110026]' |
| | | BaseType: Object |
| | | Description: 'åºåæ°æ®ï¼å卿ºæååºåï¼' |
| | | StructuredName: 'FinishedEngineInventorys' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetResponseJsonData ( |
| | | String result |
| | | ) as owning JSON |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-17-2024 (created) |
| | | resultJson := JSON::Parse( result ); |
| | | //returnsuccess := resultJson.Get( "success"); |
| | | //msg := resultJson.Get( "msg"); |
| | | data := resultJson.Get( "data"); |
| | | return &data; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ExecuteUser |
| | | { |
| | | #keys: '3[415136.0.917964722][415136.0.917964721][415136.0.917964723]' |
| | | Description: 'æ§è¡äºº' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FinishTime |
| | | { |
| | | #keys: '3[415136.0.917964701][415136.0.917964700][415136.0.917964702]' |
| | | Description: '宿æ¶é´' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute InterfaceDateTime |
| | | { |
| | | #keys: '3[415136.0.917964734][415136.0.917964733][415136.0.917964735]' |
| | | Description: 'è§¦åæ¶é´' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Last |
| | | { |
| | | #keys: '3[415136.0.917964713][415136.0.917964712][415136.0.917964714]' |
| | | Description: 'æ¯å¦æ¯ææ°çæ¥å£æ°æ®' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Message |
| | | { |
| | | #keys: '3[415136.0.917964728][415136.0.917964727][415136.0.917964729]' |
| | | Description: 'æ¥å£ä¿¡æ¯' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.917964704][415136.0.917964703][415136.0.917964705]' |
| | | Description: 'æ¥å£åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RequestBody |
| | | { |
| | | #keys: '3[415136.0.917964731][415136.0.917964730][415136.0.917964732]' |
| | | Description: 'æ¥å£å
¥å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Response |
| | | { |
| | | #keys: '3[415136.0.917964710][415136.0.917964709][415136.0.917964711]' |
| | | Description: 'æ¥å£è¿åæ°æ®' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ReturnMsg |
| | | { |
| | | #keys: '3[415136.0.917964719][415136.0.917964718][415136.0.917964720]' |
| | | Description: 'è¿åä¿¡æ¯' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ReturnSuccess |
| | | { |
| | | #keys: '3[415136.0.917964737][415136.0.917964736][415136.0.917964738]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Success |
| | | { |
| | | #keys: '3[415136.0.917964716][415136.0.917964715][415136.0.917964717]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TotalRow |
| | | { |
| | | #keys: '3[415136.0.917964725][415136.0.917964724][415136.0.917964726]' |
| | | Description: 'æ»è¡æ°' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Message |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Response |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method UpdateLast |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-22-2024 (created) |
| | | if( this.Success() and this.ReturnSuccess() ){ |
| | | traverse( this,InterfaceDataset.InterfaceLoginfo,item,item.Last() = true and item.Name() = this.Name()){ |
| | | item.Last(false); |
| | | } |
| | | this.Last(true); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CallInterface ( |
| | | InterfaceDataset owner, |
| | | InterfaceLoginfo loginfo |
| | | ) as owning JSON |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-22-2024 (created) |
| | | address := Translations::InterfaceDataset_Address(); |
| | | httpinterface := HTTPInterface::Create( address,80); |
| | | try{ |
| | | if( loginfo.Name() = Translations::InterfaceDataset_ShippingActualData_Name() ){//åè¿å®é
æ°æ® |
| | | |
| | | httpinterface.URL( Translations::InterfaceDataset_ShippingActualData_URL() ); |
| | | httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); |
| | | httpinterface.PostMethod( true ); |
| | | httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken( Translations::InterfaceDataset_ShippingActualData_Secret() )) |
| | | |
| | | httpinterface.Call( loginfo.RequestBody() ); |
| | | |
| | | result := httpinterface.Result(); |
| | | loginfo.Response( result ); |
| | | loginfo.Success( true ); |
| | | } else if ( loginfo.Name() = Translations::InterfaceDataset_MachineStockData_Name() ){//åºåæ°æ®ï¼æºå åºåï¼ |
| | | httpinterface.URL( Translations::InterfaceDataset_MachineStockData_URL() ); |
| | | httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); |
| | | httpinterface.PostMethod( true ); |
| | | httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken( Translations::InterfaceDataset_MachineStockData_Secret() )) |
| | | |
| | | httpinterface.Call( loginfo.RequestBody() ); |
| | | |
| | | result := httpinterface.Result(); |
| | | loginfo.Response( result ); |
| | | loginfo.Success( true ); |
| | | } else if ( loginfo.Name() = Translations::InterfaceDataset_FinishedEngineInventory_Name() ){//åºåæ°æ®ï¼å卿ºæååºåï¼ |
| | | httpinterface.URL( Translations::InterfaceDataset_FinishedEngineInventory_URL() ); |
| | | httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); |
| | | httpinterface.PostMethod( true ); |
| | | httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken( Translations::InterfaceDataset_FinishedEngineInventory_Secret() )) |
| | | |
| | | httpinterface.Call( loginfo.RequestBody() ); |
| | | |
| | | result := httpinterface.Result(); |
| | | loginfo.Response( result ); |
| | | loginfo.Success( true ); |
| | | } else if( loginfo.Name() = Translations::InterfaceDataset_ActualDailyProductionData_Name() ){//ç产å®é
æ°æ® |
| | | httpinterface.URL( Translations::InterfaceDataset_ActualDailyProductionData_URL() ); |
| | | httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); |
| | | httpinterface.PostMethod( true ); |
| | | |
| | | httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken( Translations::InterfaceDataset_ActualDailyProductionData_Secret() )) |
| | | |
| | | httpinterface.Call( loginfo.RequestBody() ); |
| | | |
| | | result := httpinterface.Result(); |
| | | loginfo.Response( result ); |
| | | loginfo.Success( true ); |
| | | } |
| | | }onerror{ |
| | | loginfo.ReturnMsg( e.GeneralInformation() ); |
| | | } |
| | | |
| | | //åç»å
Œ
±å¤ç |
| | | loginfo.FinishTime( DateTime::ActualTime() ); |
| | | data := JSON::Null().Build(); |
| | | |
| | | if( loginfo.Success() ){ |
| | | resultJson := JSON::Parse( loginfo.Response() ); |
| | | code := resultJson.Get( "code" ).AsString(); |
| | | msg := resultJson.Get( "message" ).AsString(); |
| | | data := resultJson.Get( "data" ); |
| | | |
| | | loginfo.ReturnMsg( msg ); |
| | | if( code = "200" ){ |
| | | total := resultJson.Get( "dataSize" ).GetNumber(); |
| | | loginfo.ReturnSuccess( true ); |
| | | loginfo.TotalRow( total ); |
| | | loginfo.UpdateLast(); |
| | | } |
| | | } |
| | | |
| | | return &data; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CallToken ( |
| | | String secret |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-22-2024 (created) |
| | | address := Translations::InterfaceDataset_Address(); |
| | | httpinterface := HTTPInterface::Create( address,80); |
| | | |
| | | httpinterface.URL( Translations::InterfaceDataset_Token_URL() + secret ); |
| | | httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); |
| | | httpinterface.PostMethod( false ); |
| | | httpinterface.Call(); |
| | | result := httpinterface.Result(); |
| | | |
| | | resultJson := JSON::Parse( result ); |
| | | token := resultJson.Get( "access_token" ).GetString(); |
| | | |
| | | return token; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InterfaceLoginfo |
| | | { |
| | | #keys: '5[415136.0.917964684][415136.0.917964682][0.0.0][415136.0.917964683][415136.0.917964685]' |
| | | BaseType: Object |
| | | StructuredName: 'InterfaceLoginfos' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsMultiple |
| | | { |
| | | #keys: '3[415136.0.918010824][415136.0.918010823][415136.0.918010825]' |
| | | Description: 'æ¯å¦éè¿æ¹éçé¢å建' |
| | | ValueType: Boolean |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | //äºä»¶å建äºå¼æ¹æ³ |
| | | //info( startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i, recurrenceInterval_i, patternType_i |
| | | // , patternDaily_IsEveryWeekday_i, periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i ); |
| | | //æ¥è¯¢æ¯å¦å·²æååäºä»¶ |
| | | //æ¥è¯¢æ¯å¦å·²æåå卿¹éçé¢å建çäºä»¶s |
| | | event := selectobject( owner_i, Event, event, event.Subject() = subject_i |
| | | and event.StartTimeOfDay() = startTimeOfDay_i |
| | | and event.EndTimeOfDay() = endTimeOfDay_i |
| | | and event.EventType() = eventtype_i ); |
| | | and event.EventType() = eventtype_i ); |
| | | |
| | | //åªæéè¿æ¹éå建çé¢ä¸å·²æååäºä»¶è¿å
¥ä¸é¢æä½ |
| | | if( ismultiple and not isnull( event ) ){ |
| | | startdate := startDate_i; |
| | | enddate := startDate_i; |
| | | dates := construct( Dates ); |
| | | dates.Add( startDate_i ); |
| | | //è·åæ§äºä»¶çå¼å§äºä»¶åç»æäºä»¶ï¼ä»¥åæææ¶é´ç¹ |
| | | traverse( event, Participation.ExplicitTimeInterval, eti ){ |
| | | if( startdate > eti.Start().Date() ){ |
| | | startdate := eti.Start().Date(); |
| | | } |
| | | if( enddate < eti.Start().Date() ) { |
| | | enddate := eti.Start().Date(); |
| | | } |
| | | if( not exists( dates, Elements, e, e = eti.Start().Date() ) ){ |
| | | dates.Add( eti.Start().Date() ); |
| | | event.IsMultiple( true ); |
| | | lp := event.LeadingParticipation(); |
| | | timezone := lp.Calendar().GetTimeZone(); |
| | | starttime := startDate_i.DateTime( timezone ).AddAsPeriod( timezone, startTimeOfDay_i ); |
| | | endtime := endDate_i.DateTime( timezone ).AddAsPeriod( timezone, endTimeOfDay_i ); |
| | | etis := selectset( lp, Subscription.ExplicitTimeInterval, eti, true ); |
| | | // startDate := starttime.Date( timezone ); |
| | | // endDate := endtime.Date( timezone ) - ifexpr( endtime = endtime.StartOfDay( timezone ), 1, 0 ); |
| | | leadingETI := selectobject( lp, ExplicitTimeInterval, eti, eti.Start() = starttime and eti.End() = endtime ); |
| | | |
| | | if( isnull( leadingETI ) ){ |
| | | leadingETI := lp.CreateTimeInterval( starttime, endtime, event.Capacity() ); |
| | | } |
| | | lp.AddSubscribers( subscribers_i, true ); |
| | | |
| | | if( not isnull( leadingETI ) ){ |
| | | traverse( lp, Subscription, subscription, subscribers_i.Find( subscription.Calendar() ) >= 0 ){ |
| | | |
| | | traverse( subscription, ExplicitTimeInterval, eti, etis.Find( eti ) < 0 ){ |
| | | eti.Delete(); |
| | | } |
| | | subscribingETI := subscription.CreateTimeInterval( starttime, endtime, event.Capacity() ); |
| | | if( not isnull( subscribingETI ) ){ |
| | | subscribingETI.LeadingETI( relset, leadingETI ); |
| | | } |
| | | } |
| | | } |
| | | //ä¿®æ¹æ§äºä»¶çé´é |
| | | nrOfOccurrences_i := enddate - startdate + 1; |
| | | startDate_i := startdate; |
| | | endDate_i := startdate; |
| | | periodStartDate_i := startdate; |
| | | periodEndDate_i := enddate; |
| | | // info( startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i, recurrenceInterval_i, patternType_i |
| | | // , patternDaily_IsEveryWeekday_i, periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i ); |
| | | event := LibCal_Event::CreateUpdateFromUI( owner_i, event.LeadingParticipation(), subject_i, description_i, type_i, capacity_i, category_i, isDefault_i, |
| | | startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i, |
| | | isRecurring_i, recurrenceInterval_i, |
| | | patternType_i, patternDaily_IsEveryWeekday_i, patternWeekly_Weekdays_i, |
| | | patternMonthly_IsDay_i, patternMonthly_Day_i, patternMonthly_WeekOfMonth_i, patternMonthly_DayOfWeek_i, |
| | | patternYearly_IsDate_i, patternYearly_Month_i, patternYearly_Day_i, patternYearly_WeekOfMonth_i, patternYearly_DayOfWeek_i, |
| | | periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i, subscribers_i ); |
| | | //å æä¸éè¦çæ¶é´ç¹ |
| | | timeIntervals := construct( LibCal_ExplicitTimeIntervals ); |
| | | traverse( event, Participation.ExplicitTimeInterval, eti ){ |
| | | // info( '------------------------------', eti.Start(), eti.End(), exists( dates, Elements, e, e = eti.Start().Date() ), '------------------', dates.Find( eti.Start().Date() ) ); |
| | | if( dates.Find( eti.Start().Date() ) < 0 ){ |
| | | timeIntervals.Add( eti ); |
| | | } |
| | | } |
| | | LibCal_ExplicitTimeInterval::Delete( timeIntervals, true ); |
| | | } else { |
| | | event := LibCal_Event::CreateUpdateFromUI( owner_i, participation_i, subject_i, description_i, type_i, capacity_i, category_i, isDefault_i, |
| | | startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i, |
| | |
| | | patternType_i, patternDaily_IsEveryWeekday_i, patternWeekly_Weekdays_i, |
| | | patternMonthly_IsDay_i, patternMonthly_Day_i, patternMonthly_WeekOfMonth_i, patternMonthly_DayOfWeek_i, |
| | | patternYearly_IsDate_i, patternYearly_Month_i, patternYearly_Day_i, patternYearly_WeekOfMonth_i, patternYearly_DayOfWeek_i, |
| | | periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i, subscribers_i ); |
| | | periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i, subscribers_i, ismultiple ); |
| | | } |
| | | |
| | | if( not isnull( event ) ){ |
| | | event.EventType( relset, eventtype_i ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateUpdateFromUI ( |
| | | LibCal_Calendar owner_i, |
| | | LibCal_LeadingParticipation participation_i, |
| | | String subject_i, |
| | | String description_i, |
| | | String type_i, |
| | | Real capacity_i, |
| | | LibCal_EventCategory category_i, |
| | | Boolean isDefault_i, |
| | | Date startDate_i, |
| | | Duration startTimeOfDay_i, |
| | | Date endDate_i, |
| | | Duration endTimeOfDay_i, |
| | | Boolean isAllDay_i, |
| | | Boolean isRecurring_i, |
| | | Number recurrenceInterval_i, |
| | | String patternType_i, |
| | | Boolean patternDaily_IsEveryWeekday_i, |
| | | String patternWeekly_Weekdays_i, |
| | | Boolean patternMonthly_IsDay_i, |
| | | Number patternMonthly_Day_i, |
| | | String patternMonthly_WeekOfMonth_i, |
| | | String patternMonthly_DayOfWeek_i, |
| | | Boolean patternYearly_IsDate_i, |
| | | Number patternYearly_Month_i, |
| | | Number patternYearly_Day_i, |
| | | String patternYearly_WeekOfMonth_i, |
| | | String patternYearly_DayOfWeek_i, |
| | | String periodType_i, |
| | | Date periodStartDate_i, |
| | | Number nrOfOccurrences_i, |
| | | Date periodEndDate_i, |
| | | LibCal_Calendars subscribers_i, |
| | | Boolean is_multiple |
| | | ) as LibCal_Event |
| | | { |
| | | Description: 'Create and/or update an Event and its LeadingParticipation, based on information from the UI.' |
| | | TextBody: |
| | | [* |
| | | event := null( LibCal_Event ); |
| | | leadPart := participation_i; |
| | | timezone := owner_i.GetTimeZone(); |
| | | |
| | | if( isnull( leadPart ) ) |
| | | { |
| | | // Create a new Event. This also creates a new LeadingParticipation. |
| | | event := LibCal_Event::Create( owner_i, "", Date::Today( timezone ), 1 ); |
| | | leadPart := event.LeadingParticipation(); |
| | | } |
| | | else |
| | | { |
| | | // Get the event of the participation. |
| | | event := leadPart.Event(); |
| | | } |
| | | |
| | | if( is_multiple ){ |
| | | event.IsMultiple( is_multiple ); |
| | | } |
| | | |
| | | // Update the event... |
| | | duration := endDate_i.Add( timezone, endTimeOfDay_i ) - startDate_i.Add( timezone, startTimeOfDay_i ); |
| | | isFromUI := true; |
| | | event.Update( subject_i, description_i, type_i, capacity_i, isDefault_i, startTimeOfDay_i, endTimeOfDay_i, duration, isAllDay_i, isFromUI ); |
| | | |
| | | // Changing the category is a different kind of change, with no impact on the event itself. |
| | | event.EventCategory( relset, category_i ); |
| | | |
| | | // ...and its recurrence pattern. |
| | | event.UpdateRecurrencePattern( isRecurring_i, patternType_i, recurrenceInterval_i, |
| | | patternDaily_IsEveryWeekday_i, |
| | | patternWeekly_Weekdays_i, |
| | | patternMonthly_IsDay_i, patternMonthly_Day_i, patternMonthly_WeekOfMonth_i, patternMonthly_DayOfWeek_i, |
| | | patternYearly_IsDate_i, patternYearly_Month_i, patternYearly_Day_i, patternYearly_WeekOfMonth_i, patternYearly_DayOfWeek_i ); |
| | | |
| | | // Update the participation... |
| | | leadPart.Update( startDate_i, endDate_i ); |
| | | |
| | | // ...and its recurrence period. |
| | | leadPart.UpdateRecurrencePeriod( isRecurring_i, periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i ); |
| | | |
| | | // Effectuate the changes. |
| | | leadPart.UpdateCalendarWhenChanged(); |
| | | |
| | | // Set the subscribers. Must be done *after* UpdateCalendar. |
| | | leadPart.SetSubscribers( subscribers_i ); |
| | | |
| | | // Call a post-processing method that can be extended to implement additional logic. |
| | | event.OnCreateUpdateFromUI(); |
| | | |
| | | return event; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ValidDate ( |
| | | output String feedback_o, |
| | | MacroPlan owner, |
| | | DateTime startdate, |
| | | DateTime endtime |
| | | ) declarative remote as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-26-2024 (created) |
| | | feedback_o := ''; |
| | | if( startdate > endtime ){ |
| | | feedback_o := Translations::MP_LibCal_Event_ValidDatePeriod(); |
| | | } |
| | | |
| | | if( not exists( owner, Period_MP, period, not period.IsHistorical() |
| | | and period.TimeUnit() = Translations::MP_GlobalParameters_Day() |
| | | and period.StartDate() = startdate.Date() |
| | | and ( period.EndDate() = endtime.Date() or period.StartDate() = endtime.Date() ) ) ){ |
| | | feedback_o := Translations::MP_LibCal_Event_ValidDate(); |
| | | } |
| | | return feedback_o = ''; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Delete ( |
| | | LibCal_ExplicitTimeIntervals timeIntervals_i |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse( timeIntervals_i, Elements, eti ){ |
| | | leadingeti := eti.LeadingETI(); |
| | | if( leadingeti.SubscribingETI( relsize ) = 1 ){ |
| | | part := leadingeti.Participation(); |
| | | if( part.ExplicitTimeInterval( relsize ) = 1 ){ |
| | | part.Event().Delete(); |
| | | } |
| | | if( not isnull( leadingeti ) ){ |
| | | leadingeti.Delete(); |
| | | } |
| | | } |
| | | if( not isnull( leadingeti ) ){ |
| | | eti.Delete(); |
| | | } |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type LibCal_ExplicitTimeInterval #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TimeUnit |
| | | { |
| | | #keys: '3[415136.0.941300421][415136.0.941300420][415136.0.941300422]' |
| | | Description: 'æ¶é´ç±»å' |
| | | ValueType: String |
| | | } |
| | |
| | | #parent: #root |
| | | Method FilterByDatePeriod ( |
| | | Date start, |
| | | Date end |
| | | Date end, |
| | | String timeunit |
| | | ) declarative remote as Boolean |
| | | { |
| | | TextBody: |
| | |
| | | // çå
°é¸½ May-29-2024 (created) |
| | | value := false; |
| | | //info( this.Index(), this.LibCal_SubscriberEventTable().Name(), this.Period(), start, end ); |
| | | if( this.Index() < 2 or ( this.Period() >= start and this.Period() <= end ) ){ |
| | | if( this.Period() >= start and this.Period() <= end and this.TimeUnit() = timeunit ){ |
| | | value := true; |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetCellByTimeUnit ( |
| | | LibCal_SubscriberEventRow row, |
| | | String desc |
| | | ) as LibCal_SubscriberEventCell |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-26-2024 (created) |
| | | cell := selectobject( this, LibCal_SubscriberEventCell, cell, cell.LibCal_SubscriberEventRow() = row ); |
| | | if( isnull( cell ) ){ |
| | | cell := this.LibCal_SubscriberEventCell( relnew, Value := '0' |
| | | , Description := desc ); |
| | | row.LibCal_SubscriberEventCell( relinsert, cell ); |
| | | } |
| | | return cell; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.918010439][415136.0.918010438][415136.0.918010440]' |
| | | Description: '产线Inäºä»¶' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcName |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-23-2024 (created) |
| | | |
| | | value := this.Subscriber().Concat( " in " ).Concat( this.Event() ); |
| | | |
| | | this.Name( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetTimeByTimeUnit ( |
| | | DateTime starttime, |
| | | DateTime starttimetmp, |
| | | String timeunit |
| | | ) as Date |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-26-2024 (created) |
| | | time := starttime.Date(); |
| | | if( starttime = starttimetmp ){ |
| | | if ( timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | time := starttime.StartOfWeek().Date(); |
| | | } else if ( timeunit = Translations::MP_GlobalParameters_Month() ){ |
| | | time := starttime.StartOfMonth().Date(); |
| | | } |
| | | } |
| | | return time; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method InitializeDate ( |
| | | LibCal_SubscriberEventTable table, |
| | | DateTime starttime, |
| | | DateTime endtime, |
| | | String desc |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ May-29-2024 (created) |
| | | startTime := starttime; |
| | | nextweektime := starttime; |
| | | nextmonthtime := starttime; |
| | | while( startTime < endtime ){ |
| | | //for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextDay() ){ |
| | | //天 |
| | | daytime := this.GetTimeByTimeUnit( starttime, startTime, Translations::MP_GlobalParameters_Day() ); |
| | | daycolumn := table.GetColumnByTimeUnit( table, daytime, Translations::MP_GlobalParameters_Day() ); |
| | | daycell := daycolumn.GetCellByTimeUnit( this, desc ); |
| | | |
| | | dayvalue := [Real]daycell.Value(); |
| | | if( startTime.StartOfNextDay() > endtime ){ |
| | | duration := endtime - startTime; |
| | | dayvalue := dayvalue + duration.HoursAsReal(); |
| | | daycell.Period( relnew, Start := startTime.Format( 'M/D/Y H:m' ), End := endtime.Format( 'M/D/Y H:m' ) ); |
| | | }else{ |
| | | duration := startTime.StartOfNextDay() - startTime; |
| | | dayvalue := dayvalue + duration.HoursAsReal(); |
| | | daycell.Period( relnew, Start := startTime.Format( 'M/D/Y H:m' ), End := startTime.StartOfNextDay().Format( 'M/D/Y H:m' ) ); |
| | | } |
| | | daycell.Value( [String]dayvalue ); |
| | | //å¨ |
| | | if( nextweektime = startTime ){ |
| | | weektime := this.GetTimeByTimeUnit( starttime, startTime, Translations::MP_GlobalParameters_Week() ); |
| | | weekcolumn := table.GetColumnByTimeUnit( table, weektime, Translations::MP_GlobalParameters_Week() ); |
| | | weekcell := weekcolumn.GetCellByTimeUnit( this, desc ); |
| | | |
| | | weekvalue := [Real]weekcell.Value(); |
| | | if( startTime.StartOfNextWeek() > endtime ){ |
| | | duration := endtime - startTime; |
| | | weekvalue := weekvalue + duration.HoursAsReal(); |
| | | weekcell.Period( relnew, Start := startTime.Format( 'M/D/Y H:m' ), End := endtime.Format( 'M/D/Y H:m' ) ); |
| | | }else{ |
| | | duration := startTime.StartOfNextWeek() - startTime; |
| | | weekvalue := weekvalue + duration.HoursAsReal(); |
| | | weekcell.Period( relnew, Start := startTime.Format( 'M/D/Y H:m' ), End := startTime.StartOfNextWeek().Format( 'M/D/Y H:m' ) ); |
| | | } |
| | | weekcell.Value( [String]weekvalue ); |
| | | nextweektime := startTime.StartOfNextWeek(); |
| | | } |
| | | // info( '-----------------------------1------------------------', nextmonthtime, startTime, nextweektime ); |
| | | //æ |
| | | if( nextmonthtime = startTime ){ |
| | | monthtime := this.GetTimeByTimeUnit( starttime, startTime, Translations::MP_GlobalParameters_Month() ); |
| | | monthcolumn := table.GetColumnByTimeUnit( table, monthtime, Translations::MP_GlobalParameters_Month() ); |
| | | monthcell := monthcolumn.GetCellByTimeUnit( this, desc ); |
| | | info( nextmonthtime, startTime, monthtime, isnull( monthcolumn ), isnull( monthcell ) ); |
| | | monthvalue := [Real]monthcell.Value(); |
| | | if( startTime.StartOfNextMonth() > endtime ){ |
| | | duration := endtime - startTime; |
| | | monthvalue := monthvalue + duration.HoursAsReal(); |
| | | monthcell.Period( relnew, Start := startTime.Format( 'M/D/Y H:m' ), End := endtime.Format( 'M/D/Y H:m' ) ); |
| | | }else{ |
| | | duration := startTime.StartOfNextMonth() - startTime; |
| | | monthvalue := monthvalue + duration.HoursAsReal(); |
| | | monthcell.Period( relnew, Start := startTime.Format( 'M/D/Y H:m' ), End := startTime.StartOfNextMonth().Format( 'M/D/Y H:m' ) ); |
| | | } |
| | | monthcell.Value( [String]monthvalue ); |
| | | nextmonthtime := startTime.StartOfNextMonth(); |
| | | } |
| | | startTime := startTime.StartOfNextDay(); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetColumnByTimeUnit ( |
| | | LibCal_SubscriberEventTable table, |
| | | Date time, |
| | | String timeunit |
| | | ) as LibCal_SubscriberEventColumn |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-26-2024 (created) |
| | | column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time.Format( 'M/D/Y' ) ); |
| | | if( isnull( column ) ){ |
| | | column := table.LibCal_SubscriberEventColumn( relnew, Name := time.Format( 'M/D/Y' ), Period := time, TimeUnit := timeunit ); |
| | | } |
| | | return column; |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // çå
°é¸½ May-28-2024 (created) |
| | | rownr := this.LibCal_SubscriberEventRow( relsize ); |
| | | subscribercolumn := selectobject( this, LibCal_SubscriberEventColumn, column, column.RowName() = 'Line' ); |
| | | if( isnull( subscribercolumn ) ){ |
| | | subscribercolumn := this.LibCal_SubscriberEventColumn( relnew, RowName := 'Line' ); |
| | | } |
| | | eventcolumn := selectobject( this, LibCal_SubscriberEventColumn, column, column.RowName() = 'Event' ); |
| | | if( isnull( eventcolumn ) ){ |
| | | eventcolumn := this.LibCal_SubscriberEventColumn( relnew, RowName := 'Event' ); |
| | | } |
| | | |
| | | traverse( subscribers, Elements, subscriber ){ |
| | | // info( '------------------------', subscriber.CalendarID(), subscriber.CalendarType() ); |
| | | // traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation ){ |
| | | |
| | | traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory().Name() = 'Unavailable' ){ |
| | | // info( '---------------1---------', participation.Event().Subject(), '------', participation.Event().EventCategory().Name() ); |
| | | event := participation.Event(); |
| | | |
| | | row := selectobject( this, LibCal_SubscriberEventRow, row, row.Subscriber() = subscriber.CalendarID() |
| | |
| | | Event := event.Subject(), |
| | | EventType := event.EventType().Name() ); |
| | | |
| | | subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); |
| | | if( counter( this, LibCal_SubscriberEventRow, linerow, linerow.Subscriber() = row.Subscriber() ) <> 1 ){ |
| | | subscribercell.Value( '' ); |
| | | } |
| | | row.LibCal_SubscriberEventCell( relinsert, subscribercell ); |
| | | |
| | | eventcell := eventcolumn.LibCal_SubscriberEventCell( relnew, Value := row.Event() ); |
| | | row.LibCal_SubscriberEventCell( relinsert, eventcell ); |
| | | rownr := rownr + 1; |
| | | } |
| | | |
| | | traverse( participation, ExplicitTimeInterval, eti ){ |
| | | info( eti.Start(), eti.End(), eti.DefinitionName() ); |
| | | if( this.ID() = 'Day' ){ |
| | | this.InitializeDay( this, row, eti.Start(), eti.End(), event.Description() ); |
| | | }else if( this.ID() = 'Week' ){ |
| | | this.InitializeWeek( this, row, eti.Start(), eti.End(), event.Description() ); |
| | | }else{ |
| | | this.InitializeMonth( this, row, eti.Start(), eti.End(), event.Description() ); |
| | | } |
| | | row.InitializeDate( this, eti.Start(), eti.End(), event.Description() ); |
| | | } |
| | | |
| | | |
| | | // |
| | | // endTime := participation.EndDate().DateTime( timezone ).AddAsPeriod( timezone, event.EndTimeOfDay() ); |
| | | // startTime := participation.StartDate().DateTime( timezone ).AddAsPeriod( timezone, event.StartTimeOfDay() ); |
| | | |
| | | } |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | LibCal_SubscriberEventTable table |
| | | LibCal_SubscriberEventColumns columns, |
| | | LibCal_SubscriberEventRows rows |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ May-30-2024 (created) |
| | | // lihongji Jun-8-2023 (created) |
| | | returnBinaryData := BinaryData::Construct(); |
| | | tableGroupHandle := TableGroupHandle::Create( "" ); |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + LibCal_SubscriberEventTable::GetDefaultName() + '</name></table>' ); |
| | | |
| | | xmlImpl := XMLDOMImplementation::Create(); |
| | | xmlDoc := xmlImpl.CreateDocument(); |
| | | xmlSeri := xmlImpl.CreateSerializer(); |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | |
| | | //产线 |
| | | subscribercolumnelement := xmlDOM.CreateElement( "column" ); |
| | | subscribernameelement := xmlDOM.CreateElement( "name" ); |
| | | subscribertypeelement := xmlDOM.CreateElement( "type" ); |
| | | subscribernameelement.TextContent( '产线' ); |
| | | subscribertypeelement.TextContent( "String" ); |
| | | subscribercolumnelement.AppendChild( subscribernameelement ); |
| | | subscribercolumnelement.AppendChild( subscribertypeelement ); |
| | | //äºä»¶ |
| | | eventcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | eventnameelement := xmlDOM.CreateElement( "name" ); |
| | | eventtypeelement := xmlDOM.CreateElement( "type" ); |
| | | eventnameelement.TextContent( 'äºä»¶' ); |
| | | eventtypeelement.TextContent( "String" ); |
| | | eventcolumnelement.AppendChild( eventnameelement ); |
| | | eventcolumnelement.AppendChild( eventtypeelement ); |
| | | |
| | | tableElement.AppendChild( subscribercolumnelement ); |
| | | tableElement.AppendChild( eventcolumnelement ); |
| | | columns := selectsortedset( columns, Elements, column, column.Period() ); |
| | | isfirst := true; |
| | | traverse ( columns, Elements, column ) { |
| | | columnelement := xmlDOM.CreateElement( "column" ); |
| | | nameelement := xmlDOM.CreateElement( "name" ); |
| | | typeelement := xmlDOM.CreateElement( "type" ); |
| | | nameelement.TextContent( column.Name() ); |
| | | typeelement.TextContent( "String" ); |
| | | columnelement.AppendChild( nameelement ); |
| | | columnelement.AppendChild( typeelement ); |
| | | |
| | | xmlTable := xmlDoc.CreateElement( "table" ); |
| | | xmlTableName := xmlDoc.CreateElement( "name" ); |
| | | xmlTableName.TextContent( table.Name() ); |
| | | xmlTable.AppendChild( xmlTableName ); |
| | | |
| | | traverse ( table, LibCal_SubscriberEventColumn, column ) { |
| | | xmlColumn := xmlDoc.CreateElement( "column" ); |
| | | xmlColumnName := xmlDoc.CreateElement( "name" ); |
| | | if( column.Index() = 0 ){ |
| | | xmlColumnName.TextContent( '产线' ); |
| | | }else if(column.Index() = 1 ){ |
| | | xmlColumnName.TextContent( 'äºä»¶' ); |
| | | }else{ |
| | | xmlColumnName.TextContent( column.Name() ); |
| | | } |
| | | xmlColumn.AppendChild( xmlColumnName ); |
| | | xmlColumnType := xmlDoc.CreateElement( "type" ); |
| | | xmlColumnType.TextContent( "String" ); |
| | | xmlColumn.AppendChild( xmlColumnType ); |
| | | |
| | | rowTotal := table.LibCal_SubscriberEventRow( relsize ); |
| | | for ( i := 0; i < rowTotal; i++ ) { |
| | | cell := select( column, LibCal_SubscriberEventCell, cell, cell.LibCal_SubscriberEventRow().RowNr() = i ); |
| | | row := cell.LibCal_SubscriberEventRow(); |
| | | xmlCell := xmlDoc.CreateElement( "cell" ); |
| | | if( column.Index() = 0 ){ |
| | | xmlCell.SetAttribute( "value", row.Subscriber() ); |
| | | }else if(column.Index() = 1 ){ |
| | | xmlCell.SetAttribute( "value", row.Event() ); |
| | | }else{ |
| | | xmlCell.SetAttribute( "value", cell.Value() ); |
| | | cells := selectsortedset( column, LibCal_SubscriberEventCell, cell, rows.Find( cell.LibCal_SubscriberEventRow() ) > -1, cell.LibCal_SubscriberEventRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( isfirst ){ |
| | | row := c.LibCal_SubscriberEventRow(); |
| | | //subscriber |
| | | subscribercellElement := xmlDOM.CreateElement( "cell" ); |
| | | subscribercellElement.SetAttribute( "value", row.Subscriber() ); |
| | | subscribercolumnelement.AppendChild( subscribercellElement ); |
| | | //event |
| | | eventcellElement := xmlDOM.CreateElement( "cell" ); |
| | | eventcellElement.SetAttribute( "value", row.Event() ); |
| | | eventcolumnelement.AppendChild( eventcellElement ); |
| | | } |
| | | xmlColumn.AppendChild( xmlCell ); |
| | | cellElement := xmlDOM.CreateElement( "cell" ); |
| | | cellElement.SetAttribute( "value", c.Value() ); |
| | | columnelement.AppendChild( cellElement ); |
| | | } |
| | | |
| | | xmlTable.AppendChild( xmlColumn ); |
| | | tableElement.AppendChild( columnelement ); |
| | | isfirst := false; |
| | | } |
| | | |
| | | xmlDoc.AppendChild( xmlTable ); |
| | | xmlStr := xmlSeri.WriteToString( xmlDoc ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlStr ) ); |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( LibCal_SubscriberEventTable::GetDefaultName() ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | //} |
| | | |
| | | returnBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return returnBinaryData.AsBinaryValue(); |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultName () as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-23-2024 (created) |
| | | return 'Calendar unavailable event'; |
| | | *] |
| | | } |
| | |
| | | // çå
°é¸½ May-28-2024 (created) |
| | | owner.LibCal_SubscriberEventTable( relflush ); |
| | | if( owner.LibCal_SubscriberEventTable( relsize ) < 1 ){ |
| | | owner.LibCal_SubscriberEventTable( relnew, ID := 'Day', Name := 'Day' ); |
| | | owner.LibCal_SubscriberEventTable( relnew, ID := 'Week', Name := 'Week' ); |
| | | owner.LibCal_SubscriberEventTable( relnew, ID := 'Month', Name := 'Month' ); |
| | | owner.LibCal_SubscriberEventTable( relnew, ID := LibCal_SubscriberEventTable::GetDefaultName(), Name := LibCal_SubscriberEventTable::GetDefaultName() ); |
| | | } |
| | | info('-----------------------------', owner.LibCal_SubscriberEventTable( relsize ), subscribers.Size() ); |
| | | |
| | | traverse( owner, LibCal_SubscriberEventTable, table ){ |
| | | table.InitializeTable( subscribers ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CopyOccurrences #extension |
| | | { |
| | | TextBody: |
| | | [* |
| | | timezone := this.Calendar().GetTimeZone(); |
| | | |
| | | if( this.IsRecurring() and not this.LeadingParticipation().Event().IsMultiple() ) |
| | | { |
| | | // If the participation ends at the start of a day, this is the start of the next day. |
| | | // In that case, one day should be subtracted in order to not take the next day into account. |
| | | endDate := this.LeadingParticipation().RecurrencePeriod().EndDate() |
| | | - ifexpr( this.LeadingParticipation().EndTime() = this.LeadingParticipation().EndTime().StartOfDay( timezone ), 1, 0 ); |
| | | |
| | | this.CopyOccurrences( this.LeadingParticipation().RecurrencePeriod().StartDate(), endDate ); |
| | | } |
| | | else |
| | | { |
| | | // In case of a non-recurring event, there is only one occurrence (i.e. ExplicitTimeInterval), |
| | | // with an arbitrary Start and End. The Start and End of this occurrence must be used in order to have it copied to the subscription. |
| | | leadingETI := select( this.LeadingParticipation(), ExplicitTimeInterval, eti, true, true ); |
| | | |
| | | if( not isnull( leadingETI ) ) |
| | | { |
| | | endDate := leadingETI.End().Date( timezone ) |
| | | - ifexpr( leadingETI.End() = leadingETI.End().StartOfDay( timezone ), 1, 0 ); |
| | | |
| | | this.CopyOccurrences( leadingETI.Start().Date( timezone ), endDate ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization LibCal_Subscription #extension |
| | | { |
| | | } |
| | |
| | | // rislai Jul-9-2024 (created) |
| | | table := owner.LocalTable( relnew,Name := "综åå·¥æ¶å¶æ¥è¡¨"); |
| | | |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,Index := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,Index := 2); |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,CustomIndex := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,CustomIndex := 2); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,Index := 3); |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,CustomIndex := 3); |
| | | |
| | | column4 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥æ¶é¿" ,Index := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,Index := 6); |
| | | column4 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥æ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | |
| | | column6 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥è´¹" ,Index := 8); |
| | | column7 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,Index := 10); |
| | | column6 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥è´¹" ,CustomIndex := 8); |
| | | column7 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,CustomIndex := 10); |
| | | |
| | | units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true ); |
| | | |
| | |
| | | // rislai Jul-4-2024 (created) |
| | | table := owner.LocalTable( relnew,Name := "æ åå·¥æ¶å¶æ¥è¡¨"); |
| | | |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,Index := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,Index := 2); |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,CustomIndex := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,CustomIndex := 2); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,Index := 3); |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,CustomIndex := 3); |
| | | |
| | | column4 := table.LocalColumn( relnew,Name := "å¹³æ¥å çæ¶é¿" ,Index := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "伿¯æ¥å çæ¶é¿" ,Index := 5); |
| | | column6 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,Index := 6); |
| | | column7 := table.LocalColumn( relnew,Name := "æ¬ å·¥æ¶é¿" ,Index := 7); |
| | | column4 := table.LocalColumn( relnew,Name := "å¹³æ¥å çæ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "伿¯æ¥å çæ¶é¿" ,CustomIndex := 5); |
| | | column6 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | column7 := table.LocalColumn( relnew,Name := "æ¬ å·¥æ¶é¿" ,CustomIndex := 7); |
| | | |
| | | column8 := table.LocalColumn( relnew,Name := "å¹³æ¥å çè´¹" ,Index := 8); |
| | | column9 := table.LocalColumn( relnew,Name := "伿¯æ¥å çè´¹" ,Index := 9); |
| | | column10 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,Index := 10); |
| | | column11 := table.LocalColumn( relnew,Name := "æ¬ å·¥è´¹" ,Index := 11); |
| | | column8 := table.LocalColumn( relnew,Name := "å¹³æ¥å çè´¹" ,CustomIndex := 8); |
| | | column9 := table.LocalColumn( relnew,Name := "伿¯æ¥å çè´¹" ,CustomIndex := 9); |
| | | column10 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,CustomIndex := 10); |
| | | column11 := table.LocalColumn( relnew,Name := "æ¬ å·¥è´¹" ,CustomIndex := 11); |
| | | |
| | | units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true ); |
| | | |
| | |
| | | // 2023/01/01 |
| | | index := [Number]generalColumn.Name().ReplaceAll( "/", "" ); |
| | | } |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),Index := index ); |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),CustomIndex := index ); |
| | | columns.Add( column ); |
| | | columnTree.Root().AddChild( tempHandle,columns.Size() - 1 ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Actual |
| | | { |
| | | #keys: '3[412672.1.64753749][412672.1.64753748][412672.1.64753750]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BaseVersionValue |
| | | { |
| | | #keys: '3[412672.1.64753763][412672.1.64753762][412672.1.64753764]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CompareVersionValue |
| | | { |
| | | #keys: '3[412672.1.64753752][412672.1.64753751][412672.1.64753753]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Gap |
| | | { |
| | | #keys: '3[412672.1.64753755][412672.1.64753754][412672.1.64753756]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Plan |
| | | { |
| | | #keys: '3[412672.1.64753743][412672.1.64753742][412672.1.64753744]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: BaseVersionValue |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: CompareVersionValue |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcGap |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | |
| | | value := this.Plan() - this.Actual(); |
| | | |
| | | this.Gap( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetAttributeByName ( |
| | | String attributeName |
| | | ) const declarative as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | value := ""; |
| | | |
| | | if( attributeName = "BaseVersion" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := this.Plan().Format( "N(Dec)" ); |
| | | } |
| | | } |
| | | if( attributeName = "CompareVersion" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := this.Actual().Format( "N(Dec)" ); |
| | | } |
| | | } |
| | | if( attributeName = "Gap" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := this.Gap().Format( "N(Dec)" ); |
| | | } |
| | | } |
| | | if( attributeName = "BaseVersionValue" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := "0"; |
| | | }else{ |
| | | value := this.BaseVersionValue(); |
| | | } |
| | | } |
| | | if( attributeName = "CompareVersionValue" ){ |
| | | if( not this.LocalColumn().IsAttrbuteColumn() ){ |
| | | value := "0"; |
| | | }else{ |
| | | value := this.CompareVersionValue(); |
| | | } |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod AsyncExport ( |
| | | RecycleBin recycleBin, |
| | | const constcontent LocalRows rows, |
| | | const constcontent LocalColumns columns, |
| | | const MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | sortColumns := selectsortedset( columns,Elements,column,true,column.Index()); |
| | | |
| | | attributeNames := LocalCell_DemandComparison::GetAttributeNames(); |
| | | |
| | | columnstring := emit( "" ); |
| | | flag := true; |
| | | traverse( sortColumns,Elements,sortColumn ){ |
| | | if( flag ){ |
| | | attributeXML := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames,"attribute",macroPlan ); |
| | | columnstring := columnstring.Merge( attributeXML ) |
| | | flag := false; |
| | | } |
| | | |
| | | cellxml := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames ,"data",macroPlan ); |
| | | columnstring := columnstring.Merge( cellxml); |
| | | } |
| | | |
| | | columnstring -> GroupAll() -> ExportXMLManager::AwaitLocalTableXMLData( recycleBin,guard( rows.Element(0).LocalTable().Name(),"Sheet1") ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Compared ( |
| | | RecycleBin recycleBin, |
| | | String baseVersionPath, |
| | | String compareVersionPath, |
| | | String baseVersionName, |
| | | String compareVersionName |
| | | ) as LocalTable |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | localTable := recycleBin.LocalTable( relnew,Name := baseVersionName + "__" + compareVersionName ); |
| | | |
| | | baseVersionFile := OSFile::Construct(); |
| | | compareVersionFile := OSFile::Construct(); |
| | | |
| | | try { |
| | | baseVersionFile.Open( baseVersionPath, "Read", false ); |
| | | baseVersionDataSource := GeneralExcelImportAndExportDataSource::Upload( recycleBin, baseVersionFile.ReadBinary(), baseVersionPath ); |
| | | baseVersionDataSource.ReadStructure(); |
| | | |
| | | compareVersionFile.Open( compareVersionPath, "Read", false ); |
| | | compareVersionDataSource := GeneralExcelImportAndExportDataSource::Upload( recycleBin, compareVersionFile.ReadBinary(), compareVersionPath ); |
| | | compareVersionDataSource.ReadStructure(); |
| | | |
| | | baseVersionTable := select( baseVersionDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, true ); |
| | | compareVersionTable := select( compareVersionDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, true ); |
| | | |
| | | if( not isnull( baseVersionTable ) and not isnull( compareVersionTable )){ |
| | | |
| | | //çæè¡æ°æ® |
| | | rowKeys := construct( Strings ); |
| | | baseVersionRowTree := NamedValueTree::Create(); |
| | | baseVersionRows := construct( GeneralExcelImportAndExportDataRows ,constcontent); |
| | | compareVersionRowTree := NamedValueTree::Create(); |
| | | compareVersionRows := construct( GeneralExcelImportAndExportDataRows ,constcontent); |
| | | LocalCell_DemandComparison::FillRows( baseVersionTable,rowKeys,baseVersionRowTree,baseVersionRows ); |
| | | LocalCell_DemandComparison::FillRows( compareVersionTable,rowKeys,compareVersionRowTree,compareVersionRows ); |
| | | |
| | | // çæåæ°æ® |
| | | columnTree := NamedValueTree::Create(); |
| | | columns := construct( LocalColumns ); |
| | | LocalCell_DemandComparison::GenerateColumnIndex( baseVersionTable,localTable,columnTree,columns ); |
| | | LocalCell_DemandComparison::GenerateColumnIndex( compareVersionTable,localTable,columnTree,columns ); |
| | | columnNames := selectvalues( columns,Elements,column,true,column.Name() ); |
| | | |
| | | // çææ°æ® |
| | | |
| | | for ( rowIndex := 0; rowIndex < rowKeys.Size(); rowIndex++ ) { |
| | | rowKey := rowKeys.Element( rowIndex ); |
| | | |
| | | baseVersionCellTree := NamedValueTree::Create(); |
| | | baseVersionCells := construct( GeneralExcelImportAndExportDataCells ,constcontent); |
| | | |
| | | compareVersionCellTree := NamedValueTree::Create(); |
| | | compareVersionCells := construct( GeneralExcelImportAndExportDataCells ,constcontent); |
| | | |
| | | LocalCell_DemandComparison::FillCells( rowKey,baseVersionRowTree,baseVersionRows,baseVersionCellTree,baseVersionCells ); |
| | | LocalCell_DemandComparison::FillCells( rowKey,compareVersionRowTree,compareVersionRows,compareVersionCellTree,compareVersionCells ); |
| | | |
| | | row := localTable.LocalRow( relnew,Index := localTable.GetRowIndexCache() ); |
| | | |
| | | traverse( columnNames,Elements,columnName ){ |
| | | columnHandle := columnTree.GetHandle( columnName ); |
| | | columnIndex := columnTree.Root().Child( columnHandle ).GetValueAsNumber(); |
| | | column := columns.Element( columnIndex ); |
| | | |
| | | baseVersionCell := constnull( GeneralExcelImportAndExportDataCell ); |
| | | baseVersionCellHandle := baseVersionCellTree.GetHandle( columnName ); |
| | | try{ |
| | | baseVersionCellIndex := baseVersionCellTree.Root().Child( baseVersionCellHandle ).GetValueAsNumber(); |
| | | baseVersionCell := baseVersionCells.Element( baseVersionCellIndex ); |
| | | }onerror{} |
| | | |
| | | compareVersionCell := constnull( GeneralExcelImportAndExportDataCell ); |
| | | compareVersionCellHandle := compareVersionCellTree.GetHandle( columnName ); |
| | | try{ |
| | | compareVersionCellIndex := compareVersionCellTree.Root().Child( compareVersionCellHandle ).GetValueAsNumber(); |
| | | compareVersionCell := compareVersionCells.Element( compareVersionCellIndex ); |
| | | }onerror{} |
| | | |
| | | if( columnName = "产å°" or columnName = "车å" or columnName = "å卿ºé¶ä»¶å·" or columnName = "å卿ºåä½ç " ){ |
| | | row.LocalCell( relnew,LocalCell_DemandComparison,LocalColumn := column, |
| | | BaseVersionValue := ifexpr( isnull( baseVersionCell ), "空", baseVersionCell.Value()), |
| | | CompareVersionValue := ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value())); |
| | | column.IsAttrbuteColumn( true ); |
| | | if( columnName = "å卿ºé¶ä»¶å·" ){ |
| | | row.CustomName( ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value()), baseVersionCell.Value()) ); |
| | | } |
| | | }else{ |
| | | row.LocalCell( relnew,LocalCell_DemandComparison,LocalColumn := column, |
| | | BaseVersion := ifexpr( isnull( baseVersionCell ),0,[Real]baseVersionCell.Value()), |
| | | CompareVersion := ifexpr( isnull( compareVersionCell ), 0 ,[Real]compareVersionCell.Value() )); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // åç»å é¤ |
| | | baseVersionDataSource.Delete(); |
| | | compareVersionDataSource.Delete(); |
| | | |
| | | baseVersionFile.Close(); |
| | | compareVersionFile.Close(); |
| | | } onerror { |
| | | if( not isnull( baseVersionFile )){ |
| | | baseVersionFile.Close(); |
| | | } |
| | | if( not isnull( compareVersionFile )){ |
| | | compareVersionFile.Close(); |
| | | } |
| | | error( e ); |
| | | } |
| | | |
| | | return localTable; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FillCells ( |
| | | String rowName, |
| | | NamedValueTree rowTree, |
| | | constcontent GeneralExcelImportAndExportDataRows rows, |
| | | NamedValueTree cellTree, |
| | | constcontent GeneralExcelImportAndExportDataCells cells |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-22-2024 (created) |
| | | rowHandel := rowTree.GetHandle( rowName ); |
| | | try{ |
| | | rowIndex := rowTree.Root().Child( rowHandel ).GetValueAsNumber(); |
| | | row := rows.Element( rowIndex ); |
| | | |
| | | temp_cells := selectsortedset( row,GeneralExcelImportAndExportDataCell,cell,true,cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() ); |
| | | for( i := 0 ; i<temp_cells.Size();i++ ){ |
| | | cell := temp_cells.Element( i ); |
| | | tempHandle := cellTree.GetHandle( cell.GeneralExcelImportAndExportDataColumn().Name() ); |
| | | |
| | | cells.Add( cell ); |
| | | cellTree.Root().AddChild( tempHandle,cells.Size() - 1 ); |
| | | |
| | | } |
| | | }onerror{} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod FillRows ( |
| | | const GeneralExcelImportAndExportDataTable general, |
| | | Strings rowKeys, |
| | | NamedValueTree rowTree, |
| | | constcontent GeneralExcelImportAndExportDataRows rows |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-22-2024 (created) |
| | | rowKeyColumn1 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "产å°" ); |
| | | rowKeyColumn2 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "车å" ); |
| | | rowKeyColumn3 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "å卿ºé¶ä»¶å·" ); |
| | | rowKeyColumn4 := select( general, GeneralExcelImportAndExportDataColumn, column, column.Name() = "å卿ºåä½ç " ); |
| | | tempRowKeyCells1 := selectset( rowKeyColumn1,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | tempRowKeyCells2 := selectset( rowKeyColumn2,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | tempRowKeyCells3 := selectset( rowKeyColumn3,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | tempRowKeyCells4 := selectset( rowKeyColumn4,GeneralExcelImportAndExportDataCell,cell,true ); |
| | | |
| | | for( i := 0; i< tempRowKeyCells1.Size(); i++ ){ |
| | | tempRowKeyCell1 := tempRowKeyCells1.Element( i ); |
| | | tempRowKeyCell2 := tempRowKeyCells2.Element( i ); |
| | | tempRowKeyCell3 := tempRowKeyCells3.Element( i ); |
| | | tempRowKeyCell4 := tempRowKeyCells4.Element( i ); |
| | | |
| | | rowKey := tempRowKeyCell1.Value() + tempRowKeyCell2.Value() + tempRowKeyCell3.Value() + tempRowKeyCell4.Value(); |
| | | |
| | | tempHandle := rowTree.GetHandle( rowKey ); |
| | | rowTree.Root().AddChild( tempHandle ,i); |
| | | rows.Add( tempRowKeyCell1.GeneralExcelImportAndExportDataRow()); |
| | | rowKeys.Add( rowKey ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateColumnIndex ( |
| | | const GeneralExcelImportAndExportDataTable table, |
| | | LocalTable localTable, |
| | | NamedValueTree columnTree, |
| | | LocalColumns columns |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-22-2024 (created) |
| | | tableColumns := selectset( table,GeneralExcelImportAndExportDataColumn,column,true ); |
| | | for( i := 0; i< tableColumns.Size(); i++ ){ |
| | | generalColumn := tableColumns.Element( i ); |
| | | tempHandle := columnTree.GetHandle( generalColumn.Name() ); |
| | | |
| | | nameValue := guard( columnTree.Root().Child( tempHandle ),null( NamedValue )); |
| | | if( isnull( nameValue )){ |
| | | index := 999; |
| | | if( generalColumn.Name() = "产å°" ){ |
| | | index := 1; |
| | | }else if( generalColumn.Name() = "车å" ){ |
| | | index := 2; |
| | | }else if( generalColumn.Name() = "å卿ºé¶ä»¶å·" ){ |
| | | index := 3; |
| | | }else if( generalColumn.Name() = "å卿ºåä½ç " ){ |
| | | index := 4; |
| | | }else{ |
| | | // 2023/01/01 |
| | | index := [Number]generalColumn.Name().ReplaceAll( "/", "" ); |
| | | } |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),CustomIndex := index ); |
| | | columns.Add( column ); |
| | | columnTree.Root().AddChild( tempHandle,columns.Size() - 1 ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetAttributeNames () const declarative as owning Strings |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | attributeNames := construct( Strings ); |
| | | |
| | | attributeNames.Add( "BaseVersion" ); |
| | | attributeNames.Add( "CompareVersion" ); |
| | | attributeNames.Add( "Gap" ); |
| | | |
| | | return &attributeNames; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetColumnXML ( |
| | | const constcontent LocalRows rows, |
| | | const LocalColumn column, |
| | | const Strings attributeNames, |
| | | String type, |
| | | const MacroPlan macroPlan |
| | | ) const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | // rislai Jun-20-2024 (created) |
| | | columnXML := ""; |
| | | cells := selectsortedset( column, LocalCell.astype( LocalCell_DemandComparison ), cell, |
| | | exists( rows,Elements,element,element = cell.LocalRow()), cell.LocalRow().Index()); |
| | | if( type = "data" ){ |
| | | columnXML := ""; |
| | | if( column.IsAttrbuteColumn() ){ |
| | | columnXML := "<column><name>" + column.Name() + "</name><type>String</type>"; |
| | | }else{ |
| | | columnXML := "<column><name>" + column.Name() + "</name><type>Number</type>"; |
| | | } |
| | | traverse ( cells, Elements, cell ) { |
| | | traverse( attributeNames ,Elements,e ){ |
| | | cellXML := '<cell value="' + cell.GetAttributeByName( e ) + '"/>' |
| | | columnXML := columnXML + cellXML; |
| | | } |
| | | } |
| | | columnXML := columnXML + "</column>"; |
| | | } |
| | | if( type = "attribute" ){ |
| | | columnXML0_1 := "<column><name>Sales Segment</name><type>String</type>"; |
| | | columnXML0_2 := "<column><name>Generation</name><type>String</type>"; |
| | | columnXML0_3 := "<column><name>MQB/MLB</name><type>String</type>"; |
| | | columnXML0_4 := "<column><name>åç</name><type>String</type>"; |
| | | |
| | | columnXML1 := "<column><name>Product ID</name><type>String</type>"; |
| | | columnXML2 := "<column><name>Attribute</name><type>String</type>"; |
| | | |
| | | traverse ( cells, Elements, cell ) { |
| | | flag := true; |
| | | traverse( attributeNames ,Elements,e ){ |
| | | if( flag ){ |
| | | cellXML := '<cell value="' + cell.LocalRow().Name() + '"/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | | |
| | | salesSegment := select( cell.LocalRow().LocalTable(),LocalColumn.LocalCell.astype( LocalCell_DemandComparison ),temp_cell,temp_cell.LocalRow() = cell.LocalRow() and temp_cell.LocalColumn().Name() = "产å°"); |
| | | if( not isnull( salesSegment )){ |
| | | cellXML0_1 := '<cell value="' + ifexpr( salesSegment.BaseVersionValue() <> "空",salesSegment.BaseVersionValue(),salesSegment.CompareVersionValue()) + '"/>'; |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | }else{ |
| | | cellXML0_1 := '<cell value=" "/>' |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | } |
| | | |
| | | product := select( macroPlan,Product_MP,product,product.ID() = cell.LocalRow().Name() ); |
| | | if( not isnull( product )){ |
| | | cellXML0_2 := '<cell value="' + product.Generation() + '"/>'; |
| | | cellXML0_3 := '<cell value="' + product.MQBMLB() + '"/>'; |
| | | cellXML0_4 := '<cell value="' + product.Power() + '"/>'; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | }else{ |
| | | cellXML0_2 := '<cell value=" "/>'; |
| | | cellXML0_3 := '<cell value=" "/>'; |
| | | cellXML0_4 := '<cell value=" "/>'; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | } |
| | | |
| | | flag := false; |
| | | }else{ |
| | | cellXML := '<cell value=" "/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | | cellXML0_1 := '<cell value=" "/>' |
| | | cellXML0_2 := '<cell value=" "/>'; |
| | | cellXML0_3 := '<cell value=" "/>'; |
| | | cellXML0_4 := '<cell value=" "/>'; |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | } |
| | | cellXML := '<cell value="' + e + '"/>' |
| | | columnXML2 := columnXML2 + cellXML; |
| | | } |
| | | } |
| | | columnXML := columnXML0_1 + "</column>" + columnXML0_2 + "</column>" + columnXML0_3 + "</column>" + columnXML0_4 + "</column>" + columnXML1 + "</column>" + columnXML2 + "</column>"; |
| | | } |
| | | |
| | | return columnXML; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization LocalCell_ProductionComparison |
| | | { |
| | | #keys: '2[412672.1.64753741][412672.1.64753740]' |
| | | Parent: LocalCell |
| | | StructuredName: 'LocalCell_ProductionComparisons' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomDate |
| | | { |
| | | #keys: '3[412672.1.50711484][412672.1.50711483][412672.1.50711485]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomIndex |
| | | { |
| | | #keys: '3[412672.1.64721865][412672.1.64721864][412672.1.64721866]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | ISOValue: '-999' |
| | | TargetAttribute: CustomIndex |
| | | } |
| | |
| | | // rislai Jun-28-2024 (created) |
| | | if( not this.IsAttrbuteColumn() ){ |
| | | names := this.Name().Tokenize( "/" ); |
| | | this.Date( guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() )); |
| | | this.Date( ifexpr( this.CustomDate() <> Date::MinDate(),this.CustomDate(),guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() ))); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcIndex |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-24-2024 (created) |
| | | year := this.Date().Year(); |
| | | month := this.Date().Month(); |
| | | day := this.Date().Day(); |
| | | |
| | | index := [String]year; |
| | | if( month < 10 ){ |
| | | index := index + "0" + [String]month; |
| | | } |
| | | if( day < 10 ){ |
| | | index := index + "0" + [String]day; |
| | | } |
| | | |
| | | |
| | | value := ifexpr( this.CustomIndex() = -999,[Number]index,this.CustomIndex() ); |
| | | |
| | | this.Index( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute AllTotal |
| | | { |
| | | #keys: '3[415136.0.931886946][415136.0.931886945][415136.0.931886947]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DDay |
| | | { |
| | | #keys: '3[415136.0.931886953][415136.0.931886952][415136.0.931886954]' |
| | | Description: 'æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Date |
| | | { |
| | | #keys: '3[415136.0.931886848][415136.0.931886847][415136.0.931886849]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Fac |
| | | { |
| | | #keys: '3[415136.0.931886928][415136.0.931886927][415136.0.931886929]' |
| | | Description: 'å·¥åcode' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FacName |
| | | { |
| | | #keys: '3[415136.0.931886918][415136.0.931886917][415136.0.931886919]' |
| | | Description: 'å·¥ååç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Inventory |
| | | { |
| | | #keys: '3[415136.0.931886842][415136.0.931886841][415136.0.931886843]' |
| | | Description: 'å¯¹åºæ¥æçå®é
åºåæ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute LineType |
| | | { |
| | | #keys: '3[415136.0.931886957][415136.0.931886956][415136.0.931886958]' |
| | | Description: '产线类å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MaterialName |
| | | { |
| | | #keys: '3[415136.0.931886910][415136.0.931886909][415136.0.931886911]' |
| | | Description: 'é¶ä»¶åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MaterialNo |
| | | { |
| | | #keys: '3[415136.0.931886900][415136.0.931886899][415136.0.931886901]' |
| | | Description: 'é¶ä»¶å·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Product |
| | | { |
| | | #keys: '3[415136.0.931886845][415136.0.931886844][415136.0.931886846]' |
| | | Description: '产å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Total |
| | | { |
| | | #keys: '3[415136.0.931886936][415136.0.931886935][415136.0.931886937]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[415136.0.931886839][415136.0.931886838][415136.0.931886840]' |
| | | Description: 'åºåç¹ä¿¡æ¯' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateData ( |
| | | InterfaceLoginfo owner, |
| | | StringToDate cnv, |
| | | JSON item |
| | | ) as MachineStockData |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-17-2024 (created) |
| | | material_no := guard( item.Get( "material_no").GetString(),""); |
| | | material_name := guard( item.Get( "material_name").GetString(),""); |
| | | fac_name := guard( item.Get( "fac_name").GetString(),""); |
| | | fac := guard( item.Get( "fac").GetString(),""); |
| | | total := guard( item.Get( "total").GetReal(), 0 ); |
| | | all_total := guard( item.Get( "all_total").GetReal(), 0 ); |
| | | dday := guard( item.Get( "dday").GetString(),""); |
| | | line_type := guard( item.Get( "fac").GetString(),""); |
| | | |
| | | msdata := owner.MachineStockData( relnew, MaterialNo := material_no |
| | | , MaterialName := material_name |
| | | , Fac := fac |
| | | , FacName := fac_name |
| | | , Total := total |
| | | , AllTotal := all_total |
| | | , DDay := cnv.Convert( dday ) |
| | | , LineType := line_type ); |
| | | |
| | | return msdata; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetRequestBody ( |
| | | Date date |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-19-2024 (created) |
| | | json := JSON::Object() |
| | | .Add( "inParam", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ).Add( "fac", "" ) ).Build(); |
| | | requestbody := json.AsString(); |
| | | return requestbody |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Synchronize ( |
| | | InterfaceDataset owner, |
| | | String executor |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | //// çå
°é¸½ Jul-17-2024 (created) |
| | | date := Date::ActualDate(); |
| | | loginfo := owner.InterfaceLoginfo( relnew, ExecuteUser := executor |
| | | , Name := Translations::InterfaceDataset_MachineStockData_Name() |
| | | , InterfaceDateTime := DateTime::ActualTime() |
| | | , Message := 'åºåæ°æ®ï¼æºå åºåï¼' |
| | | , RequestBody := MachineStockData::GetRequestBody( date ) ); |
| | | |
| | | data := InterfaceLoginfo::CallInterface( owner, loginfo ); |
| | | if( not isnull( data ) ){ |
| | | |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( 'yyyy-MM-dd' ); |
| | | |
| | | // sadatalist := construct( ShippingActualDatas ); |
| | | for( seq := 0;seq < data.Size();seq++){ |
| | | item := data.Get(seq); |
| | | MachineStockData::GenerateData( loginfo, cnv2, item ); |
| | | // sadatalist.Add( sadata ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type MachineStockData |
| | | { |
| | | #keys: '5[415136.0.931886835][415136.0.931886833][0.0.0][415136.0.931886834][415136.0.931886836]' |
| | | BaseType: Object |
| | | Description: 'åºåæ°æ®ï¼æºå åºåï¼' |
| | | StructuredName: 'MachineStockDatas' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Comparison ( |
| | | RecycleBin recycleBin |
| | | ) as LocalTable |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-17-2024 (created) |
| | | macroPlan := this.MacroPlan(); |
| | | table := recycleBin.LocalTable( relnew,Name := "产éå¯¹æ¯æ¥è¡¨"); |
| | | |
| | | actualDailyProductionDatas := selectset( macroPlan,ActualDailyProductionData,data,true ); |
| | | actualDailyProductionDataIndexTree := NamedValueTree::Create(); |
| | | for( i := 0; i< actualDailyProductionDatas.Size(); i++ ){ |
| | | actualDailyProductionData := actualDailyProductionDatas.Element( i ); |
| | | actualDailyProductionDataKey := actualDailyProductionData.Product() + actualDailyProductionData.Date().AsQUILL(); |
| | | actualDailyProductionDataHandle := actualDailyProductionDataIndexTree.GetHandle( actualDailyProductionDataKey ); |
| | | actualDailyProductionDataIndexTree.Root().AddChild( actualDailyProductionDataHandle,i ); |
| | | } |
| | | |
| | | localColumns := construct( LocalColumns ); |
| | | localColumnIndexTree := NamedValueTree::Create(); |
| | | traverse( this,OfflinePlanColumn,column,column.ColumnDate() >= macroPlan.StartOfPlanning().Date()){ |
| | | localColumn := table.LocalColumn( relnew,CustomDate := column.ColumnDate()); |
| | | localColumnHandle := localColumnIndexTree.GetHandle( column.ColumnDate().AsQUILL() ); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | |
| | | traverse( this,OfflinePlanRow,row,row.Type() = "1" ){ |
| | | productID := row.ProductID(); |
| | | productLine := row.ProductionLine(); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := productID ); |
| | | traverse( row,OfflinePlanCell,cell,cell.OfflinePlanColumn().ColumnDate() >= macroPlan.StartOfPlanning().Date() ){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( cell.OfflinePlanColumn().ColumnDate().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | | if( not isnull( localColumnIndex )){ |
| | | actualDailyProductionDataKey := productID + cell.OfflinePlanColumn().ColumnDate().AsQUILL(); |
| | | actualDailyProductionDataHandle := actualDailyProductionDataIndexTree.GetHandle( actualDailyProductionDataKey ); |
| | | actualDailyProductionDataIndex := guard( actualDailyProductionDataIndexTree.Root().Child( actualDailyProductionDataHandle ),null( NamedValue )); |
| | | |
| | | actualDailyProductionVolume := 0.0; |
| | | if( not isnull( actualDailyProductionDataIndex )){ |
| | | actualDailyProductionData := actualDailyProductionDatas.Element( actualDailyProductionDataIndex.GetValueAsNumber() ); |
| | | actualDailyProductionVolume := actualDailyProductionData.ProductionVolume(); |
| | | } |
| | | localColumn := localColumns.Element( localColumnIndex.GetValueAsNumber() ); |
| | | localRow.LocalCell( relnew,LocalCell_ProductionComparison ,LocalColumn := localColumn, |
| | | Plan := cell.Quantity(),Actual := actualDailyProductionVolume ); |
| | | } |
| | | } |
| | | } |
| | | traverse( table,LocalColumn,column ){ |
| | | if( column.LocalCell( relsize ) = 0 ){ |
| | | column.Delete(); |
| | | } |
| | | } |
| | | |
| | | return table; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Quantity |
| | | { |
| | | #keys: '3[415136.0.904040075][415136.0.904040074][415136.0.904040076]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ShippingActualCell |
| | | { |
| | | #keys: '5[415136.0.904040072][415136.0.904040070][0.0.0][415136.0.904040071][415136.0.904040073]' |
| | | BaseType: Object |
| | | Description: 'å®é
åè¿æ°æ®åå
æ ¼' |
| | | StructuredName: 'ShippingActualCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Index |
| | | { |
| | | #keys: '3[415136.0.904040147][415136.0.904040146][415136.0.904040148]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[415136.0.904040023][415136.0.904040022][415136.0.904040024]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ShippingActualColumn |
| | | { |
| | | #keys: '5[415136.0.904040006][415136.0.904040004][0.0.0][415136.0.904040005][415136.0.904040007]' |
| | | BaseType: Object |
| | | Description: 'å®é
åè¿æ°æ®å' |
| | | StructuredName: 'ShippingActualColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CreateTime |
| | | { |
| | | #keys: '3[415136.0.904000065][415136.0.904000064][415136.0.904000066]' |
| | | Description: 'æ¶é´' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DDay |
| | | { |
| | | #keys: '3[415136.0.904000085][415136.0.904000084][415136.0.904000086]' |
| | | Description: 'æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Fac |
| | | { |
| | | #keys: '3[415136.0.904000115][415136.0.904000114][415136.0.904000116]' |
| | | Description: 'å·¥å代ç ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FourCode |
| | | { |
| | | #keys: '3[415136.0.904000095][415136.0.904000094][415136.0.904000096]' |
| | | Description: 'åä½ç ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.904000125][415136.0.904000124][415136.0.904000126]' |
| | | Description: 'é¶ä»¶åç§°' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Quantity |
| | | { |
| | | #keys: '3[415136.0.904000105][415136.0.904000104][415136.0.904000106]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | InterfaceDataset owner |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-18-2024 (created) |
| | | name := ShippingActualData::GetDefalutName(); |
| | | |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + name + '</name></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | //Product |
| | | productcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | productnameelement := xmlDOM.CreateElement( "name" ); |
| | | producttypeelement := xmlDOM.CreateElement( "type" ); |
| | | productnameelement.TextContent( 'Product' ); |
| | | producttypeelement.TextContent( "String" ); |
| | | productcolumnelement.AppendChild( productnameelement ); |
| | | productcolumnelement.AppendChild( producttypeelement ); |
| | | |
| | | tableElement.AppendChild( productcolumnelement ); |
| | | traverse ( owner, ShippingActualColumn, column ) { |
| | | columnelement := xmlDOM.CreateElement( "column" ); |
| | | nameelement := xmlDOM.CreateElement( "name" ); |
| | | typeelement := xmlDOM.CreateElement( "type" ); |
| | | nameelement.TextContent( column.StartDate().Format( "M2/D2/Y" ) ); |
| | | typeelement.TextContent( "String" ); |
| | | columnelement.AppendChild( nameelement ); |
| | | columnelement.AppendChild( typeelement ); |
| | | |
| | | cells := selectsortedset( column, ShippingActualCell, cell, cell.ShippingActualRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( column.Index() = 0 ){ |
| | | row := c.ShippingActualRow(); |
| | | //Product |
| | | productcellElement := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement ); |
| | | } |
| | | cellElement := xmlDOM.CreateElement( "cell" ); |
| | | cellElement.SetAttribute( "value", [String]c.Quantity() ); |
| | | columnelement.AppendChild( cellElement ); |
| | | } |
| | | tableElement.AppendChild( columnelement ); |
| | | } |
| | | |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( FinancialProductionReport::GetDefaultName() ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateData ( |
| | | InterfaceLoginfo owner, |
| | | StringToDateTime cnv1, |
| | | StringToDate cnv, |
| | | JSON item |
| | | ) as ShippingActualData |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-17-2024 (created) |
| | | createtime := guard( item.Get( "create_time").GetString(),""); |
| | | dday := guard( item.Get( "dday").GetString(),""); |
| | | fourcode := guard( item.Get( "four_code").GetString(),""); |
| | | quantity := guard( item.Get( "qty").GetReal(), 0); |
| | | fac := guard( item.Get( "fac").GetString(),""); |
| | | id := guard( item.Get( "id").GetNumber(),0); |
| | | |
| | | sadata := owner.ShippingActualData( relnew, CreateTime := cnv1.Convert( createtime ) |
| | | , Fac := fac |
| | | , FourCode := fourcode |
| | | , Quantity := quantity |
| | | , DDay := cnv.Convert( dday ) |
| | | , ID := id); |
| | | |
| | | return sadata; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefalutName () as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-18-2024 (created) |
| | | return "Shipping actual"; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetRequestBody ( |
| | | Date date |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-19-2024 (created) |
| | | json := JSON::Object() |
| | | .Add( "inParam", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ) ).Build(); |
| | | requestbody := json.AsString(); |
| | | return requestbody |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Synchronize ( |
| | | InterfaceDataset owner, |
| | | String executor |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | //// çå
°é¸½ Jul-17-2024 (created) |
| | | date := Date::ActualDate(); |
| | | loginfo := owner.InterfaceLoginfo( relnew, ExecuteUser := executor |
| | | , Name := Translations::InterfaceDataset_ShippingActualData_Name() |
| | | , InterfaceDateTime := DateTime::ActualTime() |
| | | , Message := 'åè¿å®é
æ°æ®' |
| | | , RequestBody := ShippingActualData::GetRequestBody( date ) ); |
| | | // vwedadmin Jul-18-2024 (created) |
| | | //address := "ds-yunrong-gw.dmp.vwfawedl.mobi"; |
| | | // |
| | | // /// http://ds-yunrong-gw.dmp.vwfawedl.mobi/data-service/api/service/post-data/V1.101/f4f94c47c1a2440898b5e1e2c0c5cbc8 |
| | | //httpinterface := HTTPInterface::Create( address,80); |
| | | // httpinterface.URL("/data-service/api/service/post-data/V1.101/f4f94c47c1a2440898b5e1e2c0c5cbc8"); |
| | | //httpinterface.MediaType("application/json"); |
| | | ////httpinterface.SSL(true); |
| | | ////httpinterface.SSLKeystore("MyKeystore"); |
| | | //httpinterface.PostMethod(true); |
| | | ////str :='{ |
| | | //// "inParam": |
| | | //// { |
| | | //// "dday" : "2024-07-11" |
| | | //// } |
| | | ////}' |
| | | //httpinterface.AddHeader("Authorization","MTlLeG94UEYyNWN5OTZLOFRMXzUyNzA4ODkwNzg1NTA2OTIxNV9wcml2YXRlS2V5XzE3MjEzMDM4Nzc0NTE=") |
| | | //httpinterface.Call( ShippingActualData::GetRequestBody( column.StartDate() ) ); //Sends request with the header Authorization: 538baa9045a84c0e889f å¯ä»¥ä¼ é卿token çå§ |
| | | //result := httpinterface.Result(); |
| | | |
| | | data := InterfaceLoginfo::CallInterface( owner, loginfo ); |
| | | if( not isnull( data ) ){ |
| | | cnv1 := StringToDateTime::StandardConverter(); |
| | | cnv1.SetCustomConversion(); |
| | | cnv1.CustomFormatString( 'yyyy-MM-dd HH:mm:ss' ); |
| | | |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( 'yyyy-MM-dd' ); |
| | | column := owner.ShippingActualColumn( relnew, StartDate := date, Index := owner.ShippingActualColumn( relsize ) ); |
| | | |
| | | sadatalist := construct( ShippingActualDatas ); |
| | | for( seq := 0;seq < data.Size();seq++){ |
| | | item := data.Get(seq); |
| | | sadata := ShippingActualData::GenerateData( loginfo, cnv1, cnv2, item ); |
| | | sadatalist.Add( sadata ); |
| | | } |
| | | beforerowsize := owner.ShippingActualRow( relsize ); |
| | | traverse( sadatalist, Elements, e ){ |
| | | row := selectobject( owner, ShippingActualRow, row, row.Name() = e.FourCode() ); |
| | | if( isnull( row ) ){ |
| | | owner.ShippingActualRow( relnew, Name := e.FourCode() ); |
| | | } |
| | | |
| | | cell := row.ShippingActualCell( relnew, Quantity := e.Quantity() ); |
| | | column.ShippingActualCell( relinsert, cell ); |
| | | } |
| | | if( beforerowsize <> owner.ShippingActualRow( relsize ) ){ |
| | | rows := selectsortedset( owner, ShippingActualRow, row, row.Name() ); |
| | | nr := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( nr ); |
| | | nr := nr + 1; |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ShippingActualData |
| | | { |
| | | #keys: '5[415136.0.904000038][415136.0.904000036][0.0.0][415136.0.904000037][415136.0.904000039]' |
| | | BaseType: Object |
| | | Description: 'åè¿å®é
æ°æ®' |
| | | StructuredName: 'ShippingActualDatas' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.904040051][415136.0.904040050][415136.0.904040052]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RowNr |
| | | { |
| | | #keys: '3[415136.0.904040061][415136.0.904040060][415136.0.904040062]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ShippingActualRow |
| | | { |
| | | #keys: '5[415136.0.904040034][415136.0.904040032][0.0.0][415136.0.904040033][415136.0.904040035]' |
| | | BaseType: Object |
| | | Description: 'å®é
è¹è¿æ°æ®è¡' |
| | | StructuredName: 'ShippingActualRows' |
| | | } |
| | |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonInterface |
| | | { |
| | | #keys: '[415136.0.931576995]' |
| | | BaseType: 'WebButton' |
| | | Children: |
| | | [ |
| | | #child: ContextMenuInterface |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'ARROW_SHUFFLE' |
| | | Label: 'Interface' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ButtonOfflinePlanComparisonReport |
| | | { |
| | | #keys: '[412672.1.66051424]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_INFO' |
| | | Label: '产éå¯¹æ¯æ¥è¡¨' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ContextMenuInterface |
| | | { |
| | | #keys: '[415136.0.931500880]' |
| | | BaseType: 'WebContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuInterface |
| | | { |
| | | #keys: '[415136.0.931500881]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT' |
| | | Taborder: 0 |
| | | Title: 'Interface loginfo' |
| | | ] |
| | | } |
| | | Component MenuMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501127]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'SPREADSHEET' |
| | | Taborder: 1 |
| | | Title: 'Machine stock data' |
| | | ] |
| | | } |
| | | Component MenuFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933525462]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'SPREADSHEET' |
| | | Taborder: 2 |
| | | Title: 'Finished engine inventory' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bPackagingPlan |
| | | Component bBlank |
| | | { |
| | | #keys: '[413988.0.1291640400]' |
| | | BaseType: 'WebButton' |
| | |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bShippingActualData |
| | | { |
| | | #keys: '[415136.0.905520117]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'TABLE_CONNECTION' |
| | | Label: 'Shipping data' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ActionBarGroupReport/ButtonOfflinePlanComparisonReport |
| | | Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonOfflinePlanComparisonReport_OnClick |
| | | { |
| | | #keys: '[412672.1.66051682]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // Open view |
| | | ApplicationMacroPlanner.OpenView( 'OfflinePlanComparisonReport', this ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuInterface/MenuFinishedEngineInventory |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_MenuFinishedEngineInventory_OnClick |
| | | { |
| | | #keys: '[415136.0.933525609]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Finished_engine_inventory", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuInterface/MenuInterface |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_MenuInterface_OnClick |
| | | { |
| | | #keys: '[415136.0.931500984]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Interface_loginfo_view", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuInterface/MenuMachineStockData |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_MenuMachineStockData_OnClick |
| | | { |
| | | #keys: '[415136.0.932240790]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Machine_stock_data", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: abgSecondDevelopmentPlan/bShippingActualData |
| | | Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bShippingActualData_OnClick |
| | | { |
| | | #keys: '[415136.0.905520217]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Shipping_actual_data_view", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LibCal_SubscriberEventTable' |
| | | Source: 'dhTable' |
| | | DataType: 'structured[LibCal_SubscriberEventColumn]' |
| | | Source: 'dhColumns' |
| | | Taborder: 0 |
| | | Transformation: 'LibCal_SubscriberEventColumn.LibCal_SubscriberEventCell' |
| | | Transformation: 'Elements.LibCal_SubscriberEventCell' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LibCal_SubscriberEventTable' |
| | | FilterArguments: 'subscribers:dhSubscribers;eventtypes:dhEventTypes' |
| | | FixedFilter: 'object.FilterBySubscriberAndEventType( subscribers, eventtypes )' |
| | | Source: 'dhTable' |
| | | DataType: 'structured[LibCal_SubscriberEventRow]' |
| | | Source: 'dhRows' |
| | | Taborder: 0 |
| | | Transformation: 'LibCal_SubscriberEventRow' |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'RowNr' |
| | | Legend: 'Name' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LibCal_SubscriberEventTable' |
| | | DataType: 'structured[LibCal_SubscriberEventColumn]' |
| | | Description: 'object.FilterByDatePeriod( Date::MinDate(), Date::MaxDate() )' |
| | | FilterArguments: 'period:dhDate' |
| | | FixedFilter: 'object.FilterByDatePeriod( period.Start(), period.End() )' |
| | | Source: 'dhTable' |
| | | Source: 'dhColumns' |
| | | Taborder: 0 |
| | | Transformation: 'LibCal_SubscriberEventColumn' |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Index' |
| | | SortCriteria: 'Period' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | |
| | | Columns: 'MatrixEditorTableColumns' |
| | | ContextMenu: 'matrixeditorContextMenuTable' |
| | | Rows: 'MatrixEditorTableRows' |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 0 |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonInitialize |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'ARROW_CIRCLE' |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component ButtonSearch |
| | | { |
| | | #keys: '[415136.0.922435407]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Search' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorTable |
| | | Component dhTable |
| | | Component dhColumns |
| | | { |
| | | #keys: '[415136.0.672310139]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'LibCal_SubscriberEventTable' |
| | | Databinding: 'structured[LibCal_SubscriberEventColumn]*' |
| | | Properties: |
| | | [ |
| | | Description: '表' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhRows |
| | | { |
| | | #keys: '[415136.0.922436014]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[LibCal_SubscriberEventRow]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | Title: 'Periods' |
| | | Tooltip: '<html>Select if the periods are used for planning or merely for visualization.<br>The planning periods define the granularity at which planning is done.<br>In case of overlapping planning periods, the smallest ones are used.<br>The planning periods are shown in the period overview in blue.</html>' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | [* |
| | | |
| | | this.InitializeSubscribers(); |
| | | |
| | | columns := construct( LibCal_SubscriberEventColumns ); |
| | | rows := construct( LibCal_SubscriberEventRows ); |
| | | |
| | | traverse( dhCalendar.Data(), LibCal_SubscriberEventTable, table, table.ID() = RadioButtonGroupUseForPlanning.BoundValue() ){ |
| | | columns := selectset( table, LibCal_SubscriberEventColumn, column, true ); |
| | | rows := selectset( table, LibCal_SubscriberEventRow, row, true ); |
| | | } |
| | | dhColumns.Data( &columns ); |
| | | dhRows.Data( &rows ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := LibCal_SubscriberEventTable::Export( dhTable.Data() ); |
| | | binaryValue := LibCal_SubscriberEventTable::Export( dhColumns.Data(), dhRows.Data() ); |
| | | |
| | | Application.Download( "Unavailable events.xlsx", binaryValue.AsBinaryData() ); |
| | | Application.Download( LibCal_SubscriberEventTable::GetDefaultName() + ".xlsx", binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport/ButtonSearch |
| | | Response OnClick () id:Response_PanelExport_ButtonSearch_OnClick |
| | | { |
| | | #keys: '[415136.0.922435443]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | columns := construct( LibCal_SubscriberEventColumns ); |
| | | rows := construct( LibCal_SubscriberEventRows ); |
| | | subscribers := dhSubscribers.Data(); |
| | | eventtypes := dhEventTypes.Data(); |
| | | date := dhDate.Data(); |
| | | traverse( dhCalendar.Data(), LibCal_SubscriberEventTable, table ){ |
| | | columns := selectset( table, LibCal_SubscriberEventColumn, column, column.FilterByDatePeriod( date.Start(), date.End(), RadioButtonGroupUseForPlanning.BoundValue() ) ); |
| | | rows := selectset( table, LibCal_SubscriberEventRow, row, row.FilterBySubscriberAndEventType( subscribers, eventtypes ) ); |
| | | } |
| | | dhColumns.Data( &columns ); |
| | | dhRows.Data( &rows ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933380308]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933380309]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InterfaceDataset' |
| | | Source: 'InterfaceDataset' |
| | | Taborder: 0 |
| | | Transformation: 'InterfaceLoginfo.FinishedEngineInventory' |
| | | ] |
| | | } |
| | | #child: listActionBarPageFinishedEngineInventory |
| | | Component DataSetLevelFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933380314]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuFinishedEngineInventory |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FourCode","title":"FourCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FourCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VehicleType","title":"VehicleType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VehicleType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiptPlace","title":"ReceiptPlace","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReceiptPlace"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FullName","title":"FullName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FullName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SpellName","title":"SpellName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SpellName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EngineType","title":"EngineType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EngineType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EngineModularPlatform","title":"EngineModularPlatform","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EngineModularPlatform"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Brand","title":"Brand","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Brand"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BIPlace","title":"BIPlace","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BIPlace"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total","title":"Total","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Amount","title":"Amount","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Amount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DType","title":"DType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DDay","title":"DDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DWeek","title":"DWeek","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DWeek"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DMonth","title":"DMonth","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DMonth"}}]' |
| | | ContextMenu: 'listContextMenuFinishedEngineInventory' |
| | | SortCriteria: 'desc:DDay' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933380311]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933380316]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormFinishedEngineInventory |
| | | { |
| | | #keys: '[415136.0.933380255]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: ListFinishedEngineInventory |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'SPREADSHEET' |
| | | Title: 'Finished engine inventory' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListInterfaceLoginfo |
| | | { |
| | | #keys: '[415136.0.931545401]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorInterfaceLoginfo |
| | | { |
| | | #keys: '[415136.0.931545402]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'external[InterfaceDataset]' |
| | | Source: 'InterfaceDataset' |
| | | Taborder: 0 |
| | | Transformation: 'InterfaceLoginfo' |
| | | ] |
| | | } |
| | | #child: listActionBarPageInterfaceLoginfo |
| | | Component DataSetLevelInterfaceLoginfo |
| | | { |
| | | #keys: '[415136.0.931545407]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuInterfaceLoginfo |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ExecuteUser","title":"ExecuteUser","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ExecuteUser"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InterfaceDateTime","title":"InterfaceDateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InterfaceDateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FinishTime","title":"FinishTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FinishTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Message","title":"Message","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Message"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Success","title":"Success","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Success"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReturnSuccess","title":"ReturnSuccess","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReturnSuccess"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReturnMsg","title":"ReturnMsg","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReturnMsg"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Last","title":"Last","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Last"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TotalRow","title":"TotalRow","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"TotalRow"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"RequestBody","title":"RequestBody","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"RequestBody"}}]' |
| | | ContextMenu: 'listContextMenuInterfaceLoginfo' |
| | | SortCriteria: 'desc:InterfaceDateTime' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageInterfaceLoginfo |
| | | { |
| | | #keys: '[415136.0.931545404]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuInterfaceLoginfo |
| | | { |
| | | #keys: '[415136.0.931545409]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormInterfaceLoginfo |
| | | { |
| | | #keys: '[415136.0.931210186]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: ListInterfaceLoginfo |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT' |
| | | Title: 'Interface loginfo' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501240]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501241]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InterfaceDataset' |
| | | Source: 'InterfaceDataset' |
| | | Taborder: 0 |
| | | Transformation: 'InterfaceLoginfo.MachineStockData' |
| | | ] |
| | | } |
| | | #child: listActionBarPageMachineStockData |
| | | Component DataSetLevelMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501246]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuMachineStockData |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialNo","title":"MaterialNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialName","title":"MaterialName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FacName","title":"FacName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FacName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LineType","title":"LineType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LineType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DDay","title":"DDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total","title":"Total","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AllTotal","title":"AllTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AllTotal"}}]' |
| | | ContextMenu: 'listContextMenuMachineStockData' |
| | | SortCriteria: 'desc:DDay' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501243]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501248]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormMachineStockData |
| | | { |
| | | #keys: '[415136.0.931501186]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: ListMachineStockData |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'SPREADSHEET' |
| | | Title: 'Machine stock data' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditor id:MatrixEditor_988 |
| | | { |
| | | #keys: '[412672.1.61940674]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCell |
| | | { |
| | | #keys: '[412672.1.61940675]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCells |
| | | { |
| | | #keys: '[412672.1.61940676]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow.LocalCell.astype(LocalCell_ProductionComparison)' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Plan;Actual;Gap' |
| | | Column: 'LocalColumn' |
| | | Row: 'LocalRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRows |
| | | { |
| | | #keys: '[412672.1.61940677]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRows |
| | | { |
| | | #keys: '[412672.1.61940678]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'checkedProduct:QMacroPlanner::FormOfflinePlanComparison.dhFinelProduct' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.Name() )' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Index' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumns |
| | | { |
| | | #keys: '[412672.1.61940679]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumns |
| | | { |
| | | #keys: '[412672.1.61940680]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'startDate:QMacroPlanner::FormOfflinePlanComparison.dhStartDate;endDate:QMacroPlanner::FormOfflinePlanComparison.dhEndDate' |
| | | FixedFilter: 'not object.IsAttrbuteColumn() and startDate <= object.Date() and endDate > object.Date()' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Date' |
| | | SortCriteria: 'Index' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageDemandComparison_1 |
| | | #child: matrixeditorContextMenuDemandComparison_1 |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowMultipleAttributes: true |
| | | Columns: 'MatrixEditorColumns' |
| | | ContextMenu: 'matrixeditorContextMenuDemandComparison' |
| | | Rows: 'MatrixEditorRows' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelDemandComparison id:PanelDemandComparison_634 |
| | | { |
| | | #keys: '[412672.1.61940673]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditor_988 |
| | | Component dhComparisonData |
| | | { |
| | | #keys: '[412672.1.61940683]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'LocalTable' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhCheckedProduct |
| | | { |
| | | #keys: '[412672.1.61940684]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Product_MP]*' |
| | | Children: |
| | | [ |
| | | Component deCheckedProduct |
| | | { |
| | | #keys: '[412672.1.61940685]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Product_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderCheckedProduct' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dhFinelProduct |
| | | { |
| | | #keys: '[412672.1.61940686]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Product_MP]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhCheckedSalesSegment |
| | | { |
| | | #keys: '[412672.1.61940687]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[SalesSegment_MP]*' |
| | | Children: |
| | | [ |
| | | Component deCheckedSalesSegment |
| | | { |
| | | #keys: '[412672.1.61940688]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[SalesSegment_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderCheckedSalesSegment' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFilter id:PanelFilter_119 |
| | | { |
| | | #keys: '[412672.1.61991354]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslGeneration |
| | | { |
| | | #keys: '[412672.1.61991355]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Generation' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ddslMQBMLB |
| | | { |
| | | #keys: '[412672.1.61991356]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'MQB/MLB' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ddslPower |
| | | { |
| | | #keys: '[412672.1.61991357]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'åç' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dsStartDate |
| | | { |
| | | #keys: '[412672.1.61991358]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'Start Date' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dsEndDate |
| | | { |
| | | #keys: '[412672.1.61991359]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Date: 9999-12-31 |
| | | Label: 'End Date' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ButtonFilter |
| | | { |
| | | #keys: '[412672.1.61991360]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'è¿æ»¤' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component dhStartDate |
| | | { |
| | | #keys: '[412672.1.61991361]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date*' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component dhEndDate |
| | | { |
| | | #keys: '[412672.1.61991362]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date*' |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRibbon |
| | | { |
| | | #keys: '[412672.1.64210439]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelFilter_119 |
| | | #child: PanelRibbon504 |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRibbon504 |
| | | { |
| | | #keys: '[412672.1.64850929]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddlOfflinePlanTable |
| | | { |
| | | #keys: '[412672.1.64850982]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'OfflinePlanTable' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRibbon |
| | | { |
| | | #keys: '[412672.1.64850983]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanTable' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'SaveDateTime' |
| | | Label: 'ä¸çº¿è®¡å:' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bComparison |
| | | { |
| | | #keys: '[412672.1.64851009]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'å¼å§å¯¹æ¯' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component LabelRibbon |
| | | { |
| | | #keys: '[412672.1.66018113]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'ddlOfflinePlanTable.Data.SaveDateTime' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component ButtonRibbon |
| | | { |
| | | #keys: '[415720.0.38711791]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'å®é
çäº§æ°æ®æ¥å£åæ¥' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageDemandComparison id:matrixEditorActionBarPageDemandComparison_1 |
| | | { |
| | | #keys: '[412672.1.61940681]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuDemandComparison id:matrixeditorContextMenuDemandComparison_1 |
| | | { |
| | | #keys: '[412672.1.61940682]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhCheckedProduct |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_634_dhCheckedProduct_OnDataChanged |
| | | { |
| | | #keys: '[412672.1.61940669]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Data().Size() <> 0 ){ |
| | | dhFinelProduct.Data( this.Data().Copy() ); |
| | | }else{ |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhCheckedSalesSegment |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_634_dhCheckedSalesSegment_OnDataChanged |
| | | { |
| | | #keys: '[412672.1.61940667]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Data().Size() <> 0 ){ |
| | | prods := selectset( dhFinelProduct.Data(),Elements,element,exists( this.Data(),Elements.SalesDemand.Product_MP,prod,element = prod )); |
| | | dhFinelProduct.Data( &prods ); |
| | | }else{ |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhComparisonData |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_634_dhComparisonData_OnDataChanged |
| | | { |
| | | #keys: '[412672.1.61940670]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelDemandComparison.Title( this.Data().Name() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison_634/dhFinelProduct |
| | | Response OnCreated () id:Response_PanelDemandComparison_634_dhFinelProduct_OnCreated |
| | | { |
| | | #keys: '[412672.1.61940668]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( DataHolderProduct.Data().Copy() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ButtonFilter |
| | | Response OnClick () id:Response_PanelFilter_119_ButtonFilter_OnClick |
| | | { |
| | | #keys: '[412672.1.61991348]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | products := dhCheckedProduct.Data().Copy(); |
| | | if( ddslGeneration.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text()); |
| | | } |
| | | if( ddslMQBMLB.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text()); |
| | | } |
| | | if( ddslPower.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Power() <> ddslPower.Text()); |
| | | } |
| | | dhFinelProduct.Data( &products ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ddslGeneration |
| | | Response OnCreated () id:Response_PanelFilter_119_ddslGeneration_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991353]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Generation() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ddslMQBMLB |
| | | Response OnCreated () id:Response_PanelFilter_119_ddslMQBMLB_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991352]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.MQBMLB() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ddslPower |
| | | Response OnCreated () id:Response_PanelFilter_119_ddslPower_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991351]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Power() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dhEndDate |
| | | Response OnCreated () id:Response_PanelFilter_119_dhEndDate_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991346]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( Date::MaxDate() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dhStartDate |
| | | Response OnCreated () id:Response_PanelFilter_119_dhStartDate_OnCreated |
| | | { |
| | | #keys: '[412672.1.61991347]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( Date::MinDate() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dsEndDate |
| | | Response OnChanged () id:Response_PanelFilter_119_dsEndDate_OnChanged |
| | | { |
| | | #keys: '[412672.1.61991349]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhEndDate.Data( this.Date() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/dsStartDate |
| | | Response OnChanged () id:Response_PanelFilter_119_dsStartDate_OnChanged |
| | | { |
| | | #keys: '[412672.1.61991350]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhStartDate.Data( this.Date() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelRibbon504/ButtonRibbon |
| | | Response OnClick () id:Response_PanelRibbon504_ButtonRibbon_OnClick |
| | | { |
| | | #keys: '[415720.0.38711805]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ActualDailyProductionData::Synchronize( MacroPlan,InterfaceDataset ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelRibbon504/bComparison |
| | | Response OnClick () id:Response_PanelRibbon504_bComparison_OnClick_613 |
| | | { |
| | | #keys: '[412672.1.64851008]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | opt := ddlOfflinePlanTable.Data(); |
| | | |
| | | dhComparisonData.Data( opt.Comparison( RecycleBin )); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormOfflinePlanComparison |
| | | { |
| | | #keys: '[412672.1.61921213]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelRibbon |
| | | #child: PanelDemandComparison_634 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_INFO' |
| | | Title: '产éå¯¹æ¯æ¥è¡¨' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditorTable |
| | | { |
| | | #keys: '[415136.0.904311855]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCellTable |
| | | { |
| | | #keys: '[415136.0.904311856]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCell |
| | | { |
| | | #keys: '[415136.0.904311857]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InterfaceDataset' |
| | | Source: 'InterfaceDataset' |
| | | Taborder: 0 |
| | | Transformation: 'ShippingActualRow.ShippingActualCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Quantity' |
| | | Column: 'ShippingActualColumn' |
| | | Row: 'ShippingActualRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRowsTable |
| | | { |
| | | #keys: '[415136.0.904311860]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRow |
| | | { |
| | | #keys: '[415136.0.904311861]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InterfaceDataset' |
| | | Source: 'InterfaceDataset' |
| | | Taborder: 0 |
| | | Transformation: 'ShippingActualRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumnsTable |
| | | { |
| | | #keys: '[415136.0.904311864]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumn |
| | | { |
| | | #keys: '[415136.0.904311865]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InterfaceDataset' |
| | | Source: 'InterfaceDataset' |
| | | Taborder: 0 |
| | | Transformation: 'ShippingActualColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'StartDate' |
| | | SortCriteria: 'StartDate' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageTable |
| | | #child: matrixeditorContextMenuTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: 'MatrixEditorColumnsTable' |
| | | ContextMenu: 'matrixeditorContextMenuTable' |
| | | Rows: 'MatrixEditorRowsTable' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelButton |
| | | { |
| | | #keys: '[415136.0.904311760]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonButton |
| | | { |
| | | #keys: '[415136.0.904311805]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelTable |
| | | { |
| | | #keys: '[415136.0.904311784]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageTable |
| | | { |
| | | #keys: '[415136.0.904311868]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuTable |
| | | { |
| | | #keys: '[415136.0.904311871]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelButton/ButtonButton |
| | | Response OnClick () id:Response_PanelButton_ButtonButton_OnClick |
| | | { |
| | | #keys: '[415136.0.904312139]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( InterfaceDataset ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := ShippingActualData::Export( InterfaceDataset ); |
| | | |
| | | Application.Download( ShippingActualData::GetDefalutName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | |
| | | //ShippingActualData::Synchronize( InterfaceDataset ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormShippingActualData |
| | | { |
| | | #keys: '[415136.0.904311721]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelButton |
| | | #child: PanelTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'TABLE_CONNECTION' |
| | | Title: 'Shipping data' |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[LibCal_EventType]' |
| | | FixedFilter: 'object.IsLeaf()' |
| | | Source: 'dhEventTypes' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowEmpty: true |
| | | Description: 'dhEvent.Data.EventType' |
| | | DisplayField: 'Name' |
| | | NumberOfColumns: 15 |
| | |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 4 |
| | | Visible: false |
| | | ] |
| | | } |
| | |
| | | { |
| | | sEvent.Type( LibCal_Event::TYPE_PARTIAL() ); |
| | | } |
| | | if( guard( category_i.Name() = LibCal_Event::TYPE_UNAVAILABLE(), false ) ) |
| | | { |
| | | pnlEventType.Visible( true ); |
| | | }else |
| | | { |
| | | pnlEventType.Visible( false ); |
| | | } |
| | | |
| | | // Set the Event and the related controls... |
| | | // The values are explicitly assigned here 'at the beginning' to the controls, |
| | |
| | | this.InitializeEventTypes(); |
| | | // Must be done here, when done in the OnCreated() the checkmarks are not always set. |
| | | this.InitializeSubscribers(); |
| | | |
| | | if( guard( sEvent.EventCategory().Name() = LibCal_Event::TYPE_UNAVAILABLE(), false ) ) |
| | | { |
| | | pnlEventType.Visible( true ); |
| | | }else |
| | | { |
| | | pnlEventType.Visible( false ); |
| | | } |
| | | ddlEventType.Data( sEvent.EventType() ); |
| | | // Open the dialog. |
| | | this.Show( "modal" ); |
| | | *] |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'LibCal_EventCategory' |
| | | FixedFilter: "object.Participation().Calendar().CalendarID() <> 'Common Calendar'" |
| | | FixedFilter: "object.Participation().Calendar().CalendarID() <> 'Common Calendar' and object.Participation().Event().IsMultiple()" |
| | | Source: 'dhCategory' |
| | | Taborder: 0 |
| | | Transformation: 'Event.Participation.ExplicitTimeInterval' |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":""}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Calendar.CalendarID","title":"CalendarID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Calendar.CalendarID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.EventType.Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.EventType.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.Subject","title":"Subject","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.Subject"}},{"attribute":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.Start().Date()"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.StartTimeOfDay","title":"StartTimeOfDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.StartTimeOfDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.EndTimeOfDay","title":"EndTimeOfDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.EndTimeOfDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.Description","title":"Description","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.Description"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Calendar.CalendarID","title":"产线","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Calendar.CalendarID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.EventType.Name","title":"äºä»¶ç±»å","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.EventType.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.Subject","title":"äºä»¶","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.Subject"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Start","title":"å¼å§æ¥æ","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Start"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"End","title":"ç»ææ¥æ","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"End"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Participation.Event.Description","title":"夿³¨","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Participation.Event.Description"}}]' |
| | | ContextMenu: 'listContextMenu967' |
| | | SortCriteria: 'desc:Start' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListList_WebMenu_OnClick |
| | | { |
| | | #keys: '[415136.0.905460388]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[1197.0.10345066]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEvent.Data.Subject' |
| | | Label: 'Name' |
| | | Label: 'äºä»¶' |
| | | PlaceHolder: '<Enter a name>' |
| | | Taborder: 0 |
| | | ] |
| | |
| | | [ |
| | | CanBeNegative: false |
| | | DurationFormat: 'h:m' |
| | | Label: 'Start time' |
| | | Label: 'å¼å§æ¥æ' |
| | | MaxDuration: P0DT23H59M0S |
| | | MinDuration: P0DT0H0M0S |
| | | Taborder: 8 |
| | | ShowLabel: false |
| | | Taborder: 9 |
| | | ] |
| | | } |
| | | Component dhStartTimeOfDay |
| | |
| | | Databinding: 'Duration' |
| | | Properties: |
| | | [ |
| | | Taborder: 9 |
| | | Taborder: 10 |
| | | ] |
| | | } |
| | | Component durEndTimeOfDay |
| | |
| | | [ |
| | | CanBeNegative: false |
| | | DurationFormat: 'h:m' |
| | | Label: 'End time' |
| | | Label: 'ç»ææ¥æ' |
| | | MaxDuration: P0DT23H59M0S |
| | | MinDuration: P0DT0H0M0S |
| | | Taborder: 10 |
| | | ShowLabel: false |
| | | Taborder: 13 |
| | | ] |
| | | } |
| | | Component dhEndTimeOfDay |
| | |
| | | Databinding: 'Duration' |
| | | Properties: |
| | | [ |
| | | Taborder: 11 |
| | | Taborder: 14 |
| | | ] |
| | | } |
| | | Component edtDescription |
| | |
| | | Multiline: true |
| | | NumberOfColumns: 29 |
| | | ShowLabel: false |
| | | Taborder: 13 |
| | | Taborder: 16 |
| | | ] |
| | | } |
| | | Component dsStartDate |
| | |
| | | Properties: |
| | | [ |
| | | DateFormat: 'DMMY' |
| | | Label: 'Date' |
| | | Taborder: 6 |
| | | Label: 'å¼å§æ¥æ' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component dhStartDate |
| | |
| | | Databinding: 'Date' |
| | | Properties: |
| | | [ |
| | | Taborder: 7 |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component lblDescription id:lblDescription_456 |
| | |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: 'Description' |
| | | Label: '夿³¨' |
| | | NumberOfColumns: 0 |
| | | Taborder: 12 |
| | | Taborder: 15 |
| | | ] |
| | | } |
| | | Component ButtonCreate |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'æ°å»º' |
| | | Taborder: 14 |
| | | Label: 'æ°å¢' |
| | | Taborder: 17 |
| | | ] |
| | | } |
| | | Component ddslType id:ddslType_360 |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[LibCal_EventType]' |
| | | FixedFilter: 'object.IsLeaf()' |
| | | Source: 'dhEventTypes' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowEmpty: true |
| | | DisplayField: 'Name' |
| | | Label: 'Event type' |
| | | Label: 'äºä»¶ç±»å' |
| | | NumberOfColumns: 15 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dsEndDate |
| | | { |
| | | #keys: '[415136.0.923680588]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | DateFormat: 'DMMY' |
| | | Label: 'ç»ææ¥æ' |
| | | Taborder: 11 |
| | | ] |
| | | } |
| | | Component dhEndDate |
| | | { |
| | | #keys: '[415136.0.923671132]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date' |
| | | Properties: |
| | | [ |
| | | Taborder: 12 |
| | | ] |
| | | } |
| | | Component ckbIsAllDay id:ckbIsAllDay_812 |
| | | { |
| | | #keys: '[415136.0.926885762]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | CheckboxType: 'toggle' |
| | | Label: 'All day' |
| | | NumberOfColumns: 0 |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | { |
| | | #keys: '[415136.0.657740261]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuDelete |
| | | { |
| | | #keys: '[415136.0.905460274]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 4 |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | Component MenuEdit |
| | | { |
| | | #keys: '[415136.0.925451472]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 3 |
| | | Title: 'Edit' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | |
| | | // Set the Participation and the related controls |
| | | // (only the DataHolders, the Date-controls are set later on, after the recurrence has been initialized) |
| | | dhStartDate.Data( sLeadPart.StartDate() ); |
| | | //dhEndDate.Data( sLeadPart.EndDate() ); |
| | | dhEndDate.Data( sLeadPart.EndDate() ); |
| | | dhLeadingParticipation.Data( &sLeadPart ); |
| | | dhCategory.Data(category_i); |
| | | //info( '-----------------------', isnull( dhLeadingParticipation.Data() ) ); |
| | |
| | | isDefault := ckbApplyToNewResources.Checked(); |
| | | startDate := dsStartDate.Date(); |
| | | startTimeOfDay := durStartTimeOfDay.Duration(); |
| | | endDate := dsStartDate.Date(); |
| | | endDate := dsEndDate.Date(); |
| | | endTimeOfDay := durEndTimeOfDay.Duration(); |
| | | isAllDay := false; |
| | | isAllDay := ckbIsAllDay.Checked(); |
| | | |
| | | eventType := ddslType.Text(); |
| | | capacity := Real::MinReal(); // Always fill the capacity. |
| | |
| | | // the value of the other controls are then set via the responses of these controls. |
| | | //dhEndDate .Data( sParticipation.EndDate() + delta ); |
| | | dsStartDate.Date( startDate ); |
| | | dsEndDate.Date( startDate ); |
| | | |
| | | // Directly initialize the Duration |
| | | //this.InitializeDuration(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ShowAllDay () id:Method_LibCal_dlgMultipleEvent_ShowAllDay |
| | | { |
| | | #keys: '[415136.0.926885827]' |
| | | Body: |
| | | [* |
| | | // Show the controls according to the state of ckbAllDay. |
| | | // Keep as is when running in days only mode. |
| | | if( not LibCal_Event::USE_ONLY_DAYS() ) |
| | | { |
| | | if( ckbIsAllDay.Checked() ) |
| | | { |
| | | // Store the EndDate before updating the StartTime, otherwise setting the StartTime can already have influenced the EndDate. |
| | | endDate := dsEndDate.Date(); |
| | | |
| | | // Set to whole day if this is not yet the case. |
| | | if( durStartTimeOfDay.Duration() <> Duration::Zero() ) |
| | | { |
| | | durStartTimeOfDay.Duration( Duration::Zero() ); |
| | | } |
| | | |
| | | if( durEndTimeOfDay.Duration() <> Duration::Zero() ) |
| | | { |
| | | durEndTimeOfDay.Duration( Duration::Zero() ); |
| | | dsEndDate.Date( endDate + 1 ); |
| | | } |
| | | |
| | | // Disable the controls. |
| | | durStartTimeOfDay.Enabled( false, "All day is selected" ); |
| | | durEndTimeOfDay .Enabled( false, "All day is selected" ); |
| | | } |
| | | else |
| | | { |
| | | if( durStartTimeOfDay.Duration() <> dhStartTimeOfDay.Data() ) |
| | | { |
| | | durStartTimeOfDay.Duration( dhStartTimeOfDay.Data() ); |
| | | } |
| | | |
| | | if( durEndTimeOfDay.Duration() <> dhEndTimeOfDay.Data() ) |
| | | { |
| | | durEndTimeOfDay.Duration( dhEndTimeOfDay.Data() ); |
| | | |
| | | // During initialization, just take over the value from the DataHolder. |
| | | endDate := dsEndDate.Date(); |
| | | if( endDate.IsInfinite() ) |
| | | { |
| | | endDate := dhEndDate.Data(); |
| | | } |
| | | // See if the EndDate must be corrected. |
| | | else if( dhEndTimeOfDay.Data() <> Duration::Zero() ) |
| | | { |
| | | endDate := endDate - 1; |
| | | } |
| | | dsEndDate.Date( endDate ); |
| | | } |
| | | |
| | | durStartTimeOfDay.Enabled( true, "" ); |
| | | durEndTimeOfDay .Enabled( true, "" ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListList |
| | | Response OnClick ( |
| | | structured[LibCal_ExplicitTimeInterval] selection |
| | | ) id:Response_ListList_MenuDelete_OnClick |
| | | { |
| | | #keys: '[415136.0.905460576]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListList/Responsedef_ListList_WebMenu_OnClick |
| | | Initiator: 'MenuDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | LibCal_ExplicitTimeInterval::Delete( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListList |
| | | Response OnClick ( |
| | | LibCal_ExplicitTimeInterval selection |
| | | ) id:Response_ListList_MenuEdit_OnClick |
| | | { |
| | | #keys: '[415136.0.925451544]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListList/Responsedef_ListList_WebMenu_OnClick |
| | | Initiator: 'MenuEdit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( LibCal_dlgEditTimeInterval ); |
| | | dlg.edtComment().Visible( false ) |
| | | dlg.Edit( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | Precondition: |
| | | [* |
| | | return LibCal_Event::ValidDate( feedback, MacroPlan, dhStartDate.Data() + durStartTimeOfDay.Duration(), dhEndDate.Data() + durEndTimeOfDay.Duration() ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelHeader_144/ckbIsAllDay_812 |
| | | Response OnChanged () id:Response_MacroPlanner_pnlStartTime_ckbIsAllDay_OnChanged |
| | | { |
| | | #keys: '[415136.0.926885761]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebCheckbox_OnChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //æ¯å¦æ¯ä¸æ´å¤© |
| | | Form.ShowAllDay(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelHeader_144/dsEndDate |
| | | Response OnChanged () id:Response_PanelHeader_144_dsEndDate_OnChanged |
| | | { |
| | | #keys: '[415136.0.923680587]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // Adjust the EndDate accordingly. |
| | | //if( dhStartDate.Data().IsFinite() ) |
| | | //{ |
| | | // // Use the EndDate of the instance if the value of the control has not been set yet. |
| | | // endDate := ifexpr( dsEndDate.Date().IsFinite(), dsEndDate.Date(), dhLeadingParticipation.Data().EndDate() ); |
| | | // |
| | | // delta := this.Date() - dhStartDate.Data(); |
| | | // dsEndDate.Date( endDate + delta ); |
| | | //} |
| | | |
| | | // Update the 'memory' for later delta-calculation, and/or setting the time back when AllDay is turned off. |
| | | dhEndDate.Data( this.Date() ); |
| | | |
| | | // Also set StartOfPeriod (always, also in case of a non-recurring event). |
| | | //dsStartOfPeriod.Date( this.Date() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | FormCalendarUnavailableEvent_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 37 |
| | | totalHeaderWidth: 231 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 238 |
| | | columnWidth: 74 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormFinishedEngineInventory |
| | | { |
| | | title: 'QMacroPlanner::FormFinishedEngineInventory' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormFinishedEngineInventory' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormFinishedEngineInventory_ListFinishedEngineInventory |
| | | { |
| | | } |
| | | FormFinishedEngineInventory_DataSetLevelFinishedEngineInventory |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:DDay' |
| | | column_FourCode |
| | | { |
| | | columnId: 'FourCode' |
| | | dataPath: 'FourCode' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_VehicleType |
| | | { |
| | | columnId: 'VehicleType' |
| | | dataPath: 'VehicleType' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ReceiptPlace |
| | | { |
| | | columnId: 'ReceiptPlace' |
| | | dataPath: 'ReceiptPlace' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_FullName |
| | | { |
| | | columnId: 'FullName' |
| | | dataPath: 'FullName' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_SpellName |
| | | { |
| | | columnId: 'SpellName' |
| | | dataPath: 'SpellName' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_EngineType |
| | | { |
| | | columnId: 'EngineType' |
| | | dataPath: 'EngineType' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_EngineModularPlatform |
| | | { |
| | | columnId: 'EngineModularPlatform' |
| | | dataPath: 'EngineModularPlatform' |
| | | dataType: 'string' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Brand |
| | | { |
| | | columnId: 'Brand' |
| | | dataPath: 'Brand' |
| | | dataType: 'string' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BIPlace |
| | | { |
| | | columnId: 'BIPlace' |
| | | dataPath: 'BIPlace' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Price |
| | | { |
| | | columnId: 'Price' |
| | | dataPath: 'Price' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Total |
| | | { |
| | | columnId: 'Total' |
| | | dataPath: 'Total' |
| | | dataType: 'real' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Amount |
| | | { |
| | | columnId: 'Amount' |
| | | dataPath: 'Amount' |
| | | dataType: 'real' |
| | | index: 11 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DType |
| | | { |
| | | columnId: 'DType' |
| | | dataPath: 'DType' |
| | | dataType: 'string' |
| | | index: 12 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Fac |
| | | { |
| | | columnId: 'Fac' |
| | | dataPath: 'Fac' |
| | | dataType: 'string' |
| | | index: 13 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DDay |
| | | { |
| | | columnId: 'DDay' |
| | | dataPath: 'DDay' |
| | | dataType: 'date' |
| | | index: 14 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DWeek |
| | | { |
| | | columnId: 'DWeek' |
| | | dataPath: 'DWeek' |
| | | dataType: 'string' |
| | | index: 15 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DMonth |
| | | { |
| | | columnId: 'DMonth' |
| | | dataPath: 'DMonth' |
| | | dataType: 'string' |
| | | index: 16 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 24 |
| | | image: 'SPREADSHEET' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Finished_engine_inventory' |
| | | name: 'Finished engine inventory' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormInterfaceLoginfo |
| | | { |
| | | title: 'QMacroPlanner::FormInterfaceLoginfo' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormInterfaceLoginfo' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 16 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormInterfaceLoginfo_ListInterfaceLoginfo |
| | | { |
| | | } |
| | | FormInterfaceLoginfo_DataSetLevelInterfaceLoginfo |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:InterfaceDateTime' |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ExecuteUser |
| | | { |
| | | columnId: 'ExecuteUser' |
| | | dataPath: 'ExecuteUser' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_InterfaceDateTime |
| | | { |
| | | columnId: 'InterfaceDateTime' |
| | | dataPath: 'InterfaceDateTime' |
| | | dataType: 'datetime' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_FinishTime |
| | | { |
| | | columnId: 'FinishTime' |
| | | dataPath: 'FinishTime' |
| | | dataType: 'datetime' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Message |
| | | { |
| | | columnId: 'Message' |
| | | dataPath: 'Message' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Success |
| | | { |
| | | columnId: 'Success' |
| | | dataPath: 'Success' |
| | | dataType: 'boolean' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ReturnSuccess |
| | | { |
| | | columnId: 'ReturnSuccess' |
| | | dataPath: 'ReturnSuccess' |
| | | dataType: 'boolean' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ReturnMsg |
| | | { |
| | | columnId: 'ReturnMsg' |
| | | dataPath: 'ReturnMsg' |
| | | dataType: 'string' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Last |
| | | { |
| | | columnId: 'Last' |
| | | dataPath: 'Last' |
| | | dataType: 'boolean' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_TotalRow |
| | | { |
| | | columnId: 'TotalRow' |
| | | dataPath: 'TotalRow' |
| | | dataType: 'number' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_RequestBody |
| | | { |
| | | columnId: 'RequestBody' |
| | | dataPath: 'RequestBody' |
| | | dataType: 'string' |
| | | index: 10 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 22 |
| | | image: 'DOCUMENT' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Interface_loginfo_view' |
| | | name: 'Interface loginfo view' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
| | |
| | | { |
| | | viewcontents |
| | | { |
| | | image: 'MONEY_BILL_FIRE' |
| | | forms |
| | | { |
| | | form_FormEmployeeCost |
| | | { |
| | | title: 'QMacroPlanner::FormEmployeeCost' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormEmployeeCost' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 25 |
| | | columnPosition: 1 |
| | | columnSpan: 10 |
| | | } |
| | | components |
| | | { |
| | | FormEmployeeCost_Panel189 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelEmployeeCost |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelAction |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_ListEmployeeCost |
| | | { |
| | | } |
| | | FormEmployeeCost_DataSetLevel775 |
| | | { |
| | | groupDepth: -1 |
| | | column_EmployeeType_Name |
| | | { |
| | | columnId: 'EmployeeType.Name' |
| | | dataPath: 'EmployeeType.Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_EmployeeNumber |
| | | { |
| | | columnId: 'EmployeeNumber' |
| | | dataPath: 'EmployeeNumber' |
| | | dataType: 'number' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Unit_Name |
| | | { |
| | | columnId: 'Unit.Name' |
| | | dataPath: 'Unit.ID' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StartDate |
| | | { |
| | | columnId: 'StartDate' |
| | | dataPath: 'StartDate' |
| | | dataType: 'date' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_TimeUnit |
| | | { |
| | | columnId: 'TimeUnit' |
| | | dataPath: 'TimeUnit' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_BaseSalary |
| | | { |
| | | columnId: 'BaseSalary' |
| | | dataPath: 'BaseSalary' |
| | | dataType: 'real' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormEmployeeCost_Panel972 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_Panel700 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelOvertimeMultiplier |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelEditOvertimeMultiplier |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelActions |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_ListOvertimeMultiplier |
| | | { |
| | | } |
| | | FormEmployeeCost_DataSetLevel613 |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Multiplier |
| | | { |
| | | columnId: 'Multiplier' |
| | | dataPath: 'Multiplier' |
| | | dataType: 'real' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormEmployeeCost_PanelEmployeeType |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelEditEmployeeType |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_PanelActions526 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormEmployeeCost_ListEmployeeType |
| | | { |
| | | } |
| | | FormEmployeeCost_DataSetLevel963 |
| | | { |
| | | groupDepth: -1 |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | FormEmployeeCost_PanelStandardWorkingDay |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'MONEY_BILL_FIRE' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormMachineStockData |
| | | { |
| | | title: 'QMacroPlanner::FormMachineStockData' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormMachineStockData' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormMachineStockData_ListMachineStockData |
| | | { |
| | | } |
| | | FormMachineStockData_DataSetLevelMachineStockData |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'DESC:DDay' |
| | | column_MaterialNo |
| | | { |
| | | columnId: 'MaterialNo' |
| | | dataPath: 'MaterialNo' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_MaterialName |
| | | { |
| | | columnId: 'MaterialName' |
| | | dataPath: 'MaterialName' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Fac |
| | | { |
| | | columnId: 'Fac' |
| | | dataPath: 'Fac' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_FacName |
| | | { |
| | | columnId: 'FacName' |
| | | dataPath: 'FacName' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_LineType |
| | | { |
| | | columnId: 'LineType' |
| | | dataPath: 'LineType' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_DDay |
| | | { |
| | | columnId: 'DDay' |
| | | dataPath: 'DDay' |
| | | dataType: 'date' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Total |
| | | { |
| | | columnId: 'Total' |
| | | dataPath: 'Total' |
| | | dataType: 'real' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_AllTotal |
| | | { |
| | | columnId: 'AllTotal' |
| | | dataPath: 'AllTotal' |
| | | dataType: 'real' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 23 |
| | | image: 'SPREADSHEET' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Machine_stock_data' |
| | | name: 'Machine stock data' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormOfflinePlanComparison |
| | | { |
| | | title: 'QMacroPlanner::FormOfflinePlanComparison' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormOfflinePlanComparison' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 27 |
| | | columnPosition: 1 |
| | | columnSpan: 9 |
| | | } |
| | | components |
| | | { |
| | | FormOfflinePlanComparison_PanelRibbon |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormOfflinePlanComparison_PanelRibbon504 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormOfflinePlanComparison_PanelFilter |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormOfflinePlanComparison_PanelDemandComparison |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormOfflinePlanComparison_MatrixEditor |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormOfflinePlanComparison.MatrixEditor' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Plan |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Plan' |
| | | } |
| | | attribute_Actual |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Actual' |
| | | } |
| | | attribute_Gap |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 2 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Gap' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'Index'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'Index'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'DOCUMENT_INFO' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'OfflinePlanComparisonReport' |
| | | name: 'OfflinePlanComparisonReport' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormShippingActualData |
| | | { |
| | | title: 'QMacroPlanner::FormShippingActualData' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormShippingActualData' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormShippingActualData_PanelButton |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormShippingActualData_PanelTable |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormShippingActualData_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormShippingActualData.MatrixEditorTable' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Quantity |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Quantity' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'StartDate'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'RowNr'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 21 |
| | | image: 'TABLE_CONNECTION' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Shipping_actual_data_view' |
| | | name: 'Shipping actual data view' |
| | | isglobal: false |
| | | isroot: true |
| | | } |