diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj
index ad119e9..d0c90ed 100644
--- a/B3ClientService/B3ClientService.csproj
+++ b/B3ClientService/B3ClientService.csproj
@@ -88,6 +88,7 @@
+
diff --git a/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs b/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs
new file mode 100644
index 0000000..94d1ee3
--- /dev/null
+++ b/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs
@@ -0,0 +1,59 @@
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using TSingSoft.WebPluginFramework;
+
+namespace BWP.B3ClientService.BO
+{
+ [Serializable]
+ [BOClass]
+ public class WeightBillCheck
+ {
+ public long B3ID { get; set; }
+
+ ///
+ /// 单据创建人用户名
+ ///
+ public string Creator { get; set; }
+
+ ///
+ /// 同步状态
+ ///
+ public bool Sync { get; set; }
+
+ public DateTime ModifyTime { get; set; }
+
+ public static void Insert(long id, string creator)
+ {
+ if (Exist(id))
+ return;
+ var entity = new WeightBillCheck();
+ entity.B3ID = id;
+ entity.Creator = creator;
+ entity.ModifyTime = DateTime.Now;
+ using (var session = Dmo.NewSession())
+ {
+ session.Insert(entity);
+ session.Commit();
+ }
+ }
+
+ static bool Exist(long id)
+ {
+ var query = new DQueryDom(new JoinAlias(typeof(WeightBillCheck)));
+ query.Where.Conditions.Add(DQCondition.EQ("B3ID", id));
+ return query.EExists();
+ }
+
+ public static void SetSynced(long id)
+ {
+ var update = new DQUpdateDom(typeof(WeightBillCheck));
+ update.Columns.Add(new DQUpdateColumn("Sync", true));
+ update.Where.Conditions.Add(DQCondition.EQ("B3ID", id));
+ update.EExecute();
+ }
+ }
+}
diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs
index f3441ed..aab118e 100644
--- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs
+++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs
@@ -301,5 +301,11 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
entity.Details = s.Select(x => new PWeightBill_SanctionDetail { AbnormalItem_Name = x.Item1, Number = x.Item2, Money = x.Item3 }).ToList();
return serializer.Serialize(entity);
}
+
+ [Rpc]
+ public static void DoCheck(long b3ID, string creator)
+ {
+ WeightBillCheck.Insert(b3ID, creator);
+ }
}
}
diff --git a/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs b/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs
new file mode 100644
index 0000000..78857ba
--- /dev/null
+++ b/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs
@@ -0,0 +1,35 @@
+using BWP.B3ClientService.BO;
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using TSingSoft.WebPluginFramework.BWPClients;
+using TSingSoft.WebPluginFramework;
+
+namespace BWP.B3ClientService.Tasks.UpdateLoad
+{
+ public static class DoCheckBills
+ {
+ public static void Execute(string uri)
+ {
+ var weightBills = GetWeightBillCheck();
+ foreach (var item in weightBills)
+ {
+ var bwpClient = new BWPClient(uri, item.Item2);
+ bwpClient.Call("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/DoCheck", item.Item1);
+ WeightBillCheck.SetSynced(item.Item1);
+ }
+ }
+
+ static List> GetWeightBillCheck()
+ {
+ var query = new DQueryDom(new JoinAlias(typeof(WeightBillCheck)));
+ query.Columns.Add(DQSelectColumn.Field("B3ID"));
+ query.Columns.Add(DQSelectColumn.Field("Creator"));
+ query.Where.Conditions.Add(DQCondition.EQ("Sync", false));
+ return query.EExecuteList();
+ }
+ }
+}
diff --git a/B3ClientService/Tasks/UpdateLoad/UploadTest.cs b/B3ClientService/Tasks/UpdateLoad/UploadTest.cs
index 82e9010..0a455fd 100644
--- a/B3ClientService/Tasks/UpdateLoad/UploadTest.cs
+++ b/B3ClientService/Tasks/UpdateLoad/UploadTest.cs
@@ -25,6 +25,8 @@ namespace BWP.B3ClientService.Tasks
UpLoadWeightBill.Execute(serverUri);
UploadOrderDetail.Execute(serverUri);
UploadSecondOrder.Execute(serverUri);
+
+ DoCheckBills.Execute(serverUri);
}
public string Name