|
|
@ -39,21 +39,21 @@ namespace BWP.B3ClientService.Tasks |
|
|
if (ex.Message != "Can only start once") |
|
|
if (ex.Message != "Can only start once") |
|
|
throw; |
|
|
throw; |
|
|
} |
|
|
} |
|
|
SyncWpfUser(); |
|
|
|
|
|
SyncUserEmployee(); |
|
|
|
|
|
SyncEmployee(); |
|
|
|
|
|
SyncEmpInfoTable(); |
|
|
|
|
|
|
|
|
//SyncWpfUser();
|
|
|
|
|
|
//SyncUserEmployee();
|
|
|
|
|
|
//SyncEmployee();
|
|
|
|
|
|
//SyncEmpInfoTable();
|
|
|
SyncCar(); |
|
|
SyncCar(); |
|
|
SyncLivestock(); |
|
|
|
|
|
SyncPurchaseType(); |
|
|
|
|
|
|
|
|
//SyncLivestock();
|
|
|
|
|
|
//SyncPurchaseType();
|
|
|
SyncSupplier(); |
|
|
SyncSupplier(); |
|
|
SyncZone(); |
|
|
SyncZone(); |
|
|
SyncFarmer(); |
|
|
SyncFarmer(); |
|
|
SyncHogGrade(); |
|
|
|
|
|
SyncLiveColonyHouse(); |
|
|
|
|
|
SyncSanction(); |
|
|
|
|
|
SyncLiveVarieties(); |
|
|
|
|
|
SyncBodyDiscontItem(); |
|
|
|
|
|
|
|
|
//SyncHogGrade();
|
|
|
|
|
|
//SyncLiveColonyHouse();
|
|
|
|
|
|
//SyncSanction();
|
|
|
|
|
|
//SyncLiveVarieties();
|
|
|
|
|
|
//SyncBodyDiscontItem();
|
|
|
//SyncClientGoodsSet();
|
|
|
//SyncClientGoodsSet();
|
|
|
//SyncCustomer();
|
|
|
//SyncCustomer();
|
|
|
//SyncDeliverGoodsLine();
|
|
|
//SyncDeliverGoodsLine();
|
|
|
@ -184,6 +184,150 @@ namespace BWP.B3ClientService.Tasks |
|
|
// }
|
|
|
// }
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
void SyncCar() |
|
|
|
|
|
{ |
|
|
|
|
|
SyncBaseInfo<Car>("GetCar"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncBaseInfoFromString<T>(string rpcMethodName, string rpcClassName = null) |
|
|
|
|
|
where T : BWP.B3ClientService.BO.BaseInfo, new() |
|
|
|
|
|
{ |
|
|
|
|
|
if (rpcClassName == null) |
|
|
|
|
|
rpcClassName = "TouchScreenRpcs"; |
|
|
|
|
|
var result = RpcFacade.Call<string>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName)); |
|
|
|
|
|
var list = serializer.Deserialize<List<CTuple<long, string, string>>>(result); |
|
|
|
|
|
var dmoInfo = DmoInfo.Get(typeof(T)); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject); |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (var item in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new T(); |
|
|
|
|
|
entity.ID = item.Item1; |
|
|
|
|
|
entity.Name = item.Item2; |
|
|
|
|
|
entity.Spell = item.Item3; |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncSupplier() |
|
|
|
|
|
{ |
|
|
|
|
|
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetSupplier"); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = @"truncate table [B3ClientService_Supplier];"; |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (RpcObject o in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new Supplier(); |
|
|
|
|
|
entity.ID = o.Get<long>("ID"); |
|
|
|
|
|
entity.Name = o.Get<string>("Name"); |
|
|
|
|
|
entity.Spell = o.Get<string>("Spell"); |
|
|
|
|
|
entity.IDCardNumber = o.Get<string>("Card_ID"); |
|
|
|
|
|
entity.BankAccount = o.Get<string>("BankAccount"); |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncZone() |
|
|
|
|
|
{ |
|
|
|
|
|
SyncBaseInfo<Zone>("GetZone"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncFarmer() |
|
|
|
|
|
{ |
|
|
|
|
|
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetFarmer"); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = @"truncate table [B3ClientService_Farmer];"; |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (RpcObject o in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new Farmer(); |
|
|
|
|
|
entity.ID = o.Get<long>("ID"); |
|
|
|
|
|
entity.Name = o.Get<string>("Name"); |
|
|
|
|
|
entity.Spell = o.Get<string>("Spell"); |
|
|
|
|
|
entity.Tel = o.Get<string>("Tel"); |
|
|
|
|
|
entity.Address = o.Get<string>("Address"); |
|
|
|
|
|
entity.IDCard = o.Get<string>("IDCard"); |
|
|
|
|
|
entity.BankAccount = o.Get<string>("BankAccount"); |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncBaseInfo<T>(string rpcMethodName, string rpcClassName = null) |
|
|
|
|
|
where T : BWP.B3ClientService.BO.BaseInfo, new() |
|
|
|
|
|
{ |
|
|
|
|
|
if (rpcClassName == null) |
|
|
|
|
|
rpcClassName = "TouchScreenRpcs"; |
|
|
|
|
|
var list = RpcFacade.Call<List<RpcObject>>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName)); |
|
|
|
|
|
var dmoInfo = DmoInfo.Get(typeof(T)); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject); |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (RpcObject o in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new T(); |
|
|
|
|
|
entity.ID = o.Get<long>("ID"); |
|
|
|
|
|
entity.Name = o.Get<string>("Name"); |
|
|
|
|
|
entity.Spell = o.Get<string>("Spell"); |
|
|
|
|
|
if (entity is Car) |
|
|
|
|
|
{ |
|
|
|
|
|
var car = entity as Car; |
|
|
|
|
|
car.Driver_IDCard = o.Get<string>("Driver_IDCard"); |
|
|
|
|
|
context.Session.Insert(car); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public string Name |
|
|
|
|
|
{ |
|
|
|
|
|
get { return "从B3同步基础信息到Server服务器"; } |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public class SyncInfoLowRate : ITimerTask |
|
|
|
|
|
{ |
|
|
|
|
|
public void Execute() |
|
|
|
|
|
{ |
|
|
|
|
|
var serverUri = ServerHost.GetServerUrl(); |
|
|
|
|
|
if (string.IsNullOrEmpty(serverUri)) |
|
|
|
|
|
{ |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
RpcFacade.Init(serverUri, "B3ClientServer"); |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{ |
|
|
|
|
|
if (ex.Message != "Can only start once") |
|
|
|
|
|
throw; |
|
|
|
|
|
} |
|
|
|
|
|
SyncWpfUser(); |
|
|
|
|
|
SyncUserEmployee(); |
|
|
|
|
|
SyncEmployee(); |
|
|
|
|
|
SyncEmpInfoTable(); |
|
|
|
|
|
SyncLivestock(); |
|
|
|
|
|
SyncPurchaseType(); |
|
|
|
|
|
SyncHogGrade(); |
|
|
|
|
|
SyncLiveColonyHouse(); |
|
|
|
|
|
SyncSanction(); |
|
|
|
|
|
SyncLiveVarieties(); |
|
|
|
|
|
SyncBodyDiscontItem(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
static void SyncWpfUser() |
|
|
static void SyncWpfUser() |
|
|
{ |
|
|
{ |
|
|
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetWpfUser"); |
|
|
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetWpfUser"); |
|
|
@ -280,15 +424,10 @@ namespace BWP.B3ClientService.Tasks |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void SyncCar() |
|
|
|
|
|
{ |
|
|
|
|
|
SyncBaseInfo<Car>("GetCar"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncLivestock() |
|
|
void SyncLivestock() |
|
|
{ |
|
|
{ |
|
|
var result = RpcFacade.Call<string>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetLivestock"); |
|
|
var result = RpcFacade.Call<string>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetLivestock"); |
|
|
var list = serializer.Deserialize<List<CTuple<long, string, short, int?, string>>>(result); |
|
|
|
|
|
|
|
|
var list = JsonConvert.DeserializeObject<List<CTuple<long, string, short, int?, string>>>(result); |
|
|
using (var context = new TransactionContext()) |
|
|
using (var context = new TransactionContext()) |
|
|
{ |
|
|
{ |
|
|
var sql1 = @"truncate table [B3ClientService_Livestock];"; |
|
|
var sql1 = @"truncate table [B3ClientService_Livestock];"; |
|
|
@ -312,84 +451,11 @@ namespace BWP.B3ClientService.Tasks |
|
|
SyncBaseInfoFromString<BodyDiscontItem>("GetBodyDiscontItem"); |
|
|
SyncBaseInfoFromString<BodyDiscontItem>("GetBodyDiscontItem"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void SyncBaseInfoFromString<T>(string rpcMethodName, string rpcClassName = null) |
|
|
|
|
|
where T : BWP.B3ClientService.BO.BaseInfo, new() |
|
|
|
|
|
{ |
|
|
|
|
|
if (rpcClassName == null) |
|
|
|
|
|
rpcClassName = "TouchScreenRpcs"; |
|
|
|
|
|
var result = RpcFacade.Call<string>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName)); |
|
|
|
|
|
var list = serializer.Deserialize<List<CTuple<long, string, string>>>(result); |
|
|
|
|
|
var dmoInfo = DmoInfo.Get(typeof(T)); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject); |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (var item in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new T(); |
|
|
|
|
|
entity.ID = item.Item1; |
|
|
|
|
|
entity.Name = item.Item2; |
|
|
|
|
|
entity.Spell = item.Item3; |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncPurchaseType() |
|
|
void SyncPurchaseType() |
|
|
{ |
|
|
{ |
|
|
SyncBaseInfo<PurchaseType>("GetPurchaseType"); |
|
|
SyncBaseInfo<PurchaseType>("GetPurchaseType"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void SyncSupplier() |
|
|
|
|
|
{ |
|
|
|
|
|
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetSupplier"); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = @"truncate table [B3ClientService_Supplier];"; |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (RpcObject o in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new Supplier(); |
|
|
|
|
|
entity.ID = o.Get<long>("ID"); |
|
|
|
|
|
entity.Name = o.Get<string>("Name"); |
|
|
|
|
|
entity.Spell = o.Get<string>("Spell"); |
|
|
|
|
|
entity.IDCardNumber = o.Get<string>("Card_ID"); |
|
|
|
|
|
entity.BankAccount = o.Get<string>("BankAccount"); |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncZone() |
|
|
|
|
|
{ |
|
|
|
|
|
SyncBaseInfo<Zone>("GetZone"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncFarmer() |
|
|
|
|
|
{ |
|
|
|
|
|
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetFarmer"); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = @"truncate table [B3ClientService_Farmer];"; |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (RpcObject o in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new Farmer(); |
|
|
|
|
|
entity.ID = o.Get<long>("ID"); |
|
|
|
|
|
entity.Name = o.Get<string>("Name"); |
|
|
|
|
|
entity.Spell = o.Get<string>("Spell"); |
|
|
|
|
|
entity.Tel = o.Get<string>("Tel"); |
|
|
|
|
|
entity.Address = o.Get<string>("Address"); |
|
|
|
|
|
entity.IDCard = o.Get<string>("IDCard"); |
|
|
|
|
|
entity.BankAccount = o.Get<string>("BankAccount"); |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncHogGrade() |
|
|
void SyncHogGrade() |
|
|
{ |
|
|
{ |
|
|
SyncBaseInfo<HogGrade>("GetHogGrade"); |
|
|
SyncBaseInfo<HogGrade>("GetHogGrade"); |
|
|
@ -424,8 +490,32 @@ namespace BWP.B3ClientService.Tasks |
|
|
SyncBaseInfo<LiveVarieties>("GetLiveVarieties"); |
|
|
SyncBaseInfo<LiveVarieties>("GetLiveVarieties"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SyncBaseInfoFromString<T>(string rpcMethodName, string rpcClassName = null) |
|
|
|
|
|
where T : BWP.B3ClientService.BO.BaseInfo, new() |
|
|
|
|
|
{ |
|
|
|
|
|
if (rpcClassName == null) |
|
|
|
|
|
rpcClassName = "TouchScreenRpcs"; |
|
|
|
|
|
var result = RpcFacade.Call<string>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName)); |
|
|
|
|
|
var list = JsonConvert.DeserializeObject<List<CTuple<long, string, string>>>(result); |
|
|
|
|
|
var dmoInfo = DmoInfo.Get(typeof(T)); |
|
|
|
|
|
using (var context = new TransactionContext()) |
|
|
|
|
|
{ |
|
|
|
|
|
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject); |
|
|
|
|
|
context.Session.ExecuteSqlNonQuery(sql1); |
|
|
|
|
|
foreach (var item in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new T(); |
|
|
|
|
|
entity.ID = item.Item1; |
|
|
|
|
|
entity.Name = item.Item2; |
|
|
|
|
|
entity.Spell = item.Item3; |
|
|
|
|
|
context.Session.Insert(entity); |
|
|
|
|
|
} |
|
|
|
|
|
context.Commit(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void SyncBaseInfo<T>(string rpcMethodName, string rpcClassName = null) |
|
|
void SyncBaseInfo<T>(string rpcMethodName, string rpcClassName = null) |
|
|
where T : BWP.B3ClientService.BO.BaseInfo, new() |
|
|
|
|
|
|
|
|
where T : BWP.B3ClientService.BO.BaseInfo, new() |
|
|
{ |
|
|
{ |
|
|
if (rpcClassName == null) |
|
|
if (rpcClassName == null) |
|
|
rpcClassName = "TouchScreenRpcs"; |
|
|
rpcClassName = "TouchScreenRpcs"; |
|
|
@ -456,7 +546,7 @@ namespace BWP.B3ClientService.Tasks |
|
|
|
|
|
|
|
|
public string Name |
|
|
public string Name |
|
|
{ |
|
|
{ |
|
|
get { return "从B3同步基础信息到Server服务器"; } |
|
|
|
|
|
|
|
|
get { return "基础信息同步_低频率"; } |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |