From e40aa2f5c13fb0daef0f8754532bb49f1482ff6e Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 17 May 2018 14:33:01 +0800 Subject: [PATCH] bug --- .../SectionInOutStoreAnalyse.cs | 4 ++-- .../SectionLossAnalyse_/SectionLossAnalyse.cs | 2 +- .../OfflinRpc/SectionStoreDetailRpc.cs | 22 ++++++++++++------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/B3ClientService.Web/Pages/B3ClientService/Reports/SectionInOutStoreAnalyse_/SectionInOutStoreAnalyse.cs b/B3ClientService.Web/Pages/B3ClientService/Reports/SectionInOutStoreAnalyse_/SectionInOutStoreAnalyse.cs index 7aec798..7164146 100644 --- a/B3ClientService.Web/Pages/B3ClientService/Reports/SectionInOutStoreAnalyse_/SectionInOutStoreAnalyse.cs +++ b/B3ClientService.Web/Pages/B3ClientService/Reports/SectionInOutStoreAnalyse_/SectionInOutStoreAnalyse.cs @@ -134,8 +134,8 @@ namespace BWP.Web.Pages.B3ClientService.Reports.SectionInOutStoreAnalyse_ query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("InStore", false)), DQExpression.Value(1))).ECastType(), "出库|头数")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("InStore", false)), DQExpression.Field("Weight"))), "出库|重量")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("InStore", true), DQExpression.Value(1), DQExpression.Value(-1))).ECastType(), "期初库存|头数")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("InStore", true), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight")))), "期初库存|重量")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("InStore", true), DQExpression.Value(1), DQExpression.Value(-1))).ECastType(), "期末库存|头数")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("InStore", true), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight")))), "期末库存|重量")); query.GroupBy.Expressions.Add(DQExpression.Field("Goods_ID")); query.GroupBy.Expressions.Add(DQExpression.Field("Goods_Name")); diff --git a/B3ClientService.Web/Pages/B3ClientService/Reports/SectionLossAnalyse_/SectionLossAnalyse.cs b/B3ClientService.Web/Pages/B3ClientService/Reports/SectionLossAnalyse_/SectionLossAnalyse.cs index e17d924..226fb55 100644 --- a/B3ClientService.Web/Pages/B3ClientService/Reports/SectionLossAnalyse_/SectionLossAnalyse.cs +++ b/B3ClientService.Web/Pages/B3ClientService/Reports/SectionLossAnalyse_/SectionLossAnalyse.cs @@ -103,7 +103,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.SectionLossAnalyse_ query.Columns.Add(DQSelectColumn.Sum("PickWeight", "领料|重量")); query.Columns.Add(DQSelectColumn.Sum("InNumber", "入库|头数")); query.Columns.Add(DQSelectColumn.Sum("InWeight", "入库|重量")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field("PickWeight"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field("InWeight"), DQExpression.Value(0)))).ECastType(), "差异")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field("PickWeight"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field("InWeight"), DQExpression.Value(0)))).ECastType(), "差异")); if (!batchSelect.IsEmpty) query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value))); var args = new LoadArguments(query); diff --git a/B3ClientService/OfflinRpc/SectionStoreDetailRpc.cs b/B3ClientService/OfflinRpc/SectionStoreDetailRpc.cs index 65e6357..da1a924 100644 --- a/B3ClientService/OfflinRpc/SectionStoreDetailRpc.cs +++ b/B3ClientService/OfflinRpc/SectionStoreDetailRpc.cs @@ -31,6 +31,8 @@ namespace BWP.B3ClientService.Rpcs query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("BarCode"), arr.Select(x => DQExpression.Value(x.BarCode)).ToArray())); var config = GetSectionConfig(session); + var tp = new List>(); + var list = new List(); using (var reader = session.ExecuteReader(query)) { while (reader.Read()) @@ -51,27 +53,31 @@ namespace BWP.B3ClientService.Rpcs throw new Exception("未配置条段对应关系"); e2.Goods_ID = c.Item2; e2.Worker_ID = entity.Worker_ID; + tp.Add(new Tuple((long)reader[2], entity.InStoreTime, entity.Worker_ID)); - session.Insert(entity); - session.Insert(e2); - - SetCarcassTakeOut(session, (long)reader[2], entity.InStoreTime, entity.Worker_ID); + list.Add(entity); + list.Add(e2); } } + foreach (var item in list) + session.Insert(item); + + foreach (var item in tp) + SetCarcassTakeOut(session, item); session.Commit(); } return arr.Count; } - static void SetCarcassTakeOut(IDmoSession session, long id, DateTime time, long worker_ID) + static void SetCarcassTakeOut(IDmoSession session, Tuple item) { var update = new DQUpdateDom(typeof(CarcassFullInfo)); update.Columns.Add(new DQUpdateColumn("PickWeight", DQExpression.Field("InStoreWeight"))); - update.Columns.Add(new DQUpdateColumn("PickWorker_ID", worker_ID)); - update.Columns.Add(new DQUpdateColumn("PickTime", time)); + update.Columns.Add(new DQUpdateColumn("PickWorker_ID", item.Item3)); + update.Columns.Add(new DQUpdateColumn("PickTime", item.Item2)); update.Columns.Add(new DQUpdateColumn("PickType", 领用类型.条转段)); - update.Where.Conditions.Add(DQCondition.EQ("ID", id)); + update.Where.Conditions.Add(DQCondition.EQ("ID", item.Item1)); session.ExecuteNonQuery(update); }