From 8a69c2f5505f7d54a7ce097765ca7c6c0e265725 Mon Sep 17 00:00:00 2001
From: hongji.li <hongji.a.li@capgemini.com>
Date: 星期一, 11 九月 2023 15:08:29 +0800
Subject: [PATCH] 物料标签&计划策略优化
---
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl | 24 +
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def | 5
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def | 10
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def | 2
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl | 4
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def | 17
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl | 8
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 4
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def | 42 ++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def | 1
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl | 37 +
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial#558.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def | 19 +
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def | 10
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def | 8
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl | 19
_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def | 20 +
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def | 21 +
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl | 23 +
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck#591.def | 16
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl | 62 +++
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy#880.def | 60 +++
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl | 8
_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def | 19 +
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def | 21 +
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport#136.def | 51 ++
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def | 133 +++++++
_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def | 29 +
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def | 15
_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def | 26 +
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl | 15
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl | 23 +
/dev/null | 17
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl | 42 ++
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455#1.def | 46 ++
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def | 42 ++
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def | 18
52 files changed, 1,059 insertions(+), 51 deletions(-)
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
index 0ad0d09..6f10cf9 100644
--- a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
+++ b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
@@ -4,14 +4,16 @@
{
TextBody:
[*
+ //this.MatAttrSettingAndPlanStrategy( relflush );
+
// yypsybs Sep-8-2023 (created)
- mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_1", "MAT_1", "TYPE_1", 233.0, "閫氱敤", "闀垮懆鏈�" );
+ mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 1, "鎵嬫満浜嬩笟閮�", "MAT_1", "MAT_1", "TYPE_1", 233.0, "閫氱敤", "闀垮懆鏈�" );
MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_1", 666.0, "PROD_1_DESC" );
MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_2", 777.0, "PROD_2_DESC" );
- mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_2", "MAT_2", "TYPE_2", 233.0, "涓撶敤", "闀垮懆鏈�" );
+ mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 2, "鎵嬫満浜嬩笟閮�", "MAT_2", "MAT_2", "TYPE_2", 233.0, "涓撶敤", "闀垮懆鏈�" );
MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_1", 1666.0, "PROD_1_DESC" );
MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_2", 1777.0, "PROD_2_DESC" );
- MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_3", "MAT_3", "TYPE_1", 233.0, "閫氱敤", "鐭懆鏈�" );
- MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_4", "MAT_4", "TYPE_2", 233.0, "涓撶敤", "鐭懆鏈�" );
+ MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 3, "鎵嬫満浜嬩笟閮�", "MAT_3", "MAT_3", "TYPE_1", 233.0, "閫氱敤", "鐭懆鏈�" );
+ MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 4, "鎵嬫満浜嬩笟閮�", "MAT_4", "MAT_4", "TYPE_2", 233.0, "涓撶敤", "鐭懆鏈�" );
*]
}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl
new file mode 100644
index 0000000..915e044
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: #root
+Method CheckThePrecedingColumn (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) {
+ itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" );
+ targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() );
+ if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) {
+ businessType := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "涓氬姟绫诲瀷" ).value();
+ nameOfMaterial := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍚嶇О" ).value();
+ itemClassification := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍒嗙被" ).value();
+ LTTimeDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "LT鏃堕棿锛堝ぉ锛�" ).value();
+ numberOfFinishedSKUs := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鎴愬搧SKU鏁伴噺" ).value();
+ finishedProductDeliveryMinLTDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鎴愬搧浜や粯Min-LT锛堝ぉ锛�" ).value();
+ longAndShortCycleLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "闀跨煭鍛ㄦ湡鏍囩" ).value();
+ genericSpecialLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "閫氱敤涓撶敤鏍囩" ).value();
+ automaticMaterialPlanningPolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鑷姩鐗╂枡璁″垝绛栫暐" ).value();
+ if ( businessType <> targetMatAttrSettingAndPlanStrategy.BusinessType() or
+ nameOfMaterial <> targetMatAttrSettingAndPlanStrategy.MatName() or
+ itemClassification <> targetMatAttrSettingAndPlanStrategy.MatType() or
+ [Real]LTTimeDays <> targetMatAttrSettingAndPlanStrategy.MatArrivalLT() or
+ [Real]numberOfFinishedSKUs <> targetMatAttrSettingAndPlanStrategy.ProductCount() or
+ [Real]finishedProductDeliveryMinLTDays <> targetMatAttrSettingAndPlanStrategy.MinProdDeliverLT() or
+ longAndShortCycleLabels <> targetMatAttrSettingAndPlanStrategy.FlagLongTerm() or
+ genericSpecialLabels <> targetMatAttrSettingAndPlanStrategy.FlagGeneric() or
+ automaticMaterialPlanningPolicies <> targetMatAttrSettingAndPlanStrategy.PlanningStrategyAuto() )
+ {
+ error( "瀵煎叆澶辫触锛屼笌褰撳墠绯荤粺瀛楁涓嶄竴鑷达細", targetMatAttrSettingAndPlanStrategy.MatCode() );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl
new file mode 100644
index 0000000..6d76f0a
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl
@@ -0,0 +1,62 @@
+Quintiq file version 2.0
+#parent: #root
+Method CreateOrUpdateData (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) {
+ itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" );
+ targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() );
+ if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) {
+ minimumNumberOfDaysInStock := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "搴撳瓨鏈�灏忓ぉ鏁�" ).value();
+ maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "搴撳瓨鏈�澶уぉ鏁�" ).value();
+ try {
+ targetMatAttrSettingAndPlanStrategy.MinimumNumberOfDaysInStock( [Number]minimumNumberOfDaysInStock );
+ targetMatAttrSettingAndPlanStrategy.MaximumNumberOfDaysInInventory( [Number]maximumNumberOfDaysInInventory );
+ targetMatAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() );
+ targetMatAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() );
+ } onerror {
+ error( "搴撳瓨鏈�灏忓ぉ鏁版垨搴撳瓨鏈�澶уぉ鏁板繀椤讳负鏁存暟锛�", targetMatAttrSettingAndPlanStrategy.MatCode() );
+ }
+ } else {
+ businessType := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "涓氬姟绫诲瀷" ).value();
+ createItemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" ).value();
+ nameOfMaterial := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍚嶇О" ).value();
+ itemClassification := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍒嗙被" ).value();
+ LTTimeDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "LT鏃堕棿锛堝ぉ锛�" ).value();
+ // numberOfFinishedSKUs := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鎴愬搧SKU鏁伴噺" ).value();
+ // finishedProductDeliveryMinLTDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鎴愬搧浜や粯Min-LT锛堝ぉ锛�" ).value();
+ longAndShortCycleLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "闀跨煭鍛ㄦ湡鏍囩" ).value();
+ genericSpecialLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "閫氱敤涓撶敤鏍囩" ).value();
+ // automaticMaterialPlanningPolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鑷姩鐗╂枡璁″垝绛栫暐" ).value();
+ usersManuallySchedulePolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐢ㄦ埛鎵嬪姩璁″垝绛栫暐" ).value();
+ minimumNumberOfDaysInStock := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "搴撳瓨鏈�灏忓ぉ鏁�" ).value();
+ maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "搴撳瓨鏈�澶уぉ鏁�" ).value();
+ try {
+ matAttrSettingAndPlanStrategy := globalOTDTable.MatAttrSettingAndPlanStrategy( relnew,
+ BusinessType := businessType,
+ MatCode := createItemCode,
+ MatName := nameOfMaterial,
+ MatType := itemClassification,
+ MatArrivalLT := [Number]LTTimeDays,
+ // ProductCount := [Number]numberOfFinishedSKUs,
+ // MinProdDeliverLT := [Number]finishedProductDeliveryMinLTDays,
+ FlagLongTerm := longAndShortCycleLabels,
+ FlagGeneric := genericSpecialLabels,
+ // PlanningStrategyAuto := automaticMaterialPlanningPolicies,
+ PlanningStrategyCustom := usersManuallySchedulePolicies,
+ MinimumNumberOfDaysInStock := [Number]minimumNumberOfDaysInStock,
+ MaximumNumberOfDaysInInventory := [Number]maximumNumberOfDaysInInventory
+ );
+ matAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() );
+ matAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() );
+ matAttrSettingAndPlanStrategy.SerialNumber( maxselect( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.SerialNumber() ).SerialNumber() + 1 );
+ } onerror {
+ error( "搴撳瓨鏈�灏忓ぉ鏁版垨搴撳瓨鏈�澶уぉ鏁板繀椤讳负鏁存暟锛�", targetMatAttrSettingAndPlanStrategy.MatCode() );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl
new file mode 100644
index 0000000..c88a29b
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method SynchronizeData
+{
+ TextBody:
+ [*
+ this.VerifyThatTheItemCodeIsNotDuplicated();
+
+ globalOTDTable := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDTable();
+
+ this.CheckThePrecedingColumn( globalOTDTable );
+
+ this.CreateOrUpdateData( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl
new file mode 100644
index 0000000..cebf23b
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Method VerifyThatTheItemCodeIsNotDuplicated
+{
+ TextBody:
+ [*
+ itemCodes := selectuniquevalues( this,
+ MatAttrSettingAndPlanStrategyDataColumn.MatAttrSettingAndPlanStrategyDataCell,
+ tempMASAPSDC,
+ tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜",
+ tempMASAPSDC.value() );
+
+ traverse ( itemCodes, Elements, ic ) {
+ icTotal := selectset( this,
+ MatAttrSettingAndPlanStrategyDataColumn.MatAttrSettingAndPlanStrategyDataCell,
+ tempMASAPSDC,
+ tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" and tempMASAPSDC.value() = ic );
+ if ( icTotal.Size() > 1 ) {
+ error( "瀛樺湪閲嶅鐗╂枡缂栫爜锛�", ic );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl
new file mode 100644
index 0000000..c17b3d6
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+Method VerifyTheTemplate
+{
+ TextBody:
+ [*
+ if ( select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 0 ).name() <> "涓氬姟绫诲瀷" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 1 ).name() <> "鐗╂枡缂栫爜" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 2 ).name() <> "鐗╂枡鍚嶇О" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 3 ).name() <> "鐗╂枡鍒嗙被" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 4 ).name() <> "LT鏃堕棿锛堝ぉ锛�" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 5 ).name() <> "鎴愬搧SKU鏁伴噺" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 6 ).name() <> "鎴愬搧浜や粯Min-LT锛堝ぉ锛�" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 7 ).name() <> "闀跨煭鍛ㄦ湡鏍囩" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 8 ).name() <> "閫氱敤涓撶敤鏍囩" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 9 ).name() <> "鑷姩鐗╂枡璁″垝绛栫暐" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 10 ).name() <> "鐢ㄦ埛鎵嬪姩璁″垝绛栫暐" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 11 ).name() <> "搴撳瓨鏈�灏忓ぉ鏁�" or
+ select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 12 ).name() <> "搴撳瓨鏈�澶уぉ鏁�"
+ ) {
+ error( "妯℃澘瑙f瀽閿欒" );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl
index 4f276e4..c10da83 100644
--- a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
-Method parseRows
+Method ParseRows
{
TextBody:
[*
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl
index 35be39b..126e66e 100644
--- a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl
@@ -55,6 +55,7 @@
}
//---------------------------------------------------------------------------------------------
xmlTemplate := xmlTemplate + "</table>";
+ info( xmlTemplate );
tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) );
XLS::SaveTable( tableHandle, OS::TempPath() + "MatAttrSettingAndPlanStrategy.xlsx" );
file := OSFile::Construct();
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/DefaultValue_fileName.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/DefaultValue_fileName.qbl
deleted file mode 100644
index 104c0d8..0000000
--- a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/DefaultValue_fileName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: fileName
-}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl
index b970d61..20d7fd4 100644
--- a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl
@@ -4,20 +4,22 @@
{
TextBody:
[*
- // yypsybs Jul-1-2023 (created)
tableGroupHandle := TableGroupHandle::Create( this.FileName() );
tableGroupHandle := XLS::LoadTableGroupFromBinaryData( BinaryData::FromBase64EncodedString( this.Base64Str() ), tableGroupHandle, true, this.IsXlsx() );
sheets := tableGroupHandle.TableNames();
- traverse ( sheets, Elements, sheetName, sheetName = "MatAttrSettingAndPlanStrategy" ) {
+ traverse ( sheets, Elements, sheetName, sheetName = "鐗╂枡鏍囩" ) {
tableHandle := tableGroupHandle.Table( sheetName );
tableXML := TableHandle::ExportXML( tableHandle );
+
MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXMLHeaders( tableXML );
- parsedTable := MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXML( tableXML );
- parsedTable.parseRows();
- parsedTable.name( sheetName );
- this.MatAttrSettingAndPlanStrategyDataTable( relinsert, &parsedTable );
+ matAttrSettingAndPlanStrategyDataTable := MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXML( tableXML );
+
+ matAttrSettingAndPlanStrategyDataTable.ParseRows();
+
+ matAttrSettingAndPlanStrategyDataTable.name( sheetName );
+ this.MatAttrSettingAndPlanStrategyDataTable( relinsert, &matAttrSettingAndPlanStrategyDataTable );
}
*]
}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl
new file mode 100644
index 0000000..e5127f4
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod VerifyTheFileName (
+ JSON uploadJson
+)
+{
+ TextBody:
+ [*
+ fileNames := uploadJson.Get( "name" ).GetString().Tokenize( "." );
+ fileNameSuffix := fileNames.Element( fileNames.Size() - 1 );
+ if ( fileNameSuffix <> "xlsx" and fileNameSuffix <> "xls" ) {
+ error( "璇蜂笂浼燛xcel鏂囦欢" );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl
index be023c4..16be5bb 100644
--- a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl
+++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Upload (
- GlobalOTDTable parent,
+ GlobalOTDTable globalOTDTable,
String filePath,
String base64Str,
String userName
@@ -9,16 +9,15 @@
{
TextBody:
[*
- // yypsybs Jul-1-2023 (created)
- parent.MatAttrSettingAndPlanStrategyInputSource( relflush );
- info( "filePath : " + filePath );
+ globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relflush );
+
fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 );
- info( "fileName : " + fileName );
- inputSource := parent.MatAttrSettingAndPlanStrategyInputSource( relnew,
- FileName := fileName,
- Base64Str := base64Str,
- IsXlsx := fileName.EndsWith( "xlsx" ),
- UserName := userName );
+
+ inputSource := globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relnew,
+ FileName := fileName,
+ Base64Str := base64Str,
+ IsXlsx := fileName.EndsWith( "xlsx" ),
+ UserName := userName );
return inputSource;
*]
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..5d9d3ba
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414702.0.129575801][414702.0.129575800][414702.0.129575802]'
+ Description: '涓氬姟绫诲瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl
new file mode 100644
index 0000000..d15fda5
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MaximumNumberOfDaysInInventory
+{
+ #keys: '3[414702.0.129559419][414702.0.129559418][414702.0.129559420]'
+ Description: '搴撳瓨鏈�澶уぉ鏁�'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl
new file mode 100644
index 0000000..b1b5700
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MinimumNumberOfDaysInStock
+{
+ #keys: '3[414702.0.129559409][414702.0.129559408][414702.0.129559410]'
+ Description: '搴撳瓨鏈�灏忓ぉ鏁�'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl
new file mode 100644
index 0000000..3efd0ad
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SerialNumber
+{
+ #keys: '3[414702.0.129544801][414702.0.129544800][414702.0.129544802]'
+ Description: '搴忓彿'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl
index c69081c..8e647b2 100644
--- a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl
@@ -2,6 +2,8 @@
#parent: #root
StaticMethod CreateIfNotExist (
GlobalOTDTable parent,
+ Number serialNumber,
+ String businessType,
String matCode,
String matName,
String matType,
@@ -16,6 +18,8 @@
value := MatAttrSettingAndPlanStrategy::GetExistByMatCode( parent, matCode );
if( isnull( value ) ) {
value := parent.MatAttrSettingAndPlanStrategy( relnew,
+ SerialNumber := serialNumber,
+ BusinessType := businessType,
MatCode := matCode,
MatName := matName,
MatType := matType,
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl
new file mode 100644
index 0000000..4b41017
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ExportTheFileStream (
+ MatAttrSettingAndPlanStrategys masapss
+) as BinaryValue
+{
+ TextBody:
+ [*
+ text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>鐗╂枡鏍囩</name><column><name>涓氬姟绫诲瀷</name><type>String</type></column><column><name>鐗╂枡缂栫爜</name><type>String</type></column><column><name>鐗╂枡鍚嶇О</name><type>String</type></column><column><name>鐗╂枡鍒嗙被</name><type>String</type></column><column><name>LT鏃堕棿锛堝ぉ锛�</name><type>Number</type></column><column><name>鎴愬搧SKU鏁伴噺</name><type>Number</type></column><column><name>鎴愬搧浜や粯Min-LT锛堝ぉ锛�</name><type>Number</type></column><column><name>闀跨煭鍛ㄦ湡鏍囩</name><type>String</type></column><column><name>閫氱敤涓撶敤鏍囩</name><type>String</type></column><column><name>鑷姩鐗╂枡璁″垝绛栫暐</name><type>String</type></column><column><name>鐢ㄦ埛鎵嬪姩璁″垝绛栫暐</name><type>String</type></column><column><name>搴撳瓨鏈�灏忓ぉ鏁�</name><type>Number</type></column><column><name>搴撳瓨鏈�澶уぉ鏁�</name><type>Number</type></column></table>';
+ xmlDOMImplementation := XMLDOMImplementation::Create();
+ xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text );
+
+ masapss := selectsortedset( masapss, Elements, tempMASAPS, true, tempMASAPS.MatCode() );
+ tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
+
+ traverse ( masapss, Elements, masaps ) {
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.BusinessType(), "涓氬姟绫诲瀷" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatCode(), "鐗╂枡缂栫爜" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatName(), "鐗╂枡鍚嶇О" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatType(), "鐗╂枡鍒嗙被" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MatArrivalLT(), "LT鏃堕棿锛堝ぉ锛�" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.ProductCount(), "鎴愬搧SKU鏁伴噺" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MinProdDeliverLT(), "鎴愬搧浜や粯Min-LT锛堝ぉ锛�" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.FlagLongTerm(), "闀跨煭鍛ㄦ湡鏍囩" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.FlagGeneric(), "閫氱敤涓撶敤鏍囩" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.PlanningStrategyAuto(), "鑷姩鐗╂枡璁″垝绛栫暐" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.PlanningStrategyCustom(), "鐢ㄦ埛鎵嬪姩璁″垝绛栫暐" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MinimumNumberOfDaysInStock(), "搴撳瓨鏈�灏忓ぉ鏁�" );
+ MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MaximumNumberOfDaysInInventory(), "搴撳瓨鏈�澶уぉ鏁�" );
+ }
+
+ xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
+ xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument );
+
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) );
+ tableGroupHandle := TableGroupHandle::Create( "鐗╂枡鏍囩" );
+ tableGroupHandle.Add( tableHandle );
+ tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+
+ return tableBinaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
new file mode 100644
index 0000000..f40c634
--- /dev/null
+++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratesTheSpecifiedXMLColumn (
+ XMLDOMDocument xmlDOMDocument,
+ XMLDOMElement tableElement,
+ String value,
+ String columnName
+)
+{
+ TextBody:
+ [*
+ columnElements := tableElement.GetElementsByTagName( "column" );
+
+ traverse ( columnElements, Elements, ce ) {
+ nameElement := ce.GetElementByTagName( "name", 0 );
+ if ( nameElement.TextContent() = columnName ) {
+ cell := xmlDOMDocument.CreateElement( "cell" );
+ cell.SetAttribute( "value", value );
+ ce.AppendChild( cell );
+ }
+ }
+ *]
+}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 6055329..51fa4f0 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -78,6 +78,8 @@
]
}
Component MenuDoSync { #keys: '[414384.0.605664172]' BaseType: 'Menu' Properties: [ Image: 'CLOUD_DOWNLOAD' Text: 'DoSync' ] }
+ Component menuSeparator506 { #keys: '[414702.0.137524309]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component ComponentMenuAnalysisGlobalOTDTable { #keys: '[414702.0.137524953]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysisGlobalOTDTable' Text: '' ] }
]
Properties:
[
@@ -94,6 +96,8 @@
c: Menu8
c: MenuSelectDemoDataset
c: MenuDoSync
+ c: menuSeparator506
+ c: ComponentMenuAnalysisGlobalOTDTable
}
]
}
diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def
new file mode 100644
index 0000000..89fbbad
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+Component swTop
+{
+ #keys: '[530.0.3531806]'
+ BaseType: 'swTop'
+ IsDerived: true
+ Children:
+ [
+ Component spTopLeft
+ {
+ #keys: '[530.0.3531807]'
+ BaseType: 'spTopLeft'
+ IsDerived: true
+ Children:
+ [
+ Component Analysis
+ {
+ #keys: '[530.0.3532065]'
+ BaseType: 'Analysis'
+ IsDerived: true
+ Properties:
+ [
+ GlobalInstance: 'GlobalOTDTable'
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def
new file mode 100644
index 0000000..8a8fcd7
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+Component swTopMost
+{
+ #keys: '[530.0.3531801]'
+ BaseType: 'swTopMost'
+ IsDerived: true
+ Children:
+ [
+ Component SplitterPane1
+ {
+ #keys: '[530.0.3531802]'
+ BaseType: 'SplitterPane1'
+ IsDerived: true
+ Children:
+ [
+ #child: swTop
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def
new file mode 100644
index 0000000..587a278
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent frmStandardAnalysisGlobalOTDTable
+{
+ #keys: '[414702.0.137524322]'
+ BaseType: 'frmStandardAnalysis'
+ Children:
+ [
+ #child: swTopMost
+ ]
+ Properties:
+ [
+ Height: 601
+ Image: 'BIRD'
+ Title: 'Analysis GlobalOTDTable'
+ Width: 783
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def
index b948d58..d927b55 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def
@@ -2,7 +2,6 @@
#parent: LibSOPImpExp_ContextMenuImport/MenuImportFromCommonInformationModel
Response OnClick () id:Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick
{
- #warning 103647: "Identifier 'Response_MacroPlanner_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick' is not unique in the scope of 'LibSOPImpExp_ContextMenuImport' component on 'ApplicationMacroPlanner'. The reason can be a recently added ModeledResponse. A unique identifier was generated automatically."
#keys: '[146140.2.683371355]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebMenu_OnClick'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlContent.def
deleted file mode 100644
index 802f9f1..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlContent.def
+++ /dev/null
@@ -1,27 +0,0 @@
-Quintiq file version 2.0
-Component pnlContent
-{
- #keys: '[414384.0.770880995]'
- BaseType: 'WebPanel'
- Children:
- [
- Component dropDownPlanningStrategyCustom
- {
- #keys: '[414384.0.770871903]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- AllowEmpty: true
- DataBinding: 'DataHolderDialogData.Data.PlanningStrategyCustom'
- Label: 'PlanningStrategyCustom'
- Strings: 'JIT;瀹夊叏搴撳瓨;VMI'
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- Padding: 'true'
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Method_Edit.def
deleted file mode 100644
index 20760cd..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Method_Edit.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method Edit (
- MatAttrSettingAndPlanStrategy item
-) id:Method_DialogEditMatAttrSettingAndPlanStrategy_Edit
-{
- #keys: '[414384.0.772161633]'
- Body:
- [*
- // Edit uom
- data := shadow( item );
-
- DataHolderDialogData.Data( &data );
-
- ApplicationMacroPlanner.ShowFormModal( this );
- *]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Method_OnOK.def
deleted file mode 100644
index d26a7a1..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Method_OnOK.def
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method OnOK () id:Method_DialogEditMatAttrSettingAndPlanStrategy_OnOK
-{
- #keys: '[414384.0.772193415]'
- Body:
- [*
- // On ok
- Form.ApplyChanges();
-
- data := DataHolderDialogData.Data();
- data.WrappedInstance().PlanningStrategyCustom( dropDownPlanningStrategyCustom.Text() );
-
- Form.Close();
- *]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def
similarity index 82%
rename from _Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlActions.def
rename to _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def
index 16082f0..adcf81f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlActions.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component pnlActions
{
- #keys: '[414384.0.770880997]'
+ #keys: '[414702.0.131771244]'
BaseType: 'WebPanel'
Children:
[
Component btnOk
{
- #keys: '[414384.0.770881001]'
+ #keys: '[414702.0.131771248]'
BaseType: 'WebButton'
Properties:
[
@@ -17,7 +17,7 @@
}
Component btnCancel
{
- #keys: '[414384.0.770881003]'
+ #keys: '[414702.0.131771250]'
BaseType: 'WebButton'
Properties:
[
@@ -35,6 +35,6 @@
Orientation: 'horizontal'
Padding: 'true'
Style: 'footer'
- Taborder: 1
+ Taborder: 2
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def
new file mode 100644
index 0000000..9155690
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[414702.0.131771242]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: pnlGeneral
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def
new file mode 100644
index 0000000..a034ddf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def
@@ -0,0 +1,133 @@
+Quintiq file version 2.0
+Component pnlGeneral
+{
+ #keys: '[414702.0.139154801]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component efBusinessType
+ {
+ #keys: '[414702.0.139035752]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.BusinessType'
+ Enabled: false
+ Label: '涓氬姟绫诲瀷'
+ Taborder: 0
+ ]
+ }
+ Component efItemCode
+ {
+ #keys: '[414702.0.139035772]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.MatCode'
+ Enabled: false
+ Label: '鐗╂枡缂栫爜'
+ Taborder: 1
+ ]
+ }
+ Component efNameOfMaterial
+ {
+ #keys: '[414702.0.139035784]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.MatName'
+ Enabled: false
+ Label: '鐗╂枡鍚嶇О'
+ Taborder: 2
+ ]
+ }
+ Component efMaterialArrivalLTDays
+ {
+ #keys: '[414702.0.139035796]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.MatArrivalLT'
+ Description: 'Finished product minimum delivery LT (days)'
+ Enabled: false
+ Label: '鐗╂枡鍒拌揣LT锛堝ぉ锛�'
+ Taborder: 3
+ ]
+ }
+ Component efFinishedProductMinimumDeliveryLTDays
+ {
+ #keys: '[414702.0.139035809]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.MinProdDeliverLT'
+ Enabled: false
+ Label: '鎴愬搧鏈�灏忎氦浠楲T锛堝ぉ锛�'
+ Taborder: 4
+ ]
+ }
+ Component efFinishedSKUType
+ {
+ #keys: '[414702.0.139035821]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.ProductCount'
+ Enabled: false
+ Label: '鎴愬搧SKU绉嶇被'
+ Taborder: 5
+ ]
+ }
+ Component efTheSystemAutomaticallySchedulesPolicies
+ {
+ #keys: '[414702.0.139035834]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.PlanningStrategyAuto'
+ Enabled: false
+ Label: '绯荤粺鑷姩璁″垝绛栫暐'
+ Taborder: 6
+ ]
+ }
+ Component ddslMaterialPlanningPolicyChanges
+ {
+ #keys: '[414702.0.139877037]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ AllowEmpty: true
+ DataBinding: 'DataHolderDialogData.Data.PlanningStrategyCustom'
+ Label: '鐗╂枡璁″垝绛栫暐鍙樻洿'
+ Strings: 'JIT;VMI;M/A;瀹夊叏搴撳瓨;PO鎷夋枡'
+ Taborder: 7
+ ]
+ }
+ Component efTheMinimumNumberOfDaysForAnItemToBeInventoried
+ {
+ #keys: '[414702.0.139969846]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.MinimumNumberOfDaysInStock'
+ Label: '鐗╂枡搴撳瓨鏈�灏忓ぉ鏁�'
+ Taborder: 8
+ ]
+ }
+ Component efTheMaximumNumberOfDaysThatTheItemIsInStock
+ {
+ #keys: '[414702.0.139969907]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.MaximumNumberOfDaysInInventory'
+ Label: '鐗╂枡搴撳瓨鏈�澶уぉ鏁�'
+ Taborder: 9
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def
new file mode 100644
index 0000000..78dd14b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ MatAttrSettingAndPlanStrategy selection
+) id:Method_DialogCreateEditMaterialLabelingAndPlanningStrategy_Edit
+{
+ #keys: '[414702.0.137732159]'
+ Body:
+ [*
+ //data := shadow( selection );
+ DataHolderDialogData.Data( selection );
+
+ selection.UpdateBy( QuintiqUser::CurrentUser().Username() );
+ selection.UpdateTime( DateTime::ActualTime() );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def
similarity index 88%
rename from _Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnCancel_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def
index 179c75d..e03c477 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnCancel_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def
@@ -2,7 +2,7 @@
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
- #keys: '[414384.0.770881007]'
+ #keys: '[414702.0.131771254]'
DefinitionID: 'Responsedef_WebButton_OnClick'
GroupServerCalls: true
QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def
similarity index 74%
rename from _Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnOk_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def
index d6ccb93..8f6e89a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def
@@ -2,14 +2,15 @@
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
- #keys: '[414384.0.770881006]'
+ #keys: '[414702.0.131771253]'
DefinitionID: 'Responsedef_WebButton_OnClick'
GroupServerCalls: true
QuillAction
{
Body:
[*
- Form.OnOK();
+ Form.ApplyChanges();
+ Form.Close();
*]
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/_ROOT_Component_DialogEditMatAttrSettingAndPlanStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def
similarity index 66%
rename from _Main/UI/MacroPlannerWebApp/Component_DialogEdit/_ROOT_Component_DialogEditMatAttrSettingAndPlanStrategy.def
rename to _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def
index bc7540c..78c4c93 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEdit/_ROOT_Component_DialogEditMatAttrSettingAndPlanStrategy.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def
@@ -1,9 +1,9 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
-OrphanComponent DialogEditMatAttrSettingAndPlanStrategy
+OrphanComponent DialogCreateEditMaterialLabelingAndPlanningStrategy
{
- #keys: '[414384.0.770880993]'
+ #keys: '[414702.0.131771240]'
BaseType: 'WebForm'
Children:
[
@@ -11,12 +11,12 @@
#child: pnlActions
Component DataHolderDialogData
{
- #keys: '[414384.0.772100860]'
+ #keys: '[414702.0.139153395]'
BaseType: 'WebDataHolder'
- Databinding: 'shadow[MatAttrSettingAndPlanStrategy]*'
+ Databinding: 'MatAttrSettingAndPlanStrategy'
Properties:
[
- Taborder: 2
+ Taborder: 0
]
}
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_ListMatAttrSettingAndPlanStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_ListMatAttrSettingAndPlanStrategy.def
deleted file mode 100644
index 37dde34..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_ListMatAttrSettingAndPlanStrategy.def
+++ /dev/null
@@ -1,105 +0,0 @@
-Quintiq file version 2.0
-Component ListMatAttrSettingAndPlanStrategy
-{
- #keys: '[414384.0.769370441]'
- BaseType: 'WebList'
- Children:
- [
- Component DataExtractorMatAttrSettingAndPlanStrategy
- {
- #keys: '[414384.0.769370442]'
- BaseType: 'WebDataExtractor'
- Properties:
- [
- DataType: 'GlobalOTDTable'
- Source: 'GlobalOTDTable'
- Taborder: 0
- Transformation: 'MatAttrSettingAndPlanStrategy'
- ]
- }
- Component DataSetLevelMatAttrSettingAndPlanStrategy
- {
- #keys: '[414384.0.769370443]'
- BaseType: 'WebDataSetLevel'
- Children:
- [
- #child: listContextMenuMatAttrSettingAndPlanStrategy
- ]
- Properties:
- [
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatName","title":"MatName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatType","title":"MatType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatArrivalLT","title":"MatArrivalLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatArrivalLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCount","title":"ProductCount","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinProdDeliverLT","title":"MinProdDeliverLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MinProdDeliverLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagLongTerm","title":"FlagLongTerm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagLongTerm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagGeneric","title":"FlagGeneric","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagGeneric"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyAuto","title":"PlanningStrategyAuto","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningStrategyAuto"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyCustom","title":"PlanningStrategyCustom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningStrategyCustom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateBy","title":"UpdateBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateBy"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateTime","title":"UpdateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateTime"}}]'
- ContextMenu: 'listContextMenuMatAttrSettingAndPlanStrategy'
- SortCriteria: 'MatCode'
- Taborder: 1
- ]
- }
- #child: listActionBarPageMatAttrSettingAndPlanStrategy
- ]
- Properties:
- [
- Taborder: 2
- ]
- ResponseDefinitions:
- [
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategy_WebMenu_OnClick
- {
- #keys: '[414384.0.769370436]'
- Initiator: 'WebMenu'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument selection
- {
- #keys: '[2651.0.25404553]'
- Binding: 'this.Selection()'
- }
- ]
- }
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategy_WebButton_OnClick
- {
- #keys: '[414384.0.769370435]'
- Initiator: 'WebButton'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument selection
- {
- #keys: '[6763.0.7953347]'
- Binding: 'this.Selection()'
- }
- ]
- }
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategy_WebMenu_OnClick_106
- {
- #keys: '[414384.0.769370434]'
- Initiator: 'WebMenu'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument checked
- {
- #keys: '[6763.0.7953392]'
- Binding: 'this.Checked()'
- }
- ]
- }
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategy_WebButton_OnClick_415
- {
- #keys: '[414384.0.769370433]'
- Initiator: 'WebButton'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument checked
- {
- #keys: '[6763.0.7953437]'
- Binding: 'this.Checked()'
- }
- ]
- }
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_listActionBarPageMatAttrSettingAndPlanStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_listActionBarPageMatAttrSettingAndPlanStrategy.def
deleted file mode 100644
index 524e038..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_listActionBarPageMatAttrSettingAndPlanStrategy.def
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component listActionBarPageMatAttrSettingAndPlanStrategy
-{
- #keys: '[414384.0.769370448]'
- BaseType: 'listActionBarPage'
- Properties:
- [
- Taborder: 2
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_listContextMenuMatAttrSettingAndPlanStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_listContextMenuMatAttrSettingAndPlanStrategy.def
deleted file mode 100644
index 3415621..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Component_listContextMenuMatAttrSettingAndPlanStrategy.def
+++ /dev/null
@@ -1,27 +0,0 @@
-Quintiq file version 2.0
-Component listContextMenuMatAttrSettingAndPlanStrategy
-{
- #keys: '[414384.0.769370444]'
- BaseType: 'listContextMenu'
- Children:
- [
- Component MenuEdit
- {
- #keys: '[414384.0.769370445]'
- BaseType: 'WebMenu'
- Properties:
- [
- BindOnDoubleClick: true
- DelegationID: 'ActionBarData_Edit'
- Image: 'PENCIL'
- Shortcut: 'Enter'
- Taborder: 3
- Title: 'Edit...'
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ButtonMatAttrSettingAndPlanStrategyExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ButtonMatAttrSettingAndPlanStrategyExport_OnClick.def
deleted file mode 100644
index 73a180c..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ButtonMatAttrSettingAndPlanStrategyExport_OnClick.def
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonMatAttrSettingAndPlanStrategyExport
-Response OnClick () id:Response_FormMatAttrSettingAndPlanStrategy_ButtonMatAttrSettingAndPlanStrategyExport_OnClick
-{
- #keys: '[414384.0.772313427]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- QuillAction
- {
- Body:
- [*
- info( "ButtonMatAttrSettingAndPlanStrategyExport.OnClick" );
- Application.Download( "MatAttrSettingAndPlanningStrategy.xlsx",
- MatAttrSettingAndPlanStrategyDataTable::Export( GlobalOTDTable ) );
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ButtonMatAttrSettingAndPlanStrategyImport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ButtonMatAttrSettingAndPlanStrategyImport_OnClick.def
deleted file mode 100644
index 183442b..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ButtonMatAttrSettingAndPlanStrategyImport_OnClick.def
+++ /dev/null
@@ -1,32 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonMatAttrSettingAndPlanStrategyImport
-Response OnClick () id:Response_FormMatAttrSettingAndPlanStrategy_ButtonMatAttrSettingAndPlanStrategyImport_OnClick
-{
- #keys: '[414384.0.772313506]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- QuillAction
- {
- Body:
- [*
- try {
- uploadJson := Application.GetFile();
- json := JSON::Parse( uploadJson );
- if( json.IsArray() or json.Size() = 0 ) {
- error( "please select one .xls or .xlsx file" );
- }
- name := json.Get( "name" ).GetString();
- base64Data := json.Get( "data" ).GetString();
- inputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDTable, name, base64Data, ApplicationMacroPlanner.GetUserName() );
- inputSource.ParseTable();
- inputSource.SaveData();
- } onerror {
- info( e.GeneralInformation() );
- info( e.DetailedInformation() );
- info( e.DeveloperInformation() );
- WebMessageBox::Error( e.GeneralInformation() );
- }
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ListMatAttrSettingAndPlanStrategy_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ListMatAttrSettingAndPlanStrategy_MenuEdit_OnClick.def
deleted file mode 100644
index f0014e8..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_ListMatAttrSettingAndPlanStrategy_MenuEdit_OnClick.def
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: ListMatAttrSettingAndPlanStrategy
-Response OnClick (
- MatAttrSettingAndPlanStrategy selection
-) id:Response_ListMatAttrSettingAndPlanStrategy_MenuEdit_OnClick
-{
- #keys: '[414384.0.769370438]'
- CanBindMultiple: false
- DefinitionID => /ListMatAttrSettingAndPlanStrategy/Responsedef_ListMatAttrSettingAndPlanStrategy_WebMenu_OnClick
- GroupServerCalls: true
- Initiator: 'MenuEdit'
- QuillAction
- {
- Body:
- [*
- dlg := construct( DialogEditMatAttrSettingAndPlanStrategy );
- dlg.Edit( selection );
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_OnCreated.def
deleted file mode 100644
index 461fa7c..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/Response_OnCreated.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Response OnCreated () id:Response_FormMatAttrSettingAndPlanStrategy_OnCreated
-{
- #keys: '[414384.0.770811994]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnCreated'
- GroupServerCalls: true
- QuillAction
- {
- Body:
- [*
- GlobalOTDTable.InitTestData();
- info( "FormMatAttrSettingAndPlanStrategy created" )
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/_ROOT_Component_FormMatAttrSettingAndPlanStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/_ROOT_Component_FormMatAttrSettingAndPlanStrategy.def
deleted file mode 100644
index 7d0618e..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategy/_ROOT_Component_FormMatAttrSettingAndPlanStrategy.def
+++ /dev/null
@@ -1,39 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlannerWebApp
-OrphanComponent FormMatAttrSettingAndPlanStrategy
-{
- #keys: '[414384.0.767100500]'
- BaseType: 'WebForm'
- Children:
- [
- #child: ListMatAttrSettingAndPlanStrategy
- Component ButtonMatAttrSettingAndPlanStrategyExport
- {
- #keys: '[414384.0.770831027]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'EXPORT1'
- Label: 'Export'
- Taborder: 0
- ]
- }
- Component ButtonMatAttrSettingAndPlanStrategyImport
- {
- #keys: '[414384.0.770831036]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'IMPORT1'
- Label: 'Import'
- Taborder: 1
- ]
- }
- ]
- Properties:
- [
- Description: '4.11.鐗╂枡灞炴�ф爣绛捐瀹�&鐗╂枡璁″垝绛栫暐'
- Title: '鐗╂枡灞炴�ф爣绛句笌鐗╂枡璁″垝绛栫暐'
- ]
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_ListMatAttrSettingAndPlanStrategyDetail\04321.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_ListMatAttrSettingAndPlanStrategyDetail\04321.def"
deleted file mode 100644
index 6a99d11..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_ListMatAttrSettingAndPlanStrategyDetail\04321.def"
+++ /dev/null
@@ -1,106 +0,0 @@
-Quintiq file version 2.0
-Component ListMatAttrSettingAndPlanStrategyDetail id:ListMatAttrSettingAndPlanStrategyDetail_21
-{
- #keys: '[414384.0.769370487]'
- BaseType: 'WebList'
- Children:
- [
- Component DataExtractorMatAttrSettingAndPlanStrategyDetail
- {
- #keys: '[414384.0.769370488]'
- BaseType: 'WebDataExtractor'
- Properties:
- [
- DataType: 'MatAttrSettingAndPlanStrategy'
- ExtractionMode: 'Selected'
- Source: 'FormMatAttrSettingAndPlanStrategy.ListMatAttrSettingAndPlanStrategy'
- Taborder: 0
- Transformation: 'MatAttrSettingAndPlanStrategyDetail'
- ]
- }
- Component DataSetLevelMatAttrSettingAndPlanStrategyDetail
- {
- #keys: '[414384.0.769370489]'
- BaseType: 'WebDataSetLevel'
- Children:
- [
- #child: listContextMenuMatAttrSettingAndPlanStrategyDetail_1
- ]
- Properties:
- [
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StandardLT","title":"StandardLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StandardLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductDesc","title":"ProductDesc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductDesc"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Comment","title":"Comment","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Comment"}}]'
- ContextMenu: 'listContextMenuMatAttrSettingAndPlanStrategyDetail'
- SortCriteria: 'MatCode;ProductCode'
- Taborder: 1
- ]
- }
- #child: listActionBarPageMatAttrSettingAndPlanStrategyDetail_1
- ]
- Properties:
- [
- Taborder: 0
- ]
- ResponseDefinitions:
- [
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategyDetail_21_WebMenu_OnClick
- {
- #keys: '[414384.0.769370482]'
- Initiator: 'WebMenu'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument selection
- {
- #keys: '[2651.0.25404553]'
- Binding: 'this.Selection()'
- }
- ]
- }
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategyDetail_21_WebButton_OnClick
- {
- #keys: '[414384.0.769370481]'
- Initiator: 'WebButton'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument selection
- {
- #keys: '[6763.0.7953347]'
- Binding: 'this.Selection()'
- }
- ]
- }
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategyDetail_21_WebMenu_OnClick_737
- {
- #keys: '[414384.0.769370480]'
- Initiator: 'WebMenu'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument checked
- {
- #keys: '[6763.0.7953392]'
- Binding: 'this.Checked()'
- }
- ]
- }
- DelegatedResponseDefinition OnClick id:Responsedef_ListMatAttrSettingAndPlanStrategyDetail_21_WebButton_OnClick_456
- {
- #keys: '[414384.0.769370479]'
- Initiator: 'WebButton'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument checked
- {
- #keys: '[6763.0.7953437]'
- Binding: 'this.Checked()'
- }
- ]
- }
- ]
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_listActionBarPageMatAttrSettingAndPlanStrategyDetail\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_listActionBarPageMatAttrSettingAndPlanStrategyDetail\0431.def"
deleted file mode 100644
index c48d2ee..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_listActionBarPageMatAttrSettingAndPlanStrategyDetail\0431.def"
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component listActionBarPageMatAttrSettingAndPlanStrategyDetail id:listActionBarPageMatAttrSettingAndPlanStrategyDetail_1
-{
- #keys: '[414384.0.769370494]'
- BaseType: 'listActionBarPage'
- Properties:
- [
- Taborder: 2
- ]
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_listContextMenuMatAttrSettingAndPlanStrategyDetail\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_listContextMenuMatAttrSettingAndPlanStrategyDetail\0431.def"
deleted file mode 100644
index a829c7d..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/Component_listContextMenuMatAttrSettingAndPlanStrategyDetail\0431.def"
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component listContextMenuMatAttrSettingAndPlanStrategyDetail id:listContextMenuMatAttrSettingAndPlanStrategyDetail_1
-{
- #keys: '[414384.0.769370490]'
- BaseType: 'listContextMenu'
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/_ROOT_Component_FormMatAttrSettingAndPlanStrategyDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/_ROOT_Component_FormMatAttrSettingAndPlanStrategyDetail.def
deleted file mode 100644
index 5247d29..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMatAttrSettingAndPlanStrategyDetail/_ROOT_Component_FormMatAttrSettingAndPlanStrategyDetail.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlannerWebApp
-OrphanComponent FormMatAttrSettingAndPlanStrategyDetail
-{
- #keys: '[414384.0.769370336]'
- BaseType: 'WebForm'
- Children:
- [
- #child: ListMatAttrSettingAndPlanStrategyDetail_21
- ]
- Properties:
- [
- Description: '鐗╂枡灞炴�ф爣绛捐瀹�&鐗╂枡璁″垝绛栫暐'
- Title: '鐗╂枡鍏宠仈浜у搧'
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def
new file mode 100644
index 0000000..40e2efd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component ListChildMaterial
+{
+ #keys: '[414702.0.122536770]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorChildMaterial
+ {
+ #keys: '[414702.0.122536771]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MatAttrSettingAndPlanStrategy'
+ ExtractionMode: 'Selected'
+ Source: 'PanelMaterial.ListMaterialMaterialLabelingAndPlanningStrategy'
+ Taborder: 0
+ Transformation: 'MatAttrSettingAndPlanStrategyDetail'
+ ]
+ }
+ #child: listActionBarPageChildMaterial
+ Component DataSetLevelChildMaterial
+ {
+ #keys: '[414702.0.122536776]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuChildMaterial
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StandardLT","title":"StandardLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StandardLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductDesc","title":"ProductDesc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductDesc"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Comment","title":"Comment","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Comment"}}]'
+ ContextMenu: 'listContextMenuChildMaterial'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy\043880.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy\043880.def"
new file mode 100644
index 0000000..698efbd
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy\043880.def"
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListMaterialMaterialLabelingAndPlanningStrategy id:ListMaterialMaterialLabelingAndPlanningStrategy_880
+{
+ #keys: '[414702.0.122174685]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorMaterial367
+ {
+ #keys: '[414702.0.122174686]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'MatAttrSettingAndPlanStrategy'
+ ]
+ }
+ #child: listActionBarPageMaterial790_1
+ Component DataSetLevelMaterial679
+ {
+ #keys: '[414702.0.122174688]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuMaterial455_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SerialNumber","title":"SerialNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SerialNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatName","title":"MatName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatType","title":"MatType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatArrivalLT","title":"MatArrivalLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatArrivalLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCount","title":"ProductCount","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinProdDeliverLT","title":"MinProdDeliverLT","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MinProdDeliverLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagLongTerm","title":"FlagLongTerm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagLongTerm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagGeneric","title":"FlagGeneric","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagGeneric"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyAuto","title":"PlanningStrategyAuto","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PlanningStrategyAuto"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyCustom","title":"PlanningStrategyCustom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningStrategyCustom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateBy","title":"UpdateBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateBy"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateTime","title":"UpdateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinimumNumberOfDaysInStock","title":"MinimumNumberOfDaysInStock","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MinimumNumberOfDaysInStock"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumNumberOfDaysInInventory","title":"MaximumNumberOfDaysInInventory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumNumberOfDaysInInventory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"1","title":"1","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"VALUE( object.UpdateTime() )"}}]'
+ ContextMenu: 'listContextMenuMaterial455'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ SelectionCheckboxes: true
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick
+ {
+ #keys: '[414702.0.132706551]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[319.0.80354936]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial\043558.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial\043558.def"
new file mode 100644
index 0000000..8e0ce39
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial\043558.def"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelChildMaterial
+{
+ #keys: '[414702.0.121452333]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListChildMaterial
+ ]
+ Properties:
+ [
+ Border: true
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def
new file mode 100644
index 0000000..7232995
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component PanelMaterial
+{
+ #keys: '[414702.0.121452322]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListMaterialMaterialLabelingAndPlanningStrategy_880
+ #child: PanelMaterialOperationButton
+ Component DataHolderCheckedMaterials
+ {
+ #keys: '[414702.0.136936641]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[MatAttrSettingAndPlanStrategy]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def"
new file mode 100644
index 0000000..636f952
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def"
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+Component PanelMaterialExportAndImport id:PanelMaterialExportAndImport_136
+{
+ #keys: '[414702.0.130101487]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonMaterialExportAndExport
+ {
+ #keys: '[414702.0.130101488]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Label: '鏁版嵁瀵煎嚭'
+ Taborder: 1
+ ]
+ }
+ Component ButtonMaterialExportAndImport
+ {
+ #keys: '[414702.0.130101489]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'IMPORT1'
+ Label: '鏁版嵁瀵煎叆'
+ Taborder: 2
+ ]
+ }
+ Component ButtonSynchronizeInventoryTargets
+ {
+ #keys: '[414702.0.142124169]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'CLOUD_REFRESH'
+ Label: '鍚屾搴撳瓨鐩爣'
+ Taborder: 0
+ Visible: false
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ FixedSize: true
+ MinimumColumns: 25
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def
new file mode 100644
index 0000000..97be3df
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelMaterialLabelingAndPlanningStrategy
+{
+ #keys: '[414702.0.121452301]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelChildMaterial
+ #child: PanelMaterial
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def
new file mode 100644
index 0000000..3099403
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelMaterialOperationButton
+{
+ #keys: '[414702.0.130161515]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelMaterialExportAndImport_136
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def
new file mode 100644
index 0000000..a4bbf6c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageChildMaterial
+{
+ #keys: '[414702.0.122536773]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790\0431.def"
new file mode 100644
index 0000000..7c30238
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageMaterial790 id:listActionBarPageMaterial790_1
+{
+ #keys: '[414702.0.122174687]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def
new file mode 100644
index 0000000..e87ec5b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuChildMaterial
+{
+ #keys: '[414702.0.122536778]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455\0431.def"
new file mode 100644
index 0000000..fe19274
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455\0431.def"
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+Component listContextMenuMaterial455 id:listContextMenuMaterial455_1
+{
+ #keys: '[414702.0.122174689]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSeparator
+ {
+ #keys: '[121142.1.1147171519]'
+ BaseType: 'MenuSeparator'
+ IsDerived: true
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ Component MenuDeleteAll
+ {
+ #keys: '[414702.0.141671580]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 3
+ Title: '鍒犻櫎'
+ ]
+ }
+ Component MenuSelectAll
+ {
+ #keys: '[414702.0.141943188]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'PIG'
+ Shortcut: 'Ctrl+A'
+ Taborder: 4
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def
new file mode 100644
index 0000000..a921721
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880
+Response OnClick (
+ structured[MatAttrSettingAndPlanStrategy] selection
+) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_OnClick
+{
+ #keys: '[414702.0.141854066]'
+ CanBindMultiple: false
+ DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick
+ Initiator: 'MenuDeleteAll'
+ QuillAction
+ {
+ Body:
+ [*
+ traverse ( selection, Elements, s ) {
+ s.Delete();
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def
new file mode 100644
index 0000000..23b4c6a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880
+Response OnClick () id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_OnClick
+{
+ #keys: '[414702.0.141794738]'
+ CanBindMultiple: false
+ DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick
+ Initiator: 'MenuSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def
new file mode 100644
index 0000000..a91ec9c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880
+Response OnDoubleClick (
+ MatAttrSettingAndPlanStrategy selection
+) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick
+{
+ #keys: '[414702.0.137732025]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnDoubleClick'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditMaterialLabelingAndPlanningStrategy );
+ dlg.Edit( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck\043591.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck\043591.def"
new file mode 100644
index 0000000..4eb4da0
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck\043591.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880
+Response OnUserCheckedChanged () id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedChanged_591
+{
+ #keys: '[414702.0.136206065]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderCheckedMaterials.Data().Flush();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def
new file mode 100644
index 0000000..9c7c2b3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880
+Response OnUserCheckedChanged (
+ structured[MatAttrSettingAndPlanStrategy] checkeditems
+) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedChanged
+{
+ #keys: '[414702.0.136757090]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderCheckedMaterials.Data( checkeditems.Copy() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def
new file mode 100644
index 0000000..b909d65
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelMaterialExportAndImport_136/ButtonMaterialExportAndExport
+Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnClick
+{
+ #keys: '[414702.0.133071932]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ tableBinaryData := MatAttrSettingAndPlanStrategy::ExportTheFileStream( DataHolderCheckedMaterials.Data() ).AsBinaryData();
+ Application.Download( "MaterialLabelingAndPlanningStrategy.xlsx", tableBinaryData );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def
new file mode 100644
index 0000000..ce5035b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: PanelMaterialExportAndImport_136/ButtonMaterialExportAndImport
+Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnClick
+{
+ #keys: '[414702.0.134451163]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ try {
+ uploadJsonString := Application.GetFile();
+ if ( uploadJsonString <> "" ) {
+ uploadJson := JSON::Parse( uploadJsonString );
+
+ MatAttrSettingAndPlanStrategyInputSource::VerifyTheFileName( uploadJson );
+
+ fileName := uploadJson.Get( "name" ).GetString();
+ base64String := uploadJson.Get( "data" ).GetString();
+ matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDTable, fileName, base64String, ApplicationMacroPlanner.GetUserName() );
+
+ matAttrSettingAndPlanStrategyInputSource.ParseTable();
+
+ matAttrSettingAndPlanStrategyDataTable := select( matAttrSettingAndPlanStrategyInputSource, MatAttrSettingAndPlanStrategyDataTable, tempMASAPSDT, tempMASAPSDT.name() = "鐗╂枡鏍囩" );
+ matAttrSettingAndPlanStrategyDataTable.VerifyTheTemplate();
+
+ matAttrSettingAndPlanStrategyDataTable.SynchronizeData();
+
+ WebMessageBox::Success( "涓婁紶鎴愬姛", true );
+ }
+ } onerror {
+ WebMessageBox::Error( e.GeneralInformation(), true );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def
new file mode 100644
index 0000000..a7731ca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelMaterialExportAndImport_136/ButtonSynchronizeInventoryTargets
+Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_OnClick
+{
+ #keys: '[414702.0.141615322]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Success( "鍚屾鎴愬姛", true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def
new file mode 100644
index 0000000..380ad59
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: PanelMaterial/DataHolderCheckedMaterials
+Response OnDataChanged () id:Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged
+{
+ #keys: '[414702.0.136147695]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ //traverse ( this.Data(), Elements, e ) {
+ // info( "閫変腑鐨勭墿鏂欏彿锛�", e.MatCode() );
+ //}
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def
new file mode 100644
index 0000000..527a380
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormMaterialLabelingAndPlanningStrategy
+{
+ #keys: '[414702.0.120950329]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelMaterialLabelingAndPlanningStrategy
+ ]
+ Properties:
+ [
+ Description: '鐗╂枡鏍囩&璁″垝绛栫暐琛ㄥ崟'
+ Image: 'PAPER_ROLL'
+ Title: 'Material labeling&planning strategy'
+ ]
+}
--
Gitblit v1.9.3