From eb96b6574adb7b04d0c077b14f63ac5ec94103a2 Mon Sep 17 00:00:00 2001
From: yypsybs <yypsybs@foxmail.com>
Date: 星期一, 16 十月 2023 18:05:29 +0800
Subject: [PATCH] PR推送与PR历史导出bug
---
_Main/BL/Type_PRHistoryData/StaticMethod_Export#527.qbl | 199 ++++++++++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def | 3
/dev/null | 72 --------
_Main/BL/Type_PRData/StaticMethod_Export#346.qbl | 209 +++++++++++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def | 3
_Main/BL/Type_PRData/StaticMethod_Export.qbl | 13 +
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl | 5
_Main/BL/Type_PRHistoryData/StaticMethod_Export.qbl | 13 +
8 files changed, 441 insertions(+), 76 deletions(-)
diff --git "a/_Main/BL/Type_PRData/StaticMethod_Export\043346.qbl" "b/_Main/BL/Type_PRData/StaticMethod_Export\043346.qbl"
new file mode 100644
index 0000000..e699b8c
--- /dev/null
+++ "b/_Main/BL/Type_PRData/StaticMethod_Export\043346.qbl"
@@ -0,0 +1,209 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ PRDatas toExportList
+) as String
+{
+ TextBody:
+ [*
+ // generate by generate_export_method.py
+ xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?>
+ <table>
+ <name>PRData</name>
+ ';
+ convDateToString := DateToString::StandardConverter();
+ convDateToString.SetCustomConversion();
+ convDateToString.CustomFormatString( 'yyyy-MM-dd' );
+
+ debuginfo( "export start" );
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鐗╂枡缂栫爜</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ productID := toExportItem.ProductID();
+ cellStr := '<cell value="' + productID + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鐗╂枡鍚嶇О</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ productName := toExportItem.ProductName();
+ cellStr := '<cell value="' + productName + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>闈㈡澘鐗╂枡鏍囪瘑</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ isPanelMaterial := toExportItem.IsPanelMaterial();
+ cellStr := '<cell value="' + isPanelMaterial + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>浜よ揣鏃ユ湡</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ deliveryDate := toExportItem.DeliveryDate();
+ cellStr := '<cell value="' + ifexpr( deliveryDate = Date::MinDate(), "", convDateToString.Convert( deliveryDate )) + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>PR寤鸿鏃ユ湡</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ pRSuggestionDate := toExportItem.PRSuggestionDate();
+ cellStr := '<cell value="' + ifexpr( pRSuggestionDate = Date::MinDate(), "", convDateToString.Convert( pRSuggestionDate )) + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>浜よ揣鏁伴噺</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ quantity := toExportItem.Quantity();
+ cellStr := '<cell value="' + [String]quantity + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>MRP璁$畻鐗堟湰鍙�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ mRPCalverNo := toExportItem.MRPCalverNo();
+ cellStr := '<cell value="' + mRPCalverNo + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>涓氬姟绫诲瀷</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ businessType := toExportItem.BusinessType();
+ cellStr := '<cell value="' + businessType + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>缁勭粐缂栫爜</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ organCode := toExportItem.OrganCode();
+ cellStr := '<cell value="' + organCode + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鏄惁闀垮懆鏈�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ isLongLeadItem := toExportItem.IsLongLeadItem();
+ cellStr := '<cell value="' + isLongLeadItem + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鏄惁涓撶敤鏂�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ isGenericMaterial := toExportItem.IsGenericMaterial();
+ cellStr := '<cell value="' + isGenericMaterial + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鐗╂枡璁″垝绛栫暐</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ materialMRPType := toExportItem.MaterialMRPType();
+ cellStr := '<cell value="' + materialMRPType + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鎻愬墠鏈�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ leadTime := toExportItem.LeadTime();
+ cellStr := '<cell value="' + [String]leadTime + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>渚涘簲鍟嗕唬鐮�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ providerCode := toExportItem.ProviderCode();
+ cellStr := '<cell value="' + providerCode + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>渚涘簲鍟嗗悕绉�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ providerName := toExportItem.ProviderName();
+ cellStr := '<cell value="' + providerName + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鏀惰揣搴撳瓨鐐�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ stockingPointID := toExportItem.StockingPointID();
+ cellStr := '<cell value="' + stockingPointID + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>璁¢噺鍗曚綅</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ unitOfMeasure := toExportItem.UnitOfMeasure();
+ cellStr := '<cell value="' + unitOfMeasure + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>PR鏁版嵁鍙戦�佺姸鎬�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ pRReleaseStatus := toExportItem.PRReleaseStatus();
+ cellStr := '<cell value="' + pRReleaseStatus + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鍙戦�佹椂闂�</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ createTimeString := toExportItem.CreateTimeString();
+ cellStr := '<cell value="' + createTimeString + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鍙戦�佷汉</name><type>String</type>";
+ traverse( toExportList, Elements, toExportItem ) {
+ createBy := toExportItem.CreateBy();
+ cellStr := '<cell value="' + createBy + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ xmlTemplate := xmlTemplate + "</table>";
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) );
+ XLS::SaveTable( tableHandle, OS::TempPath() + "PRData.xlsx" );
+ file := OSFile::Construct();
+ file.Open( OS::TempPath() + "PRData.xlsx", "Read", true );
+ data := file.ReadBinary()
+ debuginfo( "export end" );
+ return data.AsBase64EncodedString();
+ *]
+}
diff --git a/_Main/BL/Type_PRData/StaticMethod_Export.qbl b/_Main/BL/Type_PRData/StaticMethod_Export.qbl
new file mode 100644
index 0000000..46ff06e
--- /dev/null
+++ b/_Main/BL/Type_PRData/StaticMethod_Export.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ MacroPlan parent
+) as String
+{
+ TextBody:
+ [*
+ // generate by generate_export_method.py
+ toExportList := selectset( parent, PRData, item, true );
+ return PRData::Export( toExportList );
+ *]
+}
diff --git "a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream\043595.qbl" "b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream\043595.qbl"
deleted file mode 100644
index 540295e..0000000
--- "a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream\043595.qbl"
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod ExportTheFileStream (
- MacroPlan parent
-) as BinaryValue
-{
- TextBody:
- [*
- // yypsybs Sep-20-2023 (created)
- return PRData::ExportTheFileStream( selectset( parent, PRData, item, true ) );
- *]
-}
diff --git a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
deleted file mode 100644
index 1b706e0..0000000
--- a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
+++ /dev/null
@@ -1,78 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod ExportTheFileStream (
- PRDatas toExportList
-) as BinaryValue
-{
- TextBody:
- [*
- // generate by generate_export.py
- dateTimeToString := DateTimeToString::StandardConverter();
- dateTimeToString.SetCustomConversion();
- dateTimeToString.CustomFormatString( "yyyy/MM/dd H:mm:ss" );
-
- dateToString := DateToString::StandardConverter();
- dateToString.SetCustomConversion();
- dateToString.CustomFormatString( "yyyy/MM/dd" );
-
- text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>PR</name>
- <column><name>鐗╂枡缂栫爜</name><type>String</type></column>
- <column><name>鐗╂枡鍚嶇О</name><type>String</type></column>
- <column><name>闈㈡澘鐗╂枡鏍囪瘑</name><type>String</type></column>
- <column><name>浜よ揣鏃ユ湡</name><type>String</type></column>
- <column><name>PR寤鸿鏃ユ湡</name><type>String</type></column>
- <column><name>浜よ揣鏁伴噺</name><type>Number</type></column>
- <column><name>MRP璁$畻鐗堟湰鍙�</name><type>String</type></column>
- <column><name>涓氬姟绫诲瀷</name><type>String</type></column>
- <column><name>缁勭粐缂栫爜</name><type>String</type></column>
- <column><name>鏄惁闀垮懆鏈�</name><type>String</type></column>
- <column><name>鏄惁涓撶敤鏂�</name><type>String</type></column>
- <column><name>鐗╂枡璁″垝绛栫暐</name><type>String</type></column>
- <column><name>鎻愬墠鏈�</name><type>Number</type></column>
- <column><name>渚涘簲鍟嗕唬鐮�</name><type>String</type></column>
- <column><name>渚涘簲鍟嗗悕绉�</name><type>String</type></column>
- <column><name>鏀惰揣搴撳瓨鐐�</name><type>String</type></column>
- <column><name>璁¢噺鍗曚綅</name><type>String</type></column>
- <column><name>PR鏁版嵁鍙戦�佺姸鎬�</name><type>String</type></column>
- <column><name>鍙戦�佹椂闂�</name><type>String</type></column>
- <column><name>鍙戦�佷汉</name><type>String</type></column>
- </table>';
- xmlDOMImplementation := XMLDOMImplementation::Create();
- xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text );
-
- tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
-
- traverse ( toExportList, Elements, toExport ) {
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "鐗╂枡缂栫爜" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "鐗╂枡鍚嶇О" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsPanelMaterial(), "闈㈡澘鐗╂枡鏍囪瘑" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.DeliveryDate() = Date::MinDate(), "", dateToString.Convert( toExport.DeliveryDate() ) ), "浜よ揣鏃ユ湡" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.PRSuggestionDate() = Date::MinDate(), "", dateToString.Convert( toExport.PRSuggestionDate() ) ), "PR寤鸿鏃ユ湡" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "浜よ揣鏁伴噺" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "涓氬姟绫诲瀷" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.OrganCode(), "缁勭粐缂栫爜" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsLongLeadItem(), "鏄惁闀垮懆鏈�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsGenericMaterial(), "鏄惁涓撶敤鏂�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MaterialMRPType(), "鐗╂枡璁″垝绛栫暐" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.LeadTime(), "鎻愬墠鏈�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "渚涘簲鍟嗗悕绉�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "璁¢噺鍗曚綅" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.PRReleaseStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.CreateTimeString(), "鍙戦�佹椂闂�" );
- PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.CreateBy(), "鍙戦�佷汉" );
- }
-
- xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
- xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument );
-
- tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) );
- tableGroupHandle := TableGroupHandle::Create( "PR" );
- tableGroupHandle.Add( tableHandle );
- tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
-
- return tableBinaryData.AsBinaryValue();
- *]
-}
diff --git a/_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl b/_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl
index 7c5d308..dff5567 100644
--- a/_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl
+++ b/_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl
@@ -14,10 +14,15 @@
// 鎸塎RPCalverNo鏌ワ紝宸叉湁鏃ц褰曟椂涓嶅鐞�
oldRecords := selectset( macroPlan, PRData, item,
item.MRPCalverNo() = mrpCalverNo );
+ nowNo := 1;
if( isnull( oldRecords ) or oldRecords.Size() = 0 ) {
pispips := ProductInStockingPointInPeriod::GetByMRPCalverNo( macroPlan, mrpCalverNo );
traverse( pispips, Elements, item, item.NewSupplyQuantity() > 0 ) {
PRData::FromSupplyPlanning( otdTable, macroPlan, item, userId );
+ nowNo := nowNo + 1;
+ if( nowNo mod 1000 = 0 ) {
+ info( "SupplyPlanning to prData : " + [String]nowNo );
+ }
}
}
*]
diff --git "a/_Main/BL/Type_PRHistoryData/StaticMethod_Export\043527.qbl" "b/_Main/BL/Type_PRHistoryData/StaticMethod_Export\043527.qbl"
new file mode 100644
index 0000000..55d80be
--- /dev/null
+++ "b/_Main/BL/Type_PRHistoryData/StaticMethod_Export\043527.qbl"
@@ -0,0 +1,199 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ PRHistoryDatas toExportList
+) as String
+{
+ TextBody:
+ [*
+ // generate by generate_export_method.py
+ xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?>
+ <table>
+ <name>PRHistoryData</name>
+ ';
+ convDateToString := DateToString::StandardConverter();
+ convDateToString.SetCustomConversion();
+ convDateToString.CustomFormatString( 'yyyy-MM-dd' );
+
+ debuginfo( "export start" );
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鐗╂枡缂栫爜</name><type>String</type>";
+ debuginfo( "export column ProductID" );
+ traverse( toExportList, Elements, toExportItem ) {
+ productID := toExportItem.ProductID();
+ cellStr := '<cell value="' + productID + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鐗╂枡鍚嶇О</name><type>String</type>";
+ debuginfo( "export column ProductName" );
+ traverse( toExportList, Elements, toExportItem ) {
+ productName := toExportItem.ProductName();
+ cellStr := '<cell value="' + productName + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>浜よ揣鏃ユ湡</name><type>String</type>";
+ debuginfo( "export column DeliveryDate" );
+ traverse( toExportList, Elements, toExportItem ) {
+ deliveryDate := toExportItem.DeliveryDate();
+ cellStr := '<cell value="' + ifexpr( deliveryDate = Date::MinDate(), "", convDateToString.Convert( deliveryDate )) + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>浜よ揣鏁伴噺</name><type>String</type>";
+ debuginfo( "export column Quantity" );
+ traverse( toExportList, Elements, toExportItem ) {
+ quantity := toExportItem.Quantity();
+ cellStr := '<cell value="' + [String]quantity + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>MRP璁$畻鐗堟湰鍙�</name><type>String</type>";
+ debuginfo( "export column MRPCalverNo" );
+ traverse( toExportList, Elements, toExportItem ) {
+ mRPCalverNo := toExportItem.MRPCalverNo();
+ cellStr := '<cell value="' + mRPCalverNo + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>涓氬姟绫诲瀷</name><type>String</type>";
+ debuginfo( "export column BusinessType" );
+ traverse( toExportList, Elements, toExportItem ) {
+ businessType := toExportItem.BusinessType();
+ cellStr := '<cell value="' + businessType + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>缁勭粐缂栫爜</name><type>String</type>";
+ debuginfo( "export column OrganCode" );
+ traverse( toExportList, Elements, toExportItem ) {
+ organCode := toExportItem.OrganCode();
+ cellStr := '<cell value="' + organCode + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>渚涘簲鍟嗕唬鐮�</name><type>String</type>";
+ debuginfo( "export column ProviderCode" );
+ traverse( toExportList, Elements, toExportItem ) {
+ providerCode := toExportItem.ProviderCode();
+ cellStr := '<cell value="' + providerCode + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>渚涘簲鍟嗗悕绉�</name><type>String</type>";
+ debuginfo( "export column ProviderName" );
+ traverse( toExportList, Elements, toExportItem ) {
+ providerName := toExportItem.ProviderName();
+ cellStr := '<cell value="' + providerName + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鏀惰揣搴撳瓨鐐�</name><type>String</type>";
+ debuginfo( "export column StockingPointID" );
+ traverse( toExportList, Elements, toExportItem ) {
+ stockingPointID := toExportItem.StockingPointID();
+ cellStr := '<cell value="' + stockingPointID + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>璁¢噺鍗曚綅</name><type>String</type>";
+ debuginfo( "export column UnitOfMeasure" );
+ traverse( toExportList, Elements, toExportItem ) {
+ unitOfMeasure := toExportItem.UnitOfMeasure();
+ cellStr := '<cell value="' + unitOfMeasure + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>PR鏁版嵁鍙戦�佺姸鎬�</name><type>String</type>";
+ debuginfo( "export column SendStatus" );
+ traverse( toExportList, Elements, toExportItem ) {
+ sendStatus := toExportItem.SendStatus();
+ cellStr := '<cell value="' + sendStatus + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鍙戦�佹椂闂�</name><type>String</type>";
+ debuginfo( "export column SendTimeString" );
+ traverse( toExportList, Elements, toExportItem ) {
+ sendTimeString := toExportItem.SendTimeString();
+ cellStr := '<cell value="' + sendTimeString + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>鍙戦�佷汉</name><type>String</type>";
+ debuginfo( "export column ReleaseBy" );
+ traverse( toExportList, Elements, toExportItem ) {
+ releaseBy := toExportItem.ReleaseBy();
+ cellStr := '<cell value="' + releaseBy + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>ERP鎺ユ敹鏃堕棿</name><type>String</type>";
+ debuginfo( "export column ReceiveTimeString" );
+ traverse( toExportList, Elements, toExportItem ) {
+ receiveTimeString := toExportItem.ReceiveTimeString();
+ cellStr := '<cell value="' + receiveTimeString + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>ERP鎺ユ敹鐘舵��</name><type>String</type>";
+ debuginfo( "export column ReceiveStatus" );
+ traverse( toExportList, Elements, toExportItem ) {
+ receiveStatus := toExportItem.ReceiveStatus();
+ cellStr := '<cell value="' + receiveStatus + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ columnStr := "<column><name>閿欒淇℃伅鎻忚堪</name><type>String</type>";
+ debuginfo( "export column ReceiveError" );
+ traverse( toExportList, Elements, toExportItem ) {
+ receiveError := toExportItem.ReceiveError();
+ cellStr := '<cell value="' + receiveError.ReplaceAll( '"', "'" ) + '"/>';
+ columnStr := columnStr + cellStr;
+ }
+ columnStr := columnStr + "</column>";
+ xmlTemplate := xmlTemplate + columnStr;
+ //---------------------------------------------------------------------------------------------
+ xmlTemplate := xmlTemplate + "</table>";
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) );
+ XLS::SaveTable( tableHandle, OS::TempPath() + "PRHistoryData.xlsx" );
+ file := OSFile::Construct();
+ file.Open( OS::TempPath() + "PRHistoryData.xlsx", "Read", true );
+ data := file.ReadBinary()
+ debuginfo( "export end" );
+ return data.AsBase64EncodedString();
+ *]
+}
diff --git a/_Main/BL/Type_PRHistoryData/StaticMethod_Export.qbl b/_Main/BL/Type_PRHistoryData/StaticMethod_Export.qbl
new file mode 100644
index 0000000..132c301
--- /dev/null
+++ b/_Main/BL/Type_PRHistoryData/StaticMethod_Export.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ GlobalOTDTable parent
+) as String
+{
+ TextBody:
+ [*
+ // generate by generate_export_method.py
+ toExportList := selectset( parent, PRHistoryData, item, true );
+ return PRHistoryData::Export( toExportList );
+ *]
+}
diff --git "a/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream\04345.qbl" "b/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream\04345.qbl"
deleted file mode 100644
index a04fd41..0000000
--- "a/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream\04345.qbl"
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod ExportTheFileStream (
- GlobalOTDTable parent
-) as BinaryValue
-{
- TextBody:
- [*
- // yypsybs Sep-20-2023 (created)
- return PRHistoryData::ExportTheFileStream( selectset( parent, PRHistoryData, item, true ) );
- *]
-}
diff --git a/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl
deleted file mode 100644
index edd753d..0000000
--- a/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl
+++ /dev/null
@@ -1,72 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod ExportTheFileStream (
- PRHistoryDatas toExportList
-) as BinaryValue
-{
- TextBody:
- [*
- // generate by generate_export.py
- dateTimeToString := DateTimeToString::StandardConverter();
- dateTimeToString.SetCustomConversion();
- dateTimeToString.CustomFormatString( "yyyy/MM/dd H:mm:ss" );
-
- dateToString := DateToString::StandardConverter();
- dateToString.SetCustomConversion();
- dateToString.CustomFormatString( "yyyy/MM/dd" );
-
- text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>PR</name>
- <column><name>闆朵欢鍙�</name><type>String</type></column>
- <column><name>闆朵欢鍚嶇О</name><type>String</type></column>
- <column><name>浜よ揣鏃ユ湡</name><type>String</type></column>
- <column><name>闇�姹傛暟閲�</name><type>Number</type></column>
- <column><name>MRP璁$畻鐗堟湰鍙�</name><type>String</type></column>
- <column><name>浜嬩笟閮�</name><type>String</type></column>
- <column><name>缁勭粐缂栫爜</name><type>String</type></column>
- <column><name>渚涘簲鍟嗕唬鐮�</name><type>String</type></column>
- <column><name>渚涘簲鍟嗗悕绉�</name><type>String</type></column>
- <column><name>鏀惰揣搴撳瓨鐐�</name><type>String</type></column>
- <column><name>璁¢噺鍗曚綅</name><type>String</type></column>
- <column><name>PR鏁版嵁鍙戦�佺姸鎬�</name><type>String</type></column>
- <column><name>鍙戦�佹椂闂�</name><type>String</type></column>
- <column><name>鍙戦�佷汉</name><type>String</type></column>
- <column><name>ERP鎺ユ敹鏃堕棿</name><type>String</type></column>
- <column><name>ERP鎺ユ敹鐘舵��</name><type>String</type></column>
- <column><name>閿欒淇℃伅鎻忚堪</name><type>String</type></column>
- </table>';
- xmlDOMImplementation := XMLDOMImplementation::Create();
- xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text );
-
- tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
-
- traverse ( toExportList, Elements, toExport ) {
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "闆朵欢鍙�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "闆朵欢鍚嶇О" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.DeliveryDate() = Date::MinDate(), "", dateToString.Convert( toExport.DeliveryDate() ) ), "浜よ揣鏃ユ湡" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "闇�姹傛暟閲�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "浜嬩笟閮�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.OrganCode(), "缁勭粐缂栫爜" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "渚涘簲鍟嗗悕绉�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "璁¢噺鍗曚綅" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendTimeString(), "鍙戦�佹椂闂�" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReleaseBy(), "鍙戦�佷汉" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveTimeString(), "ERP鎺ユ敹鏃堕棿" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveStatus(), "ERP鎺ユ敹鐘舵��" );
- PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveError(), "閿欒淇℃伅鎻忚堪" );
- }
-
- xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
- xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument );
-
- tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) );
- tableGroupHandle := TableGroupHandle::Create( "PR" );
- tableGroupHandle.Add( tableHandle );
- tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
-
- return tableBinaryData.AsBinaryValue();
- *]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
index 69a46cd..b9d8b6e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
@@ -13,8 +13,7 @@
{
Body:
[*
- tableBinaryData := PRData::ExportTheFileStream( MacroPlan ).AsBinaryData();
- Application.Download( "PRData.xlsx", tableBinaryData );
+ Application.Download( "PRData.xlsx", PRData::Export( MacroPlan ) );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def
index 9a9f95e..e83383e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def
@@ -13,8 +13,7 @@
{
Body:
[*
- tableBinaryData := PRHistoryData::ExportTheFileStream( GlobalOTDTable ).AsBinaryData();
- Application.Download( "PRData.xlsx", tableBinaryData );
+ Application.Download( "PRHistoryData.xlsx", PRHistoryData::Export( GlobalOTDTable ) );
*]
GroupServerCalls: false
}
--
Gitblit v1.9.3