diff --git a/B3SheepButcherManage/BL/Bill/ButcherBL/ButcherBL.cs b/B3SheepButcherManage/BL/Bill/ButcherBL/ButcherBL.cs index 215f663..413b527 100644 --- a/B3SheepButcherManage/BL/Bill/ButcherBL/ButcherBL.cs +++ b/B3SheepButcherManage/BL/Bill/ButcherBL/ButcherBL.cs @@ -411,10 +411,19 @@ namespace BWP.B3SheepButcherManage.BL protected override void doNullify(Butcher dmo) { - if (dmo.Details.Any()) - throw new Exception("单据有屠宰明细,不允许作废"); + CheckHasDetail(dmo); base.doNullify(dmo); } + + void CheckHasDetail(Butcher dmo) + { + var query = new DQueryDom(new JoinAlias(typeof(Butcher_Detail))); + query.Where.Conditions.Add(DQCondition.EQ("Butcher_ID", dmo.ID)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c")); + query.Range = SelectRange.Top(1); + if (query.EExecuteScalar(Session) != null) + throw new Exception("单据有屠宰明细,不允许作废"); + } } class tempWeightTable diff --git a/B3SheepButcherManage/BL/Bill/HurryButcherBL/HurryButcherBL.cs b/B3SheepButcherManage/BL/Bill/HurryButcherBL/HurryButcherBL.cs index 51220dc..c14da2e 100644 --- a/B3SheepButcherManage/BL/Bill/HurryButcherBL/HurryButcherBL.cs +++ b/B3SheepButcherManage/BL/Bill/HurryButcherBL/HurryButcherBL.cs @@ -4,10 +4,13 @@ using BWP.B3SheepButcherManage.BO; using Forks.EnterpriseServices; using Forks.EnterpriseServices.BusinessInterfaces; using Forks.EnterpriseServices.DomainObjects2; +using Forks.EnterpriseServices.DomainObjects2.DQuery; +using Forks.EnterpriseServices.SqlDoms; using System; using System.Collections.Generic; using System.Linq; using System.Text; +using TSingSoft.WebPluginFramework; namespace BWP.B3SheepButcherManage.BL { @@ -53,9 +56,18 @@ namespace BWP.B3SheepButcherManage.BL protected override void doNullify(HurryButcher dmo) { - if (dmo.Details.Any()) - throw new Exception("单据有急宰明细,不允许作废"); + CheckHasDetail(dmo); base.doNullify(dmo); } + + void CheckHasDetail(HurryButcher dmo) + { + var query = new DQueryDom(new JoinAlias(typeof(HurryButcher_Detail))); + query.Where.Conditions.Add(DQCondition.EQ("HurryButcher_ID", dmo.ID)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c")); + query.Range = SelectRange.Top(1); + if (query.EExecuteScalar(Session) != null) + throw new Exception("单据有急宰明细,不允许作废"); + } } }