From a1cd43ce773e1ed72408fc174ee701e02065f7d0 Mon Sep 17 00:00:00 2001
From: rislai <risheng.lai@capgemini.com>
Date: 星期三, 24 七月 2024 09:12:51 +0800
Subject: [PATCH] 添加实际生产数据接口

---
 _Main/BL/InfoMessages.qbl                                                                           |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftProductionVolume.qbl                       |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_Product.qbl                                     |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_ProductLine.qbl                                 |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftSequence.qbl                               |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/_ROOT_Type_ActualDailyProductionData.qbl                  |   10 +++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_ProductionVolume.qbl                            |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/StaticMethod_Synchronize.qbl                              |   31 ++++++++++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_Shift.qbl                                       |    8 ++
 _Main/BL/Type_ActualDailyProductionReport/StaticMethod_GetRequestBody.qbl                           |   15 +++++
 _Main/BL/Type_ActualDailyProductionReport/Attribute_Date.qbl                                        |    8 ++
 _Main/BL/Relations/Relation_ActualDailyProductionData_MacroPlan_MacroPlan_ActualDailyProduction.qbl |   23 +++++++
 _Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl                                       |   18 ++++++
 13 files changed, 161 insertions(+), 0 deletions(-)

diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
index 902eb83..666f1cd 100644
--- a/_Main/BL/InfoMessages.qbl
+++ b/_Main/BL/InfoMessages.qbl
@@ -86,6 +86,14 @@
   {
     DefaultText: 'There are duplicate three digit codes present'
   }
+  InfoMessage InterfaceDataset_ActualDailyProductionData_Name
+  {
+    DefaultText: 'Actual daily production data'
+  }
+  InfoMessage InterfaceDataset_ActualDailyProductionData_URL
+  {
+    DefaultText: '/data-service/api/service/post-data/V1.101/e014325a6be14dab818303ef90c2968a'
+  }
   InfoMessage InterfaceDataset_Address
   {
     DefaultText: 'ds-yunrong-gw.dmp.vwfawedl.mobi'
diff --git a/_Main/BL/Relations/Relation_ActualDailyProductionData_MacroPlan_MacroPlan_ActualDailyProduction.qbl b/_Main/BL/Relations/Relation_ActualDailyProductionData_MacroPlan_MacroPlan_ActualDailyProduction.qbl
new file mode 100644
index 0000000..02387dc
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ActualDailyProductionData_MacroPlan_MacroPlan_ActualDailyProduction.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ActualDailyProductionData_MacroPlan_MacroPlan_ActualDailyProductionData
+{
+  #keys: '1[412672.1.61744699]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[412672.1.61744701][412672.1.61744700][412672.1.61744702]'
+    Cardinality: '0to1'
+    ObjectDefinition: ActualDailyProductionData
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ActualDailyProductionData
+  {
+    #keys: '3[412672.1.61744704][412672.1.61744703][412672.1.61744705]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_Date.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_Date.qbl
new file mode 100644
index 0000000..10b9ec4
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_Date.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Date
+{
+  #keys: '3[412672.1.61744627][412672.1.61744626][412672.1.61744628]'
+  Description: '鏃ユ湡'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_Product.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_Product.qbl
new file mode 100644
index 0000000..0ce86d2
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_Product.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Product
+{
+  #keys: '3[412672.1.61744620][412672.1.61744619][412672.1.61744621]'
+  Description: '鐗╂枡鍙�'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_ProductLine.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ProductLine.qbl
new file mode 100644
index 0000000..9424897
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ProductLine.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductLine
+{
+  #keys: '3[412672.1.61744610][412672.1.61744609][412672.1.61744611]'
+  Description: '浜х嚎'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_ProductionVolume.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ProductionVolume.qbl
new file mode 100644
index 0000000..9c9a7fa
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ProductionVolume.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductionVolume
+{
+  #keys: '3[412672.1.61744637][412672.1.61744636][412672.1.61744638]'
+  Description: '瀵瑰簲鏃ユ湡鐨勫疄闄呯敓浜ф暟閲�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_Shift.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_Shift.qbl
new file mode 100644
index 0000000..84de969
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_Shift.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Shift
+{
+  #keys: '3[412672.1.61744647][412672.1.61744646][412672.1.61744648]'
+  Description: '瀵瑰簲鏃ユ湡鐨勫疄闄呯敓浜х彮娆�'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftProductionVolume.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftProductionVolume.qbl
new file mode 100644
index 0000000..f4cffb9
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftProductionVolume.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShiftProductionVolume
+{
+  #keys: '3[412672.1.61744657][412672.1.61744656][412672.1.61744658]'
+  Description: '瀵瑰簲鐝鐨勫疄闄呯敓浜ф暟閲�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftSequence.qbl b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftSequence.qbl
new file mode 100644
index 0000000..77091ca
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/Attribute_ShiftSequence.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShiftSequence
+{
+  #keys: '3[412672.1.61744667][412672.1.61744666][412672.1.61744668]'
+  Description: '鐝椤哄簭'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/StaticMethod_GetRequestBody.qbl b/_Main/BL/Type_ActualDailyProductionReport/StaticMethod_GetRequestBody.qbl
new file mode 100644
index 0000000..c717647
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/StaticMethod_GetRequestBody.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetRequestBody (
+  Date date
+) as String
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-19-2024 (created)
+    json := JSON::Object()
+                  .Add( "inParam", JSON::Object().Add( "productiondate", date.Format( "Y-M2-D2" ) ) ).Build();
+    requestbody := json.AsString();
+    return requestbody
+  *]
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/StaticMethod_Synchronize.qbl b/_Main/BL/Type_ActualDailyProductionReport/StaticMethod_Synchronize.qbl
new file mode 100644
index 0000000..297cef4
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/StaticMethod_Synchronize.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Synchronize (
+  MacroPlan owner,
+  InterfaceDataset interfaceDataset
+)
+{
+  TextBody:
+  [*
+    // rislai Jul-23-2024 (created)
+    date    := Date::ActualDate();
+    loginfo := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := QuintiqUser::CurrentUser().ShortName()
+                                       , Name := Translations::InterfaceDataset_ActualDailyProductionData_Name()
+                                       , InterfaceDateTime := DateTime::ActualTime()
+                                       , Message := '鐢熶骇瀹為檯鏁版嵁'
+                                       , RequestBody := ActualDailyProductionData::GetRequestBody( date ) );
+    
+    data := InterfaceLoginfo::CallInterface( interfaceDataset,loginfo );
+    if( not isnull( data ) ){
+      cnv1 := StringToDateTime::StandardConverter();
+      cnv1.SetCustomConversion();
+      cnv1.CustomFormatString( 'yyyy-MM-dd HH:mm:ss' );
+      
+      cnv2 := StringToDate::StandardConverter();
+      cnv2.SetCustomConversion();
+      cnv2.CustomFormatString( 'yyyy-MM-dd' );
+      
+      
+    }
+  *]
+}
diff --git a/_Main/BL/Type_ActualDailyProductionReport/_ROOT_Type_ActualDailyProductionData.qbl b/_Main/BL/Type_ActualDailyProductionReport/_ROOT_Type_ActualDailyProductionData.qbl
new file mode 100644
index 0000000..8cb3806
--- /dev/null
+++ b/_Main/BL/Type_ActualDailyProductionReport/_ROOT_Type_ActualDailyProductionData.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ActualDailyProductionData
+{
+  #keys: '5[412672.1.61744606][412672.1.61744604][0.0.0][412672.1.61744605][412672.1.61744607]'
+  BaseType: Object
+  Description: 'Actual daily production report'
+  StructuredName: 'ActualDailyProductionDatas'
+}
diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl
index 56b7dcb..aeb2d4b 100644
--- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl
+++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl
@@ -28,6 +28,24 @@
         loginfo.ReturnMsg( e.GeneralInformation() );
       }
     }
+    if( loginfo.Name() = Translations::InterfaceDataset_ActualDailyProductionData_Name() ){//鐢熶骇瀹為檯鏁版嵁
+      
+      httpinterface.URL( Translations::InterfaceDataset_ActualDailyProductionData_URL() );
+      httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
+      httpinterface.PostMethod( true ); 
+      try{
+        httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken())
+        
+        httpinterface.Call( loginfo.RequestBody() );
+        
+        result := httpinterface.Result();
+        loginfo.Response( result );
+        loginfo.Success( true );
+      }onerror{
+        loginfo.ReturnMsg( e.GeneralInformation() );
+      }
+    }
+    
     //鍚庣画鍏叡澶勭悊
     loginfo.FinishTime( DateTime::ActualTime() );
     data             := JSON::Null().Build();

--
Gitblit v1.9.3