Browse Source

修改。

master
yibo 8 years ago
parent
commit
c063898216
9 changed files with 38 additions and 14 deletions
  1. +4
    -1
      B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs
  2. +4
    -1
      B3ClientService/BO/Bill/SecondOrder/SecondOrder.cs
  3. +2
    -0
      B3ClientService/Rpcs/BillRpc/DropPigRpc.cs
  4. +3
    -0
      B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs
  5. +2
    -0
      B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs
  6. +1
    -0
      B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs
  7. +11
    -4
      B3ClientService/Tasks/UpdateLoad/UpLoadWeightBill.cs
  8. +4
    -3
      B3ClientService/Tasks/UpdateLoad/UploadOrderDetail.cs
  9. +7
    -5
      B3ClientService/Tasks/UpdateLoad/UploadSecondOrder.cs

+ 4
- 1
B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BWP.B3ClientService.BO
{
[Serializable]
public class OrderDetail : SyncBill
public class OrderDetail : SyncBill,IWithRowVersion
{
public long? AccountingUnit_ID { get; set; }
@ -47,5 +47,8 @@ namespace BWP.B3ClientService.BO
[DbColumn(DefaultValue = 0)]
public bool IsDrop { get; set; }
[DbColumn(DefaultValue = 0)]
public int RowVersion { get; set; }
}
}

+ 4
- 1
B3ClientService/BO/Bill/SecondOrder/SecondOrder.cs View File

@ -10,7 +10,7 @@ using TSingSoft.WebPluginFramework;
namespace BWP.B3ClientService.BO
{
[Serializable]
public class SecondOrder : Base
public class SecondOrder : Base, IWithRowVersion
{
public bool Sync { get; set; }
@ -35,5 +35,8 @@ namespace BWP.B3ClientService.BO
public bool Finish { get; set; }
public bool FinishGrade { get; set; }
[DbColumn(DefaultValue = 0)]
public int RowVersion { get; set; }
}
}

+ 2
- 0
B3ClientService/Rpcs/BillRpc/DropPigRpc.cs View File

@ -72,6 +72,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Columns.Add(new DQUpdateColumn("PlanNumber", DQExpression.Subtract(DQExpression.Field("PlanNumber"), DQExpression.Value(number))));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(update);
}
@ -89,6 +90,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Columns.Add(new DQUpdateColumn("HotFadeNumber", DQExpression.Subtract(DQExpression.Field("HotFadeNumber"), DQExpression.Value(number))));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.EQ("ID", info.Item1.Value));
session.ExecuteNonQuery(update);
var iDetail = new SecondOrder_Detail();


+ 3
- 0
B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs View File

@ -260,6 +260,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Columns.Add(new DQUpdateColumn(property, value));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(update);
}
@ -314,6 +315,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Columns.Add(new DQUpdateColumn("Order", DQExpression.Add(DQExpression.Field("Order"), DQExpression.Value(offset))));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.And(DQCondition.GreaterThan("Order", greaterThanOrder), DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false)));
session.ExecuteNonQuery(update);
}
@ -377,6 +379,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var update = new DQUpdateDom(typeof(OrderDetail));
update.Where.Conditions.Add(DQCondition.EQ("ID", ID));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Columns.Add(new DQUpdateColumn("PlanNumber", DQExpression.Add(DQExpression.Field("PlanNumber"), DQExpression.Value(subNumber))));
session.ExecuteNonQuery(update);
}


+ 2
- 0
B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs View File

@ -113,6 +113,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Columns.Add(new DQUpdateColumn("HotFadeNumber", DQExpression.Add(DQExpression.Field("HotFadeNumber"), DQExpression.Value(number))));
session.ExecuteNonQuery(update);
}
@ -138,6 +139,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Columns.Add(new DQUpdateColumn("IsOk", true));
update.Columns.Add(new DQUpdateColumn("Finish", true));
session.ExecuteNonQuery(update);


+ 1
- 0
B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs View File

@ -227,6 +227,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var update = new DQUpdateDom(typeof(WeightBill));
update.Columns.Add(new DQUpdateColumn("DeleteState", true));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(update);


+ 11
- 4
B3ClientService/Tasks/UpdateLoad/UpLoadWeightBill.cs View File

@ -49,8 +49,8 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
var money = 0m;
if (back.SectionDetails != null)
money = back.SectionDetails.Sum(x => x.Item2 ?? 0);
SetBillAsSynced(item.ID, item.B3ID.Value, money, context.Session);
SetBackInfoToBill(item.ID, item.B3ID.Value, money, context.Session);
SetBillAsSync(item.ID, item.RowVersion, context.Session);
context.Commit();
}
}
@ -132,16 +132,23 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
Delete<WeightBill_SanctionDetail>("WeightBill_ID", mainID, session, true);
}
static void SetBillAsSynced(long id, long B3ID, decimal money, IDmoSession session)
static void SetBackInfoToBill(long id, long B3ID, decimal money, IDmoSession session)
{
var update = new DQUpdateDom(typeof(WeightBill));
update.Columns.Add(new DQUpdateColumn("Sync", true));
update.Columns.Add(new DQUpdateColumn("B3ID", B3ID));
update.Columns.Add(new DQUpdateColumn("SanctionMoney", money));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(update);
}
static void SetBillAsSync(long id, int rowVersion, IDmoSession session)
{
var update = new DQUpdateDom(typeof(WeightBill));
update.Columns.Add(new DQUpdateColumn("Sync", true));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("ID", id), DQCondition.EQ("RowVersion", rowVersion)));
session.ExecuteNonQuery(update);
}
static IEnumerable<T> GetDetails<T>(long id)
{
var query = new DmoQuery(typeof(T));


+ 4
- 3
B3ClientService/Tasks/UpdateLoad/UploadOrderDetail.cs View File

@ -68,7 +68,8 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
{
Update(item, context.Session);
}
SetAllItemAsSync(context.Session, group.Select(x => DQExpression.Value(x.ID)));
foreach (var item in group)
SetItemAsSync(context.Session, item.ID, item.RowVersion);
#endregion
context.Commit();
@ -110,11 +111,11 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
session.ExecuteNonQuery(update);
}
static void SetAllItemAsSync(IDmoSession session, IEnumerable<IDQExpression> ids)
static void SetItemAsSync(IDmoSession session, long id, int rowVersion)
{
var update = new DQUpdateDom(typeof(OrderDetail));
update.Columns.Add(new DQUpdateColumn("Sync", true));
update.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ID"), ids.ToArray()));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("ID", id), DQCondition.EQ("RowVersion", rowVersion)));
session.ExecuteNonQuery(update);
}
}


+ 7
- 5
B3ClientService/Tasks/UpdateLoad/UploadSecondOrder.cs View File

@ -30,14 +30,14 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
{
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);
SetSyncd(context.Session, item.Item4, item.Item5);
context.Commit();
}
}
}
}
private static List<CTuple<long, int, string>> GetAllNeedSyncBill()
private static List<Tuple<long, int, string, long, int>> GetAllNeedSyncBill()
{
var main = new JoinAlias(typeof(SecondOrder));
var order = new JoinAlias(typeof(OrderDetail));
@ -46,16 +46,18 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Field("HotFadeNumber"));
query.Columns.Add(DQSelectColumn.Field("Creator", order));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Columns.Add(DQSelectColumn.Field("RowVersion"));
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();
return query.EExecuteList<long, int, string, long, int>();
}
static void SetSyncd(IDmoSession session, long orderDetailID)
static void SetSyncd(IDmoSession session, long id, int rowVersion)
{
var update = new DQUpdateDom(typeof(SecondOrder));
update.Columns.Add(new DQUpdateColumn("Sync", true));
update.Where.Conditions.Add(DQCondition.EQ("OrderDetail_ID", orderDetailID));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("ID", id), DQCondition.EQ("RowVersion", rowVersion)));
session.ExecuteNonQuery(update);
}
}


Loading…
Cancel
Save