From 8c5557b992ac917c11f0f24d9716af1a16045777 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期一, 18 九月 2023 21:04:27 +0800
Subject: [PATCH] 全局代理
---
_Main/BL/Type_GlobalDTOTable/Method_ApiBuildPostRequestBody.qbl | 27 +
_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl | 7
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConvers.qbl | 23
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_CurrencyID.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ShelfLife.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_EndDate.qbl | 7
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl | 24 +
_Main/BL/Type_Global_MappingConversionFactor/Attribute_ProductID.qbl | 8
_Main/BL/Type_Global_MappingConversionFactor/Attribute_SourceUnitOfMeasureName.qbl | 8
_Main/BL/Type_Global_MappingProduct_MP/_ROOT_Type_Global_MappingProduct_MP.qbl | 9
_Main/BL/Type_Global_MappingConversionFactor/Attribute_IsEnabled.qbl | 8
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_id.qbl | 7
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_UnitID.qbl | 7
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_Name.qbl | 8
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductSubclassType.qbl | 7
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_IsDefault.qbl | 7
_Main/BL/Type_Global_MappingConversionFactor/TypeIndex_TypeIndex.qbl | 24 +
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl | 41 +
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ID.qbl | 8
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_BusinessType.qbl | 8
_Main/BL/Type_Global_MappingStockingPoint_MP/_ROOT_Type_Global_MappingStockingPoint_MP.qbl | 9
_Main/BL/Type_Global_MappingConversionFactor/Attribute_Factor.qbl | 7
_Main/BL/Type_Global_MappingConversionFactor/_ROOT_Type_Global_MappingConversionFactor.qbl | 9
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Start.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_BusinessType.qbl | 8
_Main/BL/Type_Global_MappingProduct_MP/Attribute_UnitOfMeasureName.qbl | 7
_Main/BL/EDI/Broker_GlobalOTDTable_Product_MP.qbl | 169 +++++++
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_.qbl | 23
_Main/BL/EDI/Broker_GlobalOTDTable_ConversionFactor.qbl | 78 +++
_Main/BL/EDI/Broker_GlobalOTDTable_UnitOfMeasure_MP.qbl | 55 ++
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_Gl.qbl | 23
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl | 38 +
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_ID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_CopyScenario.def | 29 +
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationStockingPoint_MP.qbl | 8
_Main/BL/Type_Global_MappingCurrencyRate_MP/_ROOT_Type_Global_MappingCurrencyRate_MP.qbl | 9
_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl | 104 +---
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrency.qbl | 23
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_ParentName.qbl | 7
_Main/BL/Type_Global_MappingCurrency_MP/_ROOT_Type_Global_MappingCurrency_MP.qbl | 9
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl | 38 +
_Main/BL/Type_Global_MappingSalesSegment_MP/_ROOT_Type_Global_MappingSalesSegment_MP.qbl | 9
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationUnitOfMeasure_MP.qbl | 23
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_IsBase.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_CommonBusiness.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_IsCommon.qbl | 7
_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_Name.qbl | 7
_Main/BL/Type_Global_MappingConversionFactor/Attribute_TargetUnitOfMeasureName.qbl | 8
_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def | 113 ++++
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfM.qbl | 23
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/TypeIndex_TypeIndexName.qbl | 12
_Main/BL/EDI/Broker_GlobalOTDTable_SalesSegment_MP.qbl | 92 +++
_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def | 12
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockin.qbl | 23
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Name.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/TypeIndex_TypeIndexIDAndBusinessType.qbl | 16
_Main/BL/Type_Global_MappingSalesSegment_MP/TypeIndex_TypeIndexBusinessTypeAndName.qbl | 16
_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Rate.qbl | 7
_Main/BL/Type_Global_MappingCurrency_MP/Attribute_Name.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Notes.qbl | 7
_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSeg.qbl | 23
_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_DisplayIndex.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductMajorType.qbl | 7
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/_ROOT_Type_Global_MappingUnitOfMeasure_MP.qbl | 9
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationSalesSegment_MP.qbl | 31 +
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_Name.qbl | 8
66 files changed, 1,328 insertions(+), 79 deletions(-)
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_ConversionFactor.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_ConversionFactor.qbl
new file mode 100644
index 0000000..a3d464b
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_ConversionFactor.qbl
@@ -0,0 +1,78 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_ConversionFactor
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination Destination4
+ {
+ EDIMLTable Global_MappingConversionFactor
+ {
+ PrimaryKeyColumns: IsEnabled
+ PrimaryKeyColumns: ProductID
+ PrimaryKeyColumns: SourceUnitOfMeasureName
+ PrimaryKeyColumns: TargetUnitOfMeasureName
+ TargetType: Global_MappingConversionFactor
+ TypeIndex: TypeIndex
+ EDIMLColumn Factor { Attribute: Factor ValueType: Real }
+ EDIMLColumn IsEnabled { Attribute: IsEnabled ValueType: Boolean }
+ EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+ EDIMLColumn SourceUnitOfMeasureName { Attribute: SourceUnitOfMeasureName ValueType: String }
+ EDIMLColumn TargetUnitOfMeasureName { Attribute: TargetUnitOfMeasureName ValueType: String }
+ }
+ }
+ EDIODBCLink.Source Source3
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+ EDIODBCLinkTable MID_BASECONVERSIONFACTORS
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="OTD"'
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn FACTOR
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn ISENABLED
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PRODUCTID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn SOURCEUNITOFMEASURENAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn TARGETUNITOFMEASURENAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation Transformation3
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_BASECONVERSIONFACTORS
+ OutputTable: Global_MappingConversionFactor
+ EDIColumnMatch { InputColumn: FACTOR OutputColumn: Factor }
+ EDIColumnMatch { InputColumn: ISENABLED OutputColumn: IsEnabled }
+ EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
+ EDIColumnMatch { InputColumn: SOURCEUNITOFMEASURENAME OutputColumn: SourceUnitOfMeasureName }
+ EDIColumnMatch { InputColumn: TARGETUNITOFMEASURENAME OutputColumn: TargetUnitOfMeasureName }
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_Product_MP.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_Product_MP.qbl
new file mode 100644
index 0000000..5ff2900
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_Product_MP.qbl
@@ -0,0 +1,169 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_Product_MP
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination Destination3
+ {
+ EDIMLTable Global_MappingProduct_MP
+ {
+ PrimaryKeyColumns: BusinessType
+ PrimaryKeyColumns: ID
+ TargetType: Global_MappingProduct_MP
+ TypeIndex: TypeIndexIDAndBusinessType
+ EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
+ EDIMLColumn CommonBusiness { Attribute: CommonBusiness ValueType: String }
+ EDIMLColumn EndDate { Attribute: EndDate ValueType: Date }
+ EDIMLColumn ID { Attribute: ID ValueType: String }
+ EDIMLColumn IsCommon { Attribute: IsCommon ValueType: Boolean }
+ EDIMLColumn KeyProduct { Attribute: KeyProduct ValueType: Boolean }
+ EDIMLColumn Name { Attribute: Name ValueType: String }
+ EDIMLColumn Notes { Attribute: Notes ValueType: String }
+ EDIMLColumn ProductMajorType { Attribute: ProductMajorType ValueType: String }
+ EDIMLColumn ProductSubclassType { Attribute: ProductSubclassType ValueType: String }
+ EDIMLColumn ShelfLife { Attribute: ShelfLife ValueType: Real }
+ EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
+ }
+ }
+ EDIODBCLink.Source Source2
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+ EDIODBCLinkTable MID_PRODUCT
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="OTD"'
+ PrimaryKeyColumns: BUSINESSTYPE
+ PrimaryKeyColumns: ID
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn BUSINESSTYPE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn COMMONBUSINESS
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn COST
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn ENDDATE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn ID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn INTEGRATIONDEGREE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn ISCOMMON
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn KEYPRODUCT
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn MATERIALFLAG1
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn MATERIALFLAG2
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NOTE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NUMBEROFLAYOUTS
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn PRODUCTMAJORTYPE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PRODUCTSUBCLASSTYPE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn SHELFLIFE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn UNITOFMEAURENAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation Transformation2
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_PRODUCT
+ OutputTable: Global_MappingProduct_MP
+ EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
+ EDIColumnMatch { InputColumn: COMMONBUSINESS OutputColumn: CommonBusiness }
+ EDIColumnMatch
+ {
+ InputColumn: ENDDATE
+ OutputColumn: EndDate
+ Converter
+ {
+ XMLDefinition:
+ [*
+ <?xml version="1.0" encoding="UTF-16"?>
+ <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
+ <IsStandard>true</IsStandard>
+ <IsISO>false</IsISO>
+ <IsCustom>false</IsCustom>
+ <ConversionType>0</ConversionType>
+ </DateTimeToDate>
+ *]
+ }
+ }
+ EDIColumnMatch { InputColumn: ID OutputColumn: ID }
+ EDIColumnMatch { InputColumn: ISCOMMON OutputColumn: IsCommon }
+ EDIColumnMatch { InputColumn: KEYPRODUCT OutputColumn: KeyProduct }
+ EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
+ EDIColumnMatch { InputColumn: NOTE OutputColumn: Notes }
+ EDIColumnMatch { InputColumn: PRODUCTMAJORTYPE OutputColumn: ProductMajorType }
+ EDIColumnMatch { InputColumn: PRODUCTSUBCLASSTYPE OutputColumn: ProductSubclassType }
+ EDIColumnMatch { InputColumn: SHELFLIFE OutputColumn: ShelfLife }
+ EDIColumnMatch { InputColumn: UNITOFMEAURENAME OutputColumn: UnitOfMeasureName }
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_SalesSegment_MP.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_SalesSegment_MP.qbl
new file mode 100644
index 0000000..26442e4
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_SalesSegment_MP.qbl
@@ -0,0 +1,92 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_SalesSegment_MP
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination Destination2
+ {
+ EDIMLTable Global_MappingSalesSegment_MP
+ {
+ PrimaryKeyColumns: BusinessType
+ PrimaryKeyColumns: Name
+ TargetType: Global_MappingSalesSegment_MP
+ TypeIndex: TypeIndexBusinessTypeAndName
+ EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
+ EDIMLColumn DisplayIndex { Attribute: DisplayIndex ValueType: Number }
+ EDIMLColumn Name { Attribute: Name ValueType: String }
+ EDIMLColumn ParentName { Attribute: ParentName ValueType: String }
+ }
+ }
+ EDIODBCLink.Source Source1
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+ EDIODBCLinkTable MID_SALESSEGMENT
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="OTD"'
+ PrimaryKeyColumns: BUSINESSTYPE
+ PrimaryKeyColumns: NAME
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn BUSINESSTYPE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn DISPLAYINDEX
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PARENTNAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation Transformation1
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_SALESSEGMENT
+ OutputTable: Global_MappingSalesSegment_MP
+ EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
+ EDIColumnMatch
+ {
+ InputColumn: DISPLAYINDEX
+ OutputColumn: DisplayIndex
+ Converter
+ {
+ XMLDefinition:
+ [*
+ <?xml version="1.0" encoding="UTF-16"?>
+ <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
+ <IsStandard>true</IsStandard>
+ <IsISO>false</IsISO>
+ <IsCustom>false</IsCustom>
+ <ConversionType>0</ConversionType>
+ <NumericFormatString>Standard</NumericFormatString>
+ <LocaleString>Chinese (China)</LocaleString>
+ <CurrencyString></CurrencyString>
+ <CustomFormatString></CustomFormatString>
+ </StringToNumber>
+ *]
+ }
+ }
+ EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
+ EDIColumnMatch { InputColumn: PARENTNAME OutputColumn: ParentName }
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_UnitOfMeasure_MP.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_UnitOfMeasure_MP.qbl
new file mode 100644
index 0000000..2311cb5
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_UnitOfMeasure_MP.qbl
@@ -0,0 +1,55 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_UnitOfMeasure_MP
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination Destination1
+ {
+ EDIMLTable Global_MappingUnitOfMeasure_MP
+ {
+ PrimaryKeyColumns: Name
+ TargetType: Global_MappingUnitOfMeasure_MP
+ TypeIndex: TypeIndexName
+ EDIMLColumn IsDefault { Attribute: IsDefault ValueType: Boolean }
+ EDIMLColumn Name { Attribute: Name ValueType: String }
+ }
+ }
+ EDIODBCLink.Source Source
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+ EDIODBCLinkTable MID_UNITOFMEASURES
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="OTD"'
+ PrimaryKeyColumns: NAME
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn ISDEFAULT
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation Transformation0
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_UNITOFMEASURES
+ OutputTable: Global_MappingUnitOfMeasure_MP
+ EDIColumnMatch { InputColumn: ISDEFAULT OutputColumn: IsDefault }
+ EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
+ }
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConvers.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConvers.qbl
new file mode 100644
index 0000000..9f0aefd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConvers.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingConversionFactor_Global_MappingConversionFactor_GlobalOTDTable
+{
+ #keys: '1[414702.0.247716835]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingConversionFactor
+ {
+ #keys: '3[414702.0.247716837][414702.0.247716836][414702.0.247716838]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.247716840][414702.0.247716839][414702.0.247716841]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingConversionFactor
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrency.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrency.qbl
new file mode 100644
index 0000000..e3219cd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrency.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingCurrencyRate_MP_Global_MappingCurrencyRate_MP_GlobalOTDTable
+{
+ #keys: '1[414702.0.247665116]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingCurrencyRate_MP
+ {
+ #keys: '3[414702.0.247665118][414702.0.247665117][414702.0.247665119]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.247665121][414702.0.247665120][414702.0.247665122]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingCurrencyRate_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_.qbl
new file mode 100644
index 0000000..fdfa37e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingCurrency_MP_Global_MappingCurrency_MP_GlobalOTDTable
+{
+ #keys: '1[414702.0.247705877]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingCurrency_MP
+ {
+ #keys: '3[414702.0.247705879][414702.0.247705878][414702.0.247705880]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.247705882][414702.0.247705881][414702.0.247705883]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingCurrency_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_Gl.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_Gl.qbl
new file mode 100644
index 0000000..3b3a458
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_Gl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingProduct_MP_Global_MappingProduct_MP_GlobalOTDTable
+{
+ #keys: '1[414702.0.247665570]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.0.247665572][414702.0.247665571][414702.0.247665573]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.247665575][414702.0.247665574][414702.0.247665576]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSeg.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSeg.qbl
new file mode 100644
index 0000000..47895e9
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSeg.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingSalesSegment_MP_Global_MappingSalesSegment_MP_GlobalOTDTable
+{
+ #keys: '1[414702.0.238159190]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingSalesSegment_MP
+ {
+ #keys: '3[414702.0.238159192][414702.0.238159191][414702.0.238159193]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.238159195][414702.0.238159194][414702.0.238159196]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingSalesSegment_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockin.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockin.qbl
new file mode 100644
index 0000000..3861954
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockin.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingStockingPoint_MP_Global_MappingStockingPoint_MP_GlobalOTDTable
+{
+ #keys: '1[414702.0.239762044]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingStockingPoint_MP
+ {
+ #keys: '3[414702.0.239762046][414702.0.239762045][414702.0.239762047]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.239762049][414702.0.239762048][414702.0.239762050]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfM.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfM.qbl
new file mode 100644
index 0000000..a312b2f
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfM.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingUnitOfMeasure_MP_Global_MappingUnitOfMeasure_MP_GlobalOTDTable
+{
+ #keys: '1[414702.0.238140119]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingUnitOfMeasure_MP
+ {
+ #keys: '3[414702.0.238140121][414702.0.238140120][414702.0.238140122]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.238140124][414702.0.238140123][414702.0.238140125]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingUnitOfMeasure_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_ApiBuildPostRequestBody.qbl b/_Main/BL/Type_GlobalDTOTable/Method_ApiBuildPostRequestBody.qbl
new file mode 100644
index 0000000..d7970e3
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_ApiBuildPostRequestBody.qbl
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: #root
+Method ApiBuildPostRequestBody (
+ String bodynumber
+) as String
+{
+ TextBody:
+ [*
+ // Administrator Aug-18-2023 (created)
+
+ postrequestbody := JSON::Object()
+ .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ .Add( "ouZone", "OU_TMSH" )
+ .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ .Add( "dataType", "JSON" )
+ .Add( "data", JSON::Object()
+ .Add( "pageIndex", "1" ) ).Build();
+
+ info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) );
+ postrequestbodystring := postrequestbody.AsString();
+
+ return postrequestbodystring;
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
new file mode 100644
index 0000000..65c9dda
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizationAllMappingBrokerAndAPI (
+ MacroPlan macroPlan,
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().Execute();
+
+ //globalOTDTable.GlobalOTDTable_SalesSegment_MP().Execute();
+
+ //Global_MappingStockingPoint_MP::CreateByAPI( globalOTDTable );
+
+ //Global_MappingCurrency_MP::CreateByAPI( globalOTDTable );
+
+ //Global_MappingCurrencyRate_MP::CreateByAPI( globalOTDTable );
+
+ //globalOTDTable.GlobalOTDTable_Product_MP().Execute();
+
+ //globalOTDTable.GlobalOTDTable_ConversionFactor().Execute();
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationSalesSegment_MP.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationSalesSegment_MP.qbl
new file mode 100644
index 0000000..01a32c3
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationSalesSegment_MP.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizationSalesSegment_MP (
+ MacroPlan macroPlan,
+ GlobalOTDTable globalOTDTable,
+ Strings businessTypes
+)
+{
+ TextBody:
+ [*
+ businessType := businessTypes.Element( 0 );
+
+ targetGlobal_MappingSalesSegment_MPs := selectsortedset( globalOTDTable,
+ Global_MappingSalesSegment_MP,
+ tempGMSSMP,
+ tempGMSSMP.BusinessType() = businessType,
+ tempGMSSMP.DisplayIndex()
+ );
+
+ maxLevel := 0;
+ traverse ( targetGlobal_MappingSalesSegment_MPs, Elements, gmssmp ) {
+ targetParentSalesSegment_MP := select( macroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = gmssmp.ParentName() );
+ SalesSegment_MP::Create( macroPlan, targetParentSalesSegment_MP, gmssmp.Name(), gmssmp.DisplayIndex(), false );
+ maxLevel := maxvalue( maxLevel, gmssmp.DisplayIndex() );
+ }
+
+ for ( i := 1; i <= maxLevel; i++ ) {
+ SalesLevel_MP::Create( [String]i, macroPlan, false );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationStockingPoint_MP.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationStockingPoint_MP.qbl
new file mode 100644
index 0000000..d933711
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationStockingPoint_MP.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizationStockingPoint_MP (
+ MacroPlan macroPlan,
+ GlobalOTDTable globalOTDTable
+)
+{
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationUnitOfMeasure_MP.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationUnitOfMeasure_MP.qbl
new file mode 100644
index 0000000..d4805bf
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationUnitOfMeasure_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizationUnitOfMeasure_MP (
+ MacroPlan macroPlan,
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ info( "鍒濆鍖栧畬鎴�, 寮�濮嬫墽琛� UnitOfMeasure_MP Data Broker" );
+ //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().Execute();
+
+ info( "UnitOfMeasure_MP Data Broker 鎵ц瀹屾垚, Start UnitOfMeasure_MP Mapping" )
+ traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, tempGMUOMMP, true ) {
+ if ( isnull( UnitOfMeasure_MP::FindByName( macroPlan, tempGMUOMMP.Name() ) ) ) {
+ targetUnitOfMeasure_MP := UnitOfMeasure_MP::Create( macroPlan, tempGMUOMMP.Name(), false, false );
+ if ( tempGMUOMMP.IsDefault() ) {
+ targetUnitOfMeasure_MP.SetAsDefault();
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/Attribute_Factor.qbl b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_Factor.qbl
new file mode 100644
index 0000000..cad933e
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_Factor.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Factor
+{
+ #keys: '3[414702.0.247716851][414702.0.247716850][414702.0.247716852]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/Attribute_IsEnabled.qbl b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_IsEnabled.qbl
new file mode 100644
index 0000000..74bd9eb
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_IsEnabled.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsEnabled
+{
+ #keys: '3[414702.0.247716861][414702.0.247716860][414702.0.247716862]'
+ IsReadOnly: true
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_ProductID.qbl
new file mode 100644
index 0000000..ffb1677
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_ProductID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.0.247716871][414702.0.247716870][414702.0.247716872]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/Attribute_SourceUnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
new file mode 100644
index 0000000..547cf24
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SourceUnitOfMeasureName
+{
+ #keys: '3[414702.0.247716881][414702.0.247716880][414702.0.247716882]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/Attribute_TargetUnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
new file mode 100644
index 0000000..9ef2e49
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TargetUnitOfMeasureName
+{
+ #keys: '3[414702.0.247716891][414702.0.247716890][414702.0.247716892]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingConversionFactor/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..370a05f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: IsEnabled
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: ProductID
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: SourceUnitOfMeasureName
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: TargetUnitOfMeasureName
+ }
+ ]
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/_ROOT_Type_Global_MappingConversionFactor.qbl b/_Main/BL/Type_Global_MappingConversionFactor/_ROOT_Type_Global_MappingConversionFactor.qbl
new file mode 100644
index 0000000..3d26d6d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingConversionFactor/_ROOT_Type_Global_MappingConversionFactor.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingConversionFactor
+{
+ #keys: '5[414702.0.247716832][414702.0.247716830][0.0.0][414702.0.247716831][414702.0.247716833]'
+ BaseType: Object
+ StructuredName: 'Global_MappingConversionFactors'
+}
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_CurrencyID.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_CurrencyID.qbl
new file mode 100644
index 0000000..70588bf
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_CurrencyID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CurrencyID
+{
+ #keys: '3[414702.0.247706552][414702.0.247706551][414702.0.247706553]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Rate.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Rate.qbl
new file mode 100644
index 0000000..a601632
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Rate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Rate
+{
+ #keys: '3[414702.0.247706562][414702.0.247706561][414702.0.247706563]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Start.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Start.qbl
new file mode 100644
index 0000000..0300fcf
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/Attribute_Start.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Start
+{
+ #keys: '3[414702.0.247706575][414702.0.247706574][414702.0.247706576]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl
new file mode 100644
index 0000000..b927816
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateByAPI (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MappingCurrencyRate_MP( relflush );
+
+ bodynumber := "5";
+ postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
+ address := "api-uat-sgc.tianma.cn";
+ url := "/otdService/https/GetCurrencyRatesInfo";
+ port := 443;
+ i := HTTPInterface::Create( address, port);
+ i.URL( url );
+ i.SSL( true );
+ i.SSLKeystore( "MyKeystore" );
+ i.PostMethod( true ); //it's a POST method
+
+ i.Call( postrequestbody ); // Call's argument is for POST method's content.
+ htmlresult := i.Result();
+
+ htmlresponse := JSON::Parse( htmlresult );
+ reponseDataJson := htmlresponse.Get( "responseData" );
+ datalist := reponseDataJson.Get( "dataList" );
+
+ cnv2 := StringToDate::StandardConverter();
+ cnv2.SetCustomConversion();
+ cnv2.CustomFormatString( 'yyyy-MM-dd' );
+ total := datalist.Size();
+ for ( j := 0; j < total; j++ ) {
+ globalOTDTable.Global_MappingCurrencyRate_MP( relnew,
+ CurrencyID := guard( datalist.Get( j ).Get( "currencyid" ).GetString(), "" ),
+ Rate := guard( [Real]datalist.Get( j ).Get( "rate" ).GetString(), 0.0 ),
+ Start := guard( cnv2.Convert( datalist.Get( j ).Get( "start" ).GetString() ), Date::MinDate() )
+ );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/_ROOT_Type_Global_MappingCurrencyRate_MP.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/_ROOT_Type_Global_MappingCurrencyRate_MP.qbl
new file mode 100644
index 0000000..95c9609
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/_ROOT_Type_Global_MappingCurrencyRate_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingCurrencyRate_MP
+{
+ #keys: '5[414702.0.247665113][414702.0.247665111][0.0.0][414702.0.247665112][414702.0.247665114]'
+ BaseType: Object
+ StructuredName: 'Global_MappingCurrencyRate_MPs'
+}
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_ID.qbl
new file mode 100644
index 0000000..1ffa886
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_ID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414702.0.247705924][414702.0.247705923][414702.0.247705925]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_IsBase.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_IsBase.qbl
new file mode 100644
index 0000000..ec6c69b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_IsBase.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsBase
+{
+ #keys: '3[414702.0.247664837][414702.0.247664836][414702.0.247664838]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_Name.qbl
new file mode 100644
index 0000000..59d3a9c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[414702.0.247664827][414702.0.247664826][414702.0.247664828]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl
new file mode 100644
index 0000000..a2f745b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateByAPI (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MappingCurrency_MP( relflush );
+
+ bodynumber := "1";
+ postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
+ address := "api-uat-sgc.tianma.cn";
+ url := "/otdService/https/GetCurrenciesInfo";
+ port := 443;
+ i := HTTPInterface::Create( address, port);
+ i.URL( url );
+ i.SSL( true );
+ i.SSLKeystore( "MyKeystore" );
+ i.PostMethod( true ); //it's a POST method
+
+ i.Call( postrequestbody ); // Call's argument is for POST method's content.
+ htmlresult := i.Result();
+
+ htmlresponse := JSON::Parse( htmlresult );
+ reponseDataJson := htmlresponse.Get( "responseData" );
+ datalist := reponseDataJson.Get( "dataList" );
+
+ total := datalist.Size();
+ for ( j := 0; j < total; j++ ) {
+ globalOTDTable.Global_MappingCurrency_MP( relnew,
+ ID := guard( datalist.Get( j ).Get( "id" ).GetString(), "" ),
+ Name := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
+ IsBase := guard( datalist.Get( j ).Get( "isbase" ).GetBoolean(), false )
+ );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/_ROOT_Type_Global_MappingCurrency_MP.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/_ROOT_Type_Global_MappingCurrency_MP.qbl
new file mode 100644
index 0000000..d93f74c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/_ROOT_Type_Global_MappingCurrency_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingCurrency_MP
+{
+ #keys: '5[414702.0.247705874][414702.0.247705872][0.0.0][414702.0.247705873][414702.0.247705875]'
+ BaseType: Object
+ StructuredName: 'Global_MappingCurrency_MPs'
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..0d9f5ca
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414702.0.247710960][414702.0.247710959][414702.0.247710961]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_CommonBusiness.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_CommonBusiness.qbl
new file mode 100644
index 0000000..f2d8b21
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_CommonBusiness.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CommonBusiness
+{
+ #keys: '3[414702.0.247710970][414702.0.247710969][414702.0.247710971]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_EndDate.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_EndDate.qbl
new file mode 100644
index 0000000..efb4082
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_EndDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndDate
+{
+ #keys: '3[414702.0.247710980][414702.0.247710979][414702.0.247710981]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ID.qbl
new file mode 100644
index 0000000..927e312
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414702.0.247710990][414702.0.247710989][414702.0.247710991]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_IsCommon.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_IsCommon.qbl
new file mode 100644
index 0000000..32fd75c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_IsCommon.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCommon
+{
+ #keys: '3[414702.0.247711000][414702.0.247710999][414702.0.247711001]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl
new file mode 100644
index 0000000..431f730
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute KeyProduct
+{
+ #keys: '3[414702.0.247711010][414702.0.247711009][414702.0.247711011]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Name.qbl
new file mode 100644
index 0000000..befa0dc
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[414702.0.247711020][414702.0.247711019][414702.0.247711021]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Notes.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Notes.qbl
new file mode 100644
index 0000000..81b9008
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Notes.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Notes
+{
+ #keys: '3[414702.0.247711030][414702.0.247711029][414702.0.247711031]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductMajorType.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductMajorType.qbl
new file mode 100644
index 0000000..0fd5b40
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductMajorType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductMajorType
+{
+ #keys: '3[414702.0.247711040][414702.0.247711039][414702.0.247711041]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductSubclassType.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductSubclassType.qbl
new file mode 100644
index 0000000..935fa0b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ProductSubclassType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductSubclassType
+{
+ #keys: '3[414702.0.247711050][414702.0.247711049][414702.0.247711051]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ShelfLife.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ShelfLife.qbl
new file mode 100644
index 0000000..2dbff7f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_ShelfLife.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShelfLife
+{
+ #keys: '3[414702.0.247711060][414702.0.247711059][414702.0.247711061]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..741605b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+ #keys: '3[414702.0.247711070][414702.0.247711069][414702.0.247711071]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/TypeIndex_TypeIndexIDAndBusinessType.qbl b/_Main/BL/Type_Global_MappingProduct_MP/TypeIndex_TypeIndexIDAndBusinessType.qbl
new file mode 100644
index 0000000..bca6c7b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/TypeIndex_TypeIndexIDAndBusinessType.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndexIDAndBusinessType
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: ID
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: BusinessType
+ }
+ ]
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/_ROOT_Type_Global_MappingProduct_MP.qbl b/_Main/BL/Type_Global_MappingProduct_MP/_ROOT_Type_Global_MappingProduct_MP.qbl
new file mode 100644
index 0000000..7265bc5
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/_ROOT_Type_Global_MappingProduct_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingProduct_MP
+{
+ #keys: '5[414702.0.247665567][414702.0.247665565][0.0.0][414702.0.247665566][414702.0.247665568]'
+ BaseType: Object
+ StructuredName: 'Global_MappingProduct_MPs'
+}
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..81da35c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414702.0.238159206][414702.0.238159205][414702.0.238159207]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_DisplayIndex.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_DisplayIndex.qbl
new file mode 100644
index 0000000..92e49ea
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_DisplayIndex.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DisplayIndex
+{
+ #keys: '3[414702.0.238159219][414702.0.238159218][414702.0.238159220]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_Name.qbl
new file mode 100644
index 0000000..b9b05d0
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_Name.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[414702.0.238159229][414702.0.238159228][414702.0.238159230]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_ParentName.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_ParentName.qbl
new file mode 100644
index 0000000..4b2842b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/Attribute_ParentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ParentName
+{
+ #keys: '3[414702.0.238159239][414702.0.238159238][414702.0.238159240]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/TypeIndex_TypeIndexBusinessTypeAndName.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/TypeIndex_TypeIndexBusinessTypeAndName.qbl
new file mode 100644
index 0000000..fef133c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/TypeIndex_TypeIndexBusinessTypeAndName.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndexBusinessTypeAndName
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: BusinessType
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: Name
+ }
+ ]
+}
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/_ROOT_Type_Global_MappingSalesSegment_MP.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/_ROOT_Type_Global_MappingSalesSegment_MP.qbl
new file mode 100644
index 0000000..644aaf7
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/_ROOT_Type_Global_MappingSalesSegment_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingSalesSegment_MP
+{
+ #keys: '5[414702.0.238159187][414702.0.238159185][0.0.0][414702.0.238159186][414702.0.238159188]'
+ BaseType: Object
+ StructuredName: 'Global_MappingSalesSegment_MPs'
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_Name.qbl
new file mode 100644
index 0000000..bc1f32a
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[414702.0.247664695][414702.0.247664694][414702.0.247664696]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_UnitID.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_UnitID.qbl
new file mode 100644
index 0000000..bd54057
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_UnitID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitID
+{
+ #keys: '3[414702.0.247664705][414702.0.247664704][414702.0.247664706]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_id.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_id.qbl
new file mode 100644
index 0000000..739ec3d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/Attribute_id.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414702.0.247705763][414702.0.247705762][414702.0.247705764]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl
new file mode 100644
index 0000000..58e6677
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateByAPI (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MappingStockingPoint_MP( relflush );
+
+ bodynumber := "2";
+ postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
+ address := "api-uat-sgc.tianma.cn";
+ url := "/otdService/https/GetStockingPointsInfo";
+ port := 443;
+ i := HTTPInterface::Create( address, port);
+ i.URL( url );
+ i.SSL( true );
+ i.SSLKeystore( "MyKeystore" );
+ i.PostMethod( true ); //it's a POST method
+
+ i.Call( postrequestbody ); // Call's argument is for POST method's content.
+ htmlresult := i.Result();
+
+ htmlresponse := JSON::Parse( htmlresult );
+ reponseDataJson := htmlresponse.Get( "responseData" );
+ datalist := reponseDataJson.Get( "dataList" );
+
+ total := datalist.Size();
+ for ( j := 0; j < total; j++ ) {
+ globalOTDTable.Global_MappingStockingPoint_MP( relnew,
+ ID := guard( datalist.Get( j ).Get( "id" ).GetString(), "" ),
+ Name := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
+ UnitID := guard( datalist.Get( j ).Get( "unitid" ).GetString(), "" )
+ );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/_ROOT_Type_Global_MappingStockingPoint_MP.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/_ROOT_Type_Global_MappingStockingPoint_MP.qbl
new file mode 100644
index 0000000..4281efe
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/_ROOT_Type_Global_MappingStockingPoint_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingStockingPoint_MP
+{
+ #keys: '5[414702.0.239762041][414702.0.239762039][0.0.0][414702.0.239762040][414702.0.239762042]'
+ BaseType: Object
+ StructuredName: 'Global_MappingStockingPoint_MPs'
+}
diff --git a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_IsDefault.qbl b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_IsDefault.qbl
new file mode 100644
index 0000000..cbf856e
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_IsDefault.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsDefault
+{
+ #keys: '3[414702.0.238140135][414702.0.238140134][414702.0.238140136]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_Name.qbl
new file mode 100644
index 0000000..6673dd3
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/Attribute_Name.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[414702.0.238140145][414702.0.238140144][414702.0.238140146]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/TypeIndex_TypeIndexName.qbl b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/TypeIndex_TypeIndexName.qbl
new file mode 100644
index 0000000..c459f2c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/TypeIndex_TypeIndexName.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndexName
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: Name
+ }
+ ]
+}
diff --git a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/_ROOT_Type_Global_MappingUnitOfMeasure_MP.qbl b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/_ROOT_Type_Global_MappingUnitOfMeasure_MP.qbl
new file mode 100644
index 0000000..cadf447
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/_ROOT_Type_Global_MappingUnitOfMeasure_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingUnitOfMeasure_MP
+{
+ #keys: '5[414702.0.238140113][414702.0.238140111][0.0.0][414702.0.238140112][414702.0.238140114]'
+ BaseType: Object
+ StructuredName: 'Global_MappingUnitOfMeasure_MPs'
+}
diff --git a/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl b/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
index d030255..767523f 100644
--- a/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
@@ -6,105 +6,51 @@
[*
// Administrator Sep-1-2023 (created)
+ unitOfMeasure_MP := UnitOfMeasure_MP::FindByName( this, "PCS" );
+ if ( isnull( unitOfMeasure_MP ) ) {
+ unitOfMeasure_MP := UnitOfMeasure_MP::Create( this, "PCS", false, false );
+ }
+
//Set the Default values
unitofmeasurename := "PCS";
- currencyid := "CNY";
- startdate := Date::Date( 1900, 1, 1 );
- enddate := Date::Date( 9999, 12, 31 );
capacitytype := "Transport quantity";
- if( isnull( Unit::FindById( this, "绌鸿繍" ) ) ){
- this.Unit( relnew,
- ID := "绌鸿繍",
- Name := "绌鸿繍",
- UnitOfMeasureName := unitofmeasurename,
- CurrencyID := currencyid,
- StartDate := startdate,
- EndDate := enddate,
- CapacityType := capacitytype );
- }
+ if ( isnull( Unit::FindById( this, "绌鸿繍" ) ) ) {
+ Unit::Create( "绌鸿繍", this, "绌鸿繍", unitOfMeasure_MP, null( Unit ), capacitytype, "", null( SupplyChainView ), 0, 0, false );
+ }
- if( isnull( Unit::FindById( this, "搴撳瓨浜嬪姟澶勭悊" ) ) ){
- this.Unit( relnew,
- ID := "搴撳瓨浜嬪姟澶勭悊",
- Name := "搴撳瓨浜嬪姟澶勭悊",
- UnitOfMeasureName := unitofmeasurename,
- CurrencyID := currencyid,
- StartDate := startdate,
- EndDate := enddate,
- CapacityType := capacitytype );
+ if ( isnull( Unit::FindById( this, "搴撳瓨浜嬪姟澶勭悊" ) ) ) {
+ Unit::Create( "搴撳瓨浜嬪姟澶勭悊", this, "搴撳瓨浜嬪姟澶勭悊", unitOfMeasure_MP, null( Unit ), capacitytype, "", null( SupplyChainView ), 0, 0, false );
}
unitofmeasurename := "PCS";
- name := "鎵嬪姩鍒涘缓搴撳瓨鐐�";
- currencyname := "CNY";
- isplannedinfinite := false;
- datestart := Date::Construct(1900, 1, 1) ;
- dateend := Date::Construct(9999, 12, 31);
- groupname := " ";
- description := " ";
- isfromdb := true;
- if( isnull( StockingPoint_MP::FindById( this, "F13_FG_STOCK" ) ) ){
- StockingPoint_MP::Create( this,
- "F13_FG_STOCK",
- "F13",
- name,
- unitofmeasurename,
- currencyname,
- isplannedinfinite,
- datestart,
- dateend,
- groupname,
- description,
- isfromdb );
+ if ( isnull( StockingPoint_MP::FindById( this, "F13_FG_STOCK" ) ) ) {
+ StockingPoint_MP::Create( "F13_FG_STOCK", this, null( Unit ), "F13_FG_STOCK", null( SupplyChainView ), 0, 0, false );
}
- if( isnull( StockingPoint_MP::FindById( this, "H10_SA_STOCK" ) ) ){
- StockingPoint_MP::Create( this,
- "H10_SA_STOCK",
- "H10",
- name,
- unitofmeasurename,
- currencyname,
- isplannedinfinite,
- datestart,
- dateend,
- groupname,
- description,
- isfromdb );
+ if ( isnull( StockingPoint_MP::FindById( this, "H10_SA_STOCK" ) ) ) {
+ StockingPoint_MP::Create( "H10_SA_STOCK", this, null( Unit ), "H10_SA_STOCK", null( SupplyChainView ), 0, 0, false );
}
- if( isnull( StockingPoint_MP::FindById( this, "Q10_FG_STOCK" ) ) ){
- StockingPoint_MP::Create( this,
- "Q10_FG_STOCK",
- "Q10",
- name,
- unitofmeasurename,
- currencyname,
- isplannedinfinite,
- datestart,
- dateend,
- groupname,
- description,
- isfromdb );
+ if ( isnull( StockingPoint_MP::FindById( this, "Q10_FG_STOCK" ) ) ) {
+ StockingPoint_MP::Create( "Q10_FG_STOCK", this, null( Unit ), "Q10_FG_STOCK", null( SupplyChainView ), 0, 0, false );
}
- existcurrency := Currency_MP::FindById( this, "CNY" );
- if( isnull( existcurrency ) ){
- Currency_MP::CreateCurrency( this, "CNY", "CNY", "", true );
- currency := Currency_MP::FindById( this, "EUR" );
- currency.IsBase(false);
- Transaction::Transaction().Propagate();
- }
+ if ( isnull( Currency_MP::FindById( this, "CNY" ) ) ) {
+ Currency_MP::Create( "CNY", this, "CNY", "", false, false );
+ }
isproductcatagory := false;
isfromdb := false;
- existproductlevel := ProductLevel_MP::FindProductLevelTypeIndex( "2" );
- if( isnull( existproductlevel ) ){
+ if ( isnull( ProductLevel_MP::FindProductLevelTypeIndex( "1" ) ) ) {
ProductLevel_MP::Create( "1", isproductcatagory, this, isfromdb );
+ }
+ if ( isnull( ProductLevel_MP::FindProductLevelTypeIndex( "2" ) ) ) {
ProductLevel_MP::Create( "2", isproductcatagory, this, isfromdb );
+ }
+ if ( isnull( ProductLevel_MP::FindProductLevelTypeIndex( "3" ) ) ) {
ProductLevel_MP::Create( "3", isproductcatagory, this, isfromdb );
- }
+ }
*]
}
diff --git a/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def b/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def
index 3c15ce4..51ce736 100644
--- a/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def
+++ b/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Component_SplitterWndScenarioManager.def
@@ -5,9 +5,122 @@
[
Component SplitterPaneScenario #extension
{
+ GBLayout
+ {
+ Type: 'internal[GBLayoutDefinition]'
+ Columns:
+ [
+ GBFlow.Column { grow: 0 id: 9 parent: 0 }
+ GBFlow.Column { grow: 0 id: 22 parent: 0 }
+ GBFlow.Column { grow: 0 id: 35 parent: 0 }
+ GBFlow.Column { grow: 0 id: 37 parent: 0 }
+ GBFlow.Column { grow: 0 id: 24 parent: 0 }
+ GBFlow.Column { grow: 0 id: 138 parent: 0 }
+ GBFlow.Column { grow: 0 id: 588 parent: 0 }
+ GBFlow.Column { grow: 0 id: 780 parent: 0 }
+ GBFlow.Column { grow: 0 id: 508 parent: 0 }
+ GBFlow.Column { grow: 128 id: 27 parent: 0 }
+ ]
+ Elements:
+ [
+ GBElement
+ {
+ Component => /SplitterWnd1
+ Position { startcolumn: 9 startrow: 2 endcolumn: 27 endrow: 2 }
+ }
+ GBElement
+ {
+ Component => ButtonRefreshKPIs
+ Position { startcolumn: 9 startrow: 5 endcolumn: 9 endrow: 5 }
+ }
+ GBElement
+ {
+ Component => LabelImportExportStatusTitle
+ Position { startcolumn: 22 startrow: 5 endcolumn: 22 endrow: 5 }
+ }
+ GBElement
+ {
+ Component => LabelLastDataExchangeDate
+ Position { startcolumn: 24 startrow: 5 endcolumn: 24 endrow: 5 }
+ }
+ GBElement
+ {
+ Component => LabelLastDataExchangeAction
+ Position { startcolumn: 35 startrow: 5 endcolumn: 35 endrow: 5 }
+ }
+ GBElement
+ {
+ Component => LabelActionOn
+ Position { startcolumn: 37 startrow: 5 endcolumn: 37 endrow: 5 }
+ }
+ GBElement
+ {
+ Component => ButtonCreateScenariosFromDatasets
+ Position { startcolumn: 138 startrow: 5 endcolumn: 138 endrow: 5 }
+ }
+ GBElement
+ {
+ Component => ButtonRefreshScenarios
+ Position { startcolumn: 588 startrow: 5 endcolumn: 588 endrow: 5 }
+ }
+ GBElement
+ {
+ Component: 'Button897'
+ Position { startcolumn: 780 startrow: 5 endcolumn: 780 endrow: 5 }
+ }
+ GBElement
+ {
+ Component: 'Button482'
+ Position { startcolumn: 508 startrow: 5 endcolumn: 508 endrow: 5 }
+ }
+ ]
+ Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
+ Rows:
+ [
+ GBFlow.Row { grow: 0 id: 5 parent: 0 }
+ GBFlow.Row { grow: 128 id: 2 parent: 0 }
+ ]
+ }
Children:
[
#child: SplitterWnd1
+ Component Button897
+ {
+ #keys: '[414702.0.239704572]'
+ BaseType: 'Button'
+ Properties:
+ [
+ Image: 'BIRD'
+ LayoutGroup: 'Button0'
+ Text: '鎵ц鍏ㄥ眬浠g悊'
+ ]
+ }
+ Component Button482
+ {
+ #keys: '[414702.0.239704587]'
+ BaseType: 'Button'
+ Properties:
+ [
+ LayoutGroup: 'Button0'
+ Text: 'Button'
+ ]
+ }
+ ]
+ Properties:
+ [
+ ModeledStringList ChildOrdering
+ {
+ c: ButtonRefreshKPIs
+ c: LabelImportExportStatusTitle
+ c: ButtonCreateScenariosFromDatasets
+ c: LabelLastDataExchangeAction
+ c: SplitterWnd1
+ c: LabelLastDataExchangeDate
+ c: LabelActionOn
+ c: ButtonRefreshScenarios
+ c: Button897
+ c: Button482
+ }
]
}
]
diff --git a/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def b/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def
new file mode 100644
index 0000000..d5aa442
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: SplitterWndScenarioManager/Button897
+Response OnClick () id:Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick
+{
+ #keys: '[414702.0.239704677]'
+ Body:
+ [*
+ GlobalOTDTable::SynchronizationAllMappingBroker( MacroPlan, GlobalOTDTable );
+ *]
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_CopyScenario.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_CopyScenario.def
new file mode 100644
index 0000000..c0a6fa5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_CopyScenario.def
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+Method CopyScenario (
+ ScenarioMP source
+) id:Method_DialogCreateEditScenario_CopyScenario #extension
+{
+ Body:
+ [*
+ // Copy scenario
+ scenario := ScenarioManager.ScenarioNode( relshadow,
+ ScenarioMP,
+ Parent := source,
+ Name := ScenarioManager.GetUniqueScenarioName( source.Name() ),
+ SelectedStrategy := source.SelectedStrategy(),
+ State := source.State() );
+
+ DataHolderActionCopy.Data( true );
+ DataHolderDialogData.Data( &scenario );
+
+ // do not distribute
+ DataHolderDialogData.Data().EnableSync( false );
+ checkboxEnableSync.Visible( false );
+ dropDownStringListGeneral.Visible( false );
+ checkboxIsKeyProduct.Visible( false );
+ checkboxCreatePurchaseSupplyProduct.Visible( false );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
--
Gitblit v1.9.3