From b83ab352296df6bb1c74c78168a62c1606e298a5 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期二, 27 八月 2024 10:58:51 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg
---
_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def | 10 +
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningDate.qbl | 8 +
_Main/BL/Relations/Relation_InterfaceProductionSchedulingPlanPush_InterfaceDataset_InterfaceDat.qbl | 23 +++
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Fac.qbl | 8 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfacePlanInventoryDataPush_O.def | 6
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfaceProductionSchedulingPla.def | 22 +++
_Main/BL/Type_UphillRouting/Attribute_isUsed.qbl | 2
_Main/BL/Type_LocalCell_ScheduleSummary/StaticMethod_Create.qbl | 2
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_FactoryName.qbl | 8 +
_Main/BL/Type_UphillRouting/DefaultValue_isUsed.qbl | 2
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningQty.qbl | 8 +
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/_ROOT_Type_InterfaceProductionSchedulingPlanPush.qbl | 9 +
_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl | 28 ++-
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Product.qbl | 8 +
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_VersionName.qbl | 8 +
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl | 2
_Main/BL/Type_CC_EngineRackCell/StaticMethod_Export.qbl | 123 +++++++++++++++++
_Main/BL/Type_UphillRouting/Method_Use.qbl | 2
_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl | 30 ++-
_Main/BL/Type_InterfaceProductionSchedulingPlanPush/StaticMethod_GenerateData.qbl | 26 +++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuInterface.def | 18 ++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditUphillRoutings/Method_UseUphillRoutings.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bExport_OnClick.def | 22 +++
23 files changed, 344 insertions(+), 33 deletions(-)
diff --git a/_Main/BL/Relations/Relation_InterfaceProductionSchedulingPlanPush_InterfaceDataset_InterfaceDat.qbl b/_Main/BL/Relations/Relation_InterfaceProductionSchedulingPlanPush_InterfaceDataset_InterfaceDat.qbl
new file mode 100644
index 0000000..dbc66fc
--- /dev/null
+++ b/_Main/BL/Relations/Relation_InterfaceProductionSchedulingPlanPush_InterfaceDataset_InterfaceDat.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation InterfaceProductionSchedulingPlanPush_InterfaceDataset_InterfaceDataset_InterfaceProductionSchedulingPlanPush
+{
+ #keys: '1[415754.0.136725964]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide InterfaceDataset
+ {
+ #keys: '3[415754.0.136725966][415754.0.136725965][415754.0.136725967]'
+ Cardinality: '0to1'
+ ObjectDefinition: InterfaceProductionSchedulingPlanPush
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide InterfaceProductionSchedulingPlanPush
+ {
+ #keys: '3[415754.0.136725969][415754.0.136725968][415754.0.136725970]'
+ Cardinality: '1toN'
+ ObjectDefinition: InterfaceDataset
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/StaticMethod_Export.qbl b/_Main/BL/Type_CC_EngineRackCell/StaticMethod_Export.qbl
new file mode 100644
index 0000000..1f82c2f
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/StaticMethod_Export.qbl
@@ -0,0 +1,123 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ MacroPlan macroPlan
+) as BinaryValue
+{
+ TextBody:
+ [*
+ xmlDOMI := XMLDOMImplementation::Create();
+ xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name></table>' );
+
+ tableElement := xmlDOM.GetElementByTagName( "table", 0 );
+
+ // 绗竴鍒楋紙鍚嶇О锛�
+ cerrs := selectsortedset( macroPlan, CC_EngineRackRow, tempCERR, true, tempCERR.Name() );
+ firstColumn := xmlDOM.CreateElement( "column" );
+ firstName := xmlDOM.CreateElement( "name" );
+ firstType := xmlDOM.CreateElement( "type" );
+ firstName.TextContent( "" );
+ firstType.TextContent( "String" );
+ firstColumn.AppendChild( firstName );
+ firstColumn.AppendChild( firstType );
+ traverse ( cerrs, Elements, cerr ) {
+ firstCell := xmlDOM.CreateElement( "cell" );
+ firstCell.SetAttribute( "value", cerr.Name() );
+ firstColumn.AppendChild( firstCell );
+
+ for ( i := 0; i < 9; i++ ) {
+ firstCell := xmlDOM.CreateElement( "cell" );
+ firstCell.SetAttribute( "value", "" );
+ firstColumn.AppendChild( firstCell );
+ }
+ }
+ tableElement.AppendChild( firstColumn );
+
+
+ // 绗簩鍒�
+ attrs := construct( Strings ); attrs.Add( "鏂欐灦绌烘暟閲�" ); attrs.Add( "绌烘枡鏋舵暟閲�" ); attrs.Add( "澶栫搴撳叆搴撹垂鐢�" ); attrs.Add( "澶栫搴撳嚭搴撹垂鐢�" ); attrs.Add( "澶栫搴撹繍杈撹垂鐢�" );
+ attrs.Add( "澶栫搴撲粨鍌ㄨ垂鐢�" ); attrs.Add( "娓呮礂璐圭敤" ); attrs.Add( "棰勮鎬昏垂鐢�" ); attrs.Add( "绯绘暟" ); attrs.Add( "鎬昏垂鐢�" );
+ secondColumn := xmlDOM.CreateElement( "column" );
+ secondName := xmlDOM.CreateElement( "name" );
+ secondType := xmlDOM.CreateElement( "type" );
+ secondName.TextContent( "" );
+ secondType.TextContent( "String" );
+ secondColumn.AppendChild( secondName );
+ secondColumn.AppendChild( secondType );
+ for ( i := 0; i < cerrs.Size(); i++ ) {
+ traverse ( attrs, Elements, attr ) {
+ secondCell := xmlDOM.CreateElement( "cell" );
+ secondCell.SetAttribute( "value", attr );
+ secondColumn.AppendChild( secondCell );
+ }
+ }
+ tableElement.AppendChild( secondColumn );
+
+ // 鏃堕棿鍒�
+ cercs := selectsortedset( macroPlan, CC_EngineRackColumn, tempCERC, true, tempCERC.StartDate() );
+ traverse ( cercs, Elements, cerc ) {
+ cellColumn := xmlDOM.CreateElement( "column" );
+ cellName := xmlDOM.CreateElement( "name" );
+ cellType := xmlDOM.CreateElement( "type" );
+ cellName.TextContent( cerc.StartDate().Format( "M2/D2/Y" ) );
+ cellType.TextContent( "Number" );
+ cellColumn.AppendChild( cellName );
+ cellColumn.AppendChild( cellType );
+ cells := selectsortedset( cerc, CC_EngineRackCell, tempCELL, true, tempCELL.CC_EngineRackRow().Name() );
+ traverse ( cells, Elements, c ) {
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.TotalQuantityOfMaterialRacks() ); // 鏂欐灦鎬绘暟閲�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.NumberOfEmptyShelves() ); // 绌烘枡鏋舵暟閲�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.StorageFeesForRentedWarehouses() ); // 澶栫搴撳叆搴撹垂鐢�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.OutboundExpensesForRentedWarehouses() ); // 澶栫搴撳嚭搴撹垂鐢�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.ExternalRentalWarehouseTransportationCosts() ); // 澶栫搴撹繍杈撹垂鐢�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.RentalWarehouseStorageFees() ); // 澶栫搴撲粨鍌ㄨ垂鐢�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.CleaningCost() ); // 娓呮礂璐圭敤
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.EstimatedTotalCost() ); // 棰勮鎬昏垂鐢�
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.Coefficient() ); // 绯绘暟
+ cellColumn.AppendChild( cell );
+
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", [String]c.TotalCost() ); // 鎬昏垂鐢�
+ cellColumn.AppendChild( cell );
+ }
+ tableElement.AppendChild( cellColumn );
+ }
+
+ xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM )
+
+ //info( xmlString );
+
+ tableGroupHandle := TableGroupHandle::Create( "Sheet1" );
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
+ tableGroupHandle.Add( tableHandle );
+
+ binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+
+ return binaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Fac.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Fac.qbl
new file mode 100644
index 0000000..7b10fc0
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Fac.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Fac
+{
+ #keys: '3[415754.0.136760165][415754.0.136760164][415754.0.136760166]'
+ Description: '宸ュ巶绠�鍐�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_FactoryName.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_FactoryName.qbl
new file mode 100644
index 0000000..4db83d4
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_FactoryName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FactoryName
+{
+ #keys: '3[415754.0.136726097][415754.0.136726096][415754.0.136726098]'
+ Description: '宸ュ巶鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningDate.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningDate.qbl
new file mode 100644
index 0000000..329beab
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlanningDate
+{
+ #keys: '3[415754.0.136726023][415754.0.136726022][415754.0.136726024]'
+ Description: '鎺掍骇鏃ユ湡'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningQty.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningQty.qbl
new file mode 100644
index 0000000..be85ed2
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_PlanningQty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlanningQty
+{
+ #keys: '3[415754.0.136760128][415754.0.136760127][415754.0.136760129]'
+ Description: '瀵瑰簲鏃ユ湡鐨勮鍒掓暟閲�'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Product.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Product.qbl
new file mode 100644
index 0000000..7fcd906
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_Product.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Product
+{
+ #keys: '3[415754.0.136725988][415754.0.136725987][415754.0.136725989]'
+ Description: '鐗╂枡鍙�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_VersionName.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_VersionName.qbl
new file mode 100644
index 0000000..f8cc10f
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/Attribute_VersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionName
+{
+ #keys: '3[415754.0.136726060][415754.0.136726059][415754.0.136726061]'
+ Description: '鐗堟湰鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/StaticMethod_GenerateData.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/StaticMethod_GenerateData.qbl
new file mode 100644
index 0000000..28ee031
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/StaticMethod_GenerateData.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateData (
+ MacroPlan macroPlan,
+ InterfaceDataset interfaceDataset
+)
+{
+ TextBody:
+ [*
+ interfaceDataset.InterfaceProductionSchedulingPlanPush( relflush );
+
+ traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pispmp, not pispmp.IsSystem() and pispmp.IsLeaf() and ( pispmp.StockingPointID() = "DL-MoMo" or pispmp.StockingPointID() = "CC-MoMo" ) ) {
+ info( pispmp.Name() );
+ traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) {
+ interfaceDataset.InterfaceProductionSchedulingPlanPush( relnew,
+ Product := pispmp.ProductID(),
+ PlanningDate := pispippl.Start().Date(),
+ PlanningQty := [Number]pispippl.NewSupplyQuantity(),
+ VersionName := macroPlan.ScenarioName(),
+ FactoryName := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ), "澶ц繛宸ュ巶", "闀挎槬宸ュ巶" ),
+ Fac := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ), "DL", "CC" )
+ );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/_ROOT_Type_InterfaceProductionSchedulingPlanPush.qbl b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/_ROOT_Type_InterfaceProductionSchedulingPlanPush.qbl
new file mode 100644
index 0000000..3be0156
--- /dev/null
+++ b/_Main/BL/Type_InterfaceProductionSchedulingPlanPush/_ROOT_Type_InterfaceProductionSchedulingPlanPush.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type InterfaceProductionSchedulingPlanPush
+{
+ #keys: '5[415754.0.136750146][415754.0.136750144][0.0.0][415754.0.136750145][415754.0.136750147]'
+ BaseType: Object
+ StructuredName: 'InterfaceProductionSchedulingPlanPushs'
+}
diff --git a/_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl b/_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl
index 4273106..8a81702 100644
--- a/_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl
+++ b/_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl
@@ -9,21 +9,27 @@
// rislai Jul-10-2024 (created)
overtime := 0.0;
nextDayOvertime := 0.0;
- if( outcome = "涓�鐝�" ){
- overtime := 8.5;
+ if( outcome = "1" ){
+ overtime := 8;
nextDayOvertime := 0.0;
- }else if( outcome = "浜岀彮" ){
- overtime := 16;
- nextDayOvertime := 0.5;
+ }else if( outcome = "2" ){
+ overtime := 15;
+ nextDayOvertime := 1;
}else if(outcome = "9+9"){
overtime := 16;
- nextDayOvertime := 2.5;
+ nextDayOvertime := 2;
}else if(outcome = "10+10"){
- overtime := 16;
- nextDayOvertime := 4.5;
- }else if(outcome = "涓夌彮"){
- overtime := 16;
- nextDayOvertime := 8;
+ overtime := 17;
+ nextDayOvertime := 3;
+ }else if(outcome = "1(9)" or outcome = "1锛�9锛�"){
+ overtime := 9;
+ nextDayOvertime := 0;
+ }else if(outcome = "1(10)" or outcome = "1锛�10锛�"){
+ overtime := 10;
+ nextDayOvertime := 0;
+ }else if(outcome = "3"){
+ overtime := 15;
+ nextDayOvertime := 7.5;
}
this.RealValue( this.RealValue() + overtime + nextDayOvertime );
*]
diff --git a/_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl b/_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl
index a5fb5ae..e5a7d36 100644
--- a/_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl
+++ b/_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl
@@ -9,21 +9,27 @@
// rislai Jul-10-2024 (created)
overtime := 0.0;
nextDayOvertime := 0.0;
- if( outcome = "涓�鐝�" ){
- overtime := 0.5;
+ if( outcome = "1" ){
+ overtime := 0;
nextDayOvertime := 0.0;
- }else if( outcome = "浜岀彮" ){
- overtime := 8;
- nextDayOvertime := 0.5;
+ }else if( outcome = "2" ){
+ overtime := 0;
+ nextDayOvertime := 0.0;
}else if(outcome = "9+9"){
- overtime := 8;
- nextDayOvertime := 2.5;
+ overtime := 1;
+ nextDayOvertime := 1;
}else if(outcome = "10+10"){
- overtime := 8;
- nextDayOvertime := 4.5;
- }else if(outcome = "涓夌彮"){
- overtime := 8;
- nextDayOvertime := 8;
+ overtime := 2;
+ nextDayOvertime := 2;
+ }else if(outcome = "1(9)" or outcome = "1锛�9锛�"){
+ overtime := 1;
+ nextDayOvertime := 0;
+ }else if(outcome = "1(10)" or outcome = "1锛�10锛�"){
+ overtime := 2;
+ nextDayOvertime := 0;
+ }else if(outcome = "3"){
+ overtime := 0;
+ nextDayOvertime := 0;
}
this.RealValue( this.RealValue() + overtime + nextDayOvertime );
*]
diff --git a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
index bf0aaa9..738d95b 100644
--- a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
+++ b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
@@ -9,7 +9,7 @@
Description: '鏍囧噯宸ユ椂鍒舵姤琛�'
TextBody:
[*
- // rislai Jul-4-2024 (created)
+ // rislai Jul-4-2024 (created)
table := owner.LocalTable( relnew,Name := "鏍囧噯宸ユ椂鍒舵姤琛�");
//column1 := table.LocalColumn( relnew,Name := "宸ュ巶" ,CustomIndex := 1);
diff --git a/_Main/BL/Type_LocalCell_ScheduleSummary/StaticMethod_Create.qbl b/_Main/BL/Type_LocalCell_ScheduleSummary/StaticMethod_Create.qbl
index bead82a..cc699fc 100644
--- a/_Main/BL/Type_LocalCell_ScheduleSummary/StaticMethod_Create.qbl
+++ b/_Main/BL/Type_LocalCell_ScheduleSummary/StaticMethod_Create.qbl
@@ -29,7 +29,7 @@
traverse( owner,Unit,unit,unit.HasCapacityTypeTime() and not unit.HasChild()){
// unit.AsEntity().DisplayNameForSelection()
row := table.MP_Row( relnew,CustomName := unit.ID(),Index := table.GetRowIndexCache() );
- throughput := sum( unit,Operation,operation,operation.Throughput() ) / unit.Operation( relsize );
+ throughput := guard( sum( unit,Operation,operation,operation.Throughput() ) / unit.Operation( relsize ) , 0 );
unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,
unitPeriodTime.Period_MP().StartDate() >= startDate
diff --git a/_Main/BL/Type_UphillRouting/Attribute_isUsed.qbl b/_Main/BL/Type_UphillRouting/Attribute_isUsed.qbl
index 9792e92..d38ceea 100644
--- a/_Main/BL/Type_UphillRouting/Attribute_isUsed.qbl
+++ b/_Main/BL/Type_UphillRouting/Attribute_isUsed.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
-Attribute isUsed
+Attribute IsUsed
{
#keys: '3[414996.1.27011002][414996.1.27011001][414996.1.27011003]'
ValueType: Boolean
diff --git a/_Main/BL/Type_UphillRouting/DefaultValue_isUsed.qbl b/_Main/BL/Type_UphillRouting/DefaultValue_isUsed.qbl
index 9c66748..2ec06af 100644
--- a/_Main/BL/Type_UphillRouting/DefaultValue_isUsed.qbl
+++ b/_Main/BL/Type_UphillRouting/DefaultValue_isUsed.qbl
@@ -3,5 +3,5 @@
DefaultValue
{
ISOValue: 'false'
- TargetAttribute: isUsed
+ TargetAttribute: IsUsed
}
diff --git a/_Main/BL/Type_UphillRouting/Method_Use.qbl b/_Main/BL/Type_UphillRouting/Method_Use.qbl
index f2d2705..258cc98 100644
--- a/_Main/BL/Type_UphillRouting/Method_Use.qbl
+++ b/_Main/BL/Type_UphillRouting/Method_Use.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// Akari Aug-26-2024 (created)
- this.isUsed( true );
+ this.IsUsed( true );
copy_routing := this.Routing().Copy( this.Suffix() + this.StartDate().Format( "Y-M2-D2") );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuInterface.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuInterface.def
index 6debfc3..da19376 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuInterface.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuInterface.def
@@ -66,8 +66,18 @@
[
Description: 'Customer demand(PPA + IDS)'
Image: 'FLAG_AMBER'
- Taborder: 5
+ Taborder: 6
Title: '瀹㈡埛闇�姹傦紙PPA+IDS锛�-PPPS'
+ ]
+ }
+ Component mInterfaceProductionSchedulingPlanPush
+ {
+ #keys: '[415754.0.140441770]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Taborder: 5
+ Title: '鐢熶骇鎺掔▼璁″垝鏁版嵁鎺ㄩ�佹帴鍙f祴璇�'
]
}
Component MenuIAssemblyOnlinePlanPPPS
@@ -77,7 +87,7 @@
Properties:
[
Image: 'DELIVERY_AMBER'
- Taborder: 6
+ Taborder: 7
Title: '瑁呴厤涓婄嚎璁″垝-PPPS'
]
}
@@ -88,7 +98,7 @@
Properties:
[
Image: 'DELIVERY_BLUE'
- Taborder: 7
+ Taborder: 8
Title: '瑁呴厤涓婄嚎璁″垝+鏈哄姞涓嬬嚎璁″垝-PIR'
]
}
@@ -99,7 +109,7 @@
Properties:
[
Image: 'DELIVERY_CYAN'
- Taborder: 8
+ Taborder: 9
Title: '瑁呴厤涓婄嚎璁″垝+鏈哄姞涓嬬嚎璁″垝-MS64'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfacePlanInventoryDataPush_O.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfacePlanInventoryDataPush_O.def
index 10c1fc2..1ae81f1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfacePlanInventoryDataPush_O.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfacePlanInventoryDataPush_O.def
@@ -5,11 +5,17 @@
#keys: '[413988.0.1495640258]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebMenu_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan ) and not isnull( InterfaceDataset );
+ *]
QuillAction
{
Body:
[*
InterfacePlanInventoryDataPush::GenerateData( MacroPlan, InterfaceDataset );
+
+ WebMessageBox::Success( "鎺ㄩ�佹垚鍔燂紒" );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfaceProductionSchedulingPla.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfaceProductionSchedulingPla.def
new file mode 100644
index 0000000..dd980dc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuInterface_mInterfaceProductionSchedulingPla.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: ContextMenuInterface/mInterfaceProductionSchedulingPlanPush
+Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_mInterfaceProductionSchedulingPlanPush_OnClick
+{
+ #keys: '[415754.0.141940525]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan ) and not isnull( InterfaceDataset );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ InterfaceProductionSchedulingPlanPush::GenerateData( MacroPlan, InterfaceDataset );
+
+ WebMessageBox::Success( "鎺ㄩ�佹垚鍔燂紒" );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditUphillRoutings/Method_UseUphillRoutings.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditUphillRoutings/Method_UseUphillRoutings.def
index 0c53412..4730c0b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditUphillRoutings/Method_UseUphillRoutings.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditUphillRoutings/Method_UseUphillRoutings.def
@@ -5,7 +5,7 @@
#keys: '[414996.1.26570568]'
Body:
[*
- traverse( dhRouting.Data(),UphillRouting,uphillRouting,not uphillRouting.isUsed() ){
+ traverse( dhRouting.Data(),UphillRouting,uphillRouting,not uphillRouting.IsUsed() ){
uphillRouting.Use();
}
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def
index 67e1268..633af51 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def
@@ -15,6 +15,16 @@
Taborder: 0
]
}
+ Component bExport
+ {
+ #keys: '[415754.0.151340681]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Taborder: 1
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bExport_OnClick.def
new file mode 100644
index 0000000..e3be1bf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bExport_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pHeader/bExport
+Response OnClick () id:Response_pHeader_bExport_OnClick
+{
+ #keys: '[415754.0.151312042]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ binaryValue := CC_EngineRackCell::Export( MacroPlan );
+
+ Application.Download( "闀挎槬鍙戝姩鏈烘枡鏋舵姤琛�.xlsx", binaryValue.AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
--
Gitblit v1.9.3