From a43f01cebe400883d31dbd3a1f1b593c61aa2a0d Mon Sep 17 00:00:00 2001 From: yanweiyuan3 <yanweiyuan3@gmail.com> Date: 星期四, 21 九月 2023 10:06:00 +0800 Subject: [PATCH] Merge branch 'dev_yy' into dev --- LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl | 3 _Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl | 47 _Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl | 8 _Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl | 30 _Main/BL/InfoMessages.qbl | 2 _Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def | 41 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def | 14 _Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def | 65 _Main/UI/MacroPlannerWebApp/Views/OrderLock.vw | 351 +++++ _Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl | 8 _Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl | 6 _Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl | 23 _Main/BL/Type_VersionControl/Attribute_Notes.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def | 10 _Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl | 10 _Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl | 9 _Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl | 20 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def | 15 _Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl | 7 _Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def | 55 _Main/BL/Type_VersionStatus/Attribute_Notes.qbl | 8 _var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties | 6 _Main/BL/Type_VersionControl/Attribute_VersionID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def | 21 _Main/BL/Type_OrderLockLog/Attribute_End.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def | 69 + _Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl | 18 _Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl | 20 _Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl | 37 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def | 30 _Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl | 8 _Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def | 41 _Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl | 8 _Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl | 8 _Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl | 7 _Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl | 9 LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl | 9 _Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl | 133 + LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl | 6 _Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl | 8 _Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl | 47 _Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def | 16 _Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl | 22 _Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl | 8 _Main/BL/Type_VersionControl/Attribute_User.qbl | 8 _Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl | 8 _Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning#1.def | 57 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def | 49 _Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def | 52 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def | 20 _Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def | 22 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def | 1 _Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl | 8 _Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl | 41 _Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl | 64 _Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def | 10 _Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl | 133 + _Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl | 38 _Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl | 71 + _Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def | 24 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock#844.def | 42 LibMacroPlanner/BL/InfoMessages.qbl | 4 _Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl | 18 _Main/BL/Type_OrderLockLog/Attribute_IsFirmed#2.qbl | 7 _Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl | 8 _Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl | 10 _Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl | 8 _Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl | 10 _Main/BL/Type_Scenario/Method_SetReleased.qbl | 5 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def | 34 _Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl | 19 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def | 16 _Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def | 52 _Main/BL/Type_Scenario/Attribute_VersionID.qbl | 8 _Main/BL/Type_Scenario/DefaultValue_VersionID.qbl | 6 _Main/BL/Type_VersionControl/Attribute_IsReleased.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock#1.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning#679.def | 210 +++ _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def | 17 _Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl | 6 _Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl | 10 _Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader#545.def | 125 + _Main/BL/Type_VersionControl/Attribute_CreateTime.qbl | 8 _Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl | 8 _Main/BL/Type_OrderLockLog/Attribute_Price.qbl | 7 _Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl | 8 _Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl | 23 _Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def | 10 _Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl | 7 _Main/BL/Type_VersionStatusDetail/Attribute_User.qbl | 8 _Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl | 37 _Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl | 22 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def | 21 _Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl | 23 _Main/BL/Type_MappingVersionControl/Attribute_User.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def | 51 _Main/BL/Type_VersionControl/StaticMethod_Create.qbl | 29 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def | 51 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def | 12 LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl | 12 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning#1.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def | 10 _Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw | 351 +++++ _Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl | 23 _Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl | 28 _Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def | 11 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def | 82 + _Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix#780.def | 24 .gitignore | 2 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario#549.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def | 23 _Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def | 15 _Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def | 43 _Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl | 8 _Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl | 59 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def | 1 _Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def | 19 _Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl | 8 _Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl | 7 _Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl | 23 _Main/BL/Type_OrderLockLog/Attribute_CustomerName#23.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def | 114 + _Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl | 17 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def | 24 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def | 58 _Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl | 32 _Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl | 9 _Main/BL/Type_VersionControl/Attribute_CalType.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def | 19 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock#1.def | 10 _Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl | 8 _Main/BL/Type_VersionControl/Attribute_BusinessType.qbl | 8 _Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl | 9 _Main/BL/Type_VersionStatus/Attribute_LastUser.qbl | 8 156 files changed, 4,133 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 00e3f69..6868dd4 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ **/LibUserSettings/** /.idea +_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp +*.properties diff --git a/LibMacroPlanner/BL/InfoMessages.qbl b/LibMacroPlanner/BL/InfoMessages.qbl index 05bad47..cfaabd1 100644 --- a/LibMacroPlanner/BL/InfoMessages.qbl +++ b/LibMacroPlanner/BL/InfoMessages.qbl @@ -529,6 +529,10 @@ { DefaultText: 'Revert' } + InfoMessage Scenario_General_IsReleased + { + DefaultText: 'Not allowed on a released scenario' + } InfoMessage Strategy_CampaignOptimizer_DisableTooltip { DefaultText: 'When disabled, the optimizer is only allowed to replan the quantities of the campaigns based on the constraints of the campaigns created manually.' diff --git a/LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl b/LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl new file mode 100644 index 0000000..37963e6 --- /dev/null +++ b/LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsReleased +{ + #keys: '3[412960.0.172790038][412960.0.172790037][412960.0.172790039]' + Description: '璇ョ増鏈槸鍚﹀凡鍙戝竷' + ValueType: Boolean + InterfaceProperties { Accessibility: 'Module' } +} diff --git a/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl b/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl index ee79d24..072d7c9 100644 --- a/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl +++ b/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl @@ -32,6 +32,9 @@ { feedback_o := Translations::Scenario_General_IsDeleted(); } + else if( this.IsReleased() ){ + feedback_o := Translations::Scenario_General_IsReleased(); + } return feedback_o = ''; *] diff --git a/LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl b/LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl new file mode 100644 index 0000000..c30613e --- /dev/null +++ b/LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: #root +Method SetReleased +{ + Description: '璁剧疆鏌愬満鏅殑鍙戝竷鐘舵��' + IsAbstract: true + TextBody: + [* + // Administrator Sep-15-2023 (created) + this.IsReleased( true ); + *] +} diff --git a/LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl b/LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl new file mode 100644 index 0000000..b84962e --- /dev/null +++ b/LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +MethodOverride SetReleased +{ + TextBody: 'this.IsReleased( true );' +} 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/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl index 65cc139..952d7d5 100644 --- a/_Main/BL/InfoMessages.qbl +++ b/_Main/BL/InfoMessages.qbl @@ -10,4 +10,4 @@ { DefaultText: 'Please input validate value !' } -} +} \ No newline at end of file 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/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl b/_Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl new file mode 100644 index 0000000..cb254ef --- /dev/null +++ b/_Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation OrderLockLog_MacroPlan_MacroPlan_OrderLockLog +{ + #keys: '1[412960.0.217504333]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[412960.0.217504335][412960.0.217504334][412960.0.217504336]' + Cardinality: '0to1' + ObjectDefinition: OrderLockLog + OwningSide: 'Reference' + } + RelationSide.RightSide OrderLockLog + { + #keys: '3[412960.0.217504338][412960.0.217504337][412960.0.217504339]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl new file mode 100644 index 0000000..bb27705 --- /dev/null +++ b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl +{ + #keys: '1[412960.0.134860006]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[412960.0.134860008][412960.0.134860007][412960.0.134860009]' + Cardinality: '0to1' + ObjectDefinition: VersionControl + OwningSide: 'Reference' + } + RelationSide.RightSide VersionControl + { + #keys: '3[412960.0.134860011][412960.0.134860010][412960.0.134860012]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl b/_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl new file mode 100644 index 0000000..41e591c --- /dev/null +++ b/_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail +{ + #keys: '1[412960.0.143214355]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide VersionStatus + { + #keys: '3[412960.0.143214357][412960.0.143214356][412960.0.143214358]' + Cardinality: '0to1' + ObjectDefinition: VersionStatusDetail + OwningSide: 'Reference' + } + RelationSide.RightSide VersionStatusDetail + { + #keys: '3[412960.0.143214360][412960.0.143214359][412960.0.143214361]' + Cardinality: '1toN' + ObjectDefinition: VersionStatus + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl new file mode 100644 index 0000000..effee95 --- /dev/null +++ b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus +{ + #keys: '1[412960.0.134830056]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[412960.0.134830058][412960.0.134830057][412960.0.134830059]' + Cardinality: '0to1' + ObjectDefinition: VersionStatus + OwningSide: 'Reference' + } + RelationSide.RightSide VersionStatus + { + #keys: '3[412960.0.134830061][412960.0.134830060][412960.0.134830062]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl b/_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl new file mode 100644 index 0000000..14a756a --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastModify +{ + #keys: '3[412960.0.217504307][412960.0.217504306][412960.0.217504308]' + Description: '鏈�鍚庝慨鏀逛汉' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl b/_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl new file mode 100644 index 0000000..530eb19 --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastModifyTime +{ + #keys: '3[412960.0.217504317][412960.0.217504316][412960.0.217504318]' + Description: '鏈�鍚庢搷浣滄椂闂�' + ValueType: DateTime +} diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl new file mode 100644 index 0000000..20d4032 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl @@ -0,0 +1,32 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetBusinessTypeName ( + String name +) as String +{ + Description: '浠庝簨涓氶儴涓枃鍚嶇О鍒扮缉鍐欑殑杞崲' + TextBody: + [* + // Administrator Sep-13-2023 (created) + result := ""; + if( name = "闆嗗洟" ){ + result := "TM"; + }else if( name = "鎵嬫満浜嬩笟閮�" ){ + result := "SJ"; + }else if( name = "IT浜嬩笟閮�" ){ + result := "IT"; + }else if( name = "杞﹁浇浜嬩笟閮�" ){ + result := "CZ"; + }else if( name = "姹借溅鐢靛瓙浜嬩笟閮�" ){ + result := "QD"; + }else if( name = "涓撴樉浜嬩笟閮�" ){ + result := "ZX"; + }else if( name = "绌挎埓浜嬩笟閮�" ){ + result := "CD"; + }else if( name = "闈㈡澘" ){ + result := "MB"; + } + + return result; + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl new file mode 100644 index 0000000..97b09dc --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetNextCalType ( + String latestcaltype, + String businesstype +) as String +{ + Description: '鑾峰彇涓嬩竴涓绠楁楠�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + result := ""; + if( businesstype = "TM"){ + if( latestcaltype = "" ){ + result := "SCENE"; + }else if( latestcaltype = "SCENE" ){ + result := "TM_SOP_R1"; + }else if( latestcaltype = "TM_SOP_R1" ){ + result := "TM_SOP_R2"; + }else if( latestcaltype = "TM_SOP_R2" ){ + error( "This version is ended" ); + } + }else{ + if( latestcaltype = "TM_SOP_R1" ){ + result := businesstype + "_SOP_R1"; + }else if( latestcaltype = "TM_SOP_R2" ){ + result := businesstype + "_MPS_R1"; + }else if( latestcaltype = businesstype + "_MPS_R1" ){ + result := businesstype + "_MRP_R1"; + }else if( latestcaltype = businesstype + "_MRP_R1" ){ + result := businesstype + "_MPS_R2"; + }else if( latestcaltype = businesstype + "_MPS_R2" ){ + result := businesstype + "_MRP_R2"; + }else if( latestcaltype = businesstype + "_MRP_R2" ){ + error( "This version is ended" ); + } + } + + return result; + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl new file mode 100644 index 0000000..a8610b8 --- /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, + pispip.SalesDemandQuantity() > 0 ); + + 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..b094140 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetVersionData ( + GlobalOTDTable owner, + String businessname +) +{ + Description: '鎶藉彇骞跺鐞嗙増鏈暟鎹�' + TextBody: + [* + // Administrator Sep-14-2023 (created) + businesstype := GlobalOTDTable::GetBusinessTypeName( businessname ); + releasetime := DateTime::ActualTime(); + // 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() - 1 ); + 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 ); + newversioncontrol.ReleaseTime( releasetime ); + } + } + *] +} 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_OrderLockLog/Attribute_CustomerName\04323.qbl" "b/_Main/BL/Type_OrderLockLog/Attribute_CustomerName\04323.qbl" new file mode 100644 index 0000000..77e60f5 --- /dev/null +++ "b/_Main/BL/Type_OrderLockLog/Attribute_CustomerName\04323.qbl" @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerName +{ + #keys: '3[412960.0.217504426][412960.0.217504425][412960.0.217504427]' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_End.qbl b/_Main/BL/Type_OrderLockLog/Attribute_End.qbl new file mode 100644 index 0000000..bc7fd91 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_End.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute End +{ + #keys: '3[412960.0.217504488][412960.0.217504487][412960.0.217504489]' + ValueType: Date +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl b/_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl new file mode 100644 index 0000000..3f4c39b --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[412960.0.217504467][412960.0.217504466][412960.0.217504468]' + ValueType: Date +} diff --git "a/_Main/BL/Type_OrderLockLog/Attribute_IsFirmed\0432.qbl" "b/_Main/BL/Type_OrderLockLog/Attribute_IsFirmed\0432.qbl" new file mode 100644 index 0000000..7594124 --- /dev/null +++ "b/_Main/BL/Type_OrderLockLog/Attribute_IsFirmed\0432.qbl" @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[412960.0.217504477][412960.0.217504476][412960.0.217504478]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl b/_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl new file mode 100644 index 0000000..9e81f78 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastModify +{ + #keys: '3[412960.0.217504501][412960.0.217504500][412960.0.217504502]' + Description: '鏈�鍚庝慨鏀逛汉' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl b/_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl new file mode 100644 index 0000000..8698211 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastModifyTime +{ + #keys: '3[412960.0.217504498][412960.0.217504497][412960.0.217504499]' + Description: '鏈�鍚庢搷浣滄椂闂�' + ValueType: DateTime +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl b/_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl new file mode 100644 index 0000000..fe37524 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[412960.0.217504386][412960.0.217504385][412960.0.217504387]' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_Price.qbl b/_Main/BL/Type_OrderLockLog/Attribute_Price.qbl new file mode 100644 index 0000000..b0c9e62 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[412960.0.217504457][412960.0.217504456][412960.0.217504458]' + ValueType: Real +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl b/_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl new file mode 100644 index 0000000..46b6f3b --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[412960.0.217504396][412960.0.217504395][412960.0.217504397]' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl b/_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl new file mode 100644 index 0000000..5216b60 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[412960.0.217504437][412960.0.217504436][412960.0.217504438]' + ValueType: Real +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..8e484e2 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[412960.0.217504406][412960.0.217504405][412960.0.217504407]' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl b/_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..a344af9 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[412960.0.217504416][412960.0.217504415][412960.0.217504417]' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..fccc2cb --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[412960.0.217504447][412960.0.217504446][412960.0.217504448]' + ValueType: String +} diff --git a/_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl b/_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl new file mode 100644 index 0000000..6ef422d --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: LastModify +} diff --git a/_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl b/_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl new file mode 100644 index 0000000..ac23238 --- /dev/null +++ b/_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type OrderLockLog +{ + #keys: '5[412960.0.217504330][412960.0.217504328][0.0.0][412960.0.217504329][412960.0.217504331]' + BaseType: Object + Description: '璁㈠崟閿佸畾鎿嶄綔鏃ュ織' + StructuredName: 'OrderLockLogs' +} 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_IsOrderLocked.qbl b/_Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl new file mode 100644 index 0000000..75d68aa --- /dev/null +++ b/_Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsOrderLocked +{ + #keys: '3[412960.0.212420059][412960.0.212420058][412960.0.212420060]' + Description: '璁㈠崟閿佸畾鐨勬槸鍚﹂攣瀹氱瓫閫夋潯浠�' + ValueType: String +} 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_Scenario/Method_SetReleased.qbl b/_Main/BL/Type_Scenario/Method_SetReleased.qbl new file mode 100644 index 0000000..9406560 --- /dev/null +++ b/_Main/BL/Type_Scenario/Method_SetReleased.qbl @@ -0,0 +1,5 @@ +Quintiq file version 2.0 +#parent: #root +Method SetReleased #extension +{ +} diff --git a/_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl b/_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl new file mode 100644 index 0000000..74d04b8 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BusinessType +{ + #keys: '3[412960.0.134860020][412960.0.134860019][412960.0.134860021]' + Description: '鍙戝嚭璇ョ増鏈殑浜嬩笟閮紝鐢ㄤ簬璇嗗埆鍜屾牎楠屾槸鍚︽墍鏈変簨涓氶儴鍧囨湁鍥炰紶鏁版嵁锛岀洰鍓嶅彇鍊艰寖鍥翠负[ 闆嗗洟(TM)锛屾墜鏈轰簨涓氶儴(SJ)锛孖T浜嬩笟閮�(IT)锛岃溅杞戒簨涓氶儴(CZ)锛屾苯杞︾數瀛愪簨涓氶儴(QD)锛屼笓鏄句簨涓氶儴(ZX)锛岀┛鎴翠簨涓氶儴(CD)] 銆�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/Attribute_CalType.qbl b/_Main/BL/Type_VersionControl/Attribute_CalType.qbl new file mode 100644 index 0000000..6b16db1 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_CalType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CalType +{ + #keys: '3[412960.0.136134246][412960.0.136134245][412960.0.136134247]' + Description: '璁$畻绫诲瀷锛岀敤浜庢爣娉ㄤ负鍝竴姝ヨ绠楃敓鎴愮殑璇ョ増鏈紝濡係OP_R1' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl b/_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl new file mode 100644 index 0000000..b5f3fe6 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CreateTime +{ + #keys: '3[412960.0.136134256][412960.0.136134255][412960.0.136134257]' + Description: '鍒涘缓璇ョ増鏈殑鏃堕棿' + ValueType: DateTime +} diff --git a/_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl b/_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl new file mode 100644 index 0000000..af56d17 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsReleased +{ + #keys: '3[412960.0.134830023][412960.0.134830022][412960.0.134830024]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl b/_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl new file mode 100644 index 0000000..95ba375 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LongVersionName +{ + #keys: '3[412960.0.136134236][412960.0.136134235][412960.0.136134237]' + Description: '璇ョ増鏈彿瀵瑰簲鐨勭増鏈悕绉帮紝鍚嶇О涓虹敤浜庡墠绔睍绀虹殑鏍煎紡锛屽SCENE(2023-09-06 15:06:57)' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/Attribute_Notes.qbl b/_Main/BL/Type_VersionControl/Attribute_Notes.qbl new file mode 100644 index 0000000..68c4a77 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_Notes.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Notes +{ + #keys: '3[412960.0.136138830][412960.0.136138829][412960.0.136138831]' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl b/_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl new file mode 100644 index 0000000..20eac64 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ReleaseTime +{ + #keys: '3[412960.0.136134266][412960.0.136134265][412960.0.136134267]' + Description: '鍙戝竷璇ョ増鏈殑鏃堕棿' + ValueType: DateTime +} diff --git a/_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl b/_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl new file mode 100644 index 0000000..27d31f3 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SingleVersionName +{ + #keys: '3[412960.0.136138782][412960.0.136138781][412960.0.136138783]' + Description: '鍗曚釜鐗堟湰鐨勫悕瀛楋紝鍗冲皬鐗堟湰鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/Attribute_User.qbl b/_Main/BL/Type_VersionControl/Attribute_User.qbl new file mode 100644 index 0000000..d67d534 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_User.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute User +{ + #keys: '3[412960.0.134830093][412960.0.134830092][412960.0.134830094]' + Description: '鍒涘缓璇ョ増鏈殑鐢ㄦ埛' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/Attribute_VersionID.qbl b/_Main/BL/Type_VersionControl/Attribute_VersionID.qbl new file mode 100644 index 0000000..e211102 --- /dev/null +++ b/_Main/BL/Type_VersionControl/Attribute_VersionID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute VersionID +{ + #keys: '3[412960.0.134860030][412960.0.134860029][412960.0.134860031]' + Description: '11浣嶆暟鐨勬椂闂存埑鎷兼帴鑰屾垚鐨勬枃鏈紝浠呭寘鍚暟瀛楅儴鍒�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl new file mode 100644 index 0000000..bf6fb53 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl @@ -0,0 +1,59 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CopyVersion ( + 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 + oldversionid := ""; + oldversionname := ""; + + latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype ); + copyversionid := latestversion.VersionID(); + info( copyversionid ); + + if( copyversionid.FindString( "-", 0 ) > 0 ){ + latestversionlist := copyversionid.Tokenize( "-" ); + latestversionnamelist := latestversion.LongVersionName().Tokenize( "-" ); + for( i := 0; i < latestversionlist.Size() - 1; i := i + 1 ){ + if( oldversionid = "" ){ + oldversionid := latestversionlist.Element( i ); + oldversionname := latestversionnamelist.Element( i ); + }else{ + oldversionid := oldversionid + "-" + latestversionlist.Element( i ); + oldversionname := oldversionname + "-" + latestversionnamelist.Element( i ); + } + info( oldversionid ); + } + if( oldversionid <> "" ){ + oldversionid := oldversionid + "-"; + oldversionname := oldversionname + "-"; + } + info( oldversionid ); + } + + // Calculate new version info + additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 ); + newversionid := oldversionid + [String]additionversionid; + newcaltype := latestversion.CalType(); + newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")"; + newversionname := oldversionname + newsingleversionname; + info( newversionid ); + + // Create new version + newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user ); + + return newversion; + *] +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl b/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl new file mode 100644 index 0000000..22a6355 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl @@ -0,0 +1,29 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Create ( + GlobalOTDTable owner, + String businesstype, + String caltype, + DateTime createtime, + String versionid, + String versionname, + String singleversionname, + String user +) as VersionControl +{ + Description: '鍒涘缓鐗堟湰' + TextBody: + [* + // Administrator Sep-13-2023 (created) + newversion := owner.VersionControl( relnew, + BusinessType := businesstype, + CalType := caltype, + CreateTime := createtime, + VersionID := versionid, + LongVersionName := versionname, + SingleVersionName := singleversionname, + User := user ); + + return newversion; + *] +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl new file mode 100644 index 0000000..450646d --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl @@ -0,0 +1,37 @@ +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 ); + newversion.IsReleased( true ); + newversion.ReleaseTime( createtime ); + + return newversion; + *] +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl new file mode 100644 index 0000000..8f05fb1 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateNewVersion ( + 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 := ""; + + latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype ); + + if( isnull( latestversion ) and not businesstype = "TM" ){ + error( "Can't find last version in " + businesstype.AsQUILL() ); + } + else if( not isnull( latestversion ) ){ + oldversion_id := latestversion.VersionID() + "-"; + oldversion_name := latestversion.LongVersionName() + "-"; + oldcaltype := latestversion.CalType(); + } + + + // 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_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 new file mode 100644 index 0000000..4450bf4 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod FindLatestUpdateVersion ( + GlobalOTDTable globalotdtable, + String businesstype +) as VersionControl +{ + Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鐗堟湰鍙�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + + // Get the latest version data + latestversion := maxselect( globalotdtable, + VersionControl, + version, + version.BusinessType()=businesstype and version.IsReleased()=true, + version.CreateTime() ); + + return latestversion; + *] +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl new file mode 100644 index 0000000..df4f8f4 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod FindLatestVersion ( + GlobalOTDTable globalotdtable, + String businesstype +) as VersionControl +{ + Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鐗堟湰鍙�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + + // Get the latest version data + latestversion := maxselect( globalotdtable, + VersionControl, + version, + version.BusinessType()=businesstype, + version.CreateTime() ); + + return latestversion; + *] +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl new file mode 100644 index 0000000..7e7ec19 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod FindReleasedVersions ( + GlobalOTDTable globalotdtable, + String businesstype, + String versionid +) as owning VersionControls +{ + Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鐗堟湰鍙�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + + // Get the latest version data + latestversion := selectset( globalotdtable, VersionControl, version, version.BusinessType()=businesstype and version.IsReleased()=true and version.VersionID().FindString( versionid, 0 ) = 0 ); + + return &latestversion; + *] +} diff --git a/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl b/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl new file mode 100644 index 0000000..03b2084 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl @@ -0,0 +1,30 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetVersionInfo ( + GlobalOTDTable owner, + String businessname +) as owning Strings +{ + Description: '鑾峰彇澶х増鏈増鏈彿鍙婄増鏈悕绉�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + businesstyoe := GlobalOTDTable::GetBusinessTypeName( businessname ); + result := construct( Strings ); + rootversion := VersionControl::FindLatestVersion( owner, businesstyoe ); + + if( not isnull( rootversion ) ){ + result.Add( rootversion.VersionID() ); + result.Add( rootversion.LongVersionName() ); + result.Add( rootversion.VersionID() + "-" + rootversion.CalType() ); + result.Add( rootversion.SingleVersionName() ); + }else{ + result.Add( "" ); + result.Add( "" ); + result.Add( "" ); + result.Add( "" ); + } + + return &result; + *] +} 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/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl new file mode 100644 index 0000000..f90a939 --- /dev/null +++ b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReleaseNewVersion ( + GlobalOTDTable owner, + String businesstype +) +{ + Description: '鍙戝竷鏂扮増鏈�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + releasetime := DateTime::ActualTime(); + + // Create new version + newversion := VersionControl::CreateNewVersion( owner, businesstype ); + + newversion.IsReleased( true ); + newversion.ReleaseTime( releasetime ); + *] +} diff --git a/_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl b/_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl new file mode 100644 index 0000000..8064a9d --- /dev/null +++ b/_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type VersionControl +{ + #keys: '5[412960.0.134860003][412960.0.134860001][0.0.0][412960.0.134860002][412960.0.134860004]' + BaseType: Object + Description: '鍌ㄥ瓨鍏ㄩ噺鐗堟湰鐘舵�佺殑object' + StructuredName: 'VersionControls' +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl b/_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl new file mode 100644 index 0000000..877b0b7 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BusinessName +{ + #keys: '3[412960.0.134830239][412960.0.134830238][412960.0.134830240]' + Description: '灞曠ず鐢ㄤ簨涓氶儴鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl b/_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl new file mode 100644 index 0000000..bba8e24 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BusinessType +{ + #keys: '3[412960.0.134830072][412960.0.134830071][412960.0.134830073]' + Description: '浜嬩笟閮ㄥ悕绉�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl b/_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl new file mode 100644 index 0000000..9c76657 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastReleaseTime +{ + #keys: '3[412960.0.136138799][412960.0.136138798][412960.0.136138800]' + Description: '鏈�鍚庡悓姝ョ殑鏃堕棿' + ValueType: DateTime +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl b/_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl new file mode 100644 index 0000000..e0f1ac0 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastUser +{ + #keys: '3[412960.0.136138809][412960.0.136138808][412960.0.136138810]' + Description: '鏈�鍚庢搷浣滀汉' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl b/_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl new file mode 100644 index 0000000..83a20e1 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute LastVersionName +{ + #keys: '3[412960.0.136138768][412960.0.136138767][412960.0.136138769]' + Description: '鏈�缁堟嫾鎺ヨ�屾垚鐨勭増鏈悕绉�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_Notes.qbl b/_Main/BL/Type_VersionStatus/Attribute_Notes.qbl new file mode 100644 index 0000000..ac77f08 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_Notes.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Notes +{ + #keys: '3[412960.0.136138819][412960.0.136138818][412960.0.136138820]' + Description: '澶囨敞' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl b/_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl new file mode 100644 index 0000000..29f8260 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SortNumber +{ + #keys: '3[412960.0.136138758][412960.0.136138757][412960.0.136138759]' + Description: '搴忓彿' + ValueType: Number +} diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl new file mode 100644 index 0000000..a33f467 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl @@ -0,0 +1,37 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateOrUpdate ( + GlobalOTDTable owner, + String businesstype, + String businessname, + DateTime lastreleasetime, + String lastuser, + String lastversionname, + String notes, + Number sortnumber +) +{ + Description: '鍒涘缓鏂扮殑鐗堟湰鍙戝竷鐘舵��' + TextBody: + [* + // Administrator Sep-13-2023 (created) + // Find exist status + existstatus := VersionStatus::FindLatestStatus( owner, businesstype ); + if( isnull( existstatus ) ){ + owner.VersionStatus( relnew, + BusinessType := businesstype, + BusinessName := businessname, + LastReleaseTime := lastreleasetime, + LastUser := lastuser, + LastVersionName := lastversionname, + Notes := notes, + SortNumber := sortnumber ); + }else{ + existstatus.LastReleaseTime( lastreleasetime ); + existstatus.LastUser( lastuser ); + existstatus.LastVersionName( lastversionname ); + existstatus.Notes( notes ); + existstatus.SortNumber( sortnumber ); + } + *] +} diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl new file mode 100644 index 0000000..5a58dc6 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod FindLatestStatus ( + GlobalOTDTable globalotdtable, + String businesstype +) as VersionStatus +{ + Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鍙戝竷鐘舵��' + TextBody: + [* + // Administrator Sep-13-2023 (created) + + // Get the latest version data + lateststatus := select( globalotdtable, VersionStatus, version, version.BusinessType()=businesstype ); + + return lateststatus; + *] +} diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl new file mode 100644 index 0000000..dec4ba1 --- /dev/null +++ b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl @@ -0,0 +1,64 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetBusinessTypeStatus ( + GlobalOTDTable owner, + String rootversionid +) +{ + Description: '鍒锋柊鎵�鏈変簨涓氶儴鐨勫彂甯冩儏鍐�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + // Get business type list + businesstypes := "闆嗗洟,闈㈡澘,鎵嬫満浜嬩笟閮�,IT浜嬩笟閮�,杞﹁浇浜嬩笟閮�,姹借溅鐢靛瓙浜嬩笟閮�,涓撴樉浜嬩笟閮�,绌挎埓浜嬩笟閮�"; + businesstypelist := businesstypes.Tokenize( "," ); + + sortnumber := 0; + sortdetailnumber := 0; + traverse( businesstypelist, Elements, businessname, true ){ + // info( businessname ); + // Get the local scenario businesstype + businesstype := GlobalOTDTable::GetBusinessTypeName( businessname ); + sortnumber := sortnumber + 1; + lastversion := VersionControl::FindLatestUpdateVersion( owner, businesstype ); + if( not isnull( lastversion ) ){ + VersionStatus::CreateOrUpdate( owner, + businesstype, + businessname, + lastversion.ReleaseTime(), + lastversion.User(), + lastversion.SingleVersionName(), + lastversion.Notes(), + sortnumber ); + }else{ + existstatus := VersionStatus::FindLatestStatus( owner, businesstype ); + if( isnull( existstatus ) ){ + owner.VersionStatus( relnew, + BusinessType := businesstype, + BusinessName := businessname, + SortNumber := sortnumber + ); + } + } + + rootstatus := VersionStatus::FindLatestStatus( owner, businesstype ); + // Get the versions list + versionlist := VersionControl::FindReleasedVersions( owner, businesstype, rootversionid ); + // info( rootversionid ); + if( not isnull( versionlist ) ){ + traverse( versionlist, Elements, version, true ){ + info( version.VersionID() ); + sortdetailnumber := sortdetailnumber + 1; + VersionStatusDetail::CreateOrUpdate( rootstatus, + version.VersionID() + "-" + version.CalType(), + version.CreateTime(), + version.ReleaseTime(), + version.SingleVersionName(), + version.User(), + version.Notes(), + sortdetailnumber ); + } + } + } + *] +} diff --git a/_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl b/_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl new file mode 100644 index 0000000..eb167dc --- /dev/null +++ b/_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type VersionStatus +{ + #keys: '5[412960.0.134830053][412960.0.134830051][0.0.0][412960.0.134830052][412960.0.134830054]' + BaseType: Object + Description: '鍚勪簨涓氶儴鐨勭増鏈彂甯冪姸鎬佹暟鎹�' + StructuredName: 'VersionStatuss' +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl new file mode 100644 index 0000000..6fbf202 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CreateTime +{ + #keys: '3[412960.0.143214324][412960.0.143214323][412960.0.143214325]' + Description: '鍒涘缓璇ョ増鏈殑鏃堕棿' + ValueType: DateTime +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl new file mode 100644 index 0000000..9c73a1a --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Notes +{ + #keys: '3[412960.0.143214333][412960.0.143214332][412960.0.143214334]' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl new file mode 100644 index 0000000..0558ae9 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ReleaseTime +{ + #keys: '3[412960.0.143214336][412960.0.143214335][412960.0.143214337]' + Description: '鍙戝竷璇ョ増鏈殑鏃堕棿' + ValueType: DateTime +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl new file mode 100644 index 0000000..f4bcfc5 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SingleVersionName +{ + #keys: '3[412960.0.143214339][412960.0.143214338][412960.0.143214340]' + Description: '鍗曚釜鐗堟湰鐨勫悕瀛楋紝鍗冲皬鐗堟湰鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl new file mode 100644 index 0000000..796a03e --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SortNumber +{ + #keys: '3[412960.0.143220022][412960.0.143220021][412960.0.143220023]' + ValueType: Number +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl new file mode 100644 index 0000000..14f56cd --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute User +{ + #keys: '3[412960.0.143214342][412960.0.143214341][412960.0.143214343]' + Description: '鍒涘缓璇ョ増鏈殑鐢ㄦ埛' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl new file mode 100644 index 0000000..7b4634c --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute VersionID +{ + #keys: '3[412960.0.143214345][412960.0.143214344][412960.0.143214346]' + Description: '鍏ㄩ噺鐗堟湰鍙�' + ValueType: String +} diff --git a/_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl b/_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl new file mode 100644 index 0000000..cc97344 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Notes +} diff --git a/_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl b/_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl new file mode 100644 index 0000000..b8282a9 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SingleVersionName +} diff --git a/_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl b/_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl new file mode 100644 index 0000000..10b59e9 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: User +} diff --git a/_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl new file mode 100644 index 0000000..2f27674 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl @@ -0,0 +1,38 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateOrUpdate ( + VersionStatus owner, + String versionid, + DateTime createtime, + DateTime releasetime, + String versionname, + String user, + String notes, + Number sortnumber +) +{ + Description: '鍒涘缓鏂扮殑鐗堟湰鍙戝竷鐘舵�佽鎯�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + // Find exist status + existstatusdetail := VersionStatusDetail::FindStatus( owner, versionid ); + if( isnull( existstatusdetail ) ){ + owner.VersionStatusDetail( relnew, + CreateTime := createtime, + ReleaseTime := releasetime, + SingleVersionName := versionname, + User := user, + VersionID := versionid, + Notes := notes, + SortNumber := sortnumber ); + }else{ + existstatusdetail.CreateTime( createtime ); + existstatusdetail.ReleaseTime( releasetime ); + existstatusdetail.SingleVersionName( versionname ); + existstatusdetail.User( user ); + existstatusdetail.Notes( notes ); + existstatusdetail.SortNumber( sortnumber ); + } + *] +} diff --git a/_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl b/_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl new file mode 100644 index 0000000..732af48 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod FindStatus ( + VersionStatus owner, + String versionid +) as VersionStatusDetail +{ + Description: '閫氳繃鐗堟湰鍙锋煡鎵炬槸鍚︽湁瀛樺湪鐨勭姸鎬佽鎯�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + + // Get the latest version data + lateststatusdetail := select( owner, VersionStatusDetail, version, version.VersionID()=versionid ); + + return lateststatusdetail; + *] +} diff --git a/_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl b/_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl new file mode 100644 index 0000000..acb76c0 --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetFullVersionID ( + VersionStatus owner +) as String +{ + Description: '鑾峰彇鍏ㄩ噺鐗堟湰鍙�' + TextBody: + [* + // Administrator Sep-13-2023 (created) + result := ""; + latestversion := maxselect( owner, VersionStatusDetail, version, true, version.CreateTime() ); + + if( not isnull( latestversion ) ){ + result := latestversion.VersionID(); + } + + return result; + *] +} diff --git a/_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl b/_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl new file mode 100644 index 0000000..4b4532a --- /dev/null +++ b/_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type VersionStatusDetail +{ + #keys: '5[412960.0.143214315][412960.0.143214313][0.0.0][412960.0.143214314][412960.0.143214316]' + BaseType: Object + Description: '鍌ㄥ瓨瀵瑰簲鍙戝竷鐘舵�佷笅鐗堟湰鐘舵�佺殑鏁版嵁' + StructuredName: 'VersionStatusDetails' +} 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/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def new file mode 100644 index 0000000..61bc669 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component pnlActions #extension +{ + Children: + [ + Component btnOK #extension + { + } + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def" index cc2b308..2f95d09 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def" @@ -20,6 +20,7 @@ DataHolderActionCopy.Data( false ); DataHolderDialogData.Data( &scenario ); DataHolderDialogData.Data().EnableSync( enableSync ); + DataHolderDialogData.Data().IsCreateNewVersion( true ); ApplicationMacroPlanner.ShowFormModal( this ); *] diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def index d48922f..ad05250 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def @@ -19,6 +19,7 @@ DataHolderActionCopy.Data( false ); DataHolderDialogData.Data( &scenario ); + DataHolderDialogData.Data().IsCreateNewVersion( true ); ApplicationMacroPlanner.ShowFormModal( this ); *] diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def index e97d405..5d283ea 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def @@ -17,6 +17,21 @@ newscenario := null( Scenario ); strategy := null( Strategy ); + // New version + globalotdtable := GlobalOTDTable; + testbusinesstype := "闆嗗洟"; + if( data.IsCreateNewVersion() ){ + VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype ); + }else{ + VersionControl::CopyVersion( globalotdtable, testbusinesstype ); + } + versionname := VersionControl::GetVersionInfo( globalotdtable, testbusinesstype ).Element( 3 ); + + // Get Version Name + if( data.Name() = "" ){ + data.Name( versionname ); + } + // Copy scenario if( isnull( data.WrappedInstance() ) ) { diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..e56830c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOK +Response OnClick () id:Response_pnlActions_btnOK_OnClick #extension +{ + Precondition: + [* + data := DataHolderDialogData.Data(); + return not isnull( data ) + and Scenario::ValidateInput( feedback, + ScenarioManager, + // edtName.Text(), + "for version", + data.WrappedInstance(), + '', + GlobalParameters_MP::GetKB_New(), + 'Test', + RadioButtonGroupStorageState.BoundValue(), + Domain.MDSStorageDefinitionManager().Enabled(), + Domain.MDSStorageDefinitionManager().DatasetStoreEnabled(), + Domain.MDSStorageDefinitionManager().DatabaseEnabled() ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def index c446fac..c7bba6d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def @@ -6,5 +6,6 @@ Children: [ #child: pnlContent + #child: pnlActions ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def new file mode 100644 index 0000000..b965c94 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def @@ -0,0 +1,52 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[412960.0.149440162]' + BaseType: 'WebPanel' + Children: + [ + Component btnApply + { + #keys: '[412960.0.149440164]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Apply' + Taborder: 0 + Visible: false + ] + } + Component btnOk + { + #keys: '[412960.0.149440166]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 1 + ] + } + Component btnCancel + { + #keys: '[412960.0.149440168]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 2 + Visible: false + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def new file mode 100644 index 0000000..4b48663 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[412960.0.149440160]' + BaseType: 'WebPanel' + Children: + [ + Component lblContent + { + #keys: '[412960.0.149330142]' + BaseType: 'WebLabel' + Properties: + [ + FixedSize: false + Taborder: 0 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def new file mode 100644 index 0000000..c96d6db --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +Method JustShow () id:Method_DialogVersionIDCopy_JustShow +{ + #keys: '[412960.0.149561615]' + Body: + [* + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def new file mode 100644 index 0000000..0d2dfc5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnApply +Response OnClick () id:Response_pnlActions_btnApply_OnClick +{ + #keys: '[412960.0.149440170]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + Precondition: + [* + return Form.HasChanges(); + *] + QuillAction + { + Body: + [* + Form.ApplyChanges(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..a410594 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnCancel +Response OnClick () id:Response_pnlActions_btnCancel_OnClick +{ + #keys: '[412960.0.149440172]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..e7234ce --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[412960.0.149440171]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.ApplyChanges(); + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def new file mode 100644 index 0000000..3a9db4f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogVersionIDCopy +{ + #keys: '[412960.0.149440158]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + ] + Properties: + [ + Alignment: 'trailing' + Description: '灞曠ず鍏ㄩ噺鐗堟湰鍙蜂互澶嶅埗' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Image: 'DATA_COPY' + Padding: 'false' + Title: '鍏ㄩ噺鐗堟湰鍙�' + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock\043844.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock\043844.def" new file mode 100644 index 0000000..17d2167 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock\043844.def" @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +Component ListOrderLock id:ListOrderLock_844 +{ + #keys: '[412960.0.217980651]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorOrderLock743 + { + #keys: '[412960.0.217980652]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[CustomerOrder]' + Description: '鑾峰彇璁㈠崟' + Source: 'DataHolderOrderLock' + Taborder: 0 + Transformation: 'Elements' + ] + } + #child: listActionBarPageOrderLock_1 + Component DataSetLevelOrderLock + { + #keys: '[412960.0.217980654]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuOrderLock_1 + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"CustomerName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"IsFirmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"First.AsPlanningBaseSalesDemandInPeriod.End","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"First.AsPlanningBaseSalesDemandInPeriod.End"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastModify","title":"LastModify","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastModify"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastModifyTime","title":"LastModifyTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastModifyTime"}}]' + ContextMenu: 'listContextMenuOrderLock' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning\043679.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning\043679.def" new file mode 100644 index 0000000..401adf5 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning\043679.def" @@ -0,0 +1,210 @@ +Quintiq file version 2.0 +Component MatrixEditorProductPlanning id:MatrixEditorProductPlanning_679 +{ + #keys: '[412960.0.220270414]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCellPISPIP + { + #keys: '[412960.0.220270415]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractorPISPIP + { + #keys: '[412960.0.220270416]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[ProductInStockingPoint_MP]' + FixedFilter: 'not object.ProductInStockingPoint_MP().IsSystem() and object.ProductInStockingPoint_MP().IsLeaf()' + Source: 'ApplicationMacroPlanner.DataHolderPISP' + Taborder: 0 + Transformation: 'Elements.ProductInStockingPointInPeriod' + ] + } + ] + Properties: + [ + Attributes: 'DisplaySupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays' + Column: 'Period_MP' + Row: 'ProductInStockingPoint_MP' + Taborder: 2 + ] + } + Component MatrixEditorRowsPISP + { + #keys: '[412960.0.220270417]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorPISP + { + #keys: '[412960.0.220270418]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'CustomerOrder' + ExtractionMode: 'Selected' + FixedFilter: 'not object.IsSystem() and object.IsLeaf()' + Source: 'ListOrderLock' + Taborder: 0 + Transformation: 'ProductInStockingPoint_MP' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'Product_MP.DisplayIndex;Name' + Taborder: 0 + ] + } + Component MatrixEditorColumnsPeriod + { + #keys: '[412960.0.220270419]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorPeriod + { + #keys: '[412960.0.220270420]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[Period_MP]' + Source: 'ApplicationMacroPlanner.DataHolderPeriods' + Taborder: 0 + Transformation: 'Elements' + ] + } + ] + Properties: + [ + Legend: 'Start' + SortCriteria: 'Start' + Taborder: 1 + ] + } + Component UserConfigurableInformationMatrixEditorProductPlanning + { + #keys: '[412960.0.220270421]' + BaseType: 'WebUserConfigurableInformation' + Properties: + [ + Identifier: 'Cell: PISPIP' + ObjectType: 'ProductInStockingPointInPeriod' + Taborder: 3 + Text: 'Test text' + Tooltip: '<table><tr><td><b>SYNONYM(object.InventoryLevelEnd())</b></td><td>VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelEnd() ) )</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td><b>Inventory holding cost </b></td><td>VALUE(object.TotalBaseInventoryHoldingCost())VALUE( \' \'+ object.ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP().Symbol() )</td><td>VALUE( \'[\' + object.TotalBaseInventoryHoldingCostPerQuantity().Format(\'N(Dec(2))\') )</td><td>VALUE( object.ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP().Symbol() + \'/\' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name() + \']\' ) </td></tr><tr><td><b>SYNONYM(object.StockLevelInDays())</b></td><td>VALUE(object.StockLevelInDays)</td><td>day</td></tr><tr><td><b>Total supply </b></td><td>VALUE(object.SupplyQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Total demand </b></td><td>VALUE(object.GetDemandQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr><br><tr><td><b>Inventory start </b></td><td>VALUE( guard( MacroPlan::GetDisplayValue( object.InventoryLevelStartPISPIP().InventoryLevelEnd() ), 0.0 ) )</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Sales demand </b></td><td>VALUE(object.SalesDemandQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr><tr><td><b>New supply </b></td><td>VALUE(object.NewSupplyQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Dependent demand </b></td><td>VALUE(object.DependentDemandQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr><tr><td><b>Inventory supply </b></td><td>VALUE(object.InventorySupplyQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Fulfilled demand </b></td><td>VALUE(object.FulfilledDemandQuantity() )</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr></table><hr>VALUE( object.ImgHasFeedback() ) VALUE( ifexpr( object.HasFeedback() , " Feedback message exist. Refer to Supply Planning matrix for details." , "" ) )' + ] + } + #child: matrixEditorActionBarPageProductPlanning_1 + #child: matrixeditorContextMenuProductPlanning_1 + ] + Properties: + [ + AllowAttributeConfiguration: true + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumnsPeriod' + ContextMenu: 'matrixeditorContextMenuProductPlanning' + Rows: 'MatrixEditorRowsPISP' + ShowEditability: true + ShowSingleAttribute: true + Taborder: 0 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick + { + #keys: '[412960.0.220270401]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[6763.0.7990336]' + Binding: 'this.Selection()' + } + ] + } + DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebButton_OnClick + { + #keys: '[412960.0.220270400]' + Initiator: 'WebButton' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[6763.0.7990409]' + Binding: 'this.Selection()' + } + ] + } + DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick_119 + { + #keys: '[412960.0.220270399]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selectedrows + { + #keys: '[6763.0.7990482]' + Binding: 'this.SelectedRows()' + } + ] + } + DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebButton_OnClick_720 + { + #keys: '[412960.0.220270398]' + Initiator: 'WebButton' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selectedrows + { + #keys: '[6763.0.7990555]' + Binding: 'this.SelectedRows()' + } + ] + } + DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick_640 + { + #keys: '[412960.0.220270397]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selectedcolumns + { + #keys: '[6763.0.7990628]' + Binding: 'this.SelectedColumns()' + } + ] + } + DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebButton_OnClick_582 + { + #keys: '[412960.0.220270396]' + Initiator: 'WebButton' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selectedcolumns + { + #keys: '[6763.0.7990701]' + Binding: 'this.SelectedColumns()' + } + ] + } + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix\043780.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix\043780.def" new file mode 100644 index 0000000..3aee833 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix\043780.def" @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelMatrix id:PanelMatrix_780 +{ + #keys: '[412960.0.220270412]' + BaseType: 'WebPanel' + Children: + [ + Component DataHolderSelectedPISPIPsInProductPlanningMatrix + { + #keys: '[412960.0.220270413]' + BaseType: 'WebDataHolder' + Databinding: 'structured[ProductInStockingPointInPeriod]*' + Properties: + [ + Taborder: 1 + ] + } + #child: MatrixEditorProductPlanning_679 + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def new file mode 100644 index 0000000..8565401 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +Component PanelOrderLock +{ + #keys: '[412960.0.212571359]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelOrderLockHeader_545 + #child: PanelOrderLockOrder + #child: PanelOrderLockPlanning + ] + Properties: + [ + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader\043545.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader\043545.def" new file mode 100644 index 0000000..4ff0600 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader\043545.def" @@ -0,0 +1,125 @@ +Quintiq file version 2.0 +Component PanelOrderLockHeader id:PanelOrderLockHeader_545 +{ + #keys: '[412960.0.212571440]' + BaseType: 'WebPanel' + Children: + [ + Component LabelOrderLockHeaderVersion + { + #keys: '[412960.0.212571441]' + BaseType: 'WebLabel' + Properties: + [ + Description: 'MPS鐗堟湰鍚嶇О' + Label: 'MPS鐗堟湰锛�' + Taborder: 0 + ] + } + Component EditFieldOrderLockHeader + { + #keys: '[412960.0.212571468]' + BaseType: 'WebEditField' + Properties: + [ + Description: '妯$硦鎼滅储绛涢�夋' + PlaceHolder: '妯$硦鎼滅储' + Taborder: 1 + ] + } + Component DateSelectorOrderLockHeaderCustomerOrder + { + #keys: '[412960.0.212571527]' + BaseType: 'WebDateSelector' + Properties: + [ + Date: 2023-01-01 + Description: '瀹㈡埛闇�姹傛椂闂�' + Label: '瀹㈡埛闇�姹傛椂闂�' + Taborder: 3 + ] + } + Component DateSelectorOrderLockHeaderPlanDeliver + { + #keys: '[412960.0.212571611]' + BaseType: 'WebDateSelector' + Properties: + [ + Date: 2023-01-01 + Description: '璁″垝浜や粯鏃堕棿' + Label: '璁″垝浜や粯鏃堕棿' + Taborder: 4 + ] + } + Component ButtonOrderLockHeader + { + #keys: '[412960.0.212571669]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '妯$硦鎼滅储鎸夐挳' + Label: '鎼滅储' + Taborder: 2 + ] + } + Component RadioButtonGroupOrderLockHeader + { + #keys: '[412960.0.212571696]' + BaseType: 'WebRadioButtonGroup' + Properties: + [ + BoundValue: 'all' + ButtonLabels: '宸查攣瀹�;鏈攣瀹�;鍏ㄩ儴' + ButtonValues: 'locked;unlocked;all' + DataBinding: 'DataHolderOrderLockGlobal.Data.IsOrderLocked' + Description: '鏄惁閿佸畾鐨勭偣閫夋' + Orientation: 'horizontal' + Taborder: 5 + ] + } + Component ButtonOrderLockHeaderLock + { + #keys: '[412960.0.221760476]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '璁㈠崟閿佸畾' + Label: '閿佸畾' + Taborder: 7 + ] + } + Component ButtonOrderLockHeaderUnlock + { + #keys: '[412960.0.221760488]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '璁㈠崟瑙i攣' + Label: '瑙i攣' + Taborder: 8 + ] + } + Component ButtonOrderLockHeaderClear + { + #keys: '[412960.0.223264324]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '娓呴櫎绛涢�夐」' + Label: '娓呴櫎绛涢��' + Taborder: 6 + ] + } + ] + Properties: + [ + Description: '鏀剧疆lable锛屾寜閽瓑' + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def new file mode 100644 index 0000000..3a8891a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelOrderLockOrder +{ + #keys: '[412960.0.217980613]' + BaseType: 'WebPanel' + Children: + [ + #child: ListOrderLock_844 + ] + Properties: + [ + Description: '璁㈠崟淇℃伅灞曠ず' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def new file mode 100644 index 0000000..e908a3c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +Component PanelOrderLockPlanning +{ + #keys: '[412960.0.220270252]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelMatrix_780 + ] + Properties: + [ + Border: true + Description: '璁㈠崟瀵瑰簲鐨勮鍒掓暟鎹�' + Taborder: 2 + Title: '璁″垝璇︽儏' + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock\0431.def" new file mode 100644 index 0000000..a529251 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageOrderLock id:listActionBarPageOrderLock_1 +{ + #keys: '[412960.0.217980653]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock\0431.def" new file mode 100644 index 0000000..bc2e00d --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listContextMenuOrderLock id:listContextMenuOrderLock_1 +{ + #keys: '[412960.0.217980655]' + BaseType: 'listContextMenu' + Properties: + [ + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning\0431.def" new file mode 100644 index 0000000..4e41b90 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPageProductPlanning id:matrixEditorActionBarPageProductPlanning_1 +{ + #keys: '[412960.0.220270422]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 5 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning\0431.def" new file mode 100644 index 0000000..79d4472 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning\0431.def" @@ -0,0 +1,57 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenuProductPlanning id:matrixeditorContextMenuProductPlanning_1 +{ + #keys: '[412960.0.220270423]' + BaseType: 'matrixeditorContextMenu' + Children: + [ + Component MenuCopy + { + #keys: '[138034.3.1296123318]' + BaseType: 'MenuCopy' + IsDerived: true + Properties: + [ + Taborder: 2 + ] + } + Component MenuSeparator3 + { + #keys: '[412960.0.220270424]' + BaseType: 'WebMenu' + Properties: + [ + Separator: true + Taborder: 1 + ] + } + Component MenuLock + { + #keys: '[412960.0.220270427]' + BaseType: 'WebMenu' + Properties: + [ + DelegationID: 'ActionBarPlan_Lock' + Image: 'LOCK' + Taborder: 3 + Title: 'Lock' + ] + } + Component MenuUnlock + { + #keys: '[412960.0.220270428]' + BaseType: 'WebMenu' + Properties: + [ + DelegationID: 'ActionBarPlan_Unlock' + Image: 'LOCK_OPEN' + Taborder: 4 + Title: 'Unlock' + ] + } + ] + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def new file mode 100644 index 0000000..38cee0b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: MatrixEditorProductPlanning_679 +Response OnClick ( + structured[ProductInStockingPointInPeriod] selection +) id:Response_MatrixEditorProductPlanning_679_MenuLock_OnClick +{ + #keys: '[412960.0.220270410]' + CanBindMultiple: false + DefinitionID => /MatrixEditorProductPlanning_679/Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick + Initiator: 'MenuLock' + Precondition: + [* + return ProductInStockingPointInPeriod::CanLockUnlock( selection, feedback ); + *] + QuillAction + { + Body: + [* + // Lock total supply quantity for PISPIPs + // This is a workaround, we supposedly set the bindingtype of selection as the subtype, but + // the response would have trouble handling multiple cell selection, so for now, we bind the base type + // then select the subtype + + + pispipLeafs := selectset( selection, + Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ), + pispip, + true ); + + ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, true, true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def new file mode 100644 index 0000000..7615c08 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def @@ -0,0 +1,30 @@ +Quintiq file version 2.0 +#parent: MatrixEditorProductPlanning_679 +Response OnClick ( + structured[ProductInStockingPointInPeriod] selection +) id:Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick +{ + #keys: '[412960.0.220270407]' + CanBindMultiple: false + DefinitionID => /MatrixEditorProductPlanning_679/Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick + Initiator: 'MenuUnlock' + Precondition: + [* + return ProductInStockingPointInPeriod::CanLockUnlock( selection, feedback ); + *] + QuillAction + { + Body: + [* + // Unlock the total supply quantity of pispips + // This is a workaround, we supposedly set the bindingtype of selection as the subtype, but + // the response would have trouble handling multiple cell selection, so for now, we bind the base type + // then select the subtype + + pispipLeafs := selectset( selection, Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispip, + true ); + ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, false, true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def new file mode 100644 index 0000000..2dea2ca --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def @@ -0,0 +1,43 @@ +Quintiq file version 2.0 +#parent: MatrixEditorProductPlanning_679 +Response OnCheckEditability ( + structured[ProductInStockingPointInPeriodPlanning] cell, + Real value +) id:Response_MatrixEditorProductPlanning_679_OnCheckEditability +{ + #keys: '[412960.0.220270404]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMatrixEditor_OnCheckEditability' + QuillAction + { + Body: + [* + //Precondition + attributes := construct( Strings ); + attributes.Add(focusedattribute); + isSupply_o := false; + feedback :=""; + + cond := MacroPlan.CanPlan( feedback ) + and ProductInStockingPointInPeriod::CanEnterSupplyQuantity( feedback, + cell, + attributes, + isSupply_o ); + if( cond ) + { + if( isSupply_o ) + { + periods := selectset( cell, Elements.Period_MP, period, true ); + cond := ScenarioManager::CanStartSmartPlan( ScenarioManager, + DataHolderActiveScenario.Data(), + true, + periods, + feedback ); + } + } + editinfo.CanEdit( cond ); + editinfo.UserHint( feedback ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def new file mode 100644 index 0000000..d90381f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: MatrixEditorProductPlanning_679 +Response OnUserSelectionChanged ( + structured[ProductInStockingPointInPeriod] selection +) id:Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged +{ + #keys: '[412960.0.220270402]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMatrixEditor_OnUserSelectionChanged' + QuillAction + { + Body: + [* + //Assign selection to data holder + DataHolderSelectedPISPIPsInProductPlanningMatrix.Data( selection.Copy() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def new file mode 100644 index 0000000..2adc0a4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: PanelOrderLockHeader_545/ButtonOrderLockHeaderClear +Response OnClick () id:Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick +{ + #keys: '[412960.0.223264347]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + EditFieldOrderLockHeader.Text( "" ); + DateSelectorOrderLockHeaderCustomerOrder.Date( Date::Construct(2023,1,1) ); + DateSelectorOrderLockHeaderPlanDeliver.Date( Date::Construct(2023,1,1) ); + RadioButtonGroupOrderLockHeader.BoundValue( "all" ); + DataExtractorOrderLock.FixedFilter( "true" ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def new file mode 100644 index 0000000..ddeca1c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def @@ -0,0 +1,58 @@ +Quintiq file version 2.0 +#parent: PanelOrderLockHeader_545/ButtonOrderLockHeader +Response OnClick () id:Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick +{ + #keys: '[412960.0.221841965]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + thisfilter := "( object.OrderID().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )" + + " or " + "object.ProductID().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )" + + " or " + "object.UnitOfMeasureName().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )" + + " or " + "object.StockingPointID().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )" + + " or " + "object.CustomerName().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )" + + " or " + "object.SalesSegmentName().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " ) )" ; + + existfilter := DataExtractorOrderLock.FixedFilter(); + if( existfilter = "true" ){ + existfilter := ""; + } + existfilterlist := existfilter.Tokenize( " and " ); + + newfilter := ""; + findcount := 0; + traverse( existfilterlist, Elements, filter ){ + if( filter.FindString( "OrderID()", 0 ) >= 0 ){ + if( newfilter = "" ){ + newfilter := thisfilter; + }else{ + newfilter := newfilter + " and " + thisfilter; + } + findcount := 1; + }else{ + if( newfilter = "" ){ + newfilter := filter; + }else{ + newfilter := newfilter + " and " + filter; + } + } + } + + if( findcount = 0 ){ + if( newfilter = "" ){ + newfilter := thisfilter; + }else{ + newfilter := newfilter + " and " + thisfilter; + } + } + + info( newfilter ); + + DataExtractorOrderLock.FixedFilter( newfilter ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def new file mode 100644 index 0000000..5fa0f71 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def @@ -0,0 +1,51 @@ +Quintiq file version 2.0 +#parent: PanelOrderLockHeader_545/DateSelectorOrderLockHeaderCustomerOrder +Response OnChanged () id:Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_OnChanged +{ + #keys: '[412960.0.221842202]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' + GroupServerCalls: true + QuillAction + { + Body: + [* + existfilter := DataExtractorOrderLock.FixedFilter(); + if( existfilter = "true" ){ + existfilter := ""; + } + existfilterlist := existfilter.Tokenize( " and " ); + + newfilter := ""; + findcount := 0; + traverse( existfilterlist, Elements, filter ){ + if( filter.FindString( "EndDate()", 0 ) >= 0 ){ + if( newfilter = "" ){ + newfilter := "( object.EndDate() = " + this.Date().AsQUILL() + " )"; + }else{ + newfilter := newfilter + " and " + "( object.EndDate() = " + this.Date().AsQUILL() + " )"; + } + findcount := 1; + }else{ + if( newfilter = "" ){ + newfilter := filter; + }else{ + newfilter := newfilter + " and " + filter; + } + } + } + + if( findcount = 0 ){ + if( newfilter = "" ){ + newfilter := "( object.EndDate() = " + this.Date().AsQUILL() + " )"; + }else{ + newfilter := newfilter + " and " + "( object.EndDate() = " + this.Date().AsQUILL() + " )"; + } + } + + info( newfilter ); + + DataExtractorOrderLock.FixedFilter( newfilter ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def new file mode 100644 index 0000000..a5fda9c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def @@ -0,0 +1,51 @@ +Quintiq file version 2.0 +#parent: PanelOrderLockHeader_545/DateSelectorOrderLockHeaderPlanDeliver +Response OnChanged () id:Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnChanged +{ + #keys: '[412960.0.221842649]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' + GroupServerCalls: true + QuillAction + { + Body: + [* + existfilter := DataExtractorOrderLock.FixedFilter(); + if( existfilter = "true" ){ + existfilter := ""; + } + existfilterlist := existfilter.Tokenize( " and " ); + + newfilter := ""; + findcount := 0; + traverse( existfilterlist, Elements, filter ){ + if( filter.FindString( "End()", 0 ) >= 0 and filter.FindString( "EndDate()", 0 ) < 0 ){ + if( newfilter = "" ){ + newfilter := "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )"; + }else{ + newfilter := newfilter + " and " + "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )"; + } + findcount := 1; + }else{ + if( newfilter = "" ){ + newfilter := filter; + }else{ + newfilter := newfilter + " and " + filter; + } + } + } + + if( findcount = 0 ){ + if( newfilter = "" ){ + newfilter := "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )"; + }else{ + newfilter := newfilter + " and " + "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )"; + } + } + + info( newfilter ); + + DataExtractorOrderLock.FixedFilter( newfilter ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def new file mode 100644 index 0000000..5e6da38 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def @@ -0,0 +1,69 @@ +Quintiq file version 2.0 +#parent: PanelOrderLockHeader_545/RadioButtonGroupOrderLockHeader +Response OnChanged () id:Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged +{ + #keys: '[412960.0.221843171]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged' + GroupServerCalls: true + QuillAction + { + Body: + [* + existfilter := DataExtractorOrderLock.FixedFilter(); + if( existfilter = "true" ){ + existfilter := ""; + } + existfilterlist := existfilter.Tokenize( " and " ); + + newfilter := ""; + findcount := 0; + traverse( existfilterlist, Elements, filter ){ + if( filter.FindString( "IsFirmed()", 0 ) >= 0 ){ + if( this.BoundValue() = "locked" ){ + if( newfilter = "" ){ + newfilter := "( object.IsFirmed() = true )"; + }else{ + newfilter := newfilter + " and " + "( object.IsFirmed() = true )"; + } + }else if( this.BoundValue() = "unlocked" ){ + if( newfilter = "" ){ + newfilter := "( object.IsFirmed() = false )"; + }else{ + newfilter := newfilter + " and " + "( object.IsFirmed() = false )"; + } + }else if( this.BoundValue() = "all" ){ + newfilter := newfilter + ""; + } + findcount := 1; + }else{ + if( newfilter = "" ){ + newfilter := filter; + }else{ + newfilter := newfilter + " and " + filter; + } + } + } + + if( findcount = 0 ){ + if( this.BoundValue() = "locked" ){ + if( newfilter = "" ){ + newfilter := "( object.IsFirmed() = true )"; + }else{ + newfilter := newfilter + " and " + "( object.IsFirmed() = true )"; + } + }else if( this.BoundValue() = "unlocked" ){ + if( newfilter = "" ){ + newfilter := "( object.IsFirmed() = false )"; + }else{ + newfilter := newfilter + " and " + "( object.IsFirmed() = false )"; + } + }else if( this.BoundValue() = "all" ){ + newfilter := newfilter + ""; + } + } + + DataExtractorOrderLock.FixedFilter( newfilter ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def new file mode 100644 index 0000000..6834735 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def @@ -0,0 +1,55 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormOrderLock +{ + #keys: '[412960.0.212511678]' + BaseType: 'WebForm' + Children: + [ + #child: PanelOrderLock + Component DataHolderOrderLock + { + #keys: '[412960.0.212571799]' + BaseType: 'WebDataHolder' + Databinding: 'structured[CustomerOrder]*' + Children: + [ + Component DataExtractorOrderLock + { + #keys: '[412960.0.212571816]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Description: '鎶藉彇璁㈠崟鏁版嵁' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'SalesDemand.astype(CustomerOrder)' + ] + } + ] + Properties: + [ + Taborder: 1 + ] + } + Component DataHolderOrderLockGlobal + { + #keys: '[412960.0.212571897]' + BaseType: 'WebDataHolder' + Databinding: 'shadow[Scenario]*' + Properties: + [ + Description: '瀛樺偍鏄惁閿佸畾鐨勭瓫閫夋潯浠�' + Taborder: 2 + ] + } + ] + Properties: + [ + Description: '璁㈠崟閿佸畾瑙i攣鐣岄潰' + Image: 'DATA_LOCK' + Title: '璁㈠崟閿佸畾瑙i攣鐣岄潰' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def index 71d6ba4..015e693 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def @@ -1,4 +1,118 @@ Quintiq file version 2.0 Component ListScenario #extension { + Children: + [ + Component DataSetLevelScenario #extension + { + Children: + [ + Component listContextMenuScenarioFolder #extension + { + Children: + [ + Component MenuRelaeaseNewVersion + { + #keys: '[412960.0.168283194]' + BaseType: 'WebMenu' + Properties: + [ + DelegationID: 'ActionBarScenario_Release' + Description: '鍙戝竷鏂扮増鏈�' + Image: 'EDITOR_ALGORITHM' + Taborder: 10 + Title: 'Release New Version...' + ] + } + Component MenuCopyScenario #extension + { + } + Component MenuSaveNewVersion + { + #keys: '[412960.0.172960163]' + BaseType: 'WebMenu' + Properties: + [ + DelegationID: 'ActionBarScenario_Save' + Description: '鍙戝竷鏂扮増鏈�' + Image: 'DATA_DISK' + Taborder: 11 + Title: 'Save New Version...' + ] + } + Component MenuSeparator2 #extension + { + Properties: + [ + Taborder: 12 + ] + } + Component MenuSeparator3 #extension + { + Properties: + [ + Taborder: 14 + ] + } + Component MenuSelectScenario #extension + { + Properties: + [ + Taborder: 13 + ] + } + Component MenuEditAuthorization #extension + { + Properties: + [ + Taborder: 15 + ] + } + Component MenuSeparator4 #extension + { + Properties: + [ + Taborder: 16 + ] + } + Component MenuLoadScenario #extension + { + Properties: + [ + Taborder: 17 + ] + } + Component MenuUnloadScenario #extension + { + Properties: + [ + Taborder: 18 + ] + } + Component MenuSeparator5 #extension + { + Properties: + [ + Taborder: 19 + ] + } + Component MenuAdministration #extension + { + Properties: + [ + Taborder: 20 + ] + } + Component MenuRestoreItem #extension + { + Properties: + [ + Taborder: 21 + ] + } + ] + } + ] + } + ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def new file mode 100644 index 0000000..93390c2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: ListScenario +Response OnClick ( + ScenarioMP selection +) id:Response_ListScenario_MenuCopyScenario_OnClick #extension +{ + Precondition: + [* + feedback := ApplicationMacroPlanner.HasValidDataset( selection ); + return feedback = '' and selection.CanCopy( feedback ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def new file mode 100644 index 0000000..745d231 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def @@ -0,0 +1,52 @@ +Quintiq file version 2.0 +#parent: ListScenario +Response OnClick ( + ScenarioMP selection +) id:Response_ListScenario_MenuRelaeaseNewVersion_OnClick +{ + #keys: '[412960.0.170112594]' + CanBindMultiple: false + DefinitionID => /ListScenario/Responsedef_ListScenario_WebMenu_OnClick + Initiator: 'MenuRelaeaseNewVersion' + Precondition: + [* + feedback := ApplicationMacroPlanner.HasValidDataset( selection ); + return feedback = '' and selection.CanCopy( feedback ); + *] + QuillAction + { + Body: + [* + // Copy scenario + owner := GlobalOTDTable; + macroplan := MacroPlan; + testbusinesstype := "闆嗗洟"; + + VersionControl::ReleaseNewVersion( owner, testbusinesstype ); + GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype ); + selection.SetReleased(); + + versionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 3 ); + // Get the active scenario + //data := selection; + newscenario := null( Scenario ); + strategy := null( Strategy ); + + data := ScenarioManager.ScenarioNode( relshadow, + ScenarioMP, + Parent := selection, + Name := versionname, + SelectedStrategy := selection.SelectedStrategy(), + State := selection.State() ); + + scenario := data.Parent().astype( ScenarioMP ); + strategy := data.SelectedStrategy(); + + newscenario:= scenario.Copy( data.Parent(), versionname, "", + data.Comment(), data.State() ); + + newscenario.SelectedStrategy( relset, strategy ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def new file mode 100644 index 0000000..1f8b93b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def @@ -0,0 +1,49 @@ +Quintiq file version 2.0 +#parent: ListScenario +Response OnClick ( + ScenarioMP selection +) id:Response_ListScenario_MenuSaveNewVersion_OnClick +{ + #keys: '[412960.0.171680443]' + CanBindMultiple: false + DefinitionID => /ListScenario/Responsedef_ListScenario_WebMenu_OnClick + Initiator: 'MenuSaveNewVersion' + Precondition: + [* + feedback := ApplicationMacroPlanner.HasValidDataset( selection ); + return feedback = '' and selection.CanCopy( feedback ); + *] + QuillAction + { + Body: + [* + // Copy scenario + owner := GlobalOTDTable; + macroplan := MacroPlan; + testbusinesstype := "闆嗗洟"; + + VersionControl::CopyVersion( owner, testbusinesstype ); + + versionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 3 ); + // Copy scenario + newscenario := null( Scenario ); + strategy := null( Strategy ); + + data := ScenarioManager.ScenarioNode( relshadow, + ScenarioMP, + Parent := selection, + Name := versionname, + SelectedStrategy := selection.SelectedStrategy(), + State := selection.State() ); + + scenario := data.Parent().astype( ScenarioMP ); + strategy := data.SelectedStrategy(); + + newscenario:= scenario.Copy( data.Parent(), versionname, "", + data.Comment(), data.State() ); + + newscenario.SelectedStrategy( relset, strategy ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def new file mode 100644 index 0000000..79d85e4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +Component ListVersionOfSOP +{ + #keys: '[412960.0.134950322]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorVersionOfSOP642 + { + #keys: '[412960.0.134950323]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[VersionStatus]' + Source: 'DataHolderVersionOfSOP' + Taborder: 0 + Transformation: 'Elements' + ] + } + #child: listActionBarPageVersionOfSOP + Component DataSetLevelVersionOfSOP + { + #keys: '[412960.0.134950328]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuVersionOfSOP + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SortNumber","title":"SortNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SortNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessName","title":"BusinessName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastVersionName","title":"LastVersionName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastVersionName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastReleaseTime","title":"LastReleaseTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastReleaseTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastUser","title":"LastUser","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastUser"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}}]' + ContextMenu: 'listContextMenuVersionOfSOP' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def new file mode 100644 index 0000000..be02538 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +Component ListVersionOfSOPDetails +{ + #keys: '[412960.0.142180298]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorVersionOfSOPDetails + { + #keys: '[412960.0.142180299]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[VersionStatusDetail]' + Source: 'DataHolderVersionOfSOPDetails' + Taborder: 0 + Transformation: 'Elements' + ] + } + #child: listActionBarPageVersionOfSOPDetails + Component DataSetLevelVersionOfSOPDetails + { + #keys: '[412960.0.142180304]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuVersionOfSOPDetails + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SortNumber","title":"SortNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SortNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SingleVersionName","title":"SingleVersionName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SingleVersionName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CreateTime","title":"CreateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CreateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReleaseTime","title":"ReleaseTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReleaseTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"User","title":"User","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"User"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VersionID","title":"VersionID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VersionID"}}]' + ContextMenu: 'listContextMenuVersionOfSOPDetails' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def new file mode 100644 index 0000000..d36cfe7 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelVersionOfSOP +{ + #keys: '[412960.0.134980204]' + BaseType: 'WebPanel' + Children: + [ + #child: ListVersionOfSOP + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def new file mode 100644 index 0000000..ea7f4ea --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelVersionOfSOPDetails +{ + #keys: '[412960.0.140720490]' + BaseType: 'WebPanel' + Children: + [ + #child: ListVersionOfSOPDetails + ] + Properties: + [ + Description: '浜嬩笟閮ㄥ彂甯冪姸鎬佽鎯卲anel' + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def new file mode 100644 index 0000000..b99ab6c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +Component PanelVersionOfSOPHeader +{ + #keys: '[412960.0.137940569]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonVersionOfSOPHeaderFresh + { + #keys: '[412960.0.138000879]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '鐢ㄤ簬鍒锋柊鍚勪簨涓氶儴褰撳墠鐗堟湰鍙戝竷鐘舵�佺殑鎸夐挳' + Label: '鍒锋柊' + Taborder: 1 + ] + } + Component ButtonVersionOfSOPHeaderCopy + { + #keys: '[412960.0.138000890]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '鐢ㄤ簬澶嶅埗閫変腑鐨勭増鏈叏閲忕増鏈彿鐨勬寜閽�' + Label: '鍏ㄩ噺鐗堟湰鍙峰鍒�' + Taborder: 2 + ] + } + Component ButtonVersionOfSOPHeaderRelease + { + #keys: '[412960.0.142110396]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '鍙戝竷涓�涓柊鐗堟湰' + Label: '娴嬭瘯鐢ㄧ増鏈彂甯�' + Taborder: 3 + Visible: false + ] + } + Component LabelVersionOfSOPHeader + { + #keys: '[412960.0.138000861]' + BaseType: 'WebLabel' + Properties: + [ + Description: '鐗堟湰鍙峰睍绀哄' + FixedSize: false + Taborder: 0 + ] + } + ] + Properties: + [ + Description: '鐢ㄤ簬鏀剧疆琛ㄥご淇℃伅鍙婃寜閽殑panel' + FixedSize: true + Orientation: 'horizontal' + Style: 'header' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def new file mode 100644 index 0000000..b858147 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageVersionOfSOP +{ + #keys: '[412960.0.134950325]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def new file mode 100644 index 0000000..1ace6df --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageVersionOfSOPDetails +{ + #keys: '[412960.0.142180301]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def new file mode 100644 index 0000000..bdded9e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listContextMenuVersionOfSOP +{ + #keys: '[412960.0.134950330]' + BaseType: 'listContextMenu' + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def new file mode 100644 index 0000000..74b47c7 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listContextMenuVersionOfSOPDetails +{ + #keys: '[412960.0.142180306]' + BaseType: 'listContextMenu' + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def new file mode 100644 index 0000000..ff0fa8b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: PanelVersionOfSOPHeader/ButtonVersionOfSOPHeaderCopy +Response OnClick () id:Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick +{ + #keys: '[412960.0.149330244]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + owner := GlobalOTDTable; + testbusinesstype := "闆嗗洟"; + rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 2 ); + dlg := construct( DialogVersionIDCopy ); + dlg.lblContent().Text( rootversionid ); + dlg.JustShow(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def new file mode 100644 index 0000000..d0a18a1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelVersionOfSOPHeader/ButtonVersionOfSOPHeaderFresh +Response OnClick () id:Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick +{ + #keys: '[412960.0.133611384]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + owner := GlobalOTDTable; + testbusinesstype := "闆嗗洟"; + //GlobalOTDTable::GetVersionData( owner, testbusinesstype ); + rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 0 ); + DataExtractorVersionOfSOPDetails.FixedFilter( "object.VersionID().FindString( " + rootversionid.AsQUILL() + ", 0 ) = 0" ); + rootversionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 1 ); + LabelVersionOfSOPHeader.Text( rootversionname ); + VersionStatus::GetBusinessTypeStatus( owner, rootversionid ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def new file mode 100644 index 0000000..a3136f5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: PanelVersionOfSOPHeader/ButtonVersionOfSOPHeaderRelease +Response OnClick () id:Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick +{ + #keys: '[412960.0.142110414]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + owner := GlobalOTDTable; + macroplan := MacroPlan; + testbusinesstype := "闆嗗洟"; + + VersionControl::ReleaseNewVersion( owner, testbusinesstype ); + //GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def new file mode 100644 index 0000000..9a4348d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def @@ -0,0 +1,82 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormVersionOfSOP +{ + #keys: '[412960.0.135200328]' + BaseType: 'WebForm' + Children: + [ + #child: PanelVersionOfSOP + Component DataHolderVersionOfSOP + { + #keys: '[412960.0.134980222]' + BaseType: 'WebDataHolder' + Databinding: 'structured[VersionStatus]*' + Children: + [ + Component DataExtractorVersionOfSOP + { + #keys: '[412960.0.134980234]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'VersionStatus' + ] + } + ] + Properties: + [ + Taborder: 3 + ] + } + #child: PanelVersionOfSOPHeader + #child: PanelVersionOfSOPDetails + Component DataHolderVersionOfSOPDetails + { + #keys: '[412960.0.140750496]' + BaseType: 'WebDataHolder' + Databinding: 'structured[VersionStatusDetail]*' + Children: + [ + Component DataExtractorVersionOfSOPDetails453 + { + #keys: '[412960.0.142212532]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'VersionStatus' + ExtractionMode: 'Selected' + Source: 'ListVersionOfSOP' + Taborder: 0 + Transformation: 'VersionStatusDetail' + ] + } + ] + Properties: + [ + Description: '浜嬩笟閮ㄥ搴旇鎯呮暟鎹�' + Taborder: 4 + ] + } + Component DataHolderVersionOfSOPCopy + { + #keys: '[412960.0.166861218]' + BaseType: 'WebDataHolder' + Databinding: 'shadow[ScenarioMP]*' + Properties: + [ + Taborder: 5 + ] + } + ] + Properties: + [ + Description: 'SOP鐗堟湰鏁版嵁灞曠ず鐣岄潰' + Image: 'WINDOW_TIME' + Title: 'SOP鍚勪簨涓氶儴鏁版嵁鍚屾鐘舵��' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw b/_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw new file mode 100644 index 0000000..42bce1a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw @@ -0,0 +1,351 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_legacy_1 + { + title: 'Scenario manager' + shown: true + componentID: 'FormScenarioManager' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormScenarioManager_ListScenario + { + } + FormScenarioManager_DataSetLevelScenario + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 90 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 277 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 2 + subtotals: '' + width: 106 + } + column_ChangedOn + { + columnId: 'ChangedOn' + dataPath: 'ChangedOn' + dataType: 'datetime' + title: 'Changed on' + index: 3 + subtotals: '' + width: 99 + } + column_StorageMode + { + columnId: 'StorageMode' + dataPath: 'StorageMode' + dataType: 'string' + title: 'StorageMode' + index: 4 + subtotals: '' + width: 40 + } + } + } + } + form_legacy_2 + { + title: 'Assumptions' + shown: true + componentID: 'FormAssumptions' + layout + { + mode: 'open' + rowPosition: 9 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormAssumptions_ListAssumptions + { + } + FormAssumptions_DataSetLevelAssumptions + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Category + { + columnId: 'Category' + dataPath: 'Category' + dataType: 'string' + title: '绫诲埆' + index: 1 + subtotals: '' + width: 108 + } + column_Importance + { + columnId: 'Importance' + dataPath: 'Importance' + dataType: 'string' + title: '閲嶈鎬�' + index: 2 + subtotals: '' + width: 110 + } + column_Title + { + columnId: 'Title' + dataPath: 'Title' + dataType: 'string' + title: '鏍囬' + index: 3 + subtotals: '' + width: 150 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 4 + subtotals: '' + width: 150 + } + column_CreatedOn + { + columnId: 'CreatedOn' + dataPath: 'CreatedOn' + dataType: 'datetime' + title: 'Created on' + index: 5 + subtotals: '' + width: 150 + } + } + } + } + form_FormScenariosKPIsComparison + { + title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' + shown: true + componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 16 + columnPosition: 6 + columnSpan: 7 + } + components + { + FormScenariosKPIsComparison_MatrixEditorFinancialKPIs + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs' + state + { + cells + { + attributes + { + attribute_DisplayValue + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'DisplayValue' + } + } + } + columns + { + sorting + { + criteria: '' + } + } + rows + { + sorting + { + criteria: "datamember:'KPISetting.DisplayIndex'" + } + } + } + } + } + } + } + form_FormOptimizerPuzzles + { + title: 'Optimizer Puzzles' + shown: false + componentID: 'FormOptimizerPuzzles' + layout + { + mode: 'dockright' + index: 0 + } + components + { + FormOptimizerPuzzles_ListOptimizerPuzzles + { + } + FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 109 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + title: '鎻忚堪' + index: 2 + subtotals: '' + width: 207 + } + } + } + } + form_FormKPI + { + title: 'KPI Dashboard' + shown: true + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 1 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPISelection' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 200 + } + } + } + } + } + userconfigurableinformation + { + } + page: 'applicationDevelopmentActionBarPageDef' + group: '' + index: 2 + image: 'DOCUMENT_LOCK' + description: '' + } + formatversion: 2 + id: 'OrderLock' + name: 'OrderLock' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw b/_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw new file mode 100644 index 0000000..6f6e533 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw @@ -0,0 +1,351 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_legacy_1 + { + title: 'Scenario manager' + shown: true + componentID: 'FormScenarioManager' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormScenarioManager_ListScenario + { + } + FormScenarioManager_DataSetLevelScenario + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 90 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: 'Name' + index: 1 + subtotals: '' + width: 197 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 2 + subtotals: '' + width: 91 + } + column_ChangedOn + { + columnId: 'ChangedOn' + dataPath: 'ChangedOn' + dataType: 'datetime' + title: 'Changed on' + index: 3 + subtotals: '' + width: 99 + } + column_StorageMode + { + columnId: 'StorageMode' + dataPath: 'StorageMode' + dataType: 'string' + title: 'StorageMode' + index: 4 + subtotals: '' + width: 40 + } + } + } + } + form_legacy_2 + { + title: 'Assumptions' + shown: true + componentID: 'FormAssumptions' + layout + { + mode: 'open' + rowPosition: 9 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormAssumptions_ListAssumptions + { + } + FormAssumptions_DataSetLevelAssumptions + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Category + { + columnId: 'Category' + dataPath: 'Category' + dataType: 'string' + title: 'Category' + index: 1 + subtotals: '' + width: 108 + } + column_Importance + { + columnId: 'Importance' + dataPath: 'Importance' + dataType: 'string' + title: 'Importance' + index: 2 + subtotals: '' + width: 110 + } + column_Title + { + columnId: 'Title' + dataPath: 'Title' + dataType: 'string' + title: 'Title' + index: 3 + subtotals: '' + width: 150 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 4 + subtotals: '' + width: 150 + } + column_CreatedOn + { + columnId: 'CreatedOn' + dataPath: 'CreatedOn' + dataType: 'datetime' + title: 'Created on' + index: 5 + subtotals: '' + width: 150 + } + } + } + } + form_FormScenariosKPIsComparison + { + title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' + shown: true + componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 16 + columnPosition: 6 + columnSpan: 7 + } + components + { + FormScenariosKPIsComparison_MatrixEditorFinancialKPIs + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs' + state + { + cells + { + attributes + { + attribute_DisplayValue + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'DisplayValue' + } + } + } + columns + { + sorting + { + criteria: '' + } + } + rows + { + sorting + { + criteria: "datamember:'KPISetting.DisplayIndex'" + } + } + } + } + } + } + } + form_FormOptimizerPuzzles + { + title: 'Optimizer Puzzles' + shown: false + componentID: 'FormOptimizerPuzzles' + layout + { + mode: 'dockright' + index: 0 + } + components + { + FormOptimizerPuzzles_ListOptimizerPuzzles + { + } + FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: 'Name' + index: 1 + subtotals: '' + width: 109 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + title: 'Description' + index: 2 + subtotals: '' + width: 207 + } + } + } + } + form_FormKPI + { + title: 'KPI Dashboard' + shown: true + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 1 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPISelection' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: 'Name' + index: 1 + subtotals: '' + width: 200 + } + } + } + } + } + userconfigurableinformation + { + } + page: 'applicationDevelopmentActionBarPageDef' + group: '' + index: 1 + image: 'WINDOW_TIME' + description: '' + } + formatversion: 2 + id: 'SOP_Versions' + name: 'SOP Versions' + isglobal: false + isroot: true +} diff --git a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties index 0b578d4..58f022e 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