From d907182b676b348aae346a15ed4e8790b75d226a Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期日, 29 九月 2024 12:05:48 +0800
Subject: [PATCH] 修改三条产线轮换生产
---
_Main/BL/Type_ProductionLineBatchData/Method_VerifyUnits.qbl | 16 +++++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Component_pnlContent.def | 62 +++++++++++++++++++-
_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl | 26 ++++++--
_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl | 2
_Main/BL/Relations/Relation_ProductionLineBatchData_ShiftPattern3_ShiftPattern_ProductionLineBa.qbl | 23 +++++++
_Main/BL/Type_ProductionLineBatchData/Method_verifyEnable.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_FormProductionLineBatchData/Component_ListProductionLineBatchData.def | 2
_Main/BL/Type_ProductionLineBatchData/StaticMethod_Create.qbl | 6 +
_Main/BL/Type_ProductionLineBatchData/Method_OnOK.qbl | 2
_Main/BL/Type_ProductionLineBatchData/Method_Update.qbl | 4 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Response_pnlActions_btnOk_OnClick.def | 4 +
_Main/BL/Relations/Relation_ProductionLineBatchData_Unit3_Unit_ProductionLineBatchData3.qbl | 23 +++++++
12 files changed, 156 insertions(+), 16 deletions(-)
diff --git a/_Main/BL/Relations/Relation_ProductionLineBatchData_ShiftPattern3_ShiftPattern_ProductionLineBa.qbl b/_Main/BL/Relations/Relation_ProductionLineBatchData_ShiftPattern3_ShiftPattern_ProductionLineBa.qbl
new file mode 100644
index 0000000..75a5fe6
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ProductionLineBatchData_ShiftPattern3_ShiftPattern_ProductionLineBa.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ProductionLineBatchData_ShiftPattern3_ShiftPattern_ProductionLineBatchData3
+{
+ #keys: '1[414996.1.105920038]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide ShiftPattern3
+ {
+ #keys: '3[414996.1.105920040][414996.1.105920039][414996.1.105920041]'
+ Cardinality: '0to1'
+ ObjectDefinition: ProductionLineBatchData
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide ProductionLineBatchData3
+ {
+ #keys: '3[414996.1.105920043][414996.1.105920042][414996.1.105920044]'
+ Cardinality: '1toN'
+ ObjectDefinition: ShiftPattern
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_ProductionLineBatchData_Unit3_Unit_ProductionLineBatchData3.qbl b/_Main/BL/Relations/Relation_ProductionLineBatchData_Unit3_Unit_ProductionLineBatchData3.qbl
new file mode 100644
index 0000000..3d6132b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ProductionLineBatchData_Unit3_Unit_ProductionLineBatchData3.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ProductionLineBatchData_Unit3_Unit_ProductionLineBatchData3
+{
+ #keys: '1[414996.1.105920060]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Unit3
+ {
+ #keys: '3[414996.1.105920062][414996.1.105920061][414996.1.105920063]'
+ Cardinality: '0to1'
+ ObjectDefinition: ProductionLineBatchData
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide ProductionLineBatchData3
+ {
+ #keys: '3[414996.1.105920065][414996.1.105920064][414996.1.105920066]'
+ Cardinality: '1toN'
+ ObjectDefinition: Unit
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
index 1402b5a..35bca5a 100644
--- a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
+++ b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
@@ -24,7 +24,7 @@
}
}
- owner.DispatchShiftPlan( relnew,ID := OS::GenerateGUIDAsString(),
+ owner.DispatchShiftPlan( relnew,ID := OS:: GenerateGUIDAsString(),
ProductLine := shiftPlan.UnitPeriodTime().Unit().ID(),
ShiftDate := shiftPlan.UnitPeriodTime().Period_MP().StartDate(),
Tips := shiftPlan.Remark(),
diff --git a/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl b/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl
index 8347391..39d85a3 100644
--- a/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl
+++ b/_Main/BL/Type_ProductionLineBatchData/Method_Enable.qbl
@@ -10,6 +10,7 @@
// 杞崲鐝缂撳瓨
shiftPattern1 := this.ShiftPattern1();
shiftPattern2 := this.ShiftPattern2();
+ shiftPattern3 := this.ShiftPattern3();
tempShiftPattern := shiftPattern1;
dayPeriod_MPs := selectsortedset( owner,Period_MP,period_MP, period_MP.TimeUnit() = 'Day' and period_MP.StartDate() >= this.StartDate() and period_MP.EndDate() <= this.EndDate() ,period_MP.StartDate());
@@ -28,26 +29,31 @@
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()));
- unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()));
-
+ 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()));
if( unitPeriodTimes1.Size() > 0 ){
this.OnOK( unitPeriodTimes1,shiftPattern1 );
}
if( unitPeriodTimes2.Size() > 0 ){
this.OnOK( unitPeriodTimes2,shiftPattern2 );
}
+ if( unitPeriodTimes3.Size() > 0 ){
+ this.OnOK( unitPeriodTimes3,shiftPattern3 );
+ }
// 鎹㈢彮娆�
tempShiftPattern := shiftPattern1;
shiftPattern1 := shiftPattern2;
- shiftPattern2 := tempShiftPattern;
+ shiftPattern2 := shiftPattern3;
+ shiftPattern3 := tempShiftPattern;
}
}
if( weekPeriod_MPs.Size() <> 0 ){
traverse( weekPeriod_MPs,Elements,period_MP ){
- 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());
+ 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()));
if( unitPeriodTimes1.Size() > 0 ){
this.OnOK( unitPeriodTimes1,shiftPattern1 );
@@ -55,11 +61,15 @@
if( unitPeriodTimes2.Size() > 0 ){
this.OnOK( unitPeriodTimes2,shiftPattern2 );
}
-
+ if( unitPeriodTimes3.Size() > 0 ){
+ this.OnOK( unitPeriodTimes3,shiftPattern3 );
+ }
+
// 鎹㈢彮娆�
tempShiftPattern := shiftPattern1;
shiftPattern1 := shiftPattern2;
- shiftPattern2 := tempShiftPattern;
+ shiftPattern2 := shiftPattern3;
+ shiftPattern3 := tempShiftPattern;
}
}
diff --git a/_Main/BL/Type_ProductionLineBatchData/Method_OnOK.qbl b/_Main/BL/Type_ProductionLineBatchData/Method_OnOK.qbl
index 943b78d..8c9012e 100644
--- a/_Main/BL/Type_ProductionLineBatchData/Method_OnOK.qbl
+++ b/_Main/BL/Type_ProductionLineBatchData/Method_OnOK.qbl
@@ -45,8 +45,8 @@
minloadthreshold := firstElement.MinimumLoadThreshold();
}
}
- isbatchedit := unitPeriodTimes.Size() > 1;
+ isbatchedit := unitPeriodTimes.Size() > 1;
UnitAvailability::CreateOrUpdateForUnitPeriodTimes( unitPeriodTimes,
not isbatchedit or false,
timeunit,
diff --git a/_Main/BL/Type_ProductionLineBatchData/Method_Update.qbl b/_Main/BL/Type_ProductionLineBatchData/Method_Update.qbl
index 68b817c..a19ab35 100644
--- a/_Main/BL/Type_ProductionLineBatchData/Method_Update.qbl
+++ b/_Main/BL/Type_ProductionLineBatchData/Method_Update.qbl
@@ -3,8 +3,10 @@
Method Update (
Unit line1,
Unit line2,
+ Unit line3,
ShiftPattern shiftPattern1,
ShiftPattern shiftPattern2,
+ ShiftPattern shiftPattern3,
Date startDate,
Date endDate
)
@@ -32,8 +34,10 @@
this.ShiftPattern1( relset, shiftPattern1 );
this.ShiftPattern2( relset, shiftPattern2 );
+ this.ShiftPattern3( relset, shiftPattern3 );
this.Unit1( relset, line1 );
this.Unit2( relset, line2 );
+ this.Unit3( relset, line3 );
this.StartDate( startDate );
this.EndDate( endDate );
*]
diff --git a/_Main/BL/Type_ProductionLineBatchData/Method_VerifyUnits.qbl b/_Main/BL/Type_ProductionLineBatchData/Method_VerifyUnits.qbl
new file mode 100644
index 0000000..6220503
--- /dev/null
+++ b/_Main/BL/Type_ProductionLineBatchData/Method_VerifyUnits.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method VerifyUnits (
+ const Unit unit1,
+ const Unit unit2,
+ const Unit unit3
+) const declarative as Boolean
+{
+ TextBody:
+ [*
+ // Akari Sep-29-2024 (created)
+ return ( this.Unit1() = unit1 or this.Unit2() = unit2 or this.Unit3() = unit3 or
+ this.Unit1() = unit2 or this.Unit2() = unit3 or this.Unit3() = unit1 or
+ this.Unit1() = unit3 or this.Unit2() = unit1 or this.Unit3() = unit2 )
+ *]
+}
diff --git a/_Main/BL/Type_ProductionLineBatchData/Method_verifyEnable.qbl b/_Main/BL/Type_ProductionLineBatchData/Method_verifyEnable.qbl
index bf02abd..e26abfe 100644
--- a/_Main/BL/Type_ProductionLineBatchData/Method_verifyEnable.qbl
+++ b/_Main/BL/Type_ProductionLineBatchData/Method_verifyEnable.qbl
@@ -11,7 +11,7 @@
value := true;
//锛�3锛� 鍚屼竴鏃堕棿锛屼竴鏉′骇绾夸笉鍙互鍜屽鏉′骇绾胯疆鎹㈢敓浜э紝濡傛灉浜х嚎1ZKG鍜屼骇绾�2ZK鐨勮疆鎹㈢彮娆″凡缁忓湪4/29/2024鐢熸晥锛岄偅涔堜骇绾�1ZKG鍜屽叾浠栦骇绾跨殑杞崲鐝鏃犳硶鍦ㄥ悓涓�鏃堕棿鐢熸晥锛屾鏃躲�怑nable銆戞寜閽鐢�
verifyData := select( owner,ProductionLineBatchData,plbd, plbd <> this and plbd.IsEnable() and
- ( plbd.Unit1() = this.Unit1() or plbd.Unit2() = this.Unit2() or plbd.Unit1() = this.Unit2() or plbd.Unit2() = this.Unit1()) and
+ plbd.VerifyUnits( this.Unit1(),this.Unit2(),this.Unit3() ) and
LocalTool::IsOverlap( plbd.StartDate(),plbd.EndDate(),this.StartDate(),this.EndDate()));
if( not isnull( verifyData )){
diff --git a/_Main/BL/Type_ProductionLineBatchData/StaticMethod_Create.qbl b/_Main/BL/Type_ProductionLineBatchData/StaticMethod_Create.qbl
index 7654032..4c58a4c 100644
--- a/_Main/BL/Type_ProductionLineBatchData/StaticMethod_Create.qbl
+++ b/_Main/BL/Type_ProductionLineBatchData/StaticMethod_Create.qbl
@@ -4,8 +4,10 @@
MacroPlan owner,
Unit line1,
Unit line2,
+ Unit line3,
ShiftPattern shiftPattern1,
ShiftPattern shiftPattern2,
+ ShiftPattern shiftPattern3,
Date startDate,
Date endDate
) as ProductionLineBatchData
@@ -13,7 +15,7 @@
TextBody:
[*
// rislai Jun-7-2024 (created)
- if( isnull( shiftPattern1 ) or isnull( shiftPattern2 ) or isnull( line1 ) or isnull( line2 )){
+ if( isnull( shiftPattern1 ) or isnull( line1 ) ){
error( "鏁版嵁涓嶈兘涓虹┖锛�" );
}
// 锛�1锛� 鏂板浜х嚎1鍜屼骇绾�2鐩稿悓鏃舵姤閿欌�滅浉鍚屼骇绾挎棤娉曟柊澧炩�濓紱
@@ -32,8 +34,10 @@
data := owner.ProductionLineBatchData( relnew,
ShiftPattern1 := shiftPattern1,
ShiftPattern2 := shiftPattern2,
+ ShiftPattern3 := shiftPattern3,
Unit1 := line1,
Unit2 := line2,
+ Unit3 := line3,
StartDate := startDate,
EndDate := endDate );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Component_pnlContent.def
index 896cf38..e69df80 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Component_pnlContent.def
@@ -86,7 +86,7 @@
DataBinding: 'DialogData.Data.ShiftPattern1'
DisplayField: 'Name'
Label: 'Shift pattern 1'
- Taborder: 2
+ Taborder: 3
]
}
Component ddlShiftPattern2
@@ -114,7 +114,7 @@
DataBinding: 'DialogData.Data.ShiftPattern2'
DisplayField: 'Name'
Label: 'Shift pattern 2'
- Taborder: 3
+ Taborder: 4
]
}
Component dsStartDate
@@ -125,7 +125,7 @@
[
DataBinding: 'DialogData.Data.StartDate'
Label: 'Start date'
- Taborder: 4
+ Taborder: 6
]
}
Component dsEndDate
@@ -136,6 +136,62 @@
[
DataBinding: 'DialogData.Data.EndDate'
Label: 'End date'
+ Taborder: 7
+ ]
+ }
+ Component ddlLine3
+ {
+ #keys: '[414996.1.106189463]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'Unit'
+ Children:
+ [
+ Component deContent872
+ {
+ #keys: '[414996.1.106189464]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[Unit]'
+ Source: 'ApplicationMacroPlanner.DataHolderUnit'
+ Taborder: 0
+ Transformation: 'Elements.astype(Unit)'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DataBinding: 'DialogData.Data.Unit3'
+ DisplayField: 'Name'
+ Label: 'Line 3'
+ Taborder: 2
+ ]
+ }
+ Component ddlShiftPattern3
+ {
+ #keys: '[414996.1.108410230]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'ShiftPattern'
+ Children:
+ [
+ Component deContent529
+ {
+ #keys: '[414996.1.108410231]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'ShiftPattern'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DataBinding: 'DialogData.Data.ShiftPattern3'
+ DisplayField: 'Name'
+ Label: 'Shift pattern 3'
Taborder: 5
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Response_pnlActions_btnOk_OnClick.def
index b22731d..d6e9bc5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditProductionLineBatchData/Response_pnlActions_btnOk_OnClick.def
@@ -15,16 +15,20 @@
if( not isnull( DialogData.Data( ))){
DialogData.Data( ).Update( ddlLine1.Data(),
ddlLine2.Data(),
+ ddlLine3.Data(),
ddlShiftPattern1.Data(),
ddlShiftPattern2.Data(),
+ ddlShiftPattern3.Data(),
dsStartDate.Date(),
dsEndDate.Date());
}else{
ProductionLineBatchData::Create( MacroPlan,
ddlLine1.Data(),
ddlLine2.Data(),
+ ddlLine3.Data(),
ddlShiftPattern1.Data(),
ddlShiftPattern2.Data(),
+ ddlShiftPattern3.Data(),
dsStartDate.Date(),
dsEndDate.Date());
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormProductionLineBatchData/Component_ListProductionLineBatchData.def b/_Main/UI/MacroPlannerWebApp/Component_FormProductionLineBatchData/Component_ListProductionLineBatchData.def
index d7fd926..a380914 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormProductionLineBatchData/Component_ListProductionLineBatchData.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormProductionLineBatchData/Component_ListProductionLineBatchData.def
@@ -28,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit1.Name","title":"Unit1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit1.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit2.Name","title":"Unit2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit2.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShiftPattern1.Name","title":"Shift pattern 1","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ShiftPattern1.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShiftPattern2.Name","title":"Shift pattern 2","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ShiftPattern2.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit1.Name","title":"Unit1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit1.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit2.Name","title":"Unit2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit2.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit3.Name","title":"Unit3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit3.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShiftPattern1.Name","title":"Shift pattern 1","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ShiftPattern1.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShiftPattern2.Name","title":"Shift pattern 2","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ShiftPattern2.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShiftPattern3.Name","title":"Shift pattern 3","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ShiftPattern3.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}}]'
ContextMenu: 'listContextMenuProductionLineBatchData'
Taborder: 2
]
--
Gitblit v1.9.3