lazhen
2024-11-21 4534d2c0921049d9d150ba0c31f76cb445bdd365
_Main/BL/Type_InventoryPlanArchiveVersion/Method_Generate.qbl
@@ -10,29 +10,30 @@
  [*
    // 甄兰鸽 Jun-25-2024 (created)
    info( '-----------Search start-------' );
    table                   := selectobject( this,InterfaceDataset.InventoryPlanArchiveVersion, report, not report.IsShow() );
    //清空之前存储的显示数据
    aopcolumns              := selectuniquevalues(  table, Column, aopcolumn, aopcolumn.TimeUnit() = search.TimeUnit() and aopcolumn.StartDate() >= search.StartDate() and aopcolumn.StartDate() <= search.EndDate(), aopcolumn.StartDate() );
    this.Clear( aopcolumns );
    traverse( table, Row, row, ( units.Size() = 0 or units.Find( row.Unit() ) > -1 ) and ( products.Size() = 0 or products.Find( row.Name() ) > -1 ) ){
      showrow               := selectobject( this, Row, showrow, showrow.Name() = row.Name() and showrow.Unit() = search.Unit() );
      if( isnull( showrow ) ){
        showrow             := this.Row( relnew, Name := row.Name(), ProductID := row.ProductID(), Unit := search.Unit() );
      }
      traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){
        column              := selectobject( this, Column, column, column.Name() = cell.Column().Name() );
        if( not isnull( column ) ){
          showcell          := selectobject( showrow, Cell, showcell, showcell.Column() = column );
          if( isnull( showcell ) ){
            showcell        := showrow.Cell( relnew, PlanQuantity := 0, ActualQuantity := 0 );
            column.Cell( relinsert, showcell );
          }
          showcell.PlanQuantity( cell.PlanQuantity() + showcell.PlanQuantity() );
          showcell.ActualQuantity( cell.ActualQuantity() + showcell.ActualQuantity() );
        }
      }
    }
    //table                   := selectobject( this,InterfaceDataset.InventoryPlanArchiveVersion, report, not report.IsShow() );
    ////清空之前存储的显示数据
    //search.TimeUnit( Translations::MP_GlobalParameters_Day() );
    //aopcolumns              := selectuniquevalues(  table, Column, aopcolumn, aopcolumn.TimeUnit() = search.TimeUnit() and aopcolumn.StartDate() >= search.StartDate() and aopcolumn.StartDate() <= search.EndDate(), aopcolumn.StartDate() );
    //this.Clear( aopcolumns );
    //traverse( table, Row, row, ( units.Size() = 0 or units.Find( row.Unit() ) > -1 ) and ( products.Size() = 0 or products.Find( row.Name() ) > -1 ) ){
    //
    //  showrow               := selectobject( this, Row, showrow, showrow.Name() = row.Name() and showrow.Unit() = search.Unit() );
    //  if( isnull( showrow ) ){
    //    showrow             := this.Row( relnew, Name := row.Name(), ProductID := row.ProductID(), Unit := search.Unit() );
    //  }
    //  traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){
    //    column              := selectobject( this, Column, column, column.Name() = cell.Column().Name() );
    //    if( not isnull( column ) ){
    //      showcell          := selectobject( showrow, Cell, showcell, showcell.Column() = column );
    //      if( isnull( showcell ) ){
    //        showcell        := showrow.Cell( relnew, PlanQuantity := 0, ActualQuantity := 0 );
    //        column.Cell( relinsert, showcell );
    //      }
    //      showcell.PlanQuantity( cell.PlanQuantity() + showcell.PlanQuantity() );
    //      showcell.ActualQuantity( cell.ActualQuantity() + showcell.ActualQuantity() );
    //    }
    //  }
    //}
    info( '-----------Search end-------' );
  *]
}