From 849f3d674d8caa01b10fd5f01818772134aae05c Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Sat, 28 Apr 2018 15:33:46 +0800 Subject: [PATCH] . --- B3ClientService/OfflinRpc/GradeAndWeightBL.cs | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/B3ClientService/OfflinRpc/GradeAndWeightBL.cs b/B3ClientService/OfflinRpc/GradeAndWeightBL.cs index 14db03b..6ac661e 100644 --- a/B3ClientService/OfflinRpc/GradeAndWeightBL.cs +++ b/B3ClientService/OfflinRpc/GradeAndWeightBL.cs @@ -1,4 +1,5 @@ using BWP.B3ClientService.BO; +using BWP.B3Frameworks.Utils; using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2.DQuery; using System; @@ -58,18 +59,30 @@ namespace BWP.B3ClientService.BL { if (string.IsNullOrEmpty(barCode)) return; - var id = GetID(barCode, session); - if (id == null) + var infos = GetExistInfo(barCode, session); + if (infos == null) return; - var update = new DQUpdateDom(typeof(CarcassFullInfo)); - update.Columns.Add(new DQUpdateColumn("ButcherDate", DQExpression.NULL)); - update.Columns.Add(new DQUpdateColumn("GradeTime", DQExpression.NULL)); - //update.Columns.Add(new DQUpdateColumn("GradeWorker_ID", obj.)); - update.Columns.Add(new DQUpdateColumn("Livestock_ID", DQExpression.NULL)); - update.Columns.Add(new DQUpdateColumn("GradeWeight", DQExpression.NULL)); - update.Where.Conditions.Add(DQCondition.EQ("ID", id)); - session.ExecuteNonQuery(update); + if (infos.Item2.HasValue) + Update(infos.Item1, new GradeAndWeight_Detail(), session); + else + Delete(infos.Item1, session); + } + + static void Delete(long id, IDmoSession session) + { + var delete = new DQDeleteDom(typeof(CarcassFullInfo)); + delete.Where.Conditions.Add(DQCondition.EQ("ID", id)); + session.ExecuteNonQuery(delete); + } + + static Tuple GetExistInfo(string barCode, IDmoSession session) + { + var query = new DQueryDom(new JoinAlias(typeof(CarcassFullInfo))); + query.Columns.Add(DQSelectColumn.Field("ID")); + query.Columns.Add(DQSelectColumn.Field("InStoreTime")); + query.Where.Conditions.Add(DQCondition.EQ("BarCode", barCode)); + return query.EExecuteScalar(session); } } }