Browse Source

修改。

master
yibo 8 years ago
parent
commit
92c5b973ac
3 changed files with 81 additions and 49 deletions
  1. +45
    -45
      B3ClientService/Tasks/UpdateLoad/UpLoadWeightBill.cs
  2. +35
    -4
      B3ClientService/Tasks/UpdateLoad/UploadSecondOrder.cs
  3. +1
    -0
      B3ClientService/Tasks/UpdateLoad/UploadTest.cs

+ 45
- 45
B3ClientService/Tasks/UpdateLoad/UpLoadWeightBill.cs View File

@ -26,55 +26,55 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
foreach (var item in allBill) foreach (var item in allBill)
{ {
var bwpClient = new BWPClient(uri, item.Creator);
using (var context = new TransactionContext())
{
#region 删除
if (item.DeleteState)
{
if (item.B3ID.HasValue)
bwpClient.Call<int>("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/Delete", item.B3ID.Value);
context.Session.Delete(item);
context.Commit();
continue;
}
#endregion
// var bwpClient = new BWPClient(uri, item.Creator);
//using (var context = new TransactionContext())
//{
// #region 删除
// if (item.DeleteState)
// {
// if (item.B3ID.HasValue)
// // bwpClient.Call<int>("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/Delete", item.B3ID.Value);
// context.Session.Delete(item);
// context.Commit();
// continue;
// }
// #endregion
var sync = serializer.Serialize(CreateRpcWeightBill(item)); var sync = serializer.Serialize(CreateRpcWeightBill(item));
var back = bwpClient.Call<BackRpcObj>("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/UpdateOrInsert", sync);
#region 同步完了要清理掉删除的明细(当前实体和数据库)
ClearDetails(item, context.Session);
#endregion
#region 反填信息
item.B3ID = back.ID;
SetBillAsSynced(item.ID, item.B3ID.Value, context.Session);
foreach (var bItem in back.DetailBack)
{
switch (bItem.Flag)
{
case "Details":
ExecuteSimpleDetail<WeightBill_Detail>(bItem, context.Session);
break;
case "FarmerDetails":
ExecuteSimpleDetail<WeightBill_FarmerDetail>(bItem, context.Session);
break;
case "SanctionDetails":
ExecuteSimpleDetail<WeightBill_SanctionDetail>(bItem, context.Session);
break;
default:
break;
}
}
// var back = bwpClient.Call<BackRpcObj>("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/UpdateOrInsert", sync);
//#region 同步完了要清理掉删除的明细(当前实体和数据库)
//ClearDetails(item, context.Session);
//#endregion
// #region 反填信息
//item.B3ID = back.ID;
//SetBillAsSynced(item.ID, item.B3ID.Value, context.Session);
//foreach (var bItem in back.DetailBack)
//{
// switch (bItem.Flag)
// {
// case "Details":
// ExecuteSimpleDetail<WeightBill_Detail>(bItem, context.Session);
// break;
// case "FarmerDetails":
// ExecuteSimpleDetail<WeightBill_FarmerDetail>(bItem, context.Session);
// break;
// case "SanctionDetails":
// ExecuteSimpleDetail<WeightBill_SanctionDetail>(bItem, context.Session);
// break;
// default:
// break;
// }
//}
//栋舍明细在B3系统不存在,所以无返回信息 //栋舍明细在B3系统不存在,所以无返回信息
ExecuteHouseDetial(item.ID, context.Session);
#endregion
// ExecuteHouseDetial(item.ID, context.Session);
// #endregion
context.Commit();
}
// context.Commit();
// }
} }
} }


+ 35
- 4
B3ClientService/Tasks/UpdateLoad/UploadSecondOrder.cs View File

@ -1,12 +1,16 @@
using BWP.B3ClientService.BO; using BWP.B3ClientService.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery; using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web.Script.Serialization; using System.Web.Script.Serialization;
using TSingSoft.WebPluginFramework;
using TSingSoft.WebPluginFramework.BWPClients;
namespace BWP.B3ClientService.Tasks.UpdateLoad namespace BWP.B3ClientService.Tasks.UpdateLoad
{ {
@ -17,14 +21,41 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
var serializer = new JavaScriptSerializer(); var serializer = new JavaScriptSerializer();
//获取所有未上传的数据 //获取所有未上传的数据
var allBill = GetAllNeedSyncBill(); var allBill = GetAllNeedSyncBill();
foreach (var group in allBill.GroupBy(x => x.Item3))
{
var bwpClient = new BWPClient(uri, group.Key);
foreach (var item in group)
{
using (var context = new TransactionContext())
{
var sync = serializer.Serialize(new CTuple<long, int>(item.Item1, item.Item2));
bwpClient.Call("/MainSystem/B3ButcherManage/Rpcs/ButcherOrderRpc/UpdateHotFadeNumber", sync);
SetSyncd(context.Session, item.Item1);
context.Commit();
}
}
}
} }
private static List<Tuple<long, int>> GetAllNeedSyncBill()
private static List<CTuple<long, int, string>> GetAllNeedSyncBill()
{ {
var query = new DQueryDom(new JoinAlias(typeof(SecondOrder)));
var main = new JoinAlias(typeof(SecondOrder));
var order = new JoinAlias(typeof(OrderDetail));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(main, "OrderDetail_ID", order, "ID"));
query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID")); query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Field(""));
return null;
query.Columns.Add(DQSelectColumn.Field("HotFadeNumber"));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("OrderDetail_ID"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.IsNotNull(DQExpression.Field(order, "B3ID")), DQCondition.EQ(main, "IsOk", true), DQCondition.EQ(main, "Sync", false)));
return query.EExecuteList<long, int, string>().Select(x => new CTuple<long, int, string>(x.Item1, x.Item2, x.Item3)).ToList();
}
static void SetSyncd(IDmoSession session, long orderDetailID)
{
var update = new DQUpdateDom(typeof(SecondOrder));
update.Columns.Add(new DQUpdateColumn("Sync", true));
update.Where.Conditions.Add(DQCondition.EQ("OrderDetail_ID", orderDetailID));
session.ExecuteNonQuery(update);
} }
} }
} }

+ 1
- 0
B3ClientService/Tasks/UpdateLoad/UploadTest.cs View File

@ -24,6 +24,7 @@ namespace BWP.B3ClientService.Tasks
throw new Exception("请配置服务器地址"); throw new Exception("请配置服务器地址");
UpLoadWeightBill.Execute(serverUri); UpLoadWeightBill.Execute(serverUri);
UploadOrderDetail.Execute(serverUri); UploadOrderDetail.Execute(serverUri);
UploadSecondOrder.Execute(serverUri);
} }
public string Name public string Name


Loading…
Cancel
Save