屠宰场管理服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.1 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.B3ClientService.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.JsonRpc.Client;
using Forks.JsonRpc.Client.Data;
using Newtonsoft.Json;
using TSingSoft.WebPluginFramework.TimerTasks;
namespace BWP.B3ClientService.Tasks
{
public class SyncBillFromServer : ITimerTask
{
public void Execute()
{
var serverUri = ServerHost.GetServerUrl();
if (string.IsNullOrEmpty(serverUri))
throw new Exception("请配置服务器地址");
//try
{
try
{
RpcFacade.Init(serverUri, "B3ClientServer");
}
catch (Exception ex)
{
if (ex.Message != "Can only start once")
throw;
}
//SyncSaleOutStore();
//SyncProductTask();
}
}
private void SyncProductTask()
{
var json = RpcFacade.Call<string>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/SyncProductTask");
var list = JsonConvert.DeserializeObject<List<ProductTask>>(json);
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_ProductTask];";
context.Session.ExecuteSqlNonQuery(sql1);
foreach (ProductTask dmo in list)
{
context.Session.Insert(dmo);
}
context.Commit();
}
}
private void SyncSaleOutStore()
{
//只更新一个星期的
var minDate = DateTime.Today.AddDays(-7);
var json = RpcFacade.Call<string>("/MainSystem/B3Sale/Rpcs/OffLineRpc/OffLineSaleOutStore/OffLineSaleOutStoreRpc/GetSaleOutStoreList", minDate);
var list = JsonConvert.DeserializeObject<List<SaleOutStore>>(json);
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_SaleOutStore];";
context.Session.ExecuteSqlNonQuery(sql1);
foreach (SaleOutStore dmo in list)
{
context.Session.Insert(dmo);
}
context.Commit();
}
}
public string Name { get { return "从B3同步单据到Server服务器"; }}
}
}