From ba839054c67bfd5b456494a1505e104a0d59d630 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期一, 11 十一月 2024 10:28:25 +0800
Subject: [PATCH] 添加班次计划下发方法
---
/dev/null | 8 ----
_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl | 44 ++++++++++++++-------
_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl | 1
_Main/BL/Type_DispatchShiftPlan/Attribute_ShiftQty.qbl | 7 +++
_Main/BL/Relations/Relation_DispatchShiftPlan_InterfaceLoginfo_InterfaceLoginfo_DispatchShiftPl.qbl | 23 +++++++++++
_Main/BL/Type_DispatchShiftPlan/StaticMethod_Publish.qbl | 29 ++++++++++++++
6 files changed, 89 insertions(+), 23 deletions(-)
diff --git a/_Main/BL/EDI/Broker_RB_DispatchShiftPlanBroker.qbl b/_Main/BL/EDI/Broker_RB_DispatchShiftPlanBroker.qbl
deleted file mode 100644
index 3e006d1..0000000
--- a/_Main/BL/EDI/Broker_RB_DispatchShiftPlanBroker.qbl
+++ /dev/null
@@ -1,119 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker RB_DispatchShiftPlanBroker
-{
- MDSDefinition: RecycleBin
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Source DispatchShiftPlanSource
- {
- EDIMLTable DispatchShiftPlan
- {
- TargetType: DispatchShiftPlan
- EDIMLColumn Fac { Attribute: Fac ValueType: String }
- EDIMLColumn FactoryName { Attribute: FactoryName ValueType: String }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn InterfaceTime { Attribute: InterfaceTime ValueType: DateTime }
- EDIMLColumn ProductLine { Attribute: ProductLine ValueType: String }
- EDIMLColumn ShiftDate { Attribute: ShiftDate ValueType: Date }
- EDIMLColumn Tips { Attribute: Tips ValueType: String }
- EDIMLColumn VersionFlag { Attribute: VersionFlag ValueType: String }
- EDIMLColumn VersionName { Attribute: VersionName ValueType: String }
- }
- }
- EDIODBCLink.Destination DispatchShiftPlanDestination
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.vwed'
- EDIODBCLinkTable A_DispatchShiftPlan
- {
- MayCreateTable: true
- MayDeleteRow: true
- MayDropTable: true
- MayFlushTable: true
- MayInsertRow: true
- Parameters: '/owner="dbo"'
- PrimaryKeyColumns: ID
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn Fac
- {
- MayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn FactoryName
- {
- MayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ID
- {
- MayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn InterfaceTime
- {
- MayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn ProductLine
- {
- MayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ShiftDate
- {
- MayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn Tips
- {
- MayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn VersionFlag
- {
- MayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn VersionName
- {
- MayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation DispatchShiftPlanTransformation
- {
- EDITableTransformation
- {
- InputTable: DispatchShiftPlan
- OutputTable: A_DispatchShiftPlan
- EDIColumnMatch { InputColumn: Fac OutputColumn: Fac }
- EDIColumnMatch { InputColumn: FactoryName OutputColumn: FactoryName }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch { InputColumn: InterfaceTime OutputColumn: InterfaceTime }
- EDIColumnMatch { InputColumn: ProductLine OutputColumn: ProductLine }
- EDIColumnMatch
- {
- InputColumn: ShiftDate
- OutputColumn: ShiftDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateToDateTime xmlns="http://www.quintiq.com/GEB/DateToDateTime" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateToDateTime>
- *]
- }
- }
- EDIColumnMatch { InputColumn: Tips OutputColumn: Tips }
- EDIColumnMatch { InputColumn: VersionFlag OutputColumn: VersionFlag }
- EDIColumnMatch { InputColumn: VersionName OutputColumn: VersionName }
- }
- }
-}
diff --git a/_Main/BL/Relations/Relation_DispatchShiftPlan_Archive_Archive_DispatchShiftPlan.qbl b/_Main/BL/Relations/Relation_DispatchShiftPlan_Archive_Archive_DispatchShiftPlan.qbl
deleted file mode 100644
index f45c374..0000000
--- a/_Main/BL/Relations/Relation_DispatchShiftPlan_Archive_Archive_DispatchShiftPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation DispatchShiftPlan_Archive_Archive_DispatchShiftPlan
-{
- #keys: '1[414996.1.121982603]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide Archive
- {
- #keys: '3[414996.1.121982605][414996.1.121982604][414996.1.121982606]'
- Cardinality: '0to1'
- ObjectDefinition: DispatchShiftPlan
- OwningSide: 'Reference'
- }
- RelationSide.RightSide DispatchShiftPlan
- {
- #keys: '3[414996.1.121982608][414996.1.121982607][414996.1.121982609]'
- Cardinality: '1toN'
- ObjectDefinition: Archive
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_DispatchShiftPlan_InterfaceLoginfo_InterfaceLoginfo_DispatchShiftPl.qbl b/_Main/BL/Relations/Relation_DispatchShiftPlan_InterfaceLoginfo_InterfaceLoginfo_DispatchShiftPl.qbl
new file mode 100644
index 0000000..7938196
--- /dev/null
+++ b/_Main/BL/Relations/Relation_DispatchShiftPlan_InterfaceLoginfo_InterfaceLoginfo_DispatchShiftPl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation DispatchShiftPlan_InterfaceLoginfo_InterfaceLoginfo_DispatchShiftPlan
+{
+ #keys: '1[414996.1.203950081]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide InterfaceLoginfo
+ {
+ #keys: '3[414996.1.203950083][414996.1.203950082][414996.1.203950084]'
+ Cardinality: '0to1'
+ ObjectDefinition: DispatchShiftPlan
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide DispatchShiftPlan
+ {
+ #keys: '3[414996.1.203950086][414996.1.203950085][414996.1.203950087]'
+ Cardinality: '1toN'
+ ObjectDefinition: InterfaceLoginfo
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_DispatchShiftPlan/Attribute_ShiftQty.qbl b/_Main/BL/Type_DispatchShiftPlan/Attribute_ShiftQty.qbl
new file mode 100644
index 0000000..3f1cccd
--- /dev/null
+++ b/_Main/BL/Type_DispatchShiftPlan/Attribute_ShiftQty.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShiftQty
+{
+ #keys: '3[414996.1.206760016][414996.1.206760015][414996.1.206760017]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_DispatchShiftPlan/Attribute_VersionFlag.qbl b/_Main/BL/Type_DispatchShiftPlan/Attribute_VersionFlag.qbl
deleted file mode 100644
index 047acd8..0000000
--- a/_Main/BL/Type_DispatchShiftPlan/Attribute_VersionFlag.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute VersionFlag
-{
- #keys: '3[414996.1.17706927][414996.1.17706926][414996.1.17706928]'
- Description: '鐗堟湰鏍囪瘑'
- ValueType: String
-}
diff --git a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
index 5d69146..fd802d5 100644
--- a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
+++ b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl
@@ -1,18 +1,33 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Dispatch (
+ InterfaceDataset interfaceDataset,
const MacroPlan macroPlan,
- Archive owner,
- String versionFlag
+ String executor
)
{
TextBody:
[*
// Akari Aug-21-2024 (created)
- // owner.DispatchShiftPlan( relflush );
- // owner.RB_DispatchShiftPlanBroker().Source().FlatQuery( "truncate table A_DispatchShiftPlan" );
+ now := DateTime::Now();
- dispatchShiftPlans := selectset( owner,DispatchShiftPlan,dispatchShiftPlan,true );
+ interfaceLoginfo := maxselect( interfaceDataset,InterfaceLoginfo,loginfo,loginfo.Name() = Translations::InterfaceDataset_ShiftPlanPPPSPush_Name() ,loginfo.InterfaceDateTime() );
+ if( not isnull( interfaceLoginfo )){
+ if( not interfaceLoginfo.IsShow() ){
+ interfaceLoginfo.Delete();
+ }else{
+ interfaceLoginfo.Last( false );
+ }
+ }
+
+ interfaceLoginfo := interfaceDataset.InterfaceLoginfo( relnew,
+ ExecuteUser := executor,
+ Name := Translations::InterfaceDataset_ShiftPlanPPPSPush_Name(),
+ InterfaceDateTime := now,
+ Last := true,
+ Message := '鐝璁″垝锛圥PA+IDS锛夋暟鎹帹閫�' );
+
+ dispatchShiftPlans := selectset( interfaceLoginfo,DispatchShiftPlan,dispatchShiftPlan,true );
dispatchShiftPlanIndexTree := NamedValueTree::Create();
for( i := 0 ; i < dispatchShiftPlans.Size() ; i++){
dispatchShiftPlan := dispatchShiftPlans.Element( i );
@@ -41,21 +56,20 @@
dispatchShiftPlan := dispatchShiftPlans.Element( dispatchShiftPlanIndex.GetValueAsNumber() );
dispatchShiftPlan.Tips( shiftPlan.Remark() );
dispatchShiftPlan.VersionName( macroPlanName );
- dispatchShiftPlan.VersionFlag( versionFlag );
dispatchShiftPlan.InterfaceTime( now );
}else{
- owner.DispatchShiftPlan( relnew,ID := OS:: GenerateGUIDAsString(),
- ProductLine := productLine,
- FactoryName := factory.ID(),
+ interfaceLoginfo.DispatchShiftPlan( relnew,ID := OS:: GenerateGUIDAsString(),
+ ProductLine := productLine,
+ FactoryName := factory.ID(),
+ ShiftQty := shiftPlan.Outcome(),
- ShiftDate := shiftDate,
- Tips := shiftPlan.Remark(),
- VersionName := macroPlanName,
- VersionFlag := versionFlag,
- InterfaceTime := now );
+ ShiftDate := shiftDate,
+ Tips := shiftPlan.Remark(),
+ VersionName := macroPlanName,
+ InterfaceTime := now );
}
}
-
+ DispatchShiftPlan::Publish( interfaceLoginfo );
// owner.RB_DispatchShiftPlanBroker().AsyncExecute();
*]
}
diff --git a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Publish.qbl b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Publish.qbl
new file mode 100644
index 0000000..2dbe5b1
--- /dev/null
+++ b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Publish.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Publish (
+ InterfaceLoginfo loginfo
+)
+{
+ TextBody:
+ [*
+ //// 鐢勫叞楦� Jul-17-2024 (created)
+ jsonarray := JSON::Array();
+ traverse( loginfo, DispatchShiftPlan, shiftPlan ){
+ shiftPlanjson := JSON::Object()
+ .Add( "productLine", shiftPlan.ProductLine() )
+ .Add( "shiftDate", shiftPlan.ShiftDate().Format( 'Y-M2-D2' ) )//"2024-10-01"
+ .Add( "shiftQty", shiftPlan.ShiftQty() )
+ .Add( "tips", shiftPlan.Tips() )
+ .Add( "versionName", shiftPlan.VersionName() )
+ .Add( "factoryName", shiftPlan.FactoryName() )
+ .Add( "fac", shiftPlan.Fac() )
+ .Add( "interfaceTime", shiftPlan.InterfaceTime().Format( 'Y-M2-D2 H:m:s' ) )/*"2024-10-01 12:00:00" )*/
+ .Build();
+ jsonarray.Add( shiftPlanjson );
+ }
+ loginfo.RequestBody( jsonarray.Build().AsString() );
+ info( loginfo.RequestBody() );
+ data := InterfaceLoginfo::CallInterfaceForDataCenter( loginfo.InterfaceDataset(), loginfo );
+ info( '----------------', data.AsString() );
+ *]
+}
diff --git a/_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl b/_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl
index 668d9a5..27c99d0 100644
--- a/_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl
+++ b/_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl
@@ -21,6 +21,7 @@
// OfflinePlanArchiveVersion::RefreshData( this, macroplan, archive );
}
if( isshiftplan ){//鐝璁″垝
+ DispatchShiftPlan::Dispatch(this, macroplan,executor );
// CustomerDemandIDS::GenerateData( this, recyclebin, archive );
}
if( isassembleonlineplan ){//瑁呴厤涓婄嚎璁″垝
--
Gitblit v1.9.3