diff --git a/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs b/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs index a17edcd..896beb9 100644 --- a/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs @@ -69,6 +69,8 @@ namespace BWP.B3ClientService.Rpcs.BillRpc if (detail.SecondOrder_ID == 0) { var entity = JsonConvert.DeserializeObject(mainJson); + if (entity.OrderDetail_ID > 0) + CheckOrderExist(session, entity.OrderDetail_ID); entity.ModifyTime = DateTime.Now; entity.HotFadeNumber = detail.Number; entity.IsOk = true; @@ -130,7 +132,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc session.ExecuteNonQuery(update); } - static int GetHotFadeNumber(IDmoSession session,long secondOrderID) + static int GetHotFadeNumber(IDmoSession session, long secondOrderID) { var query = new DQueryDom(new JoinAlias(typeof(SecondOrder_Detail))); query.Columns.Add(DQSelectColumn.Sum("Number")); @@ -147,6 +149,8 @@ namespace BWP.B3ClientService.Rpcs.BillRpc if (id == 0) { var entity = JsonConvert.DeserializeObject(json); + if (entity.OrderDetail_ID > 0) + CheckOrderExist(session, entity.OrderDetail_ID); entity.ModifyTime = DateTime.Now; entity.IsOk = true; entity.Finish = true; @@ -170,6 +174,16 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return id; } + private static void CheckOrderExist(IDmoSession session, long orderDetailID) + { + var query = new DQueryDom(new JoinAlias(typeof(SecondOrder))); + query.Where.Conditions.Add(DQCondition.EQ("OrderDetail_ID", orderDetailID)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c")); + query.Range = SelectRange.Top(1); + if (query.EExecuteScalar(session) != null) + throw new Exception("当前顺序已排宰完,请重新查询"); + } + [Rpc(RpcFlags.SkipAuth)] public static string GetSecondOrderDetails(long id) {