From 0605be7550a4f22802eba113591cc7596cf55ffc Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期四, 22 八月 2024 17:01:14 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev

---
 _Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl                                              |    9 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def                       |    9 +
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Product.qbl                                               |    8 +
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningDate.qbl                                          |    8 +
 _Main/BL/InfoMessages.qbl                                                                                |    4 
 _Main/BL/Relations/Relation_ShiftDayTime_ShiftPattern_ShiftPattern_ShiftDayTime.qbl                      |   23 ++
 _Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceDataset_InterfaceDataset_Assemb.qbl      |   23 ++
 _Main/BL/Type_InventoryInterfaceData/StaticMethod_SynchronizeInventory#575.qbl                           |   24 +++
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Sequence.qbl                                              |    8 +
 _Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_FactoryName.qbl                                        |    6 
 _Main/BL/Type_AssemblyOnlinePlanPush/_ROOT_Type_AssemblyOnlinePlanPPPSPush.qbl                           |   10 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def                        |    8 
 _Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw                                                     |   92 +++++-----
 _Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_VersionName.qbl                                        |    6 
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionFlag.qbl                                           |    8 +
 _Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceLoginfo_InterfaceLoginfo_Assemb.qbl      |   23 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def |    5 
 _Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl                                       |   11 +
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def        |    6 
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_InterfaceTime.qbl                                         |    8 +
 _Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl                                         |    2 
 _Main/BL/Type_ShiftDayTime/StaticMethod_EditData.qbl                                                     |   17 ++
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def                    |    6 
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_FactoryName.qbl                                           |    8 +
 /dev/null                                                                                                |   23 --
 _Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl                                       |   55 ++++++
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningQty.qbl                                           |    8 +
 _Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_Fac.qbl                                                |    6 
 _Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl                                        |    4 
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionName.qbl                                           |    8 +
 _Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Fac.qbl                                                   |    8 +
 _Main/BL/Type_ShiftDayTime/StaticMethod_CreateData.qbl                                                   |   18 ++
 32 files changed, 366 insertions(+), 96 deletions(-)

diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
index 97e2fd6..fea862f 100644
--- a/_Main/BL/InfoMessages.qbl
+++ b/_Main/BL/InfoMessages.qbl
@@ -102,6 +102,10 @@
   {
     DefaultText: 'ds-yunrong-gw.dmp.vwfawedl.mobi'
   }
+  InfoMessage InterfaceDataset_AssemblyOnlinePlanPPPSPush_Name
+  {
+    DefaultText: 'Assembly online plan - PPPS'
+  }
   InfoMessage InterfaceDataset_ContentType
   {
     DefaultText: 'application/json'
diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceDataset_InterfaceDataset_Assemb.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceDataset_InterfaceDataset_Assemb.qbl
new file mode 100644
index 0000000..13b7cc5
--- /dev/null
+++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceDataset_InterfaceDataset_Assemb.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation AssemblyOnlinePlanPPPSPush_InterfaceDataset_InterfaceDataset_AssemblyOnlinePlanPPPSPush
+{
+  #keys: '1[415136.0.1029932763]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide InterfaceDataset
+  {
+    #keys: '3[415136.0.1029932765][415136.0.1029932764][415136.0.1029932766]'
+    Cardinality: '0to1'
+    ObjectDefinition: AssemblyOnlinePlanPPPSPush
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide AssemblyOnlinePlanPPPSPush
+  {
+    #keys: '3[415136.0.1029932768][415136.0.1029932767][415136.0.1029932769]'
+    Cardinality: '1toN'
+    ObjectDefinition: InterfaceDataset
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceLoginfo_InterfaceLoginfo_Assemb.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceLoginfo_InterfaceLoginfo_Assemb.qbl
new file mode 100644
index 0000000..19ba157
--- /dev/null
+++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanPPPSPush_InterfaceLoginfo_InterfaceLoginfo_Assemb.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation AssemblyOnlinePlanPPPSPush_InterfaceLoginfo_InterfaceLoginfo_AssemblyOnlinePlanPPPSPush
+{
+  #keys: '1[415136.0.1029932776]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide InterfaceLoginfo
+  {
+    #keys: '3[415136.0.1029932778][415136.0.1029932777][415136.0.1029932779]'
+    Cardinality: '0to1'
+    ObjectDefinition: AssemblyOnlinePlanPPPSPush
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide AssemblyOnlinePlanPPPSPush
+  {
+    #keys: '3[415136.0.1029932781][415136.0.1029932780][415136.0.1029932782]'
+    Cardinality: '1toN'
+    ObjectDefinition: InterfaceLoginfo
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl b/_Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl
deleted file mode 100644
index cd9cd96..0000000
--- a/_Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime
-{
-  #keys: '1[413988.0.1371171483]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide ShiftDay
-  {
-    #keys: '3[413988.0.1371171485][413988.0.1371171484][413988.0.1371171486]'
-    Cardinality: '0to1'
-    ObjectDefinition: ShiftDayTime
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide ShiftDayTime
-  {
-    #keys: '3[413988.0.1371171488][413988.0.1371171487][413988.0.1371171489]'
-    Cardinality: '1toN'
-    ObjectDefinition: ShiftDay
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_ShiftDayTime_ShiftPattern_ShiftPattern_ShiftDayTime.qbl b/_Main/BL/Relations/Relation_ShiftDayTime_ShiftPattern_ShiftPattern_ShiftDayTime.qbl
new file mode 100644
index 0000000..2fc800d
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShiftDayTime_ShiftPattern_ShiftPattern_ShiftDayTime.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShiftDayTime_ShiftPattern_ShiftPattern_ShiftDayTime
+{
+  #keys: '1[415754.0.123915968]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ShiftPattern
+  {
+    #keys: '3[415754.0.123915970][415754.0.123915969][415754.0.123915971]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShiftDayTime
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShiftDayTime
+  {
+    #keys: '3[415754.0.123915973][415754.0.123915972][415754.0.123915974]'
+    Cardinality: '1toN'
+    ObjectDefinition: ShiftPattern
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Fac.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Fac.qbl
new file mode 100644
index 0000000..c909dfa
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Fac.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Fac
+{
+  #keys: '3[415136.0.1029932754][415136.0.1029932753][415136.0.1029932755]'
+  Description: '宸ュ巶绠�鍐�'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_FactoryName.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_FactoryName.qbl
new file mode 100644
index 0000000..7c9c007
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_FactoryName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FactoryName
+{
+  #keys: '3[415136.0.1029932760][415136.0.1029932759][415136.0.1029932761]'
+  Description: '宸ュ巶鍚嶇О'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_InterfaceTime.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_InterfaceTime.qbl
new file mode 100644
index 0000000..af3653d
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_InterfaceTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute InterfaceTime
+{
+  #keys: '3[415136.0.1029932757][415136.0.1029932756][415136.0.1029932758]'
+  Description: '鎺ュ彛鏃堕棿'
+  ValueType: DateTime
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningDate.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningDate.qbl
new file mode 100644
index 0000000..63f7945
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlanningDate
+{
+  #keys: '3[415136.0.1029932714][415136.0.1029932713][415136.0.1029932715]'
+  Description: '璁″垝鏃ユ湡'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningQty.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningQty.qbl
new file mode 100644
index 0000000..7c018f5
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_PlanningQty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlanningQty
+{
+  #keys: '3[415136.0.1029932727][415136.0.1029932726][415136.0.1029932728]'
+  Description: '瀵瑰簲鏃ユ湡鐨勪笂绾胯鍒掓暟閲�'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Product.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Product.qbl
new file mode 100644
index 0000000..2bd80b3
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Product.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Product
+{
+  #keys: '3[415136.0.1029932704][415136.0.1029932703][415136.0.1029932705]'
+  Description: '鐗╂枡鍙�'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Sequence.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Sequence.qbl
new file mode 100644
index 0000000..df023e7
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_Sequence.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Sequence
+{
+  #keys: '3[415136.0.1029932737][415136.0.1029932736][415136.0.1029932738]'
+  Description: '瀵瑰簲鏃ユ湡鐨勪笂绾块『搴�'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionFlag.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionFlag.qbl
new file mode 100644
index 0000000..b652f30
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionFlag.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionFlag
+{
+  #keys: '3[415136.0.1029932747][415136.0.1029932746][415136.0.1029932748]'
+  Description: '鐗堟湰鏍囪瘑'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionName.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionName.qbl
new file mode 100644
index 0000000..e2a012a
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/Attribute_VersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionName
+{
+  #keys: '3[415136.0.1029932750][415136.0.1029932749][415136.0.1029932751]'
+  Description: '鐗堟湰鍚嶇О'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_Fac.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_Fac.qbl
new file mode 100644
index 0000000..386d17b
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_Fac.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Fac
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_FactoryName.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_FactoryName.qbl
new file mode 100644
index 0000000..2ff5775
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_FactoryName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: FactoryName
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_VersionName.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_VersionName.qbl
new file mode 100644
index 0000000..34a947a
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/DefaultValue_VersionName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: VersionName
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl
new file mode 100644
index 0000000..d33daa3
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl
@@ -0,0 +1,55 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateData (
+  const MacroPlan macroplan,
+  InterfaceDataset interfaceDataset,
+  String executor,
+  Boolean versionflag
+)
+{
+  Description: '鐢熸垚鍙互涓嬪彂鐨勫鎴烽渶姹傦紙PPA+IDS锛夋暟鎹�'
+  TextBody:
+  [*
+    // 鐢勫叞楦� Aug-20-2024 (created)
+    cdlast                 := maxobject( interfaceDataset, AssemblyOnlinePlanPPPSPush, cd, cd.InterfaceTime(), cd.PlanningDate(), cd.Product() );
+    if( not isnull( cdlast ) ){
+      loginfo              := cdlast.InterfaceLoginfo();
+      if( not loginfo.IsShow() ){
+        loginfo.Delete();
+      }else{
+        loginfo.Last( false );
+      }
+      interfaceDataset.AssemblyOnlinePlanPPPSPush( relflush );
+    }
+    nowdate                := DateTime::ActualTime();
+    loginfo                := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := executor
+                                                                 , Name := Translations::InterfaceDataset_AssemblyOnlinePlanPPPSPush_Name()
+                                                                 , InterfaceDateTime := nowdate
+                                                                 , Message := '瑁呴厤涓婄嚎璁″垝-PPPS浼犺緭鑷虫暟鎹腑鍙帮紙鍖呭惈鎺掑簭锛�/SAP锛堜笉鍖呭惈鎺掑簭锛�'
+                                                                 , IsShow := false
+                                                                 , Last := true
+                                                                 , ReturnSuccess := true
+                                                                 , ReturnMsg := 'Success'
+                                                                 , Success := true
+                                                                  );
+    traverse( macroplan, AssemblyOnlinePlanColumn, column ){
+      traverse( column, AssemblyOnlinePlanCell, cell, cell.Value() <> '' and cell.AssemblyOnlinePlanRow().RowNr() = '1' ){
+        quantityrow        := cell.AssemblyOnlinePlanRow();
+        ordercell          := selectobject( column, AssemblyOnlinePlanCell, ocell, ocell.AssemblyOnlinePlanRow().ProductID() = quantityrow.ProductID() 
+                                            and ocell.AssemblyOnlinePlanRow().ProductionLine() = quantityrow.ProductionLine() 
+                                            and ocell.AssemblyOnlinePlanRow().RowNr() = '2' );
+    
+        cd                  :=interfaceDataset.AssemblyOnlinePlanPPPSPush( relnew, Product           := quantityrow.ProductID()
+                                                                           , PlanningDate            := column.ColumnDate()
+                                                                           , PlanningQty             := [Number]cell.Value()
+                                                                           , Sequence                := ordercell.Value()
+                                                                           , VersionName             := macroplan.ScenarioName()
+                                                                           , InterfaceTime           := nowdate
+                                                                           , VersionFlag             := versionflag
+                                                                           );
+        loginfo.AssemblyOnlinePlanPPPSPush( relinsert, cd );
+      }
+    }
+    loginfo.TotalRow( loginfo.AssemblyOnlinePlanPPPSPush( relsize ) );
+  *]
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/_ROOT_Type_AssemblyOnlinePlanPPPSPush.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/_ROOT_Type_AssemblyOnlinePlanPPPSPush.qbl
new file mode 100644
index 0000000..a68005b
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/_ROOT_Type_AssemblyOnlinePlanPPPSPush.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type AssemblyOnlinePlanPPPSPush
+{
+  #keys: '5[415136.0.1029932700][415136.0.1029932698][0.0.0][415136.0.1029932699][415136.0.1029932701]'
+  BaseType: Object
+  Description: '3.5瑁呴厤涓婄嚎璁″垝-PPPS浼犺緭鑷虫暟鎹腑鍙帮紙鍖呭惈鎺掑簭锛�/SAP锛堜笉鍖呭惈鎺掑簭锛�'
+  StructuredName: 'AssemblyOnlinePlanPPPSPushs'
+}
diff --git a/_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl b/_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl
index e61e4bd..1ce13b4 100644
--- a/_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl
@@ -24,7 +24,7 @@
     nowdate                := DateTime::ActualTime();
     loginfo                := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := executor
                                                                  , Name := Translations::InterfaceDataset_CustomerDemandPPAIDS_Name()
-                                                                 , InterfaceDateTime := DateTime::ActualTime()
+                                                                 , InterfaceDateTime := nowdate
                                                                  , Message := '瀹㈡埛闇�姹傦紙PPA+IDS锛夋暟鎹帹閫�'
                                                                  , IsShow := false
                                                                  , Last := true
diff --git a/_Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl b/_Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl
index 0bde4d2..efe4c0f 100644
--- a/_Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl
+++ b/_Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl
@@ -22,12 +22,17 @@
       cnv2.SetCustomConversion();
       cnv2.CustomFormatString( 'yyyy-MM-dd' );
       
-    //  sadatalist := construct( ShippingActualDatas );
+      sadatalist := construct( FinishedEngineInventorys );
       for( seq := 0;seq < data.Size();seq++){
         item := data.Get(seq);
-        FinishedEngineInventory::GenerateData( loginfo, cnv2, item );
-    //    sadatalist.Add( sadata );
+        sadata := FinishedEngineInventory::GenerateData( loginfo, cnv2, item );
+        sadatalist.Add( sadata );
       }
+      
+      options := DatasetFindOptions::Construct( 'MacroPlan' ).IncludeOffline( true ); //to load we must search offline datasets.
+      mdskey := DatasetController::FindUnique( options );
+    
+      MDSMacroPlan::Root( mdskey ) -> InventoryInterfaceData::SynchronizeInventory( owner, sadatalist );
     }
   *]
 }
diff --git "a/_Main/BL/Type_InventoryInterfaceData/StaticMethod_SynchronizeInventory\043575.qbl" "b/_Main/BL/Type_InventoryInterfaceData/StaticMethod_SynchronizeInventory\043575.qbl"
new file mode 100644
index 0000000..b3ccbaf
--- /dev/null
+++ "b/_Main/BL/Type_InventoryInterfaceData/StaticMethod_SynchronizeInventory\043575.qbl"
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizeInventory (
+  MacroPlan macroplan,
+  InterfaceDataset owner,
+  const FinishedEngineInventorys inventorys
+)
+{
+  Description: '鍙戝姩鏈烘垚鍝佸簱瀛�'
+  TextBody:
+  [*
+    
+    //娓呯┖鍘熸湁鐨勫簱瀛樻洿鏂版暟鎹�
+    //traverse( interfaceDataset, InventoryInterfaceData, iid, iid.Date() = date ){
+    //  iid.Delete();
+    //}
+    // 鑾峰彇鎸囧畾鏃ユ湡搴撳瓨鎺ュ彛鏁版嵁
+    //鍙戝姩鏈烘垚鍝佸簱瀛�
+    traverse( inventorys, Elements, inventory ){
+      product    := select( macroplan, Product_MP, product, product.Notes() = inventory.FourCode() );
+      InventoryInterfaceData::Generate( owner, inventory.DDay(), product.ID(), inventory.BIPlace(), [Number]inventory.Total() );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl b/_Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl
index ac78819..4a74306 100644
--- a/_Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl
+++ b/_Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl
@@ -24,8 +24,13 @@
       
     //  sadatalist := construct( ShippingActualDatas );
       for( seq := 0;seq < data.Size();seq++){
-        item := data.Get(seq);
-        MachineStockData::GenerateData( loginfo, cnv2, item );
+        item         := data.Get(seq);
+        inventory    :=MachineStockData::GenerateData( loginfo, cnv2, item );
+        inventoryname := inventory.Lgort();
+        if( inventory.Fac() = 'DL' and inventory.Lgort() = 'All' ){
+          inventoryname := inventory.LineType();
+        }
+        InventoryInterfaceData::Generate( owner, inventory.DDay(), inventory.MaterialNo(), inventoryname, [Number]inventory.Total() );
     //    sadatalist.Add( sadata );
       }
     }
diff --git a/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl b/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl
index e21f43c..fd28df5 100644
--- a/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl
+++ b/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl
@@ -106,7 +106,7 @@
       traverse ( shiftStartDateOPRs, Elements, ssdOPR ) {
         shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = ssdOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); 
         if ( not isnull( shift ) ) {
-          startDate     := guard( minselect( macroPlan, ShiftPattern.ShiftDay.ShiftDayTime, tempSDT, tempSDT.ShiftDay().ShiftPatternName() = shift.Shift(), tempSDT.Sequence() ).StartDateTime().Format( "H:m" ), "" );
+          startDate     := guard( minselect( macroPlan, ShiftPattern.ShiftDayTime, tempSDT, tempSDT.ShiftPattern().Name() = shift.Shift(), tempSDT.Sequence() ).StartDateTime().Format( "H:m" ), "" );
           startDateCell := opc.OfflinePlanCell( relnew, Value := startDate );
           startDateCell.OfflinePlanRow( relset, ssdOPR );
         }
@@ -115,7 +115,7 @@
       traverse ( shiftEndDateOPRs, Elements, sedOPR ) {
         shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = sedOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); 
         if ( not isnull( shift ) ) {
-          endDate     := guard( maxselect( macroPlan, ShiftPattern.ShiftDay.ShiftDayTime, tempSDT, tempSDT.ShiftDay().ShiftPatternName() = shift.Shift(), tempSDT.Sequence() ).EndDateTIme().Format( "H:m" ), "" );
+          endDate     := guard( maxselect( macroPlan, ShiftPattern.ShiftDayTime, tempSDT, tempSDT.ShiftPattern().Name() = shift.Shift(), tempSDT.Sequence() ).EndDateTIme().Format( "H:m" ), "" );
           endDateCell := opc.OfflinePlanCell( relnew, Value := endDate );
           endDateCell.OfflinePlanRow( relset, sedOPR );
         }
diff --git a/_Main/BL/Type_ShiftDayTime/StaticMethod_CreateData.qbl b/_Main/BL/Type_ShiftDayTime/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..47ebc25
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/StaticMethod_CreateData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+  MacroPlan macroPlan,
+  DateTime startDateTime,
+  DateTime endDateTime,
+  String name
+)
+{
+  TextBody:
+  [*
+    sp := select( macroPlan, ShiftPattern, tempSP, tempSP.Name() = name );
+    sp.ShiftDayTime( relnew, 
+                     StartDateTime := startDateTime,
+                     EndDateTIme   := endDateTime,
+                     Name          := name );
+  *]
+}
diff --git a/_Main/BL/Type_ShiftDayTime/StaticMethod_EditData.qbl b/_Main/BL/Type_ShiftDayTime/StaticMethod_EditData.qbl
new file mode 100644
index 0000000..60bacbd
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/StaticMethod_EditData.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod EditData (
+  MacroPlan macroPlan,
+  ShiftDayTime sdt,
+  DateTime startDateTime,
+  DateTime endDateTime,
+  String name
+)
+{
+  TextBody:
+  [*
+    sdt.Delete();
+    
+    ShiftDayTime::CreateData( macroPlan, startDateTime, endDateTime, name );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def
index f2f1b4b..7a4b21a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def
@@ -1,16 +1,10 @@
 Quintiq file version 2.0
 #parent: #root
-Method New (
-  ShiftDay selection
-) id:Method_DialogCreateEditShiftDayTime_New
+Method New () id:Method_DialogCreateEditShiftDayTime_New
 {
   #keys: '[413988.0.1372696375]'
   Body:
   [*
-    data := selection.ShiftDayTime( relnew );
-    
-    DataHolderDialogData.Data( data );
-    
     ApplicationMacroPlanner.ShowFormModal( this );
   *]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def
index 5d5f39e..68ce532 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def
@@ -6,7 +6,14 @@
   Body:
   [*
     // On ok
-    Form.ApplyChanges();
+    
+    if ( isnull( DataHolderDialogData.Data() ) ) {
+      ShiftDayTime::CreateData( MacroPlan, dtsStart.DateTime(),
+                                dtsEnd.DateTime(), ddslName.Text() );
+    } else {
+      ShiftDayTime::EditData( MacroPlan, DataHolderDialogData.Data(), dtsStart.DateTime(),
+                                dtsEnd.DateTime(), ddslName.Text() );
+    }
     
     Form.Close();
   *]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def
index ae0d49e..201d7bd 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def
@@ -4,13 +4,12 @@
 {
   #keys: '[413988.0.1372501452]'
   DefinitionID: 'Responsedef_WebButton_OnClick'
-  GroupServerCalls: true
   QuillAction
   {
     Body:
     [*
-      Form.ApplyChanges();
-      Form.Close();
+      Form.OnOK();
     *]
+    GroupServerCalls: false
   }
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def
index 79e95fe..5788514 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def
@@ -11,10 +11,10 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'ShiftDay'
-        Source: 'ApplicationMacroPlanner.dhSelectedShiftDay'
+        DataType: 'MacroPlan'
+        Source: 'MacroPlan'
         Taborder: 0
-        Transformation: 'ShiftDayTime'
+        Transformation: 'ShiftPattern.ShiftDayTime'
       ]
     }
     #child: listActionBarPageShiftDayTime
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def
index f4712ac..d0c74a4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def
@@ -6,17 +6,13 @@
   CanBindMultiple: false
   DefinitionID => /ListShiftDayTime/Responsedef_ListShiftDayTime_WebMenu_OnClick
   Initiator: 'mNew'
-  Precondition:
-  [*
-    return not isnull( ApplicationMacroPlanner.dhSelectedShiftDay().Data() );
-  *]
   QuillAction
   {
     Body:
     [*
       dlg := construct( DialogCreateEditShiftDayTime );
       
-      dlg.New( ApplicationMacroPlanner.dhSelectedShiftDay().Data() );
+      dlg.New();
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw b/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw
index e91d249..d39df36 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw
@@ -25,52 +25,6 @@
           rowSpan: 15
         }
       }
-      form_FormProductionLineBatchData
-      {
-        title: 'QMacroPlanner::FormProductionLineBatchData'
-        shown: true
-        componentID: 'QMacroPlanner::FormProductionLineBatchData'
-        layout
-        {
-          mode: 'open'
-          rowPosition: 26
-          rowSpan: 9
-          columnPosition: 1
-          columnSpan: 8
-        }
-        components
-        {
-          FormProductionLineBatchData_PanelProductionLineBatchData
-          {
-            sizeRatio: 1
-          }
-          FormProductionLineBatchData_ListProductionLineBatchData
-          {
-          }
-          FormProductionLineBatchData_DataSetLevelProductionLineBatchData
-          {
-            groupDepth: -1
-            column_StartDate
-            {
-              columnId: 'StartDate'
-              dataPath: 'StartDate'
-              dataType: 'date'
-              index: 0
-              subtotals: ''
-              width: 150
-            }
-            column_EndDate
-            {
-              columnId: 'EndDate'
-              dataPath: 'EndDate'
-              dataType: 'date'
-              index: 1
-              subtotals: ''
-              width: 150
-            }
-          }
-        }
-      }
       form_FormShiftDayTime
       {
         title: 'QMacroPlanner::FormShiftDayTime'
@@ -122,6 +76,52 @@
           }
         }
       }
+      form_FormProductionLineBatchData
+      {
+        title: 'QMacroPlanner::FormProductionLineBatchData'
+        shown: true
+        componentID: 'QMacroPlanner::FormProductionLineBatchData'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 26
+          rowSpan: 9
+          columnPosition: 1
+          columnSpan: 8
+        }
+        components
+        {
+          FormProductionLineBatchData_PanelProductionLineBatchData
+          {
+            sizeRatio: 1
+          }
+          FormProductionLineBatchData_ListProductionLineBatchData
+          {
+          }
+          FormProductionLineBatchData_DataSetLevelProductionLineBatchData
+          {
+            groupDepth: -1
+            column_StartDate
+            {
+              columnId: 'StartDate'
+              dataPath: 'StartDate'
+              dataType: 'date'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_EndDate
+            {
+              columnId: 'EndDate'
+              dataPath: 'EndDate'
+              dataType: 'date'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
     }
   }
   formatversion: 2

--
Gitblit v1.9.3