From 7cd2803f96760b4eacfc6e89518fcc45bc22380b Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期一, 14 十月 2024 18:05:25 +0800
Subject: [PATCH] 修复一些bug
---
_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableSaveTime.qbl | 7 +
_Main/BL/Type_OfflinePlanTableInfo/_ROOT_Type_OfflinePlanTableInfo.qbl | 10 +
_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanMDSID.qbl | 7 +
_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def | 2
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def | 3
_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanName.qbl | 7 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def | 9 +
_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableName.qbl | 7 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageReport.def | 10 -
_Main/BL/Type_LocalCell_DemandComparison/StaticMethod_Compared.qbl | 24 +++
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_ButtonRibbon_OnClick.def | 17 ++
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def | 12 +
_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_ListSalesDemands_MenuCreate_OnClick#715.def | 12 -
_Main/BL/Type_Forecast/Function_CalcDiffernce.qbl | 13 +
_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl | 18 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504#801.def | 44 ++++-
_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_568_ButtonCompare_OnClick.def | 2
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_dhOfflinePlanTables_OnCreated#57.def | 14 --
_Main/BL/Relations/Relation_OfflinePlanTableInfo_RecycleBin_RecycleBin_OfflinePlanTableInfo.qbl | 23 +++
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport#1.qbl | 26 ++-
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanByMDSID.def | 24 +++
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl | 20 ++
_Main/BL/Type_OfflinePlanTableInfo/StaticMethod_Create.qbl | 23 +++
_Main/BL/Type_Forecast/Attribute_Differnce.qbl | 7 +
_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_SplitShifts.qbl | 23 ++
_Main/BL/Type_DispatchShiftSchedulingInformation/Function_CalcFac.qbl | 4
26 files changed, 290 insertions(+), 78 deletions(-)
diff --git a/_Main/BL/Relations/Relation_OfflinePlanTableInfo_RecycleBin_RecycleBin_OfflinePlanTableInfo.qbl b/_Main/BL/Relations/Relation_OfflinePlanTableInfo_RecycleBin_RecycleBin_OfflinePlanTableInfo.qbl
new file mode 100644
index 0000000..6320701
--- /dev/null
+++ b/_Main/BL/Relations/Relation_OfflinePlanTableInfo_RecycleBin_RecycleBin_OfflinePlanTableInfo.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation OfflinePlanTableInfo_RecycleBin_RecycleBin_OfflinePlanTableInfo
+{
+ #keys: '1[414996.1.124530089]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide RecycleBin
+ {
+ #keys: '3[414996.1.124530091][414996.1.124530090][414996.1.124530092]'
+ Cardinality: '0to1'
+ ObjectDefinition: OfflinePlanTableInfo
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide OfflinePlanTableInfo
+ {
+ #keys: '3[414996.1.124530094][414996.1.124530093][414996.1.124530095]'
+ Cardinality: '1toN'
+ ObjectDefinition: RecycleBin
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_DispatchShiftSchedulingInformation/Function_CalcFac.qbl b/_Main/BL/Type_DispatchShiftSchedulingInformation/Function_CalcFac.qbl
index a20b0a3..5f1c80b 100644
--- a/_Main/BL/Type_DispatchShiftSchedulingInformation/Function_CalcFac.qbl
+++ b/_Main/BL/Type_DispatchShiftSchedulingInformation/Function_CalcFac.qbl
@@ -6,9 +6,9 @@
[*
// Akari Aug-21-2024 (created)
value := "";
- if( this.FactoryName() = "澶ц繛宸ュ巶" ){
+ if( this.FactoryName().LikeUserLocale( "澶ц繛" ) or this.FactoryName().LikeUserLocale( "DL" ) ){
value := "DL";
- }else if( this.FactoryName() = "闀挎槬宸ュ巶"){
+ }else if( this.FactoryName().LikeUserLocale( "闀挎槬" ) or this.FactoryName().LikeUserLocale( "CC" )){
value := "CC";
}
diff --git a/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_SplitShifts.qbl b/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_SplitShifts.qbl
index 1de3a99..cd068af 100644
--- a/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_SplitShifts.qbl
+++ b/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_SplitShifts.qbl
@@ -12,19 +12,32 @@
shiftSchedulingInformations := construct( DispatchShiftSchedulingInformations );
if( shiftName = "3" ){
shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 3 );
- shiftSchedulingInformation1.SingleShiftName( "1鐝�" );
+ shiftSchedulingInformation1.SingleShiftName( "鐧界彮" );
shiftSchedulingInformations.Add( shiftSchedulingInformation1 );
shiftSchedulingInformation2 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 3 );
- shiftSchedulingInformation2.SingleShiftName( "2鐝�" );
+ shiftSchedulingInformation2.SingleShiftName( "浜岀彮" );
shiftSchedulingInformations.Add( shiftSchedulingInformation2 );
shiftSchedulingInformation3 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 3 );
- shiftSchedulingInformation3.SingleShiftName( "3鐝�" );
+ shiftSchedulingInformation3.SingleShiftName( "涓夌彮" );
shiftSchedulingInformations.Add( shiftSchedulingInformation3 );
+ }else if( shiftName = "2" ){
+ shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 2 );
+ shiftSchedulingInformation1.SingleShiftName( "鐧界彮" );
+ shiftSchedulingInformations.Add( shiftSchedulingInformation1 );
+
+ shiftSchedulingInformation2 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 2 );
+ shiftSchedulingInformation2.SingleShiftName( "浜岀彮" );
+ shiftSchedulingInformations.Add( shiftSchedulingInformation2 );
+ }else if( shiftName = "1" ){
+ shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 1 );
+ shiftSchedulingInformation1.SingleShiftName( "鐧界彮" );
+ shiftSchedulingInformations.Add( shiftSchedulingInformation1 );
}else{
- shiftSchedulingInformation := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume );
- shiftSchedulingInformations.Add( shiftSchedulingInformation );
+ shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 1 );
+ shiftSchedulingInformation1.SingleShiftName( "" );
+ shiftSchedulingInformations.Add( shiftSchedulingInformation1 );
}
diff --git a/_Main/BL/Type_Forecast/Attribute_Differnce.qbl b/_Main/BL/Type_Forecast/Attribute_Differnce.qbl
new file mode 100644
index 0000000..776bc62
--- /dev/null
+++ b/_Main/BL/Type_Forecast/Attribute_Differnce.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Differnce
+{
+ #keys: '3[414996.1.124560122][414996.1.124560121][414996.1.124560123]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_Forecast/Function_CalcDiffernce.qbl b/_Main/BL/Type_Forecast/Function_CalcDiffernce.qbl
new file mode 100644
index 0000000..8592251
--- /dev/null
+++ b/_Main/BL/Type_Forecast/Function_CalcDiffernce.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcDiffernce
+{
+ TextBody:
+ [*
+ // Akari Oct-14-2024 (created)
+
+ value := this.Quantity() - this.FulfilledQuantity();
+
+ this.Differnce( value );
+ *]
+}
diff --git "a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl" "b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl"
index 905b371..1eb1832 100644
--- "a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl"
+++ "b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport\0431.qbl"
@@ -85,15 +85,16 @@
workingDayCell.RealValue( workingDayCell.RealValue() + 1 );
if( shiftPlan.IsHoliday() ){
// 鑺傚亣鏃ュ姞鐝�
- overtime := shiftPlan.GetBreakDayOvertimeHour( false );
+ overtime := shiftPlan.GetHolidayOvertimeHour( false );
holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + overtime );
if( not isnull( nextShiftPlan )){
- nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
if( nextShiftPlan.IsHoliday()){
// 涓嬩竴澶╂槸鑺傚亣鏃�
+ nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
}else if( shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄥ叚" ) or shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄦ棩" ) ){
// 涓嬩竴澶╂槸鍛ㄥ叚鎴栧懆鏃�
+ nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
}else{
// 涓嬩竴澶╂槸骞冲父鐨勫伐浣滄棩
@@ -106,12 +107,14 @@
overtime := shiftPlan.GetBreakDayOvertimeHour( false );
breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + overtime );
if( not isnull( nextShiftPlan )){
- nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
+
if( nextShiftPlan.IsHoliday()){
// 涓嬩竴澶╂槸鑺傚亣鏃�
+ nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
}else if( shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄥ叚" ) or shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄦ棩" ) ){
// 涓嬩竴澶╂槸鍛ㄥ叚鎴栧懆鏃�
+ nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
}else{
// 涓嬩竴澶╂槸骞冲父鐨勫伐浣滄棩
@@ -124,12 +127,13 @@
overtime := shiftPlan.GetDefaultDayOvertimeHour( false );
defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + overtime );
if( not isnull( nextShiftPlan )){
- nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
if( nextShiftPlan.IsHoliday()){
// 涓嬩竴澶╂槸鑺傚亣鏃�
+ nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
}else if( shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄥ叚" ) or shiftPlan.DefaultRemark().LikeUserLocale( "鍛ㄦ棩" ) ){
// 涓嬩竴澶╂槸鍛ㄥ叚鎴栧懆鏃�
+ nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
}else{
// 涓嬩竴澶╂槸骞冲父鐨勫伐浣滄棩
@@ -150,6 +154,12 @@
defaultMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "骞虫椂鍔犵彮" );
if( isnull( defaultMultiplier )){
defaultMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "骞虫椂鍔犵彮鍊嶇巼",Multiplier := 1.5 );
+ }
+
+ // 娆犲伐鍊嶇巼
+ qiangongMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "娆犲伐" );
+ if( isnull( qiangongMultiplier )){
+ qiangongMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "娆犲伐",Multiplier := 1 );
}
// 浼戞伅鏃ュ姞鐝�嶇巼
@@ -174,11 +184,13 @@
unit := units.Element( unitIndexTree.Root().Child( unitIndexTree.GetHandle( rowKey )).GetValueAsNumber() );
jiejiariCell := LocalCell_Default::GetCell( rowKey + column5.Name(), cellIndexTree, cells, row, column5 );
- jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 );
- jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,jiejiariCell.RealValue()));
+ jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 );
+ jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiejiariCell.RealValue()));
qiangongCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
- qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 );
+ qiangongCell.RealValue( qiangongCell.RealValue() - 8 );
+
+ qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 );
qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,qiangongCell.RealValue() ));
}
diff --git a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
index c46525a..2a888ca 100644
--- a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
+++ b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
@@ -157,6 +157,12 @@
defaultMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "骞虫椂鍔犵彮鍊嶇巼",Multiplier := 1.5 );
}
+ // 娆犲伐鍊嶇巼
+ qiangongMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "娆犲伐" );
+ if( isnull( qiangongMultiplier )){
+ qiangongMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "娆犲伐",Multiplier := 1 );
+ }
+
// 浼戞伅鏃ュ姞鐝�嶇巼
breakDayMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "鍛ㄦ湯鍔犵彮");
if( isnull( breakDayMultiplier )){
@@ -178,28 +184,32 @@
rowKey := row.CustomName();
unit := units.Element( unitIndexTree.Root().Child( unitIndexTree.GetHandle( rowKey )).GetValueAsNumber() );
+ // 鑺傚亣鏃ュ姞鐝垂
jiejiariCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 );
jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column10.Name(), cellIndexTree, cells, row, column10 );
- jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,jiejiariCell.RealValue()));
+ jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiejiariCell.RealValue()));
+ // 浼戞伅鏃ュ姞鐝垂
xiuxiCell := LocalCell_Default::GetCell( rowKey + column5.Name(), cellIndexTree, cells, row, column5 );
xiuxifeiCell := LocalCell_Default::GetCell( rowKey + column9.Name(), cellIndexTree, cells, row, column9 );
xiuxifeiCell.RealValue( EmployeeCost::GetSalary( unit,breakDayMultiplier,xiuxiCell.RealValue()));
+ // 骞虫椂鍔犵彮璐�
jiabanCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
jiabanfeiCell := LocalCell_Default::GetCell( rowKey + column8.Name(), cellIndexTree, cells, row, column8 );
- jiabanfeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiabanCell.RealValue()));
+ jiabanfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier ,jiabanCell.RealValue()));
+ // 娆犲伐璐�
qiangongCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 );
- qiangongCell.RealValue( qiangongCell.RealValue() - 1 );
+ qiangongCell.RealValue( qiangongCell.RealValue() - 8 );
qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column11.Name(), cellIndexTree, cells, row, column11 );
- qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,qiangongCell.RealValue() ));
+ qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,qiangongMultiplier,qiangongCell.RealValue() ));
// 宸ヤ綔鏃�
workingDayCell := LocalCell_Default::GetCell( rowKey + column3.Name(), cellIndexTree, cells, row, column3 );
- workingDayCell.RealValue( workingDayCell.RealValue() + 1 );
+ workingDayCell.RealValue( workingDayCell.RealValue() );
}
return table;
diff --git a/_Main/BL/Type_LocalCell_DemandComparison/StaticMethod_Compared.qbl b/_Main/BL/Type_LocalCell_DemandComparison/StaticMethod_Compared.qbl
index 6d6bf49..f774c24 100644
--- a/_Main/BL/Type_LocalCell_DemandComparison/StaticMethod_Compared.qbl
+++ b/_Main/BL/Type_LocalCell_DemandComparison/StaticMethod_Compared.qbl
@@ -2,6 +2,7 @@
#parent: #root
StaticMethod Compared (
RecycleBin recycleBin,
+ const MacroPlan mactoPlan,
String baseVersionPath,
String compareVersionPath,
String baseVersionName,
@@ -12,6 +13,17 @@
[*
// rislai Jun-20-2024 (created)
localTable := recycleBin.LocalTable( relnew,Name := baseVersionName + "__" + compareVersionName );
+
+ products := selectset( mactoPlan,Product_MP,product,not product.IsSystem() and product.IsUsed() );
+ productIndexTree := NamedValueTree::Create();
+ try{
+ for( i := 0; i < products.Size(); i++){
+ product := products.Element( i );
+ productHandle := productIndexTree.GetHandle( product.Notes() );
+ productIndexTree.Root().AddChild( productHandle,i )
+ }
+ }onerror{}
+
baseVersionFile := OSFile::Construct();
compareVersionFile := OSFile::Construct();
@@ -88,7 +100,17 @@
CompareVersionValue := ifexpr( isnull( compareVersionCell ),"绌�",compareVersionCell.Value()));
column.IsAttrbuteColumn( true );
if( columnName = "鍙戝姩鏈洪浂浠跺彿" ){
- row.ProductID( ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"绌�",compareVersionCell.Value()), baseVersionCell.Value()) );
+ productID := ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"绌�",compareVersionCell.Value()), baseVersionCell.Value());
+
+ productHanlde := productIndexTree.GetHandle( productID );
+ productIndex := guard( productIndexTree.Root().Child( productHanlde ), null( NamedValue ));
+ if( not isnull( productIndex )){
+ product := products.Element( productIndex.GetValueAsNumber() );
+ productID := product.ID();
+ }
+
+ row.ProductID( productID );
+
}
if( columnName = "杞﹀瀷" ){
row.CustomName( " > " + ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"绌�",compareVersionCell.Value()), baseVersionCell.Value()) );
diff --git a/_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanMDSID.qbl b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanMDSID.qbl
new file mode 100644
index 0000000..992e017
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanMDSID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MacroPlanMDSID
+{
+ #keys: '3[414996.1.124530070][414996.1.124530069][414996.1.124530071]'
+ ValueType: Key
+}
diff --git a/_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanName.qbl b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanName.qbl
new file mode 100644
index 0000000..c4ade67
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_MacroPlanName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MacroPlanName
+{
+ #keys: '3[414996.1.124550976][414996.1.124550975][414996.1.124550977]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableName.qbl b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableName.qbl
new file mode 100644
index 0000000..a5dd339
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TableName
+{
+ #keys: '3[414996.1.124530080][414996.1.124530079][414996.1.124530081]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableSaveTime.qbl b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableSaveTime.qbl
new file mode 100644
index 0000000..4a261cf
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanTableInfo/Attribute_TableSaveTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TableSaveTime
+{
+ #keys: '3[414996.1.124540172][414996.1.124540171][414996.1.124540173]'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_OfflinePlanTableInfo/StaticMethod_Create.qbl b/_Main/BL/Type_OfflinePlanTableInfo/StaticMethod_Create.qbl
new file mode 100644
index 0000000..419d238
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanTableInfo/StaticMethod_Create.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ const constcontent MacroPlans macroPlans,
+ RecycleBin owner
+)
+{
+ TextBody:
+ [*
+ // Akari Oct-14-2024 (created)
+ owner.OfflinePlanTableInfo( relflush );
+ info( macroPlans.Size() );
+ traverse( macroPlans,Elements,macroPlan ){
+ mdsid := macroPlan.MDSID();
+ name := macroPlan.MDSMacroPlan().Description();
+
+ traverse( macroPlan,OfflinePlanTable,offlinePlanTable ){
+ owner.OfflinePlanTableInfo( relnew,MacroPlanName := name,TableName := offlinePlanTable.SaveDateTime().Format( "Y-M2-D2 H:m:s" ),MacroPlanMDSID := mdsid ,TableSaveTime := offlinePlanTable.SaveDateTime());
+ }
+ }
+ info( owner.OfflinePlanTableInfo( relsize ) );
+ *]
+}
diff --git a/_Main/BL/Type_OfflinePlanTableInfo/_ROOT_Type_OfflinePlanTableInfo.qbl b/_Main/BL/Type_OfflinePlanTableInfo/_ROOT_Type_OfflinePlanTableInfo.qbl
new file mode 100644
index 0000000..4e59627
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanTableInfo/_ROOT_Type_OfflinePlanTableInfo.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type OfflinePlanTableInfo
+{
+ #keys: '5[414996.1.124560137][414996.1.124560135][0.0.0][414996.1.124560136][414996.1.124560138]'
+ BaseType: Object
+ Description: '涓嬬嚎璁″垝瀵瑰簲鐨刴acroPlan淇℃伅'
+ StructuredName: 'OfflinePlanTableInfos'
+}
diff --git a/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl b/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl
index 39d85a3..bf28d76 100644
--- a/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl
+++ b/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl
@@ -29,9 +29,9 @@
tempPeriod_MPs := selectset( dayPeriod_MPs,Elements,period_MP,period_MP.StartDate() >= tempStartDate and period_MP.EndDate() <= tempEndDate );
- unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability()));
- unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability()));
- unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability()));
+ unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()));
+ unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()));
+ unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()));
if( unitPeriodTimes1.Size() > 0 ){
this.OnOK( unitPeriodTimes1,shiftPattern1 );
}
@@ -49,11 +49,17 @@
shiftPattern3 := tempShiftPattern;
}
}
+
+ // 杞崲鐝缂撳瓨
+ shiftPattern1 := this.ShiftPattern1();
+ shiftPattern2 := this.ShiftPattern2();
+ shiftPattern3 := this.ShiftPattern3();
+ tempShiftPattern := shiftPattern1;
if( weekPeriod_MPs.Size() <> 0 ){
traverse( weekPeriod_MPs,Elements,period_MP ){
- unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability()));
- unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability()));
- unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability()));
+ unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP());
+ unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP());
+ unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP());
if( unitPeriodTimes1.Size() > 0 ){
this.OnOK( unitPeriodTimes1,shiftPattern1 );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageReport.def
index a6f622c..a9e718b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageReport.def
@@ -26,16 +26,6 @@
Taborder: 2
]
}
- Component dhMDSHandles
- {
- #keys: '[414996.1.116451655]'
- BaseType: 'WebDataHolder'
- Databinding: 'structured[internal[ExternalMDSHandle]]*'
- Properties:
- [
- Taborder: 3
- ]
- }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanByMDSID.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanByMDSID.def
new file mode 100644
index 0000000..5dd44f2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanByMDSID.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetMacroPlanByMDSID (
+ OfflinePlanTableInfo offlinePlanInfo
+) as MacroPlan id:Method_ApplicationMacroPlanner_GetMacroPlanByMDSID
+{
+ #keys: '[414996.1.122222878]'
+ Body:
+ [*
+ componentmds := ApplicationScope.ComponentMDS();
+
+ demandMacroPlan := null( MacroPlan );
+
+ if( exists( ScenarioManager,ScenarioMP,scemp,scemp.IsLoaded() and scemp.DatasetMDSID() = offlinePlanInfo.MacroPlanMDSID() )){
+ mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = offlinePlanInfo.MacroPlanMDSID() );
+ handle := mdsinstance.GetMDSHandle();
+ demandMacroPlan := handle.AsMacroPlan();
+ }else{
+ error( "MacroPlan[ " + offlinePlanInfo.MacroPlanName() + "] is not load." );
+ }
+
+ return demandMacroPlan;
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
index a6154d6..695b69b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
@@ -7,14 +7,13 @@
[*
componentmds := ApplicationScope.ComponentMDS();
- dhMDSHandles.Data().Flush();
macroPlans := construct( MacroPlans );
scemps := selectset( ScenarioManager,ScenarioMP,mp,mp.IsLoaded());
traverse( scemps,Elements,scemp ){
mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = scemp.DatasetMDSID() );
handle := mdsinstance.GetMDSHandle();
- dhMDSHandles.Data().Add( handle );
+
demandMacroPlan := handle.AsMacroPlan();
macroPlans.Add( demandMacroPlan );
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def"
index 0b818cc..56e00de 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def"
@@ -9,7 +9,7 @@
{
#keys: '[412672.1.78210474]'
BaseType: 'WebDropDownList'
- Databinding: 'OfflinePlanTable'
+ Databinding: 'OfflinePlanTableInfo'
Children:
[
Component DataExtractorRibbon
@@ -18,7 +18,7 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'structured[OfflinePlanTable]'
+ DataType: 'structured[OfflinePlanTableInfo]'
Source: 'dhOfflinePlanTables'
Taborder: 0
Transformation: 'Elements'
@@ -27,7 +27,7 @@
]
Properties:
[
- DisplayField: 'SaveDateTime'
+ DisplayField: 'TableName'
Label: '鍩哄噯涓嬬嚎璁″垝:'
Taborder: 0
]
@@ -46,7 +46,7 @@
{
#keys: '[412672.1.78210579]'
BaseType: 'WebDropDownList'
- Databinding: 'OfflinePlanTable'
+ Databinding: 'OfflinePlanTableInfo'
Children:
[
Component DataExtractorRibbon300
@@ -55,7 +55,7 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'structured[OfflinePlanTable]'
+ DataType: 'structured[OfflinePlanTableInfo]'
Source: 'dhOfflinePlanTables'
Taborder: 0
Transformation: 'Elements'
@@ -64,7 +64,7 @@
]
Properties:
[
- DisplayField: 'SaveDateTime'
+ DisplayField: 'TableName'
Label: '瀵规瘮涓嬬嚎璁″垝:'
Taborder: 1
]
@@ -73,10 +73,25 @@
{
#keys: '[414996.1.103241339]'
BaseType: 'WebDataHolder'
- Databinding: 'structured[OfflinePlanTable]*'
+ Databinding: 'structured[OfflinePlanTableInfo]*'
+ Children:
+ [
+ Component deOfflinePlanTables
+ {
+ #keys: '[414996.1.124700546]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'RecycleBin'
+ Source: 'RecycleBin'
+ Taborder: 0
+ Transformation: 'OfflinePlanTableInfo'
+ ]
+ }
+ ]
Properties:
[
- Taborder: 3
+ Taborder: 4
]
}
Component bExport
@@ -86,7 +101,7 @@
Properties:
[
Image: 'EXPORT1'
- Taborder: 4
+ Taborder: 5
]
}
Component dhXMLDataListener
@@ -112,7 +127,16 @@
]
Properties:
[
- Taborder: 5
+ Taborder: 6
+ ]
+ }
+ Component ButtonRibbon
+ {
+ #keys: '[414996.1.125429607]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Taborder: 3
]
}
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def
new file mode 100644
index 0000000..2054ef1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FormOfflinePlanChanges_OnCreated
+{
+ #keys: '[414996.1.124740834]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_ButtonRibbon_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_ButtonRibbon_OnClick.def
new file mode 100644
index 0000000..6488149
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_ButtonRibbon_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: PanelRibbon504_801/ButtonRibbon
+Response OnClick () id:Response_PanelRibbon504_801_ButtonRibbon_OnClick
+{
+ #keys: '[414996.1.125429626]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ macroPlans := ApplicationMacroPlanner.GetMacroPlans();
+ OfflinePlanTableInfo::Create( macroPlans,RecycleBin );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def
index da3570f..292494e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def
@@ -9,8 +9,13 @@
{
Body:
[*
- baseVersion := ddlBaseOfflinePlanTable.Data();
- compareVersion := ddlCompareOfflinePlanTable.Data();
+ baseOfflineTableInfo := ddlBaseOfflinePlanTable.Data();
+ baseMacroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( baseOfflineTableInfo );
+ baseVersion := select( baseMacroPlan ,OfflinePlanTable,table,table.SaveDateTime() = baseOfflineTableInfo.TableSaveTime() );
+
+ compareOfflineTableInfo := ddlCompareOfflinePlanTable.Data();
+ compareMacroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( compareOfflineTableInfo );
+ compareVersion := select( compareMacroPlan ,OfflinePlanTable,table,table.SaveDateTime() = compareOfflineTableInfo.TableSaveTime() );
dhTable.Data( LocalCell_OfflinePlanComparison::Compared( RecycleBin,baseVersion,compareVersion ));
*]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_dhOfflinePlanTables_OnCreated\04357.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_dhOfflinePlanTables_OnCreated\04357.def"
index 0df72f7..8844fc9 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_dhOfflinePlanTables_OnCreated\04357.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_dhOfflinePlanTables_OnCreated\04357.def"
@@ -7,20 +7,6 @@
DefinitionID: 'Responsedef_WebComponent_OnCreated'
QuillAction
{
- Body:
- [*
- macroPlans := ApplicationMacroPlanner.GetMacroPlans();
- offlinePlanTables := selectset( macroPlans,Elements.OfflinePlanTable,table,true );
- traverse( macroPlans,Elements,element ){
- info( element.MDSID() );
- }
- info( dhMDSHandles.Data().Size() );
- traverse( dhMDSHandles.Data(),Elements,element ){
- info( element.AsMacroPlan().MDSMacroPlan().Description() );
- }
-
- this.Data( &offlinePlanTables );
- *]
GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_568_ButtonCompare_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_568_ButtonCompare_OnClick.def
index 76c486e..d126b96 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_568_ButtonCompare_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_568_ButtonCompare_OnClick.def
@@ -10,7 +10,7 @@
Body:
[*
- table := LocalCell_DemandComparison::Compared( RecycleBin,dhBaseVersionPath.Data(),dhCompareVersionPath.Data(),lBaseVersionName.Text(),lCompareVersionName.Text() );
+ table := LocalCell_DemandComparison::Compared( RecycleBin,MacroPlan, dhBaseVersionPath.Data(),dhCompareVersionPath.Data(),lBaseVersionName.Text(),lCompareVersionName.Text() );
dhComparisonData.Data( table );
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def
index 8fc3953..5fc2143 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def
@@ -7,7 +7,7 @@
{
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgNotLinkedToPeriod","title":"ImgNotLinkedToPeriod","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgNotLinkedToPeriod"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsPostponed","title":"ImgIsPostponed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsPostponed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"Quantity UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Original Qty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NettedQuantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NettedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment Illustration","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfillment","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round(2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue(object.NettedQuantity()-object.FulfilledQuantity(),0.0).Round(2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Priority.Name","title":"Priority","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Priority.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandUncertaintyPercentage","title":"Uncertainty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandUncertaintyPercentage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Origin","title":"Origin","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Origin"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgNotLinkedToPeriod","title":"ImgNotLinkedToPeriod","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgNotLinkedToPeriod"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsPostponed","title":"ImgIsPostponed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsPostponed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"Quantity UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Original Qty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NettedQuantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NettedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment Illustration","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfillment","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round(2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue(object.NettedQuantity()-object.FulfilledQuantity(),0.0).Round(2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Priority.Name","title":"Priority","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Priority.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandUncertaintyPercentage","title":"Uncertainty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandUncertaintyPercentage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Origin","title":"Origin","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Origin"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Differnce","title":"Differnce","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Differnce"}}]'
]
}
]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_ListSalesDemands_MenuCreate_OnClick\043715.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_ListSalesDemands_MenuCreate_OnClick\043715.def"
index 7041dcb..4267aa8 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_ListSalesDemands_MenuCreate_OnClick\043715.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_ListSalesDemands_MenuCreate_OnClick\043715.def"
@@ -2,16 +2,4 @@
#parent: ListSalesDemands
Response OnClick () inherited id:Response_ListSalesDemands_MenuCreate_OnClick_715 #extension
{
- QuillAction #extension
- {
- Body:
- [*
- //Create new sales demand
- dlg := construct( DialogCreateEditForecast );
- dlg.New();
-
- dlg.bSplitUsingCurve().Visible( true );
- dlg.PanelCurve().Visible( true );
- *]
- }
}
--
Gitblit v1.9.3