From c6e63bd380d45122c877825d75ee4a32a69b84e7 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 14:56:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bill/GradeAndWeight/GradeAndWeight.cs | 4 - .../Rpcs/BillRpc/GradeAndWeightRpc.cs | 95 +++++-------------- 2 files changed, 23 insertions(+), 76 deletions(-) diff --git a/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs b/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs index 77d79ce..9a5f507 100644 --- a/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs +++ b/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs @@ -11,10 +11,6 @@ namespace BWP.B3ClientService.RpcBO public int Order { get; set; } - public short Technics { get; set; } - - public string Technics_Name { get; set; } - public int Number { get; set; } public int Already { get; set; } diff --git a/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs b/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs index 453a9a7..d03b6da 100644 --- a/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs @@ -19,27 +19,23 @@ namespace BWP.B3ClientService.Rpcs.BillRpc static JavaScriptSerializer serializer = new JavaScriptSerializer(); [Rpc] - public static string GetGradeAndWeightList(DateTime date, long? maxID) + public static string GetGradeAndWeightList(DateTime date, bool isTang) { - var main = new JoinAlias("_S1", typeof(SecondOrder)); - var order = new JoinAlias("_O1", typeof(OrderDetail)); - var relate = new JoinAlias(typeof(GradeTemp)); + var tech = isTang ? 0 : 1; + var main = new JoinAlias(typeof(SecondOrder)); + var order = new JoinAlias(typeof(OrderDetail)); + var relate = new JoinAlias(typeof(OrderGradeFinishRelate)); var query = new DQueryDom(main); - query.RegisterQueryTable(typeof(GradeTemp), new string[] { "OrdreID", "Tang", "TangAlready", "Mao", "MaoAlready" }, GradeTemp.Register(date, maxID)); query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(main, "OrderDetail_ID", order, "ID")); - query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "OrderDetail_ID", relate, "OrdreID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.And(DQCondition.EQ(main, "OrderDetail_ID", relate, "OrderDetail_ID"), DQCondition.EQ(relate, "Technics", tech))); query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID")); - query.Columns.Add(DQSelectColumn.Field("Order", order));//1 + query.Columns.Add(DQSelectColumn.Field("Order", order)); query.Columns.Add(DQSelectColumn.Field("PlanNumber", order)); - query.Columns.Add(DQSelectColumn.Field("HotFadeNumber"));//3 - query.Columns.Add(DQSelectColumn.Field("TangAlready", relate)); - query.Columns.Add(DQSelectColumn.Field("MaoAlready", relate));//5 - query.Columns.Add(DQSelectColumn.Field("Tang", relate)); - query.Columns.Add(DQSelectColumn.Field("Mao", relate));//7 + query.Columns.Add(DQSelectColumn.Field("HotFadeNumber")); + query.Columns.Add(DQSelectColumn.Field("Already", relate)); + query.Columns.Add(DQSelectColumn.Field("Finish", relate)); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.Between(DQExpression.Field(order, "Date"), date, date + new TimeSpan(23, 59, 29)))); - if (maxID.HasValue) - query.Where.Conditions.Add(DQCondition.GreaterThan("ID", maxID)); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "Date", date))); var list = new List(); using (var session = Dmo.NewSession()) { @@ -47,31 +43,20 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { while (reader.Read()) { - var tang = new GradeAndWeight(); - tang.OrderDetail_ID = (long)reader[0]; - tang.Order = (int)reader[1]; - tang.Number = (int)reader[3]; - tang.Finish = Convert.ToBoolean(reader[6]); - if (tang.Number != 0) + var entity = new GradeAndWeight(); + entity.Number = (int)reader[3]; + if (!isTang) { - tang.Technics = 0; - tang.Technics_Name = "烫褪"; - tang.Already = Convert.ToInt32(reader[4]); - list.Add(tang); + var total = (int)reader[2]; + entity.Number = total - entity.Number; } - - var lastNumber = (int)reader[2] - tang.Number; - if (lastNumber == 0) + if (entity.Number == 0) continue; - var mb = new GradeAndWeight(); - list.Add(mb); - mb.OrderDetail_ID = tang.OrderDetail_ID; - mb.Order = tang.Order; - mb.Number = lastNumber; - mb.Technics = 1; - mb.Technics_Name = "毛剥"; - mb.Already = Convert.ToInt32(reader[5]); - mb.Finish = Convert.ToBoolean(reader[7]); + entity.OrderDetail_ID = (long)reader[0]; + entity.Order = (int)reader[1]; + entity.Already = (int?)reader[4] ?? 0; + entity.Finish = (bool?)reader[5] ?? false; + list.Add(entity); } } } @@ -79,40 +64,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return serializer.Serialize(list); } - class GradeTemp - { - public long OrdreID { get; set; } - - public bool Tang { get; set; } - - public int TangAlready { get; set; } - - public bool Mao { get; set; } - - public int MaoAlready { get; set; } - - public static DQueryDom Register(DateTime date, long? maxID) - { - var main = new JoinAlias("_S2", typeof(SecondOrder)); - var order = new JoinAlias("_O2", typeof(OrderDetail)); - var relate = new JoinAlias(typeof(OrderGradeFinishRelate)); - var query = new DQueryDom(main); - query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(main, "OrderDetail_ID", order, "ID")); - query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "OrderDetail_ID", relate, "OrderDetail_ID")); - query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 0), DQExpression.Field(relate, "Finish"), DQExpression.Value(0))), "Tang")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 0), DQExpression.Field(relate, "Already"), DQExpression.Value(0))), "TangAlready")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 1), DQExpression.Field(relate, "Finish"), DQExpression.Value(0))), "Mao")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 1), DQExpression.Field(relate, "Already"), DQExpression.Value(0))), "MaoAlready")); - query.GroupBy.Expressions.Add(DQExpression.Field("OrderDetail_ID")); - - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.Between(DQExpression.Field(order, "Date"), date, date + new TimeSpan(23, 59, 29)))); - if (maxID.HasValue) - query.Where.Conditions.Add(DQCondition.GreaterThan("ID", maxID)); - return query; - } - } - [Rpc] public static string GetDetailsList(DateTime date, int top) { @@ -142,7 +93,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static int UpdateLivestock(long id, long liveStockID, string liveStockName,short techincs,string technicsName) + public static int UpdateLivestock(long id, long liveStockID, string liveStockName, short techincs, string technicsName) { using (var session = Dmo.NewSession()) {