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");