From abefcea122cc5925254999a95653060e64986804 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Fri, 22 Sep 2017 14:17:50 +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 --- B3ClientService/B3ClientService.csproj | 1 + .../Bill/WeightBill/WeightBillShowRelate.cs | 19 ++++++++ .../RpcBO/Bill/OrderDetail/NeedOrderEntity.cs | 2 + .../Rpcs/BillRpc/OrderDetailRpc.cs | 24 +++++++++- B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs | 46 +++++++++++-------- 5 files changed, 73 insertions(+), 19 deletions(-) create mode 100644 B3ClientService/BO/Bill/WeightBill/WeightBillShowRelate.cs diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj index 09cba2a..d5cf850 100644 --- a/B3ClientService/B3ClientService.csproj +++ b/B3ClientService/B3ClientService.csproj @@ -82,6 +82,7 @@ + diff --git a/B3ClientService/BO/Bill/WeightBill/WeightBillShowRelate.cs b/B3ClientService/BO/Bill/WeightBill/WeightBillShowRelate.cs new file mode 100644 index 0000000..f4dd5b4 --- /dev/null +++ b/B3ClientService/BO/Bill/WeightBill/WeightBillShowRelate.cs @@ -0,0 +1,19 @@ +using Forks.EnterpriseServices.DomainObjects2; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using TSingSoft.WebPluginFramework; + +namespace BWP.B3ClientService.BO +{ + [Serializable] + [BOClass] + [KeyField("WeightBill_ID", KeyGenType.assigned)] + public class WeightBillShowRelate + { + public long WeightBill_ID { get; set; } + + public bool Show { get; set; } + } +} diff --git a/B3ClientService/RpcBO/Bill/OrderDetail/NeedOrderEntity.cs b/B3ClientService/RpcBO/Bill/OrderDetail/NeedOrderEntity.cs index 8d3c3ef..4f6dfc0 100644 --- a/B3ClientService/RpcBO/Bill/OrderDetail/NeedOrderEntity.cs +++ b/B3ClientService/RpcBO/Bill/OrderDetail/NeedOrderEntity.cs @@ -12,6 +12,8 @@ namespace BWP.B3ClientService.RpcBO public long WeightBill_ID { get; set; } + public bool Show { get; set; } + public string Supplier_Name { get; set; } public string HouseNames { get; set; } diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 11a5326..7ed2a8c 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -20,10 +20,12 @@ namespace BWP.B3ClientService.Rpcs.BillRpc static JavaScriptSerializer serializer = new JavaScriptSerializer(); [Rpc] - public static string GetNeedOrderWeightBill(DateTime date) + public static string GetNeedOrderWeightBill(DateTime date, bool? showType) { var main = new JoinAlias(typeof(WeightBill)); + var relate = new JoinAlias(typeof(WeightBillShowRelate)); var query = new DQueryDom(main); + query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "ID", relate, "WeightBill_ID")); var detail = WeightDetailTemp.Register(query, main); var already = OrderDetailTemp.Register(query, main); query.Columns.Add(DQSelectColumn.Field("ID")); @@ -33,8 +35,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("Number", already)); query.Columns.Add(DQSelectColumn.Field("WeighTime")); query.Columns.Add(DQSelectColumn.Field("B3ID")); + query.Columns.Add(DQSelectColumn.Field("Show", relate)); query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date.Date, date.Date + new TimeSpan(23, 59, 29)), DQCondition.InEQ("HouseNames", ""))); query.Where.Conditions.Add(DQCondition.InEQ(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(already, "Number"), DQExpression.Value(0)))); + if (showType == true) + query.Where.Conditions.Add(DQCondition.Or(DQCondition.IsNull(DQExpression.Field(relate, "Show")), DQCondition.EQ(relate, "Show", true))); + else if (showType == false) + query.Where.Conditions.Add(DQCondition.EQ(relate, "Show", false)); var result = new List(); using (var session = Dmo.NewSession()) { @@ -54,6 +61,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc item.AlreadyNumber = Convert.ToInt32(v); item.WeighTime = (DateTime)reader[5]; item.B3ID = (long?)reader[6]; + item.Show = ((bool?)reader[7] ?? true); result.Add(item); } } @@ -239,5 +247,19 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } return 1; } + + [Rpc] + public static int ChangeShowType(long id, bool show) + { + var entity = new WeightBillShowRelate(); + entity.WeightBill_ID = id; + entity.Show = show; + using (var session = Dmo.NewSession()) + { + session.AddInsertOrUpdate(entity); + session.Commit(); + } + return 1; + } } } diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs index b74415e..7321fa9 100644 --- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs @@ -25,6 +25,8 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { recordDetail = recordDetail.ESerializeDateTime(); var records = serializer.Deserialize>(recordDetail); + var weightDetails = dmo.Details.ToList(); + dmo.Details = new WeightBill_DetailCollection(); using (var session = Dmo.NewSession()) { @@ -39,33 +41,17 @@ namespace BWP.B3ClientService.Rpcs.BillRpc else session.Update(item); } - - foreach (var item in dmo.Details) - { - if (item.ID == 0) - session.Insert(item); - else - session.Update(item); - foreach (var r in records) - { - if (r.Delete) - session.Delete(r); - else - session.Insert(r); - } - } dmo.FarmerDetails = new WeightBill_FarmerDetailCollection(); - dmo.Details = new WeightBill_DetailCollection(); FillServerUpdateFields(session, dmo); session.Update(dmo); - } + InsertWeightDetails(dmo.ID, weightDetails, records, session); session.Commit(); } var result = new BackRpcObj(); result.ID = dmo.ID; var details = new BackRpcObj() { Flag = "Details" }; - foreach (var d in dmo.Details) + foreach (var d in weightDetails) details.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID }); result.DetailBack.Add(details); var farmerDetails = new BackRpcObj() { Flag = "FarmerDetails" }; @@ -75,6 +61,30 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return result; } + static void InsertWeightDetails(long id, List details, List records, IDmoSession session) + { + foreach (var item in details) + { + if (item.ID == 0) + { + item.WeightBill_ID = id; + session.Insert(item); + } + else + session.Update(item); + foreach (var r in records) + { + if (r.Delete) + session.Delete(r); + else + { + r.WeightBill_Detail_ID = item.ID; + session.Insert(r); + } + } + } + } + static void FillServerUpdateFields(IDmoSession session, WeightBill dmo) { var min = InnerBLUtil.GetSingleDmo(session, "ID", dmo.ID, "B3ID", "DeleteState", "AlreadyHouse", "Inspector_ID", "Inspector_Name", "HouseNames");