From 56e177a01ebbaba93ec77e704bc15222332dece5 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期三, 27 十一月 2024 17:14:29 +0800
Subject: [PATCH] 添加单班次计划配置,修复一些bug
---
_Main/UI/MacroPlannerWebApp/Views/MaintenanceSingleShiftConfig.vw | 199 ++++++++++++++
_Main/BL/Type_SingleShiftConfig/Attribute_StandardYield.qbl | 7
_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl | 17
_Main/BL/Type_SingleShiftConfig/Attribute_ShiftName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishPDM.def | 35 ++
_Main/BL/Type_SingleShiftConfig/Attribute_SingleShiftName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuMaintenanceSingleShiftConfig.def | 17 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def | 2
_Main/BL/EDI/Broker_MP_ExportSingleShiftConfigBroker.qbl | 48 +++
_var/_Main/Data/MP_SingleShiftConfig.xlsx | 0
_Main/BL/Type_SingleShiftConfig/Attribute_ID.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPublish.def | 26 +
_Main/BL/Type_Archive/StaticMethod_GenerateForecast.qbl | 30 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Response_MacroPlanner_pnlActions_bSplitUsingCurve_OnClick.def | 4
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bExport_OnClick.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listContextMenuSingleShiftConfig.def | 10
_Main/BL/Type_SingleShiftConfig/StaticMethod_Export.qbl | 14 +
_Main/BL/Type_SingleShiftConfig/StaticMethod_Import.qbl | 70 +++++
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig497.def | 14 +
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/_ROOT_Component_FormSingleShiftConfig.def | 17 +
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_ListSingleShiftConfig.def | 41 ++
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig.def | 35 ++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelCurve.def | 1
_Main/BL/Relations/Relation_SingleShiftConfig_Unit_Unit_SingleShiftConfig.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listActionBarPageSingleShiftConfig.def | 10
/dev/null | 17 -
_Main/BL/Type_SingleShiftConfig/_ROOT_Type_SingleShiftConfig.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bImport_OnClick.def | 45 +++
_Main/BL/Type_SingleShiftConfig/Function_CalcUnitID.qbl | 13
_Main/BL/Type_SingleShiftConfig/TypeIndex_SingleShiftConfigTypeIndex.qbl | 12
_Main/BL/Type_SingleShiftConfig/Attribute_UnitID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def | 6
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuPublishShiftSchedulingInform.def | 21 +
33 files changed, 736 insertions(+), 53 deletions(-)
diff --git a/_Main/BL/EDI/Broker_MP_ExportSingleShiftConfigBroker.qbl b/_Main/BL/EDI/Broker_MP_ExportSingleShiftConfigBroker.qbl
new file mode 100644
index 0000000..d68eddd
--- /dev/null
+++ b/_Main/BL/EDI/Broker_MP_ExportSingleShiftConfigBroker.qbl
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker MP_ExportSingleShiftConfigBroker
+{
+ MDSDefinition: MacroPlan
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Source SingleShiftConfigSource
+ {
+ EDIMLTable SingleShiftConfig
+ {
+ TargetType: SingleShiftConfig
+ EDIMLColumn ID { Attribute: ID ValueType: String }
+ EDIMLColumn ShiftName { Attribute: ShiftName ValueType: String }
+ EDIMLColumn SingleShiftName { Attribute: SingleShiftName ValueType: String }
+ EDIMLColumn StandardYield { Attribute: StandardYield ValueType: Real }
+ EDIMLColumn UnitID { Attribute: UnitID ValueType: String }
+ }
+ }
+ EDITransformation.Transformation SingleShiftConfigTransformation
+ {
+ EDITableTransformation
+ {
+ InputTable: SingleShiftConfig
+ OutputTable: SingleShiftConfig
+ EDIColumnMatch { InputColumn: ID OutputColumn: ID }
+ EDIColumnMatch { InputColumn: ShiftName OutputColumn: ShiftName }
+ EDIColumnMatch { InputColumn: SingleShiftName OutputColumn: SingleShiftName }
+ EDIColumnMatch { InputColumn: StandardYield OutputColumn: StandardYield }
+ EDIColumnMatch { InputColumn: UnitID OutputColumn: UnitID }
+ }
+ }
+ EDIXLSLink.Destination SingleShiftConfigDestination
+ {
+ FileName: 'MP_SingleShiftConfig'
+ EDIXLSLinkTable SingleShiftConfig
+ {
+ Columns:
+ [
+ EDIXLSLinkColumn ID { ValueType: String }
+ EDIXLSLinkColumn ShiftName { ValueType: String }
+ EDIXLSLinkColumn SingleShiftName { ValueType: String }
+ EDIXLSLinkColumn StandardYield { ValueType: Real }
+ EDIXLSLinkColumn UnitID { ValueType: String }
+ ]
+ }
+ }
+}
diff --git a/_Main/BL/Relations/Relation_SingleShiftConfig_Unit_Unit_SingleShiftConfig.qbl b/_Main/BL/Relations/Relation_SingleShiftConfig_Unit_Unit_SingleShiftConfig.qbl
new file mode 100644
index 0000000..5700a68
--- /dev/null
+++ b/_Main/BL/Relations/Relation_SingleShiftConfig_Unit_Unit_SingleShiftConfig.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation SingleShiftConfig_Unit_Unit_SingleShiftConfig
+{
+ #keys: '1[414996.1.251280077]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Unit
+ {
+ #keys: '3[414996.1.251280079][414996.1.251280078][414996.1.251280080]'
+ Cardinality: '0to1'
+ ObjectDefinition: SingleShiftConfig
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide SingleShiftConfig
+ {
+ #keys: '3[414996.1.251280082][414996.1.251280081][414996.1.251280083]'
+ Cardinality: '1toN'
+ ObjectDefinition: Unit
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_Archive/StaticMethod_GenerateForecast.qbl b/_Main/BL/Type_Archive/StaticMethod_GenerateForecast.qbl
index 6e3196f..00e9c16 100644
--- a/_Main/BL/Type_Archive/StaticMethod_GenerateForecast.qbl
+++ b/_Main/BL/Type_Archive/StaticMethod_GenerateForecast.qbl
@@ -36,6 +36,10 @@
}
traverse ( archiveExecutionStatus, TemporaryDemandData, tdd ,tdd.Origin() = "" or tdd.StartDate() >= macroPlan.StartOfPlanning().Date()) {
+ if( tdd.ProductID() = "6914" or tdd.ProductID() = "6916" or tdd.ProductID() = "6917" or tdd.ProductID() = "06S100010R" or tdd.ProductID() = "06S100010M" or tdd.ProductID() = "06S100010N" ){
+ tdd.StockingPointID( "澶ц繛鍙戝姩鏈虹殑闀挎槬澶栫搴�" );
+ }
+
targetProduct_MP := null( Product_MP );
productMPHandleNotes := productMPIndexTreeNotes.GetHandle( tdd.ProductID());
@@ -62,19 +66,19 @@
// info( tdd.SalesSegmentName() );
if ( not isnull( targetProduct_MP ) and not isnull( targetStockingPoint_MP ) ) {
forcest := Forecast::Create( targetProduct_MP,
- targetStockingPoint_MP,
- IDHolder::GetGUID(),
- tdd.StartDate(),
- tdd.EndDate(),
- tdd.Quantity(),
- [Real]tdd.Price(),
- tdd.PriorityName(),
- tdd.SalesSegmentName(),
- tdd.CurrencyID(),
- tdd.UnitOfMeasureName(),
- 0.0,
- false,
- false );
+ targetStockingPoint_MP,
+ IDHolder::GetGUID(),
+ tdd.StartDate(),
+ tdd.EndDate(),
+ tdd.Quantity(),
+ [Real]tdd.Price(),
+ tdd.PriorityName(),
+ tdd.SalesSegmentName(),
+ tdd.CurrencyID(),
+ tdd.UnitOfMeasureName(),
+ 0.0,
+ false,
+ false );
forcest.Origin( tdd.Origin() );
}
if( isnull( targetProduct_MP )){
diff --git a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
index c672705..8d7561a 100644
--- a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
+++ b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
@@ -51,15 +51,16 @@
dispatchShiftPlan.InterfaceTime( now );
}else{
if( archiveShiftPlan.Outcome() <> "" ){
- interfaceLoginfo.DispatchShiftPlan( relnew,ID := OS:: GenerateGUIDAsString(),
- ProductLine := productLine,
- FactoryName := factoryName,
- ShiftQty := archiveShiftPlan.Outcome(),
+ dispatchShiftPlan := interfaceLoginfo.DispatchShiftPlan( relnew,ID := OS:: GenerateGUIDAsString(),
+ ProductLine := productLine,
+ FactoryName := factoryName,
+ ShiftQty := archiveShiftPlan.Outcome(),
- ShiftDate := shiftDate,
- Tips := archiveShiftPlan.Remark(),
- VersionName := archiveShiftPlan.MacroPlanName(),
- InterfaceTime := now );
+ ShiftDate := shiftDate,
+ Tips := archiveShiftPlan.Remark(),
+ VersionName := archiveShiftPlan.MacroPlanName(),
+ InterfaceTime := now );
+ dispatchShiftPlan.CalcFac();
}
}
}
diff --git a/_Main/BL/Type_SingleShiftConfig/Attribute_ID.qbl b/_Main/BL/Type_SingleShiftConfig/Attribute_ID.qbl
new file mode 100644
index 0000000..d63d57c
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414996.1.253601321][414996.1.253601320][414996.1.253601322]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/Attribute_ShiftName.qbl b/_Main/BL/Type_SingleShiftConfig/Attribute_ShiftName.qbl
new file mode 100644
index 0000000..83db221
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/Attribute_ShiftName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShiftName
+{
+ #keys: '3[414996.1.251280091][414996.1.251280090][414996.1.251280092]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/Attribute_SingleShiftName.qbl b/_Main/BL/Type_SingleShiftConfig/Attribute_SingleShiftName.qbl
new file mode 100644
index 0000000..d5ea020
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/Attribute_SingleShiftName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SingleShiftName
+{
+ #keys: '3[414996.1.251280114][414996.1.251280113][414996.1.251280115]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/Attribute_StandardYield.qbl b/_Main/BL/Type_SingleShiftConfig/Attribute_StandardYield.qbl
new file mode 100644
index 0000000..962b480
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/Attribute_StandardYield.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StandardYield
+{
+ #keys: '3[414996.1.251280101][414996.1.251280100][414996.1.251280102]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/Attribute_UnitID.qbl b/_Main/BL/Type_SingleShiftConfig/Attribute_UnitID.qbl
new file mode 100644
index 0000000..4701dc9
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/Attribute_UnitID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitID
+{
+ #keys: '3[414996.1.253602237][414996.1.253602236][414996.1.253602238]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/Function_CalcUnitID.qbl b/_Main/BL/Type_SingleShiftConfig/Function_CalcUnitID.qbl
new file mode 100644
index 0000000..9991cc0
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/Function_CalcUnitID.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcUnitID
+{
+ TextBody:
+ [*
+ // Akari Nov-27-2024 (created)
+
+ value := this.Unit().ID();
+
+ this.UnitID( value );
+ *]
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/StaticMethod_Export.qbl b/_Main/BL/Type_SingleShiftConfig/StaticMethod_Export.qbl
new file mode 100644
index 0000000..d819173
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/StaticMethod_Export.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ MacroPlan macroPlan
+) as BinaryValue
+{
+ TextBody:
+ [*
+ // Akari Nov-27-2024 (created)
+ binaryData := macroPlan.MP_ExportSingleShiftConfigBroker().ExecuteToXLS( true );
+
+ return binaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/StaticMethod_Import.qbl b/_Main/BL/Type_SingleShiftConfig/StaticMethod_Import.qbl
new file mode 100644
index 0000000..c3d4983
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/StaticMethod_Import.qbl
@@ -0,0 +1,70 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Import (
+ MacroPlan macroPlan,
+ GeneralExcelImportAndExportDataTable table
+)
+{
+ TextBody:
+ [*
+ // 娓呯┖鍘熷鏁版嵁
+ units := selectset( macroPlan,Unit,unit,true );
+ unitIndexTree := NamedValueTree::Create();
+ for( i := 0; i< units.Size(); i++ ){
+ unit := units.Element( i );
+ unit.SingleShiftConfig( relflush );
+
+ unitHandle := unitIndexTree.GetHandle( unit.ID() );
+ unitIndexTree.Root().AddChild( unitHandle,i );
+ }
+
+ // 鏍¢獙鏂囦欢鍚�
+ //if ( table.GeneralExcelImportAndExportDataSource().Name() <> "鍙戝姩鏈哄尮閰�-鍏綅鐮�.xlsx" ) {
+ // error( Translations::A_VWED_GeneralExcelImportAndExportDataSource_UploadError2() );
+ //}
+
+ // 鐢熸垚鏁版嵁
+ rows := selectsortedset( table,GeneralExcelImportAndExportDataRow,row,row.RowNr());
+
+ traverse( rows,Elements,row ){
+
+ // idCell := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 0 );
+ shiftNameCell := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 1 );
+ singleShiftNameCell := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 2 );
+ standardYieldCell := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 3 );
+ unitIDCell := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 4 );
+
+ unitID := guard( unitIDCell.Value(), "" );
+ if( unitID = "" ){
+ error( "Unit ID 涓哄繀濉」銆�" );
+ }
+ unitHandle := unitIndexTree.GetHandle( unitID );
+ unitIndex := guard( unitIndexTree.Root().Child( unitHandle ),null( NamedValue ));
+ if( not isnull( unitIndex )){
+ unit := units.Element( unitIndex.GetValueAsNumber() );
+ unit.SingleShiftConfig( relnew,
+ ID := IDHolder::GetGUID(),
+ ShiftName := guard( shiftNameCell.Value(), "" ),
+ SingleShiftName := guard( singleShiftNameCell.Value(), "" ),
+ StandardYield := [Real]guard( standardYieldCell.Value(), "0" ));
+ }else{
+ error( "鏃犳硶鍦ㄣ��" + macroPlan.MDSMacroPlan().Description() + "銆戝唴鎵惧埌浜х嚎銆�" + unitID + "銆戙��");
+ }
+ }
+
+ //// 鏍¢獙鏁版嵁
+ //feedback := "";
+ //sanitycheckfeedback := "";
+ //flag := true;
+ //
+ //traverse ( macroPlan, SixDigitCode, sdc, flag ) {
+ // SixDigitCode::ValidateInput( feedback, sanitycheckfeedback, macroPlan, sdc.Code(), sdc.Curve(), sdc.VehicleModel(), sdc.ProducingArea(), sdc.Engine(), sdc.Power(), sdc.EnginePartNumber(),
+ // sdc.EngineFourDigitCode(), sdc.Remarks(), sdc );
+ // flag := feedback = "";
+ //}
+ //
+ //if ( not flag ) {
+ // error( feedback );
+ //}
+ *]
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/TypeIndex_SingleShiftConfigTypeIndex.qbl b/_Main/BL/Type_SingleShiftConfig/TypeIndex_SingleShiftConfigTypeIndex.qbl
new file mode 100644
index 0000000..16985db
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/TypeIndex_SingleShiftConfigTypeIndex.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex SingleShiftConfigTypeIndex
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: ID
+ }
+ ]
+}
diff --git a/_Main/BL/Type_SingleShiftConfig/_ROOT_Type_SingleShiftConfig.qbl b/_Main/BL/Type_SingleShiftConfig/_ROOT_Type_SingleShiftConfig.qbl
new file mode 100644
index 0000000..7fad944
--- /dev/null
+++ b/_Main/BL/Type_SingleShiftConfig/_ROOT_Type_SingleShiftConfig.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type SingleShiftConfig
+{
+ #keys: '5[414996.1.251280060][414996.1.251280058][0.0.0][414996.1.251280059][414996.1.251280061]'
+ BaseType: Object
+ Description: '鍗曠彮娆¢厤缃�'
+ StructuredName: 'SingleShiftConfigs'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
index 6d2c76c..75c4c04 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
@@ -56,7 +56,7 @@
Properties:
[
Image: 'PRODUCT'
- Label: 'Archive packaging plan'
+ Label: '鍖呰璁″垝瀛樻。'
Taborder: 4
]
}
@@ -67,7 +67,7 @@
Properties:
[
Image: 'TRUCK2_BLUE'
- Label: 'Archive transfer plan'
+ Label: '杩愯緭璁″垝瀛樻。'
Taborder: 5
]
}
@@ -89,7 +89,7 @@
Properties:
[
Image: 'KEYBOARD_KEY_SHIFT'
- Label: 'Archive shift plan'
+ Label: '鐝璁″垝瀛樻。'
Taborder: 6
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPublish.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPublish.def
index 5bd332f..2aea670 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPublish.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPublish.def
@@ -16,17 +16,6 @@
Taborder: 0
]
}
- Component ButtonDispatchShiftSchedulingInformation
- {
- #keys: '[414996.1.173765219]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'SKIN_TIGER'
- Label: '涓嬪彂鐝璁″垝淇℃伅'
- Taborder: 2
- ]
- }
Component ButtonPublishSAP
{
#keys: '[415136.0.1332920231]'
@@ -42,6 +31,21 @@
Taborder: 1
]
}
+ Component ButtonPublishPDM
+ {
+ #keys: '[414996.1.253210336]'
+ BaseType: 'WebButton'
+ Children:
+ [
+ #child: ContextMenuPublishPDM
+ ]
+ Properties:
+ [
+ Image: 'DATA_OUT'
+ Label: 'PDM 鎺ュ彛鏁版嵁鎺ㄩ��'
+ Taborder: 2
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishPDM.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishPDM.def
new file mode 100644
index 0000000..5480ace
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishPDM.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component ContextMenuPublishPDM
+{
+ #keys: '[414996.1.253210337]'
+ BaseType: 'WebContextMenu'
+ Children:
+ [
+ Component MenuPublishShiftSchedulingInformation
+ {
+ #keys: '[414996.1.253210338]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SKIN_TIGER'
+ Taborder: 0
+ Title: '涓嬪彂鐝璁″垝淇℃伅'
+ ]
+ }
+ Component MenuMaintenanceSingleShiftConfig
+ {
+ #keys: '[414996.1.253210339]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR'
+ Taborder: 1
+ Title: '鍗曠彮娆℃爣鍑嗕骇閲忛厤缃�'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupPublish_ButtonDispatchShiftSchedulingInf.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupPublish_ButtonDispatchShiftSchedulingInf.def
deleted file mode 100644
index db679ee..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupPublish_ButtonDispatchShiftSchedulingInf.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: ActionBarGroupPublish/ButtonDispatchShiftSchedulingInformation
-Response OnClick () id:Response_MacroPlanner_ActionBarGroupPublish_ButtonDispatchShiftSchedulingInformation_OnClick
-{
- #keys: '[414996.1.173765218]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- QuillAction
- {
- Body:
- [*
- // Open view
- ApplicationMacroPlanner.OpenView( 'DispatchShiftSchedulingInformation', this );
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuMaintenanceSingleShiftConfig.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuMaintenanceSingleShiftConfig.def
new file mode 100644
index 0000000..6e23ee3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuMaintenanceSingleShiftConfig.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ContextMenuPublishPDM/MenuMaintenanceSingleShiftConfig
+Response OnClick () id:Response_MacroPlanner_ContextMenuPublishPDM_MenuMaintenanceSingleShiftConfig_OnClick
+{
+ #keys: '[414996.1.253400687]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ // Open view
+ ApplicationMacroPlanner.OpenView( 'MaintenanceSingleShiftConfig' );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuPublishShiftSchedulingInform.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuPublishShiftSchedulingInform.def
new file mode 100644
index 0000000..0fbcbca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishPDM_MenuPublishShiftSchedulingInform.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: ContextMenuPublishPDM/MenuPublishShiftSchedulingInformation
+Response OnClick () id:Response_MacroPlanner_ContextMenuPublishPDM_MenuPublishShiftSchedulingInformation_OnClick
+{
+ #keys: '[414996.1.253210335]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ Precondition:
+ [*
+
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // Open view
+ ApplicationMacroPlanner.OpenView( 'DispatchShiftSchedulingInformation' );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelCurve.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelCurve.def
index 48a8a79..299ec48 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelCurve.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelCurve.def
@@ -11,6 +11,7 @@
BaseType: 'WebDropDownStringList'
Properties:
[
+ AllowEmpty: true
Label: 'Curve'
Taborder: 0
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def
index 36444d4..8fb9e2d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def
@@ -14,7 +14,7 @@
AllowEmpty: true
DataBinding: 'DataHolderDialogData.Data.Origin'
Label: 'Origin'
- Strings: ';CC-TRC;DL-TRC;PPA;IDS'
+ Strings: 'CC-TRC;DL-TRC;PPA;IDS'
Taborder: 0
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Response_MacroPlanner_pnlActions_bSplitUsingCurve_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Response_MacroPlanner_pnlActions_bSplitUsingCurve_OnClick.def
index 1995cc8..b27e508 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Response_MacroPlanner_pnlActions_bSplitUsingCurve_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Response_MacroPlanner_pnlActions_bSplitUsingCurve_OnClick.def
@@ -6,6 +6,10 @@
CanBindMultiple: false
DefinitionID: 'Responsedef_WebButton_OnClick'
GroupServerCalls: true
+ Precondition:
+ [*
+ return DropDownStringListCurve.Text() <> "";
+ *]
QuillAction
{
Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_ListSingleShiftConfig.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_ListSingleShiftConfig.def
new file mode 100644
index 0000000..2a9fd54
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_ListSingleShiftConfig.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListSingleShiftConfig
+{
+ #keys: '[414996.1.249001923]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorSingleShiftConfig
+ {
+ #keys: '[414996.1.249001924]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'Unit.SingleShiftConfig'
+ ]
+ }
+ #child: listActionBarPageSingleShiftConfig
+ Component DataSetLevelSingleShiftConfig
+ {
+ #keys: '[414996.1.249001929]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuSingleShiftConfig
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit.ID","title":"浜х嚎","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"Unit.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShiftName","title":"鐝鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"ShiftName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SingleShiftName","title":"鍗曠彮娆″悕绉�","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"SingleShiftName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StandardYield","title":"鏍囧噯浜ч噺","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StandardYield"}}]'
+ ContextMenu: 'listContextMenuSingleShiftConfig'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig.def
new file mode 100644
index 0000000..e58eff1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component PanelSingleShiftConfig
+{
+ #keys: '[414996.1.249001892]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bImport
+ {
+ #keys: '[414996.1.249002496]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'IMPORT1'
+ Taborder: 0
+ ]
+ }
+ Component bExport
+ {
+ #keys: '[414996.1.249002508]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig497.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig497.def
new file mode 100644
index 0000000..5d7f263
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_PanelSingleShiftConfig497.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelSingleShiftConfig497
+{
+ #keys: '[414996.1.249001910]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListSingleShiftConfig
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listActionBarPageSingleShiftConfig.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listActionBarPageSingleShiftConfig.def
new file mode 100644
index 0000000..8419785
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listActionBarPageSingleShiftConfig.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageSingleShiftConfig
+{
+ #keys: '[414996.1.249001926]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listContextMenuSingleShiftConfig.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listContextMenuSingleShiftConfig.def
new file mode 100644
index 0000000..ff13d40
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Component_listContextMenuSingleShiftConfig.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuSingleShiftConfig
+{
+ #keys: '[414996.1.249001931]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bExport_OnClick.def
new file mode 100644
index 0000000..01f7739
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bExport_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelSingleShiftConfig/bExport
+Response OnClick () id:Response_PanelSingleShiftConfig_bExport_OnClick
+{
+ #keys: '[414996.1.253440400]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Application.Download( "MP_SingleShiftConfig.xlsx",SingleShiftConfig::Export( MacroPlan ).AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bImport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bImport_OnClick.def
new file mode 100644
index 0000000..d94275e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/Response_PanelSingleShiftConfig_bImport_OnClick.def
@@ -0,0 +1,45 @@
+Quintiq file version 2.0
+#parent: PanelSingleShiftConfig/bImport
+Response OnClick () id:Response_PanelSingleShiftConfig_bImport_OnClick
+{
+ #keys: '[414996.1.253361016]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ try {
+ uploadJsonString := Application.GetFile();
+ if ( uploadJsonString <> "" ) {
+ uploadJson := JSON::Parse( uploadJsonString );
+ Archive::VerifyTheFileName( uploadJson );
+
+ fileName := uploadJson.Get( "name" ).GetString();
+ base64String := uploadJson.Get( "data" ).GetString();
+
+ webFileBinaryData := BinaryData::FromBase64EncodedString( base64String ).AsBinaryValue();
+
+ generalExcelImportAndExportDataSource := GeneralExcelImportAndExportDataSource::Upload( RecycleBin, webFileBinaryData, fileName );
+ generalExcelImportAndExportDataSource.ReadStructure();
+
+ selection := select( generalExcelImportAndExportDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, tempGEIAEDT.Name() = "SingleShiftConfig" );
+
+ SingleShiftConfig::Import( MacroPlan, selection );
+
+ // 鍚庣画鍒犻櫎
+ generalExcelImportAndExportDataSource.Delete();
+
+ WebMessageBox::Success( Translations::A_VWED_Success() );
+ }
+ } onerror {
+ WebMessageBox::Error( e.GeneralInformation() );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/_ROOT_Component_FormSingleShiftConfig.def b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/_ROOT_Component_FormSingleShiftConfig.def
new file mode 100644
index 0000000..e57e3ff
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSingleShiftConfig/_ROOT_Component_FormSingleShiftConfig.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormSingleShiftConfig
+{
+ #keys: '[414996.1.249001853]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelSingleShiftConfig497
+ #child: PanelSingleShiftConfig
+ ]
+ Properties:
+ [
+ Title: '鍗曠彮娆¢厤缃�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/MaintenanceSingleShiftConfig.vw b/_Main/UI/MacroPlannerWebApp/Views/MaintenanceSingleShiftConfig.vw
new file mode 100644
index 0000000..38d8938
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/MaintenanceSingleShiftConfig.vw
@@ -0,0 +1,199 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormSingleShiftConfig
+ {
+ title: 'QMacroPlanner::FormSingleShiftConfig'
+ shown: true
+ componentID: 'QMacroPlanner::FormSingleShiftConfig'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 25
+ columnPosition: 1
+ columnSpan: 9
+ }
+ components
+ {
+ FormSingleShiftConfig_PanelSingleShiftConfig
+ {
+ sizeRatio: 1
+ }
+ FormSingleShiftConfig_PanelSingleShiftConfig497
+ {
+ sizeRatio: 1
+ }
+ FormSingleShiftConfig_ListSingleShiftConfig
+ {
+ }
+ FormSingleShiftConfig_DataSetLevelSingleShiftConfig
+ {
+ groupDepth: -1
+ column_Unit_ID
+ {
+ columnId: 'Unit.ID'
+ dataPath: 'Unit.ID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_ShiftName
+ {
+ columnId: 'ShiftName'
+ dataPath: 'ShiftName'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_SingleShiftName
+ {
+ columnId: 'SingleShiftName'
+ dataPath: 'SingleShiftName'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_StandardYield
+ {
+ columnId: 'StandardYield'
+ dataPath: 'StandardYield'
+ dataType: 'real'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ image: 'GEAR'
+ page: ''
+ group: ''
+ index: 0
+ description: ''
+ }
+ formatversion: 2
+ id: 'MaintenanceSingleShiftConfig'
+ name: 'MaintenanceSingleShiftConfig'
+ isglobal: false
+ isroot: true
+}
diff --git a/_var/_Main/Data/MP_SingleShiftConfig.xlsx b/_var/_Main/Data/MP_SingleShiftConfig.xlsx
new file mode 100644
index 0000000..cceb81c
--- /dev/null
+++ b/_var/_Main/Data/MP_SingleShiftConfig.xlsx
Binary files differ
--
Gitblit v1.9.3