From 4b60afbb9fe35115958a3560c55b2ae08e267d71 Mon Sep 17 00:00:00 2001
From: yanweiyuan3 <yanweiyuan3@gmail.com>
Date: 星期四, 14 九月 2023 20:25:16 +0800
Subject: [PATCH] Data input & output add
---
_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl | 133 +++++++++++
_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl | 46 +++
_Main/BL/Type_Scenario/Attribute_VersionID.qbl | 8
_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def | 2
_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def | 9
_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl | 8
_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl | 10
_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl | 9
_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl | 9
_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl | 23 +
_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl | 8
_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl | 17 +
_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl | 35 ++
_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl | 133 +++++++++++
_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties | 6
_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl | 7
_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl | 71 +++++
_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def | 2
_Main/BL/Type_MappingVersionControl/Attribute_User.qbl | 8
_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl | 10
_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl | 8
_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl | 28 ++
_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def | 11
_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl | 9
_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl | 9
32 files changed, 664 insertions(+), 6 deletions(-)
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl b/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
new file mode 100644
index 0000000..b3723db
--- /dev/null
+++ b/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
@@ -0,0 +1,133 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker Broker_OTD_VersionControl
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination MappingVersionControl
+ {
+ EDIMLTable MappingVersionControl
+ {
+ PrimaryKeyColumns: EndTime
+ PrimaryKeyColumns: ProductID
+ PrimaryKeyColumns: StartTime
+ PrimaryKeyColumns: StockingPointID
+ PrimaryKeyColumns: VersionID
+ TargetType: MappingVersionControl
+ TypeIndex: TypeIndexVersionControl
+ EDIMLColumn CreateTime { Attribute: CreateTime ValueType: DateTime }
+ EDIMLColumn DataFrom { Attribute: DataFrom ValueType: String }
+ EDIMLColumn DataTo { Attribute: DataTo ValueType: String }
+ EDIMLColumn EndTime { Attribute: EndTime ValueType: DateTime }
+ EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+ EDIMLColumn Qty { Attribute: Qty ValueType: Real }
+ EDIMLColumn ReleaseTime { Attribute: ReleaseTime ValueType: DateTime }
+ EDIMLColumn StartTime { Attribute: StartTime ValueType: DateTime }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ EDIMLColumn User { Attribute: User ValueType: String }
+ EDIMLColumn VersionID { Attribute: VersionID ValueType: String }
+ EDIMLColumn VersionName { Attribute: VersionName ValueType: String }
+ }
+ }
+ EDIODBCLink.Source MID_VERSIONCONTROL
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle'
+ EDIODBCLinkTable MID_VERSIONCONTROL
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="TIANMA"'
+ PrimaryKeyColumns: ENDTIME
+ PrimaryKeyColumns: ID
+ PrimaryKeyColumns: PRODUCTID
+ PrimaryKeyColumns: STARTTIME
+ PrimaryKeyColumns: STOCKINGPOINTID
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn CREATETIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn DATAFROM
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn DATATO
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ENDTIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn ID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PRODUCTID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn QTY
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn RELEASETIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STARTTIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STOCKINGPOINTID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn USER
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation TransformationVersionControl
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_VERSIONCONTROL
+ OutputTable: MappingVersionControl
+ EDIColumnMatch { InputColumn: CREATETIME OutputColumn: CreateTime }
+ EDIColumnMatch { InputColumn: DATAFROM OutputColumn: DataFrom }
+ EDIColumnMatch { InputColumn: DATATO OutputColumn: DataTo }
+ EDIColumnMatch { InputColumn: ENDTIME OutputColumn: EndTime }
+ EDIColumnMatch { InputColumn: ID OutputColumn: VersionID }
+ EDIColumnMatch { InputColumn: NAME OutputColumn: VersionName }
+ EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
+ EDIColumnMatch { InputColumn: QTY OutputColumn: Qty }
+ EDIColumnMatch { InputColumn: RELEASETIME OutputColumn: ReleaseTime }
+ EDIColumnMatch { InputColumn: STARTTIME OutputColumn: StartTime }
+ EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
+ EDIColumnMatch { InputColumn: USER OutputColumn: User }
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl b/_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl
new file mode 100644
index 0000000..f767cde
--- /dev/null
+++ b/_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl
@@ -0,0 +1,133 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker Broker_OTD_VersionControlToDB
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Source MappingVersionControlToDB
+ {
+ EDIMLTable MappingVersionControl
+ {
+ PrimaryKeyColumns: EndTime
+ PrimaryKeyColumns: ProductID
+ PrimaryKeyColumns: StartTime
+ PrimaryKeyColumns: StockingPointID
+ PrimaryKeyColumns: VersionID
+ TargetType: MappingVersionControl
+ TypeIndex: TypeIndexVersionControl
+ EDIMLColumn CreateTime { Attribute: CreateTime ValueType: DateTime }
+ EDIMLColumn DataFrom { Attribute: DataFrom ValueType: String }
+ EDIMLColumn DataTo { Attribute: DataTo ValueType: String }
+ EDIMLColumn EndTime { Attribute: EndTime ValueType: DateTime }
+ EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+ EDIMLColumn Qty { Attribute: Qty ValueType: Real }
+ EDIMLColumn ReleaseTime { Attribute: ReleaseTime ValueType: DateTime }
+ EDIMLColumn StartTime { Attribute: StartTime ValueType: DateTime }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ EDIMLColumn User { Attribute: User ValueType: String }
+ EDIMLColumn VersionID { Attribute: VersionID ValueType: String }
+ EDIMLColumn VersionName { Attribute: VersionName ValueType: String }
+ }
+ }
+ EDIODBCLink.Destination MID_VERSIONCONTROLTODB
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle'
+ EDIODBCLinkTable MID_VERSIONCONTROL
+ {
+ MayCreateTable: true
+ MayDeleteRow: true
+ MayDropTable: true
+ MayFlushTable: true
+ MayInsertRow: true
+ Parameters: '/owner="TIANMA"'
+ PrimaryKeyColumns: ENDTIME
+ PrimaryKeyColumns: ID
+ PrimaryKeyColumns: PRODUCTID
+ PrimaryKeyColumns: STARTTIME
+ PrimaryKeyColumns: STOCKINGPOINTID
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn CREATETIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn DATAFROM
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn DATATO
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ENDTIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn ID
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PRODUCTID
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn QTY
+ {
+ MayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn RELEASETIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STARTTIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STOCKINGPOINTID
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn USER
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation TransformationVersionControlToDB
+ {
+ EDITableTransformation
+ {
+ InputTable: MappingVersionControl
+ OutputTable: MID_VERSIONCONTROL
+ EDIColumnMatch { InputColumn: CreateTime OutputColumn: CREATETIME }
+ EDIColumnMatch { InputColumn: DataFrom OutputColumn: DATAFROM }
+ EDIColumnMatch { InputColumn: DataTo OutputColumn: DATATO }
+ EDIColumnMatch { InputColumn: EndTime OutputColumn: ENDTIME }
+ EDIColumnMatch { InputColumn: ProductID OutputColumn: PRODUCTID }
+ EDIColumnMatch { InputColumn: Qty OutputColumn: QTY }
+ EDIColumnMatch { InputColumn: ReleaseTime OutputColumn: RELEASETIME }
+ EDIColumnMatch { InputColumn: StartTime OutputColumn: STARTTIME }
+ EDIColumnMatch { InputColumn: StockingPointID OutputColumn: STOCKINGPOINTID }
+ EDIColumnMatch { InputColumn: User OutputColumn: USER }
+ EDIColumnMatch { InputColumn: VersionID OutputColumn: ID }
+ EDIColumnMatch { InputColumn: VersionName OutputColumn: NAME }
+ }
+ }
+}
diff --git a/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl
new file mode 100644
index 0000000..39dd1eb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionControl
+{
+ #keys: '1[412960.0.150120043]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[412960.0.150120045][412960.0.150120044][412960.0.150120046]'
+ Cardinality: '0to1'
+ ObjectDefinition: MappingVersionControl
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide MappingVersionControl
+ {
+ #keys: '3[412960.0.150120048][412960.0.150120047][412960.0.150120049]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl
new file mode 100644
index 0000000..5e79d99
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl
@@ -0,0 +1,71 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetOutputVersionData (
+ GlobalOTDTable owner,
+ MacroPlan macroplan,
+ String businessname
+)
+{
+ Description: '褰㈡垚骞跺彂閫佺増鏈暟鎹�'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Clean exist data
+ traverse( owner, MappingVersionControl, mpc, true ){
+ mpc.Delete();
+ }
+
+ // Get Latest version
+ latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
+ createtime := latestversion.CreateTime();
+ datafrom := businesstype;
+ releasetime := latestversion.ReleaseTime();
+ versionid := latestversion.VersionID() + "-" + latestversion.CalType();
+ info( versionid );
+ versionname := latestversion.LongVersionName();
+ user := latestversion.User();
+
+ // Get Data list to deal
+ listtodeal := selectset( macroplan,
+ Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod,
+ pispip,
+ true );
+
+ if( latestversion.CalType() = "TM_SOP_R1" ){
+ listtodeal := selectset( macroplan,
+ Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod,
+ pispip,
+ pispip.ProductInStockingPoint_MP().ProductID().StartsWith( "C1" ) );
+ }
+
+ traverse( listtodeal, Elements, item, true ){
+ endtime := item.End();
+ productid := item.ProductInStockingPoint_MP().ProductID();
+ qty := item.SalesDemandQuantity();
+ starttime := item.Start();
+ stockingpointid := item.StockingPointInPeriod().StockingPointID();
+ datato := "TM";
+ if( businesstype <> "TM" ){
+ datato := "TM";
+ }
+ owner.MappingVersionControl( relnew,
+ CreateTime := createtime,
+ DataFrom := datafrom,
+ DataTo := datato,
+ EndTime := endtime,
+ ProductID := productid,
+ Qty := qty,
+ ReleaseTime := releasetime,
+ StartTime := starttime,
+ StockingPointID := stockingpointid,
+ User := user,
+ VersionID := versionid,
+ VersionName := versionname )
+ }
+
+ // Send Data To DB
+ owner.Broker_OTD_VersionControlToDB().Execute();
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl
new file mode 100644
index 0000000..0cba7c5
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetVersionData (
+ GlobalOTDTable owner,
+ String businessname
+)
+{
+ Description: '鎶藉彇骞跺鐞嗙増鏈暟鎹�'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Clean exist data
+ traverse( owner, MappingVersionControl, mpc, true ){
+ mpc.Delete();
+ }
+
+ // Get Data From DB
+ owner.Broker_OTD_VersionControl().Execute();
+
+ // Get Data list to deal
+ listtodeal := selectset( owner, MappingVersionControl, item, item.DataTo() = businesstype );
+
+ traverse( listtodeal, Elements, item, true ){
+ versionid := item.VersionID();
+ existversion := VersionControl::FindByFullVersionID( owner, versionid );
+ if( isnull( existversion ) ){
+ longversionname := item.VersionName();
+ longversionnamelist := longversionname.Tokenize( "-" );
+ shortversionname := longversionnamelist.Element( longversionnamelist.Size() );
+ caltype := shortversionname.SubString( 0, 10 );
+ shortversionid := versionid.ReplaceAll( "-" + caltype, "" );
+ newversioncontrol := VersionControl::Create( owner,
+ item.DataFrom(),
+ caltype,
+ item.CreateTime(),
+ shortversionid,
+ longversionname,
+ shortversionname,
+ item.User() );
+ newversioncontrol.IsReleased( true );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl
new file mode 100644
index 0000000..412204a
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateTime
+{
+ #keys: '3[412960.0.150120147][412960.0.150120146][412960.0.150120148]'
+ Description: '鍒涘缓鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl
new file mode 100644
index 0000000..d35de79
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DataFrom
+{
+ #keys: '3[412960.0.150120067][412960.0.150120066][412960.0.150120068]'
+ Description: '鏁版嵁鍙戝嚭鐨勯儴闂ㄥ悕绉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl
new file mode 100644
index 0000000..c08ce30
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DataTo
+{
+ #keys: '3[412960.0.150120077][412960.0.150120076][412960.0.150120078]'
+ Description: '鎺ユ敹鏁版嵁鐨勯儴闂ㄥ悕绉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl
new file mode 100644
index 0000000..bd00968
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndTime
+{
+ #keys: '3[412960.0.150120127][412960.0.150120126][412960.0.150120128]'
+ Description: '缁撴潫鏃堕棿'
+ IsReadOnly: true
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl
new file mode 100644
index 0000000..8806689
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[412960.0.150120087][412960.0.150120086][412960.0.150120088]'
+ Description: '鐗╂枡缂栫爜'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl
new file mode 100644
index 0000000..572c5c9
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Qty
+{
+ #keys: '3[412960.0.150120097][412960.0.150120096][412960.0.150120098]'
+ Description: '鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl
new file mode 100644
index 0000000..9bab647
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ReleaseTime
+{
+ #keys: '3[412960.0.150120157][412960.0.150120156][412960.0.150120158]'
+ Description: '鍙戝竷鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl
new file mode 100644
index 0000000..270b408
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartTime
+{
+ #keys: '3[412960.0.150120117][412960.0.150120116][412960.0.150120118]'
+ Description: '寮�濮嬫椂闂�'
+ IsReadOnly: true
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..b8f18c4
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[412960.0.150120107][412960.0.150120106][412960.0.150120108]'
+ Description: '搴撳瓨鐐圭紪鐮�'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_User.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_User.qbl
new file mode 100644
index 0000000..484ce50
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_User.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute User
+{
+ #keys: '3[412960.0.150120137][412960.0.150120136][412960.0.150120138]'
+ Description: '鐢ㄦ埛鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl
new file mode 100644
index 0000000..c64363f
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionID
+{
+ #keys: '3[412960.0.150120057][412960.0.150120056][412960.0.150120058]'
+ Description: '鏁版嵁搴撴娊鍙栫殑鍏ㄩ噺鐗堟湰鍙�'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl
new file mode 100644
index 0000000..e6417f2
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionName
+{
+ #keys: '3[412960.0.150124918][412960.0.150124917][412960.0.150124919]'
+ Description: '鐗堟湰鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl b/_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl
new file mode 100644
index 0000000..b1b5794
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndexVersionControl
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: VersionID
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: EndTime
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: StockingPointID
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: StartTime
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: ProductID
+ }
+ ]
+}
diff --git a/_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl b/_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl
new file mode 100644
index 0000000..ff148d7
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MappingVersionControl
+{
+ #keys: '5[412960.0.150120040][412960.0.150120038][0.0.0][412960.0.150120039][412960.0.150120041]'
+ BaseType: Object
+ Description: '鐗堟湰鎺у埗涓棿琛�'
+ StructuredName: 'MappingVersionControls'
+}
diff --git a/_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl b/_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl
new file mode 100644
index 0000000..9f65a98
--- /dev/null
+++ b/_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCreateNewVersion
+{
+ #keys: '3[412960.0.155630021][412960.0.155630020][412960.0.155630022]'
+ Description: '鏄惁鍒涘缓浠庨泦鍥OP寮�濮嬬殑鍏ㄦ柊鐗堟湰'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Scenario/Attribute_VersionID.qbl b/_Main/BL/Type_Scenario/Attribute_VersionID.qbl
new file mode 100644
index 0000000..9acdd4a
--- /dev/null
+++ b/_Main/BL/Type_Scenario/Attribute_VersionID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionID
+{
+ #keys: '3[412960.0.150120035][412960.0.150120034][412960.0.150120036]'
+ Description: '褰撳墠鍦烘櫙瀵瑰簲鐨勭増鏈彿锛屼簬鍒涘缓鐗堟湰鏃剁‘瀹�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl b/_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl
new file mode 100644
index 0000000..b1c7729
--- /dev/null
+++ b/_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: VersionID
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
new file mode 100644
index 0000000..7030997
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateNewSceneVersion (
+ GlobalOTDTable owner,
+ String businessname
+) as VersionControl
+{
+ Description: '闅忓垱寤哄満鏅繘琛岀増鏈垱寤�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ createtime := DateTime::ActualTime();
+ user := QuintiqUser::CurrentUser().Username();
+ starttime := DateTime::Construct(1970,1,1,0,0,0);
+ // Get the local scenario businesstype
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Get the older version info
+ oldversion_id := "";
+ oldversion_name := "";
+ oldcaltype := "";
+
+ // Calculate new version info
+ additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
+ newversionid := oldversion_id + [String]additionversionid;
+ newcaltype := GlobalOTDTable::GetNextCalType( oldcaltype, businesstype );
+ newsingleversionname := newcaltype + "(" + createtime.Format( "Y-M2-D2 H:m:s" ) + ")";
+ newversionname := oldversion_name + newsingleversionname;
+
+ // Create new version
+ newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
+
+ return newversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
index c5d5ef1..9c93bdf 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
@@ -33,8 +33,8 @@
// Calculate new version info
- additionversionid := [Number]( createtime.MinutesAsReal( starttime ) * 60 );
- newversionid := oldversion_id + additionversionid.AsQUILL();
+ additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
+ newversionid := oldversion_id + [String]additionversionid;
newcaltype := GlobalOTDTable::GetNextCalType( oldcaltype, businesstype );
newsingleversionname := newcaltype + "(" + createtime.Format( "Y-M2-D2 H:m:s" ) + ")";
newversionname := oldversion_name + newsingleversionname;
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
new file mode 100644
index 0000000..a281109
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByFullVersionID (
+ GlobalOTDTable owner,
+ String versionid
+) as VersionControl
+{
+ Description: '閫氳繃鍏ㄩ噺鐗堟湰鍙疯繘琛屾煡鎵�'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ // Get the version data
+ resultversion := select( owner, VersionControl, version, version.VersionID() + "-" + version.CalType() = versionid );
+
+ return resultversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
index 063a069..1b2ab3f 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
@@ -11,7 +11,12 @@
// Administrator Sep-13-2023 (created)
// Get the latest version data
- latestversion := maxselect( globalotdtable, VersionControl, version, version.BusinessType()=businesstype and version.IsReleased()=true, version.CreateTime() );
+ latestversion := maxselect( globalotdtable,
+ VersionControl,
+ version,
+ version.BusinessType()=businesstype,
+ // and version.IsReleased()=true,
+ version.CreateTime() );
return latestversion;
*]
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl
new file mode 100644
index 0000000..43541f1
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ReleaseLatestVersion
+{
+ Description: '鍙戝竷褰撳墠鐗堟湰锛屽緟缂栧啓'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ *]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
index 13a5531..f8a1684 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
@@ -51,5 +51,16 @@
Taborder: 4
]
}
+ Component CheckboxIsCreateNewVersion
+ {
+ #keys: '[412960.0.157150313]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.IsCreateNewVersion'
+ Label: 'Create a new version'
+ Taborder: 7
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
index e97d405..1d0ed83 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -96,6 +96,15 @@
data.BusinessType(), data.IsKeyProduct(), data.CreatePurchaseSupplyMaterial() );
}
+ // New version
+ globalotdtable := GlobalOTDTable;
+ testbusinesstype := "闆嗗洟";
+ if( data.IsCreateNewVersion() ){
+ VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype );
+ }else{
+ VersionControl::CreateNewVersion( globalotdtable, testbusinesstype );
+ }
+
this.Close();
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
index 44e9fb8..9fea94f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
@@ -10,6 +10,8 @@
Body:
[*
owner := GlobalOTDTable;
+ testbusinesstype := "闆嗗洟";
+ GlobalOTDTable::GetVersionData( owner, testbusinesstype );
rootversionid := VersionControl::GetSOPVersionInfo( owner ).Element( 0 );
DataExtractorVersionOfSOPDetails.FixedFilter( "object.VersionID().FindString( " + rootversionid.AsQUILL() + ", 0 ) = 0" );
rootversionname := VersionControl::GetSOPVersionInfo( owner ).Element( 1 );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
index aef7303..dc23ddf 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
@@ -11,9 +11,11 @@
Body:
[*
owner := GlobalOTDTable;
+ macroplan := MacroPlan;
testbusinesstype := "闆嗗洟";
VersionControl::ReleaseNewVersion( owner, testbusinesstype );
+ GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype );
*]
}
}
diff --git a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties
index 5ecdbaf..f6a69e4 100644
--- a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties
+++ b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties
@@ -204,11 +204,11 @@
domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters=
domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password=
domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition
-domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=dbodbc1
domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0
domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0
-domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=
-domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=/datasource=orclpdb /owner=TIANMA /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=1 E9FE769DABE91891284EBBA6CEA8F41B 479d6f99-cffb-41e6-94f1-d35bdf20703c
domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition
domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1
domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0
--
Gitblit v1.9.3