diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 074cb91..c320c22 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -336,11 +336,10 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { detail = detail.ESerializeDateTime(); var entity = serializer.Deserialize(detail); - long? orderID = null; + long? orderID = GetOrderID(entity.WeightBill_ID); using (var session = Dmo.NewSession()) { session.Insert(entity); - orderID = GetOrderID(entity.WeightBill_ID); if (orderID > 0) AddOrderNumber(session, orderID.Value, -entity.HurryNumber); session.Commit(); @@ -371,13 +370,11 @@ namespace BWP.B3ClientService.Rpcs.BillRpc var detail = new JoinAlias(typeof(WeightBill_Detail)); var order = new JoinAlias(typeof(OrderDetail)); var query = new DQueryDom(detail); - query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(detail, "WeightBill_ID", order, "WeightBill_ID")); - var hurry = HurryOrderTemp.Register(query, detail, false, "WeightBill_ID"); + query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(order, "WeightBill_ID", weightBillId)); + var hurry = GetHurryRecordNumber(weightBillId); query.Columns.Add(DQSelectColumn.Field("ID", order)); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(order, "PlanNumber"), DQExpression.Value(0))), DQExpression.IfNull(DQExpression.Field(hurry, "Number"), DQExpression.Value(0))), "last")); - query.Columns.Add(DQSelectColumn.Field("PlanNumber", order)); - query.Columns.Add(DQSelectColumn.Field("Number", hurry)); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "DeleteState", false), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "IsHurryButcher", false))); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(order, "PlanNumber"), DQExpression.Value(0))), "last")); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "DeleteState", false), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "IsHurryButcher", false), DQCondition.EQ(detail, "WeightBill_ID", weightBillId))); long? id = null; using (var session = Dmo.NewSession()) { @@ -385,7 +382,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { while (reader.Read()) { - if (id.HasValue || Convert.ToInt32(reader[1]) != 0) + if (id.HasValue || Convert.ToInt32(reader[1]) - hurry != 0) return -1; id = (long)reader[0]; } @@ -394,6 +391,8 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return id; } + + [Rpc] public static string GetSelectHurryList() {