@ -142,13 +142,13 @@ namespace BWP.B3SheepButcherManage.BL
var main = new JoinAlias ( typeof ( Summary ) ) ;
var main = new JoinAlias ( typeof ( Summary ) ) ;
var detail = new JoinAlias ( typeof ( WeightBill_Record ) ) ;
var detail = new JoinAlias ( typeof ( WeightBill_Record ) ) ;
var query = new DQueryDom ( main ) ;
var query = new DQueryDom ( detail ) ;
Summary . Register ( query , exp ) ;
Summary . Register ( query , exp ) ;
query . From . AddJoin ( JoinType . Inner , new DQDmoSource ( detail ) , DQCondition . EQ ( main , "ID" , detail , "ID" ) ) ;
query . Columns . Add ( DQSelectColumn . Field ( "ID" , main ) ) ;
query . From . AddJoin ( JoinType . Left , new DQDmoSource ( main ) , DQCondition . EQ ( main , "ID" , detail , "ID" ) ) ;
query . Columns . Add ( DQSelectColumn . Field ( "ID" , detail ) ) ;
query . Columns . Add ( DQSelectColumn . Sum ( main , "Number" ) ) ;
query . Columns . Add ( DQSelectColumn . Sum ( main , "Number" ) ) ;
query . Columns . Add ( DQSelectColumn . Max ( detail , "Number" ) ) ;
query . Columns . Add ( DQSelectColumn . Max ( detail , "Number" ) ) ;
query . GroupBy . Expressions . Add ( DQExpression . Field ( main , "ID" ) ) ;
query . GroupBy . Expressions . Add ( DQExpression . Field ( detail , "ID" ) ) ;
var list = new List < Tuple < long , int , int > > ( ) ;
var list = new List < Tuple < long , int , int > > ( ) ;
using ( var reader = Session . ExecuteReader ( query ) )
using ( var reader = Session . ExecuteReader ( query ) )
@ -166,6 +166,7 @@ namespace BWP.B3SheepButcherManage.BL
}
}
foreach ( var item in list )
foreach ( var item in list )
UpdateReocrdPlanNumber ( item ) ;
UpdateReocrdPlanNumber ( item ) ;
AfterUpdateRecord ( weightDetailIDs ) ;
}
}
private void UpdateReocrdPlanNumber ( Tuple < long , int , int > item )
private void UpdateReocrdPlanNumber ( Tuple < long , int , int > item )
@ -177,6 +178,12 @@ namespace BWP.B3SheepButcherManage.BL
Session . ExecuteNonQuery ( update ) ;
Session . ExecuteNonQuery ( update ) ;
}
}
private void AfterUpdateRecord ( IEnumerable < long > detailIDs )
{
var sql = string . Format ( "with detail(id) as( select WeightBill_ID from B3SheepButcherManage_WeightBill_Record where id in ({0}) group by WeightBill_ID) update main set main.[RowVersion] = main.[RowVersion]+1 from B3SheepButcherManage_WeightBill main join detail on main.id=detail.id" , string . Join ( "," , detailIDs ) ) ;
Session . ExecuteSqlNonQuery ( sql ) ;
}
class Summary
class Summary
{
{
public long ID { get ; set ; }
public long ID { get ; set ; }