From 3e22c533dd00a70f1bb7bb8575b5cb0335551626 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期一, 14 十月 2024 18:05:34 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl | 75 +++++++++++++++++++++++++++----------
1 files changed, 54 insertions(+), 21 deletions(-)
diff --git a/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl b/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
index 1ddcfd6..8c0cd6a 100644
--- a/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
+++ b/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
@@ -5,34 +5,67 @@
TextBody:
[*
// 鐢勫叞楦� Jun-24-2024 (created)
- allunit := FinancialProductionReport::GetDefaultAllUnit();
- table := selectobject( this.MacroPlan(), FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and not table.IsShow() );
- //info( '--------------------------', table.Name() );
+ allunit := FinancialProductionReport::GetDefaultAllUnit();
+ table := selectobject( this.MacroPlan(), FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and not table.IsShow() );
+ yearday := this.MacroPlan().StartOfPlanning().StartOfYear();
+ beforeyearday := ( yearday - Duration::Days( 1 ) ).Date();
+ cnv2 := StringToDate::StandardConverter();
+ cnv2.SetCustomConversion();
+ cnv2.CustomFormatString( "M2/D2/Y" );
traverse( this, FinancialSalesReport, report ){
- productcolumn := selectobject( report, FinancialSalesColumn, column, column.Name() = 'Product' );
- unitcolumn := selectobject( report, FinancialSalesColumn, column, column.Name() = 'Unit' );
- // info( '----------------------1-----------------', productcolumn.Name(), unitcolumn.Name() );
+ productcolumn := selectobject( report, FinancialSalesColumn, column, column.Name() = 'Product' );
+ unitcolumn := selectobject( report, FinancialSalesColumn, column, column.Name() = 'Unit' );
traverse( report, FinancialSalesRow, row ){
- product := selectobject( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() = productcolumn );
- unit := selectobject( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() = unitcolumn );
- // info( '----------------------2-----------------', product.Value(), unit.Value() );
+ product := selectobject( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() = productcolumn );
+ unit := selectobject( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() = unitcolumn );
- unitrow := selectobject( table, FinancialSalesRow, unitrow, unitrow.Name() = product.Value() and unitrow.Unit() = unit.Value() );
+ unitrow := selectobject( table, FinancialSalesRow, unitrow, unitrow.Name() = product.Value() and unitrow.Unit() = unit.Value() );
+ if( isnull( unitrow ) ){
+ unitrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := unit.Value() );
+ }
allrow := selectobject( table, FinancialSalesRow, allrow, allrow.Name() = product.Value() and allrow.Unit() = allunit );
- // info( '----------------------3-----------------', unitrow.Name(), unitrow.Unit() );
- // and product.Value() = '120 kW Rotor' and unit.Value() = 'Assembly Plant (Spain)'
+ if( isnull( unitrow ) ){
+ allrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := allunit );
+ }
+
traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn ){
- column := cell.FinancialSalesColumn();
- unitcell := selectobject( unitrow, FinancialSalesCell, unitcell, unitcell.FinancialSalesColumn().Name() = column.Name() );
- allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn().Name() = column.Name() );
- // info( isnull( unitcell ), isnull( allcell ), cell.Value(), unitcell.Value(), allcell.Value() );
- if( not isnull( unitcell ) ){
- unitcell.Value( cell.Value() );
+ column := cell.FinancialSalesColumn();
+ period := cnv2.Convert( column.Name() )
+
+ tablecolumn := construct( FinancialSalesColumn );
+ if( period = beforeyearday ){
+ periodname := yearday.Format( "M2/D2/Y" );
+ //鑾峰彇琚鍏ユ姤琛ㄧ殑鏃ユ湡鍒�
+ tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = periodname );
+ if( isnull( tablecolumn ) ){
+ tablecolumn := table.FinancialSalesColumn( relnew, Name := periodname, Period := yearday.Date() );
+ }
+ }else{
+ tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = column.Name() );
+ if( isnull( tablecolumn ) ){
+ tablecolumn := table.FinancialSalesColumn( relnew, Name := column.Name(), Period := cnv2.Convert( column.Name() ) );
+ }
}
- if( not isnull( allcell ) ){
- value := [Real]cell.Value() + [Real]allcell.Value();
- allcell.Value( [String]value );
+ unitcell := selectobject( unitrow, FinancialSalesCell, unitcell, unitcell.FinancialSalesColumn().Name() = column.Name() );
+ if( isnull( unitcell ) ){
+ unitcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() );
+ unitrow.FinancialSalesCell( relinsert, unitcell );
+ }else{
+ if( unitcell.Value() <> cell.Value() ){
+ unitcell.Value( cell.Value() );
+ unitcell.IsUpdate( true );
+ }
+ }
+ allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn().Name() = column.Name() );
+ if( isnull( unitcell ) ){
+ allcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() );
+ allrow.FinancialSalesCell( relinsert, allcell );
+ }else{
+ if( allcell.Value() <> cell.Value() ){
+ allcell.Value( cell.Value() );
+ allcell.IsUpdate( true );
+ }
}
}
}
--
Gitblit v1.9.3