From 830461b340837471a8fff6eabc7145f8d544b4ad Mon Sep 17 00:00:00 2001 From: yanweiyuan3 <yanweiyuan3@gmail.com> Date: 星期四, 26 十月 2023 22:24:57 +0800 Subject: [PATCH] Merge branch 'dev' into dev_yy --- _Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def | 2 /dev/null | 18 --- _Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn#56.qbl | 0 _Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl | 53 ++++++++++ _Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def | 3 _Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def | 2 _Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged#613.def | 3 _Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw | 204 ++++++++++++++++++++++++++++++++++++++++ 8 files changed, 262 insertions(+), 23 deletions(-) diff --git a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl new file mode 100644 index 0000000..4f4edbb --- /dev/null +++ b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl @@ -0,0 +1,53 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ExportTheFileStream ( + PRDatas toExportList +) as BinaryValue +{ + TextBody: + [* + 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>'; + + sc := DateToString::StandardConverter(); + sc.SetCustomConversion(); + sc.CustomFormatString( 'yyyy-MM-dd' ); + + xmlDOMImplementation := XMLDOMImplementation::Create(); + xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text ); + + tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 ); + + traverse ( toExportList, Elements, prd ) { + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductID(), "鐗╂枡缂栫爜" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductName(), "鐗╂枡鍚嶇О" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsPanelMaterial(), "闈㈡澘鐗╂枡鏍囪瘑" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.DeliveryDate() ), "浜よ揣鏃ユ湡" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.PRSuggestionDate() ), "PR寤鸿鏃ユ湡" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]( prd.Quantity().Round( 0 ) ), "浜よ揣鏁伴噺" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.BusinessType(), "涓氬姟绫诲瀷" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.OrganCode(), "缁勭粐缂栫爜" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsLongLeadItem(), "鏄惁闀垮懆鏈�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsGenericMaterial(), "鏄惁涓撶敤鏂�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MaterialMRPType(), "鐗╂枡璁″垝绛栫暐" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]prd.LeadTime(), "鎻愬墠鏈�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderCode(), "渚涘簲鍟嗕唬鐮�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderName(), "渚涘簲鍟嗗悕绉�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.StockingPointID(), "鏀惰揣搴撳瓨鐐�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.UnitOfMeasure(), "璁¢噺鍗曚綅" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.PRReleaseStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateTimeString(), "鍙戦�佹椂闂�" ); + PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.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_GeneratesTheSpecifiedXMLColumn.qbl "b/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn\04356.qbl" similarity index 100% rename from _Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl rename to "_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn\04356.qbl" diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def index e0f9eb6..e5b380b 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def +++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def @@ -41,6 +41,8 @@ ] Properties: [ + FixedSize: true + Orientation: 'horizontal' Taborder: 0 ] } diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def" deleted file mode 100644 index 2e992ec..0000000 --- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def" +++ /dev/null @@ -1,18 +0,0 @@ -Quintiq file version 2.0 -#parent: DataHolderChecked_187 -Response OnDataChanged () id:Response_ListPRData_844_DataHolderChecked_OnDataChanged_774 -{ - #keys: '[414384.0.799231412]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebComponent_OnDataChanged' - QuillAction - { - Body: - [* - //traverse ( this.Data(), Elements, e ) { - // info( "閫変腑鐨勭墿鏂欏彿锛�", e.MatCode() ); - //} - *] - GroupServerCalls: false - } -} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def" index 20e3571..b844e5a 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def" @@ -5,13 +5,12 @@ #keys: '[414384.0.798051611]' CanBindMultiple: false DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' - GroupServerCalls: true QuillAction { Body: [* - info( "checked 0 PRs" ); DataHolderChecked.Data().Flush(); *] + GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def index 5783a47..4988e05 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def @@ -7,13 +7,12 @@ #keys: '[414384.0.798051163]' CanBindMultiple: false DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' - GroupServerCalls: true QuillAction { Body: [* - info( "checked " + [String]checkeditems.Size() + " PRs" ); DataHolderChecked.Data( checkeditems.Copy() ); *] + GroupServerCalls: false } } 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 b9d8b6e..d189e36 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def @@ -13,7 +13,7 @@ { Body: [* - Application.Download( "PRData.xlsx", PRData::Export( MacroPlan ) ); + Application.Download( "PRData.xlsx", PRData::ExportTheFileStream( DataHolderChecked.Data() ).AsBinaryData() ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw b/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw new file mode 100644 index 0000000..8a1455b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw @@ -0,0 +1,204 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormPRHistoryData + { + title: 'QTIANMA_JITUAN::FormPRHistoryData' + shown: true + componentID: 'QTIANMA_JITUAN::FormPRHistoryData' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 15 + columnPosition: 5 + columnSpan: 8 + } + components + { + FormPRHistoryData_PanelPRHistoryButton + { + sizeRatio: 1 + } + FormPRHistoryData_ListPRHistoryData + { + } + FormPRHistoryData_DataSetLevelPRHistoryData + { + groupDepth: -1 + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_MRPCalverNo + { + columnId: 'MRPCalverNo' + dataPath: 'MRPCalverNo' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_OrganCode + { + columnId: 'OrganCode' + dataPath: 'OrganCode' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_ProductID + { + columnId: 'ProductID' + dataPath: 'ProductID' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 4 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 5 + subtotals: '' + width: 150 + } + column_SendStatus + { + columnId: 'SendStatus' + dataPath: 'SendStatus' + dataType: 'string' + index: 6 + subtotals: '' + width: 150 + } + column_ReleaseBy + { + columnId: 'ReleaseBy' + dataPath: 'ReleaseBy' + dataType: 'string' + index: 7 + subtotals: '' + width: 150 + } + column_ReceiveStatus + { + columnId: 'ReceiveStatus' + dataPath: 'ReceiveStatus' + dataType: 'string' + index: 8 + subtotals: '' + width: 150 + } + column_ReceiveError + { + columnId: 'ReceiveError' + dataPath: 'ReceiveError' + dataType: 'string' + index: 9 + subtotals: '' + width: 150 + } + } + } + } + form_FormPRData + { + title: 'QTIANMA_JITUAN::FormPRData' + shown: true + componentID: 'QTIANMA_JITUAN::FormPRData' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 15 + columnPosition: 1 + columnSpan: 4 + } + components + { + FormPRData_PanelPRDataButton + { + sizeRatio: 1 + } + FormPRData_ListPRData + { + } + FormPRData_DataSetLevelPRData + { + groupDepth: -1 + column_MRPCalverNo + { + columnId: 'MRPCalverNo' + dataPath: 'MRPCalverNo' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_ProductID + { + columnId: 'ProductID' + dataPath: 'ProductID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 3 + subtotals: '' + width: 150 + } + } + } + } + } + userconfigurableinformation + { + } + page: 'ActionBarPageData' + group: '' + index: 0 + image: 'BEAR' + description: 'PR鐢宠' + } + formatversion: 2 + id: 'PR_DATA' + name: 'PR_DATA' + isglobal: false + isroot: true +} -- Gitblit v1.9.3