From acffa3d576342b2d24001d8410d53e6972eeb9e5 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期三, 16 十月 2024 19:16:28 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl | 41 ++++++++++++++++++++++-------------------
1 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl b/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
index bfd3c4c..36d1094 100644
--- a/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
+++ b/_Main/BL/Type_FinancialSalesSource/Method_AfterImport.qbl
@@ -30,32 +30,30 @@
allrow := table.FinancialSalesRow( relnew, Name := product.Value(), Unit := allunit );
}
- traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn ){
+ traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn and cnv2.Convert( cell.FinancialSalesColumn().Name() ) <> beforeyearday ){
column := cell.FinancialSalesColumn();
period := cnv2.Convert( column.Name() )
+ periodname := period.Format( "M2/D2/Y" )
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() ) );
- }
+ //鑾峰彇琚鍏ユ姤琛ㄧ殑鏃ユ湡鍒�
+ tablecolumn := selectobject( table, FinancialSalesColumn, fscolumn, not fscolumn.IsDay() and fscolumn.Name() = periodname );
+ if( isnull( tablecolumn ) ){
+ tablecolumn := table.FinancialSalesColumn( relnew, Name := periodname, Period := yearday.Date() );
}
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 );
+ previouscolumn := cell.FinancialSalesColumn().PreviousColumn();
+ if( period = yearday.Date() and not isnull( previouscolumn ) and beforeyearday = cnv2.Convert( previouscolumn.Name() ) ){
+ previouscell := selectobject( row, FinancialSalesCell, previouscell, previouscell.FinancialSalesColumn() = previouscolumn );
+ quantity := [Real]cell.Value() + [Real]previouscell.Value();
+ if( [Real]unitcell.Value() <> quantity ){
+ unitcell.Value( [String]( [Number]cell.Value() ) );
+ unitcell.IsUpdate( true );
+ }
}
}
allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn().Name() = column.Name() );
@@ -63,9 +61,14 @@
allcell := tablecolumn.FinancialSalesCell( relnew, Value := cell.Value() );
allrow.FinancialSalesCell( relinsert, allcell );
}else{
- if( allcell.Value() <> cell.Value() ){
- allcell.Value( cell.Value() );
- allcell.IsUpdate( true );
+ previouscolumn := cell.FinancialSalesColumn().PreviousColumn();
+ if( period = yearday.Date() and not isnull( previouscolumn ) and beforeyearday = cnv2.Convert( previouscolumn.Name() ) ){
+ previouscell := selectobject( row, FinancialSalesCell, previouscell, previouscell.FinancialSalesColumn() = previouscolumn );
+ quantity := [Real]cell.Value() + [Real]previouscell.Value();
+ if( [Real]allcell.Value() <> quantity ){
+ allcell.Value( [String]( [Number]cell.Value() ) );
+ allcell.IsUpdate( true );
+ }
}
}
}
--
Gitblit v1.9.3