Browse Source

bug

master
yibo 7 years ago
parent
commit
992b2201f0
2 changed files with 14 additions and 7 deletions
  1. +3
    -3
      B3SheepButcherManage/BL/Bill/HurryButcherBL/HurryButcherBL.cs
  2. +11
    -4
      B3SheepButcherManage/BL/Bill/WeightBillBL/WeightBillBL.cs

+ 3
- 3
B3SheepButcherManage/BL/Bill/HurryButcherBL/HurryButcherBL.cs View File

@ -27,10 +27,10 @@ namespace BWP.B3SheepButcherManage.BL
UpdateWeightRecordPlanNumber(tags);
}
protected override void afterUpdate(HurryButcher dmo)
protected override void doUpdate(HurryButcher dmo)
{
base.afterUpdate(dmo);
var deleted = (dmo.Details as IDmoContainer).GetDeletedObjects().Cast<HurryButcher_Detail>().Where(x => x.Weigh_Detail_ID > 0).Select(x => x.Weigh_Detail_ID.Value);
var deleted = (dmo.Details as IDmoContainer).GetDeletedObjects().Cast<HurryButcher_Detail>().Where(x => x.Weigh_Detail_ID > 0).Select(x => x.Weigh_Detail_ID.Value).ToList();
base.doUpdate(dmo);
var simple = dmo.Details.Where(x => x.Weigh_Detail_ID > 0).Select(x => x.Weigh_Detail_ID.Value);
var tags = simple.Union(deleted);
UpdateWeightRecordPlanNumber(tags);


+ 11
- 4
B3SheepButcherManage/BL/Bill/WeightBillBL/WeightBillBL.cs View File

@ -142,13 +142,13 @@ namespace BWP.B3SheepButcherManage.BL
var main = new JoinAlias(typeof(Summary));
var detail = new JoinAlias(typeof(WeightBill_Record));
var query = new DQueryDom(main);
var query = new DQueryDom(detail);
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.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>>();
using (var reader = Session.ExecuteReader(query))
@ -166,6 +166,7 @@ namespace BWP.B3SheepButcherManage.BL
}
foreach (var item in list)
UpdateReocrdPlanNumber(item);
AfterUpdateRecord(weightDetailIDs);
}
private void UpdateReocrdPlanNumber(Tuple<long, int, int> item)
@ -177,6 +178,12 @@ namespace BWP.B3SheepButcherManage.BL
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
{
public long ID { get; set; }


Loading…
Cancel
Save