Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lhj
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OrganCode_BusinessType_BusinessType_OrganCode |
| | | { |
| | | #keys: '1[412960.0.276650038]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide BusinessType |
| | | { |
| | | #keys: '3[412960.0.276650040][412960.0.276650039][412960.0.276650041]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OrganCode |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OrganCode |
| | | { |
| | | #keys: '3[412960.0.276650043][412960.0.276650042][412960.0.276650044]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: BusinessType |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | Attribute BusinessTypeName |
| | | { |
| | | #keys: '3[414382.0.361554811][414382.0.361554810][414382.0.361554812]' |
| | | Description: 'äºä¸é¨åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DisplayType |
| | | { |
| | | #keys: '3[412960.0.276650024][412960.0.276650023][412960.0.276650025]' |
| | | Description: 'æ¾ç¤ºç±»å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ScenarioName |
| | | { |
| | | #keys: '3[412960.0.276650011][412960.0.276650010][412960.0.276650012]' |
| | | Description: 'åºæ¯åç§°' |
| | | ValueType: String |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // renhao Aug-14-2023 (created) |
| | | listtodeal := selectset( globalOTDTable,Global_MappingActualProductInStockingPointInPeriod,actual,actual.ActualInventoryLevelEnd() > 0 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( globalOTDTable, |
| | | Global_MappingActualProductInStockingPointInPeriod, |
| | | actual, |
| | | ( actual.ActualInventoryLevelEnd() > 0 ) and |
| | | ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | | totalcount := listtodeal.Size(); |
| | | info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" ); |
| | | |
| | |
| | | if( not isnull(businessTypes)){ |
| | | |
| | | for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | businessType := businessTypes.Element( i); |
| | | businessType := businessTypes.Element( i ); |
| | | if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | ActualProductInStockingPointInPeriod::CreateOrUpdate( this, |
| | | actual.ProductID(), |
| | |
| | | if( isnull( businessTypes ) or businessTypes.Size() = 0 ) { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingCustomOrder, item, true ); |
| | | } else { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingCustomOrder, item, businessTypes.Find( item.BusinessType() ) <> -1 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listToDeal := selectset( globalOTDTable, |
| | | Global_MappingCustomOrder, |
| | | item, |
| | | ( businessTypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | | } |
| | | queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | |
| | | // renhao Aug-14-2023 (created) |
| | | queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | | listtodeal := selectset( globalOTDTable,Global_MappingInventorySupply,externalSupply, externalSupply.UserQuantity()>0 and externalSupply.Date() >= queryStartDate /*and externalSupply.Date() <= queryEndDate*/); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( globalOTDTable, |
| | | Global_MappingInventorySupply, |
| | | externalSupply, |
| | | ( externalSupply.UserQuantity()>0 ) and |
| | | ( externalSupply.Date() >= queryStartDate ) and |
| | | ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/); |
| | | totalcount := listtodeal.Size(); |
| | | description := "å¨éå¨å¶"; |
| | | info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" ); |
| | |
| | | if( not isnull(businessTypes)){ |
| | | |
| | | for( i :=0 ;i < businessTypes.Size();i++ ){ |
| | | businessType := businessTypes.Element( i); |
| | | businessType := businessTypes.Element( i ); |
| | | if( product.BusinessType() = businessType and not product.IsCommon()){ |
| | | InventorySupply::CreateOrUpdate( externalSupply.ID(), |
| | | productMP, |
| | |
| | | if( isnull( businessTypes ) or businessTypes.Size() = 0 ) { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingForecast, item, item.Quantity() > 0 ); |
| | | } else { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingForecast, item, businessTypes.Find( item.BusinessType() ) <> -1 and item.Quantity()>0 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listToDeal := selectset( globalOTDTable, |
| | | Global_MappingForecast, |
| | | item, |
| | | ( businessTypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( item.Quantity()>0 ) and |
| | | ( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | | } |
| | | queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date(); |
| | | queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); |
| | |
| | | if( isKeyProduct ) { |
| | | keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="æå" or item.ProductMajorType()="åæå", item.ID() ); |
| | | } |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | bomList := selectsortedset( globalOTDTable, Global_MappingOperationBOM, item, |
| | | ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, |
| | | true, |
| | | // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) |
| | | businessTypes.Find( item.BusinessType() ) >= 0 ) |
| | | ( businessTypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) ) |
| | | // and ifexpr( isKeyProduct, |
| | | // keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, |
| | | // true ) |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method MappingOperationCostData ( |
| | | GlobalOTDTable globalOTDTable, |
| | | Strings businesstypes |
| | | ) |
| | | { |
| | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | listtodeal := selectset( this, MappingOperation, item, true ); |
| | | } else { |
| | | listtodeal := selectset( this, MappingOperation, item, businesstypes.Find( item.BusinessType() ) <> -1 ); |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( this, |
| | | MappingOperation, |
| | | item, |
| | | ( businesstypes.Find( item.BusinessType() ) <> -1 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) ); |
| | | } |
| | | |
| | | // Get the list to deal with max sequence number |
| | |
| | | // è·åæåºçå¾
å¤çè®°å½ |
| | | toDealList := construct( Global_MappingOperations ) ; |
| | | if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | toDealList := selectsortedset( globalOTDTable, Global_MappingOperation, item, |
| | | businessTypes.Find( item.BusinessType() ) >= 0, |
| | | ( businessTypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ), |
| | | // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0, |
| | | item.SequenceNumber() ); |
| | | } else { |
| | |
| | | } |
| | | } else { |
| | | if( iskeyproduct = true ){ |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType()) >= 0 ); |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | else{ |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType()) >= 0 ); |
| | | listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 ); |
| | | } |
| | | } |
| | | totalcount := listToDeal.Size(); |
| | |
| | | if( isnull( businessTypes ) or businessTypes.Size() = 0 ) { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingSalesSegment_MP, item, true ); |
| | | } else { |
| | | listToDeal := selectset( globalOTDTable, Global_MappingSalesSegment_MP, item, businessTypes.Find( item.BusinessType() ) <> -1 ); |
| | | listToDeal := selectset( globalOTDTable, |
| | | Global_MappingSalesSegment_MP, |
| | | item, |
| | | businessTypes.Find( item.BusinessType() ) <> -1 ); |
| | | } |
| | | //nameList := construct( structured[String] ); |
| | | //nameList := selectvalues( listToDeal, Elements, item, true, item.Name() ); |
| | |
| | | if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, true ); |
| | | } else { |
| | | organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() ); |
| | | listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, |
| | | // businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 |
| | | businesstypes.Find( item.BusinessType() ) >= 0 |
| | | ( businesstypes.Find( item.BusinessType() ) >= 0 ) and |
| | | ( organcodelist.Find( item.OrganCode() ) >= 0 ) |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | // todo å¶é ææ¬-16 |
| | | info( "InventoryCost Finished, Start OperationCost Mapping" ); |
| | | macroPlan.MappingOperationCostData( businessTypes ); |
| | | macroPlan.MappingOperationCostData( globalOTDTable, businessTypes ); |
| | | |
| | | // 订å颿µ-17 |
| | | Forecast::DoSync( macroPlan, businessTypes ,globalOTDTable); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrganCodeName |
| | | { |
| | | #keys: '3[412960.0.276650052][412960.0.276650051][412960.0.276650053]' |
| | | Description: 'ç»ç»ç¼ç åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OrganCode |
| | | { |
| | | #keys: '5[412960.0.276650035][412960.0.276650033][0.0.0][412960.0.276650034][412960.0.276650036]' |
| | | BaseType: Object |
| | | Description: 'äºä¸é¨å¯¹åºçç»ç»ç¼ç éå' |
| | | StructuredName: 'OrganCodes' |
| | | } |
| | |
| | | // NBoTk Sep-21-2023 (created) |
| | | |
| | | data := selectobject( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType and p.Name() = name |
| | | p.Name() = name |
| | | ) |
| | | |
| | | return data.Coefficient(); |
| | |
| | | value := ""; |
| | | |
| | | strList := selectuniquevalues( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType, |
| | | p.Name() |
| | | ); |
| | | |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod InitData ( |
| | | MacroPlan owner, |
| | | String businessType |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | // NBoTk Sep-15-2023 (created) |
| | | // businessType |
| | | // result := "éå¢é¢æ¿;ä¸ä¸æ¾ç¤ºäºä¸é¨;å¤åCELL;éæ¾;è¿å¨å¥åº·;è¿å¨å¥åº·äºä¸é¨;ææºäºä¸é¨;ç¹ç§æ¾ç¤º;汽车çµåäºä¸é¨;车载æ¾ç¤ºäºä¸é¨;ITäºä¸é¨"; |
| | | // æ·»å äºä¸é¨å¯¹åºçé¢å¶ä¼å
级å åæ°æ® |
| | | owner.PriorityFactor(relnew,Name := "客æ·çç¥" ,Desc := "å°äºä¸é¨è®¡ç®çä¼å
çº§ï¼æè¯¥ç»å项æ¯ä¾é¶æ¢¯ç¡®å®è¯¥é¡¹å¾åãå¦ï¼81%â¤Xâ¤100% 5åï¼61%â¤Xâ¤80% 4å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "客æ·ç级" ,Desc := "æ ¹æ®éæ±æ°æ®ä¸å®¢æ·ï¼å¹é
客æ·ç级",BusinessType := businessType); |
| | | owner.PriorityFactor(relnew,Name := "å¤§å¼ ç婿°´å¹³" ,Desc := "1ãè·å客æ·*SKUå¤§å¼ ç婿° 2ãå®ä¹å®¢æ·*SKUå¤§å¼ ç婿°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "ç»åå¸åºç级" ,Desc := "1ãè·å客æ·*SKU对åºç»åå¸åºç级 2ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKU对åºç»åå¸åºè¯åç级ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "éæ±ç±»å" ,Desc := "å¹é
ä¸åéæ±ç§ç±»ï¼å¾å°å¯¹åºå¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "订åä¸åæ¶é´" ,Desc := "æ ¹æ®éæ±è®¢åä¸ä¸åæ¶é´ä¸éæ±æ¶é´å·®å¼ï¼å¹é
é¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "产åç级" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | |
| | | // ä¼å
级å åç»å |
| | | priorityFactorList := selectset( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType |
| | | ); |
| | | businessType := ""; |
| | | |
| | | traverse( priorityFactorList,Elements,e) |
| | | // 妿已ç»åå¨ä¼å
çº§æ°æ® åä¸åå¤ç |
| | | list := selectset( owner,PriorityFactor,p,true); |
| | | if( list.Size() = 0 ) |
| | | { |
| | | PriorityFactorDetails::InitData( owner,e); |
| | | |
| | | // æ·»å äºä¸é¨å¯¹åºçé¢å¶ä¼å
级å åæ°æ® |
| | | owner.PriorityFactor(relnew,Name := "客æ·çç¥" ,Desc := "å°äºä¸é¨è®¡ç®çä¼å
çº§ï¼æè¯¥ç»å项æ¯ä¾é¶æ¢¯ç¡®å®è¯¥é¡¹å¾åãå¦ï¼81%â¤Xâ¤100% 5åï¼61%â¤Xâ¤80% 4å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "客æ·ç级" ,Desc := "æ ¹æ®éæ±æ°æ®ä¸å®¢æ·ï¼å¹é
客æ·ç级",BusinessType := businessType); |
| | | owner.PriorityFactor(relnew,Name := "å¤§å¼ ç婿°´å¹³" ,Desc := "1ãè·å客æ·*SKUå¤§å¼ ç婿° 2ãå®ä¹å®¢æ·*SKUå¤§å¼ ç婿°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "ç»åå¸åºç级" ,Desc := "1ãè·å客æ·*SKU对åºç»åå¸åºç级 2ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKU对åºç»åå¸åºè¯åç级ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "éæ±ç±»å" ,Desc := "å¹é
ä¸åéæ±ç§ç±»ï¼å¾å°å¯¹åºå¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "订åä¸åæ¶é´" ,Desc := "æ ¹æ®éæ±è®¢åä¸ä¸åæ¶é´ä¸éæ±æ¶é´å·®å¼ï¼å¹é
é¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "产åç级" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1ãè·å客æ·*SKU DOI&DSIæ° 2ãå®ä¹å®¢æ·*SKUDOI&DSIæ°é¶æ¢¯å¾å 3ãå¹é
éæ±æ°æ®ä¸å®¢æ·åSKUæ°æ®ï¼å¾å°å¯¹åºé¶æ¢¯å¾å", BusinessType := businessType ); |
| | | |
| | | // ä¼å
级å åç»å |
| | | priorityFactorList := selectset( owner,PriorityFactor,p, |
| | | p.BusinessType() = businessType |
| | | ); |
| | | |
| | | traverse( priorityFactorList,Elements,e) |
| | | { |
| | | PriorityFactorDetails::InitData( owner,e); |
| | | } |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetCalcFormula ( |
| | | MacroPlan macroPlan, |
| | | String formula |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Oct-7-2023 (created) |
| | | priorityFactor := null( PriorityFactor); |
| | | traverse( macroPlan,PriorityFactor,p) |
| | | { |
| | | if( formula.StartsWith( p.Name()) ) |
| | | { |
| | | priorityFactor := p; |
| | | } |
| | | } |
| | | value := priorityFactor.Name() + "[" + [String]priorityFactor.Coefficient() +"*L]"; |
| | | return value; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetCalcStr ( |
| | | MacroPlan macroPlan, |
| | | String formula, |
| | | String lastCalcStr |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // NBoTk Oct-7-2023 (created) |
| | | |
| | | calcStr := ""; |
| | | remindFormula := formula; |
| | | |
| | | // éåä¼å
级å åé
ç½® |
| | | if( not remindFormula = '' ) |
| | | { |
| | | // ä»èµ·å§ä½ç½®å¼å§å¹é
|
| | | if(remindFormula.StartsWith( "+" )) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "+" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "-" )) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "-" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "*" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "*" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "/" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "/" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( "(" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + "{" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else if( remindFormula.StartsWith( ")" ) ) |
| | | { |
| | | remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | calcStr := lastCalcStr + ")" + calcStr; |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | else |
| | | { |
| | | // 䏿¯ç¬¦å· ç´æ¥è·å计ç®åçæ°å¼ |
| | | calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); |
| | | |
| | | // æªåæå·²ç»è®¡ç®çä¼å
级å å éå½è®¡ç® |
| | | remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); |
| | | PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); |
| | | } |
| | | |
| | | } |
| | | |
| | | return calcStr; |
| | | *] |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,businessType); |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,""); |
| | | traverse( nameList,Elements,e) |
| | | { |
| | | nameText := e.Name() + "[" + [String]e.Coefficient() + "*L]" |
| | |
| | | [* |
| | | // NBoTk Sep-21-2023 (created) |
| | | value := stringData; |
| | | |
| | | symbolList := construct( structured[String]); |
| | | symbolList.Add( "+") |
| | | symbolList.Add( "-") |
| | |
| | | } |
| | | } |
| | | |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,businessType); |
| | | nameList := PriorityFactor::GetDataByBusinessType( owner,""); |
| | | traverse( nameList,Elements,e) |
| | | { |
| | | if( stringData.EndsWith( e.Name())) |
| | |
| | | value := stringData.SubString( 0,end); |
| | | } |
| | | } |
| | | |
| | | return value; |
| | | *] |
| | | } |
| | |
| | | remindFormula := formula; |
| | | |
| | | // éåä¼å
级å åé
ç½® |
| | | |
| | | if( not remindFormula = '' ) |
| | | { |
| | | // ä»èµ·å§ä½ç½®å¼å§å¹é
|
| | |
| | | PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan,globalOTDTable); |
| | | |
| | | // æªå ) åçå符继ç»è¿è¡è®¡ç® |
| | | remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()); |
| | | remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()-1); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | |
| | | // 没æå¹é
å
¬å¼è®¡ç®å®æ |
| | | return lastScore; |
| | | return score; |
| | | *] |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | info( "remindStr = " + str ); |
| | | return str; |
| | | *] |
| | | } |
| | |
| | | { |
| | | // äºä¸é¨ä¿¡æ¯ |
| | | businessType := e.BusinessType(); |
| | | //businessType := "ææºäºä¸é¨"; |
| | | |
| | | // è·å对åºäºä¸é¨è®¡ç®å
¬å¼ |
| | | priorityPolicys := selectobject( macroPlan,PriorityPolicy,p,p.BusinessType() = businessType and p.Name() = priorityPolicyName); |
| | |
| | | |
| | | // éå½å¤ç计ç®å
¬å¼ è·åå½å订åçå¾å |
| | | value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0,globalOTDTable); |
| | | |
| | | // çæä¼å
级å åè·åç»æ |
| | | priorityResult := macroPlan.PriorityResult(relnew,CustomerOrderID := e.ID(),BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), |
| | | DemandDate := e.EndDate(),ProductID := e.ProductID(),Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(), |
| | |
| | | result.PriorityResultScore() |
| | | ) |
| | | |
| | | // Quintiqä¼å
级å10级 éè¦åæ®µè®¡ç® |
| | | subLevel := resultList.Size() div 10; |
| | | subLevelCount := 0; |
| | | |
| | | priorityValue := 1; |
| | | traverse( resultList,Elements,e) |
| | | { |
| | |
| | | |
| | | // å建ä¼å
çº§æ°æ® éè¦å
æ¸
é¤ä¸ä¸æ¬¡ç计ç®ç»æ |
| | | // 夿å½åcustomerOrderæ¯å¦åå¨ |
| | | oldPriority := selectobject( macroPlan,Priority,p,p.Name() = obj.OrderID()); |
| | | if(not isnull( oldPriority ) ) |
| | | oldPriority := selectobject( macroPlan,Priority,p,p.Name() = [String]priorityValue); |
| | | if(isnull( oldPriority ) ) |
| | | { |
| | | macroPlan.Priority(reldelete, oldPriority); |
| | | } |
| | | macroPlan.Priority(relnew,Weight := priorityValue,Name := obj.OrderID()); |
| | | priorityValue := priorityValue + 1; |
| | | macroPlan.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue); |
| | | } |
| | | } |
| | | |
| | | // å¤æè®¡ç®å段æ°éä¸Quintiqåå§ä¼å
级 |
| | | subLevelCount := subLevelCount + 1; |
| | | if( subLevelCount = subLevel ) |
| | | { |
| | | // å½å°è¾¾å段æ°éå ä¼å
级+1 åæ®µè®¡æ°ä»0å¼å§ |
| | | if( priorityValue < 10 ) |
| | | { |
| | | priorityValue := priorityValue + 1; |
| | | } |
| | | subLevelCount := 0; |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component ButtonPriority |
| | | { |
| | | #keys: '[414382.0.587601840]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'QUEUE' |
| | | Label: 'ä¼å
级å å' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ActionBarGroupSalesViews/ButtonPriority |
| | | Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick |
| | | { |
| | | #keys: '[414382.0.587601951]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "PriorityTest",true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderBusinessType.Data.BusinessTypeName' |
| | | Label: 'Business Type Name' |
| | | Description: 'äºä¸é¨åç§°è¾å
¥' |
| | | Label: 'äºä¸é¨åç§°' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component editScenarioName |
| | | { |
| | | #keys: '[412960.0.275480603]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderBusinessType.Data.ScenarioName' |
| | | Description: 'åºæ¯åç§°ç¼è¾' |
| | | Label: 'åºæ¯åç§°' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component editDisplayType |
| | | { |
| | | #keys: '[412960.0.278321833]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderBusinessType.Data.DisplayType' |
| | | Description: 'æ¾ç¤ºç±»åç¼è¾' |
| | | Label: 'æ¾ç¤ºç±»å' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | businessType := DataHolderBusinessType.Data().BusinessTypeName(); |
| | | DataHolderBusinessType.Data().Commit(); |
| | | |
| | | |
| | | PriorityFactor::InitData( MacroPlan,businessType); |
| | | PriorityFactor::InitData( MacroPlan); |
| | | |
| | | this.Close(); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New ( |
| | | MacroPlan owner, |
| | | String businessType |
| | | ) id:Method_DialogEditPriorityFactor_New |
| | | { |
| | | #keys: '[414382.0.593002251]' |
| | | Body: |
| | | [* |
| | | data := owner.PriorityFactor(relshadow); |
| | | data.BusinessType(businessType); |
| | | |
| | | DataHolderEditPriorityFactor.Data(&data); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[412960.0.278371059]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[412960.0.278371063]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[412960.0.278371065]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[412960.0.278371057]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component editOrganCodeName |
| | | { |
| | | #keys: '[412960.0.280135212]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderOrganCode.Data.OrganCodeName' |
| | | Description: 'ç»ç»ç¼ç åç§°ç¼è¾' |
| | | Label: 'ç»ç»ç¼ç ' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ClickBtnOk () id:Method_DialogOrganCode_ClickBtnOk |
| | | { |
| | | #keys: '[412960.0.279955432]' |
| | | Body: |
| | | [* |
| | | // Disabled button to prevent the possibility of multiple firing |
| | | |
| | | btnOk.Enabled(false,''); |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | DataHolderOrganCode.Data().Commit(); |
| | | |
| | | this.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | OrganCode selection |
| | | ) id:Method_DialogOrganCode_Edit |
| | | { |
| | | #keys: '[412960.0.279955433]' |
| | | Body: |
| | | [* |
| | | // Edits assumption |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderOrganCode.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New ( |
| | | BusinessType owner |
| | | ) id:Method_DialogOrganCode_New |
| | | { |
| | | #keys: '[412960.0.279955435]' |
| | | Body: |
| | | [* |
| | | data := owner.OrganCode(relshadow); |
| | | DataHolderOrganCode.Data( &data); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[412960.0.278371069]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[412960.0.278371068]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ClickBtnOk() |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogOrganCode |
| | | { |
| | | #keys: '[412960.0.278371055]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderOrganCode |
| | | { |
| | | #keys: '[412960.0.279955517]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[OrganCode]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Description: 'ç»ç»ç¼ç è¾¹çå¼¹çª' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | Title: 'ç»ç»ç¼ç ç¼è¾' |
| | | ] |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessTypeName","title":"BusinessTypeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessTypeName"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessTypeName","title":"BusinessTypeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessTypeName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayType","title":"DisplayType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ScenarioName","title":"ScenarioName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ScenarioName"}}]' |
| | | ContextMenu: 'listContextMenuBusinessType655' |
| | | Taborder: 2 |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListOrganCode |
| | | { |
| | | #keys: '[412960.0.278370451]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorOrganCode |
| | | { |
| | | #keys: '[412960.0.278370452]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'BusinessType' |
| | | Description: 'ç»ç»ç¼ç ' |
| | | ExtractionMode: 'Selected' |
| | | Source: 'ListBusinessType' |
| | | Taborder: 0 |
| | | Transformation: 'OrganCode' |
| | | ] |
| | | } |
| | | #child: listActionBarPageOrganCode |
| | | Component DataSetLevelOrganCode |
| | | { |
| | | #keys: '[412960.0.278370457]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuBusinessType |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCodeName","title":"OrganCodeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCodeName"}}]' |
| | | ContextMenu: 'listContextMenuBusinessType' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'ç»ç»ç¼ç ' |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListOrganCode_WebMenu_OnClick |
| | | { |
| | | #keys: '[412960.0.280046014]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[507.0.16811226]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelBusinessType |
| | | { |
| | | #keys: '[412960.0.278370440]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListOrganCode |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageOrganCode |
| | | { |
| | | #keys: '[412960.0.278370454]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuBusinessType |
| | | { |
| | | #keys: '[412960.0.278370459]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuEdit526 |
| | | { |
| | | #keys: '[412960.0.278370780]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 3 |
| | | Title: 'Edit' |
| | | ] |
| | | } |
| | | Component MenuDelete267 |
| | | { |
| | | #keys: '[412960.0.278370833]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 4 |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | Component MenuNewOrganCode |
| | | { |
| | | #keys: '[412960.0.280077335]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Description: 'æ°å»ºç»ç»ç¼ç ' |
| | | Image: 'EARTH_ADD' |
| | | Taborder: 6 |
| | | Title: 'Add Organ Code' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListBusinessType |
| | | Response OnClick ( |
| | | BusinessType selection |
| | | ) id:Response_ListBusinessType_MenuNewOrganCode_OnClick |
| | | { |
| | | #keys: '[412960.0.280105097]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListBusinessType/Responsedef_ListBusinessType_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuNewOrganCode' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogOrganCode ); |
| | | dlg.New( selection ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOrganCode |
| | | Response OnClick ( |
| | | OrganCode selection |
| | | ) id:Response_ListOrganCode_MenuDelete267_OnClick |
| | | { |
| | | #keys: '[412960.0.280046423]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOrganCode/Responsedef_ListOrganCode_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuDelete267' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOrganCode |
| | | Response OnClick ( |
| | | OrganCode selection |
| | | ) id:Response_ListOrganCode_MenuEdit526_OnClick |
| | | { |
| | | #keys: '[412960.0.280046170]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOrganCode/Responsedef_ListOrganCode_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuEdit526' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogOrganCode ); |
| | | dlg.Edit( selection ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | Children: |
| | | [ |
| | | #child: ListBusinessType |
| | | #child: PanelBusinessType |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'Business Type' |
| | | Title: 'äºä¸é¨&ç»ç»ç¼ç ç»´æ¤' |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_EDIT' |
| | | Taborder: 3 |
| | | Taborder: 4 |
| | | Title: 'ç¼è¾' |
| | | ] |
| | | } |
| | | Component MenuNew |
| | | { |
| | | #keys: '[414382.0.593001800]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_ADD' |
| | | Taborder: 3 |
| | | Title: 'æ°å¢' |
| | | ] |
| | | } |
| | | Component MenuDel |
| | | { |
| | | #keys: '[414382.0.593001811]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'GEAR_DELETE' |
| | | Taborder: 5 |
| | | Title: 'å é¤' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityFactorSelect |
| | | Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderPriorityFactorSelect_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.593010798]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | data := selectset( MacroPlan,PriorityFactor,p,true); |
| | | this.Data(&data); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | //strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); |
| | | //this.Strings(strings); |
| | | info( "create" + DropDownStringListBusinessType.Text()); |
| | | list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); |
| | | DataHolderPriorityFactorSelect.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | info( "selection" ); |
| | | info( "selection" + DropDownStringListBusinessType.Text()); |
| | | list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); |
| | | DataHolderPriorityFactorSelect.Data(&list); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPriorityFactor |
| | | Response OnClick ( |
| | | PriorityFactor selection |
| | | ) id:Response_ListPriorityFactor_MenuDel_OnClick |
| | | { |
| | | #keys: '[414382.0.593002800]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick |
| | | Initiator: 'MenuDel' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPriorityFactor |
| | | Response OnClick () id:Response_ListPriorityFactor_MenuNew_OnClick |
| | | { |
| | | #keys: '[414382.0.593002709]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick |
| | | Initiator: 'MenuNew' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogEditPriorityFactor ); |
| | | businessType := DropDownStringListBusinessType.Text(); |
| | | dlg.New( MacroPlan, businessType); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | [ |
| | | Label: 'äºä¸é¨:' |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
| | | #child: ListPriorityFactor |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[PriorityPolicy]' |
| | | Source: 'DataHolderPriorityPolicy' |
| | | Source: 'DataHolderPriorityPolicyShowList' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | Taborder: 3 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Taborder: 4 |
| | | Title: 'ä¼å
级çç¥é
ç½®' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: DataHolderPriorityPolicy |
| | | Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnCreated |
| | | { |
| | | #keys: '[414382.0.594152096]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | data := this.Data(); |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | list := selectset( data,Elements,e,e.BusinessType() = businessType); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | #parent: DataHolderPriorityPolicy |
| | | Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnDataChanged |
| | | { |
| | | #keys: '[414382.0.502145694]' |
| | | #keys: '[414382.0.595379026]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | this.Data(&list); |
| | | data := this.Data(); |
| | | businessType := PriorityPolicyBusinessType.Text(); |
| | | list := selectset( data,Elements,e,e.BusinessType() = businessType); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | [* |
| | | strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); |
| | | this.Strings(strings); |
| | | |
| | | list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | //list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | //DataHolderPriorityPolicy.Data(&list); |
| | | list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); |
| | | DataHolderPriorityPolicyShowList.Data(&list); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | #keys: '[414382.0.487792124]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[PriorityPolicy]*' |
| | | Children: |
| | | [ |
| | | Component DataExtractorPriorityPolicy216 |
| | | { |
| | | #keys: '[414382.0.593061574]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'PriorityPolicy' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: ListPriorityPolicy |
| | |
| | | Databinding: 'shadow[PriorityPolicy]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityPolicyBusinessType |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityPolicyFactor |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component DataHolderPriorityPolicyShowList |
| | | { |
| | | #keys: '[414382.0.593062135]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[PriorityPolicy]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_legacy_1 |
| | | { |
| | | title: 'Scenario manager' |
| | | shown: true |
| | | componentID: 'FormScenarioManager' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 5 |
| | | } |
| | | components |
| | | { |
| | | FormScenarioManager_ListScenario |
| | | { |
| | | } |
| | | FormScenarioManager_DataSetLevelScenario |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 90 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 277 |
| | | } |
| | | column_ChangedBy |
| | | { |
| | | columnId: 'ChangedBy' |
| | | dataPath: 'ChangedBy' |
| | | dataType: 'string' |
| | | title: 'Changed by' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 106 |
| | | } |
| | | column_ChangedOn |
| | | { |
| | | columnId: 'ChangedOn' |
| | | dataPath: 'ChangedOn' |
| | | dataType: 'datetime' |
| | | title: 'Changed on' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 99 |
| | | } |
| | | column_StorageMode |
| | | { |
| | | columnId: 'StorageMode' |
| | | dataPath: 'StorageMode' |
| | | dataType: 'string' |
| | | title: 'StorageMode' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 40 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_legacy_2 |
| | | { |
| | | title: 'Assumptions' |
| | | shown: true |
| | | componentID: 'FormAssumptions' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 9 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 5 |
| | | } |
| | | components |
| | | { |
| | | FormAssumptions_ListAssumptions |
| | | { |
| | | } |
| | | FormAssumptions_DataSetLevelAssumptions |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | title: 'ç±»å«' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 108 |
| | | } |
| | | column_Importance |
| | | { |
| | | columnId: 'Importance' |
| | | dataPath: 'Importance' |
| | | dataType: 'string' |
| | | title: 'éè¦æ§' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 110 |
| | | } |
| | | column_Title |
| | | { |
| | | columnId: 'Title' |
| | | dataPath: 'Title' |
| | | dataType: 'string' |
| | | title: 'æ é¢' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ChangedBy |
| | | { |
| | | columnId: 'ChangedBy' |
| | | dataPath: 'ChangedBy' |
| | | dataType: 'string' |
| | | title: 'Changed by' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_CreatedOn |
| | | { |
| | | columnId: 'CreatedOn' |
| | | dataPath: 'CreatedOn' |
| | | dataType: 'datetime' |
| | | title: 'Created on' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormScenariosKPIsComparison |
| | | { |
| | | title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' |
| | | shown: true |
| | | componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 16 |
| | | columnPosition: 6 |
| | | columnSpan: 7 |
| | | } |
| | | components |
| | | { |
| | | FormScenariosKPIsComparison_MatrixEditorFinancialKPIs |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_DisplayValue |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DisplayValue' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: '' |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'KPISetting.DisplayIndex'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: true |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 1 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPISelection' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | index: 3 |
| | | image: 'ELEMENTS_TREE_EDIT' |
| | | page: 'applicationDevelopmentActionBarPageDef' |
| | | group: '' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Business_Type_Maintain' |
| | | name: 'Business Type Maintain' |
| | | isglobal: false |
| | | isroot: true |
| | | } |