From 8d37eebd5b4e52c12b25e90ca7ce59439798f14e Mon Sep 17 00:00:00 2001
From: limj <limj@taizhitech.com>
Date: 星期六, 07 十月 2023 16:27:50 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lmj
---
_Main/BL/Type_BusinessType/Attribute_ScenarioName.qbl | 8
_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType#367.def | 3
_Main/BL/Type_OrganCode/_ROOT_Type_OrganCode.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuEdit526_OnClick.def | 20 +
_Main/UI/MacroPlannerWebApp/Component_Form367/Component_PanelBusinessType.def | 14
_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType.def | 35 ++
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnOk_OnClick.def | 15 +
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_ClickBtnOk.def | 19 +
_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listActionBarPageOrganCode.def | 10
_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlContent.def | 26 +
_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl | 8
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_Edit.def | 17 +
_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_New.def | 15 +
_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListBusinessType.def | 2
_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListOrganCode.def | 62 ++++
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl | 2
_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl | 7
_Main/BL/Type_OrganCode/Attribute_OrganCodeName.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuDelete267_OnClick.def | 19 +
_Main/BL/Type_BusinessType/Attribute_BusinessTypeName.qbl | 1
_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlActions.def | 40 ++
_Main/BL/Type_BusinessType/Attribute_DisplayType.qbl | 8
_Main/UI/MacroPlannerWebApp/Views/Business_Type_Maintain.vw | 351 +++++++++++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnCancel_OnClick.def | 15 +
_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/_ROOT_Component_DialogOrganCode.def | 33 ++
_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNewOrganCode_OnClick.def | 20 +
_Main/BL/Relations/Relation_OrganCode_BusinessType_BusinessType_OrganCode.qbl | 23 +
_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Component_pnlContent.def | 27 +
_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType655.def | 12
_Main/BL/Type_MacroPlan/Method_MappingSalesSegmentData.qbl | 5
_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl | 4
37 files changed, 861 insertions(+), 17 deletions(-)
diff --git a/_Main/BL/Relations/Relation_OrganCode_BusinessType_BusinessType_OrganCode.qbl b/_Main/BL/Relations/Relation_OrganCode_BusinessType_BusinessType_OrganCode.qbl
new file mode 100644
index 0000000..53c42ae
--- /dev/null
+++ b/_Main/BL/Relations/Relation_OrganCode_BusinessType_BusinessType_OrganCode.qbl
@@ -0,0 +1,23 @@
+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'
+ }
+}
diff --git a/_Main/BL/Type_BusinessType/Attribute_BusinessTypeName.qbl b/_Main/BL/Type_BusinessType/Attribute_BusinessTypeName.qbl
index f2fb6a3..44f63a3 100644
--- a/_Main/BL/Type_BusinessType/Attribute_BusinessTypeName.qbl
+++ b/_Main/BL/Type_BusinessType/Attribute_BusinessTypeName.qbl
@@ -3,5 +3,6 @@
Attribute BusinessTypeName
{
#keys: '3[414382.0.361554811][414382.0.361554810][414382.0.361554812]'
+ Description: '浜嬩笟閮ㄥ悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_BusinessType/Attribute_DisplayType.qbl b/_Main/BL/Type_BusinessType/Attribute_DisplayType.qbl
new file mode 100644
index 0000000..72577fd
--- /dev/null
+++ b/_Main/BL/Type_BusinessType/Attribute_DisplayType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DisplayType
+{
+ #keys: '3[412960.0.276650024][412960.0.276650023][412960.0.276650025]'
+ Description: '鏄剧ず绫诲瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_BusinessType/Attribute_ScenarioName.qbl b/_Main/BL/Type_BusinessType/Attribute_ScenarioName.qbl
new file mode 100644
index 0000000..bf93bb5
--- /dev/null
+++ b/_Main/BL/Type_BusinessType/Attribute_ScenarioName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ScenarioName
+{
+ #keys: '3[412960.0.276650011][412960.0.276650010][412960.0.276650012]'
+ Description: '鍦烘櫙鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
index c6520fb..a6f9a24 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
@@ -9,7 +9,12 @@
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" );
@@ -24,7 +29,7 @@
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(),
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
index 3a572dc..9d01ece 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
@@ -14,7 +14,12 @@
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() );
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
index c6a2bcf..39675d3 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
@@ -11,7 +11,13 @@
// 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" );
@@ -32,7 +38,7 @@
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,
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
index 21b752b..5fbb66c 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
@@ -14,7 +14,13 @@
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() );
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl
index b716d4d..663464c 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl
@@ -14,11 +14,13 @@
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 )
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
index 1e71d79..9a458dd 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
Method MappingOperationCostData (
+ GlobalOTDTable globalOTDTable,
Strings businesstypes
)
{
@@ -14,7 +15,12 @@
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
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl
index 29e7e21..b09ed68 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl
@@ -11,8 +11,10 @@
// 鑾峰彇鏈夊簭鐨勫緟澶勭悊璁板綍
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 {
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
index ab7398e..1e0929e 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
@@ -23,10 +23,10 @@
}
} 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();
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingSalesSegmentData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingSalesSegmentData.qbl
index cf459b5..d7f21c2 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingSalesSegmentData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingSalesSegmentData.qbl
@@ -14,7 +14,10 @@
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() );
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl
index e826ddb..671fe30 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl
@@ -15,9 +15,11 @@
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 )
);
}
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
index b4361d5..875645b 100644
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
+++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
@@ -131,7 +131,7 @@
// todo 鍒堕�犳垚鏈�-16
info( "InventoryCost Finished, Start OperationCost Mapping" );
- macroPlan.MappingOperationCostData( businessTypes );
+ macroPlan.MappingOperationCostData( globalOTDTable, businessTypes );
// 璁㈠崟棰勬祴-17
Forecast::DoSync( macroPlan, businessTypes ,globalOTDTable);
diff --git a/_Main/BL/Type_OrganCode/Attribute_OrganCodeName.qbl b/_Main/BL/Type_OrganCode/Attribute_OrganCodeName.qbl
new file mode 100644
index 0000000..bdf1f0e
--- /dev/null
+++ b/_Main/BL/Type_OrganCode/Attribute_OrganCodeName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganCodeName
+{
+ #keys: '3[412960.0.276650052][412960.0.276650051][412960.0.276650053]'
+ Description: '缁勭粐缂栫爜鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrganCode/_ROOT_Type_OrganCode.qbl b/_Main/BL/Type_OrganCode/_ROOT_Type_OrganCode.qbl
new file mode 100644
index 0000000..3a16e43
--- /dev/null
+++ b/_Main/BL/Type_OrganCode/_ROOT_Type_OrganCode.qbl
@@ -0,0 +1,10 @@
+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'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Component_pnlContent.def
index b6cdcbb..07b8549 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Component_pnlContent.def
@@ -12,10 +12,35 @@
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:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlActions.def
new file mode 100644
index 0000000..262d308
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlActions.def
@@ -0,0 +1,40 @@
+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
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlContent.def
new file mode 100644
index 0000000..459a754
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Component_pnlContent.def
@@ -0,0 +1,26 @@
+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
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_ClickBtnOk.def
new file mode 100644
index 0000000..4e90d83
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_ClickBtnOk.def
@@ -0,0 +1,19 @@
+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();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_Edit.def
new file mode 100644
index 0000000..299bad9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_Edit.def
@@ -0,0 +1,17 @@
+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 );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_New.def
new file mode 100644
index 0000000..b312c1c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Method_New.def
@@ -0,0 +1,15 @@
+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 );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..fb27680
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+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();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..3ac7bbe
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+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()
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/_ROOT_Component_DialogOrganCode.def b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/_ROOT_Component_DialogOrganCode.def
new file mode 100644
index 0000000..c681a1b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogOrganCode/_ROOT_Component_DialogOrganCode.def
@@ -0,0 +1,33 @@
+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: '缁勭粐缂栫爜缂栬緫'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListBusinessType.def
index b0713d9..c7e5490 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListBusinessType.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListBusinessType.def
@@ -28,7 +28,7 @@
]
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
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListOrganCode.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListOrganCode.def
new file mode 100644
index 0000000..055b426
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_ListOrganCode.def
@@ -0,0 +1,62 @@
+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()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_PanelBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_PanelBusinessType.def
new file mode 100644
index 0000000..9e8ac81
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_PanelBusinessType.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelBusinessType
+{
+ #keys: '[412960.0.278370440]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListOrganCode
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listActionBarPageOrganCode.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listActionBarPageOrganCode.def
new file mode 100644
index 0000000..cc122e0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listActionBarPageOrganCode.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageOrganCode
+{
+ #keys: '[412960.0.278370454]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType.def
new file mode 100644
index 0000000..d8d6b3c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType.def
@@ -0,0 +1,35 @@
+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
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType655.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType655.def
index 30edf41..6d6b098 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType655.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Component_listContextMenuBusinessType655.def
@@ -38,6 +38,18 @@
Title: 'Delete'
]
}
+ Component MenuNewOrganCode
+ {
+ #keys: '[412960.0.280077335]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: '鏂板缓缁勭粐缂栫爜'
+ Image: 'EARTH_ADD'
+ Taborder: 6
+ Title: 'Add Organ Code'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNewOrganCode_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNewOrganCode_OnClick.def
new file mode 100644
index 0000000..fbc8746
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNewOrganCode_OnClick.def
@@ -0,0 +1,20 @@
+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 );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuDelete267_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuDelete267_OnClick.def
new file mode 100644
index 0000000..cb47729
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuDelete267_OnClick.def
@@ -0,0 +1,19 @@
+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();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuEdit526_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuEdit526_OnClick.def
new file mode 100644
index 0000000..1cbf4e6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListOrganCode_MenuEdit526_OnClick.def
@@ -0,0 +1,20 @@
+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 );
+ *]
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType\043367.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType\043367.def"
index e23342a..d9814cb 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType\043367.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType\043367.def"
@@ -8,9 +8,10 @@
Children:
[
#child: ListBusinessType
+ #child: PanelBusinessType
]
Properties:
[
- Title: 'Business Type'
+ Title: '浜嬩笟閮�&缁勭粐缂栫爜缁存姢'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Business_Type_Maintain.vw b/_Main/UI/MacroPlannerWebApp/Views/Business_Type_Maintain.vw
new file mode 100644
index 0000000..7903c23
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Business_Type_Maintain.vw
@@ -0,0 +1,351 @@
+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
+}
--
Gitblit v1.9.3