Browse Source

修改。

master
yibo 8 years ago
parent
commit
21eb0e241d
6 changed files with 50 additions and 16 deletions
  1. +1
    -1
      B3ClientService/BO/Bill/WeightBill/WeightBill.cs
  2. +2
    -0
      B3ClientService/BO/Bill/WeightBill/WeightBill_SanctionDetail.cs
  3. +1
    -1
      B3ClientService/ClientSerializerBo/WeightBill/WeightBillList.cs
  4. +6
    -7
      B3ClientService/Rpcs/BillRpc/HouseAndSanctionRpc.cs
  5. +16
    -4
      B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs
  6. +24
    -3
      B3ClientService/Tasks/UpdateLoad/UpLoadWeightBill.cs

+ 1
- 1
B3ClientService/BO/Bill/WeightBill/WeightBill.cs View File

@ -73,7 +73,7 @@ namespace BWP.B3ClientService.BO
#region 无需自身维护 便于查看
public string HouseNames { get; set; }
public int? SanctionNumber { get; set; }
public decimal? SanctionMoney { get; set; }
public long? Inspector_ID { get; set; }


+ 2
- 0
B3ClientService/BO/Bill/WeightBill/WeightBill_SanctionDetail.cs View File

@ -30,5 +30,7 @@ namespace BWP.B3ClientService.BO
public string AbnormalItem_Name { get; set; }
public int? Number { get; set; }
public decimal? Money { get; set; }
}
}

+ 1
- 1
B3ClientService/ClientSerializerBo/WeightBill/WeightBillList.cs View File

@ -25,7 +25,7 @@ namespace BWP.B3ClientService
public string HouseNames { get; set; }
public int? SanctionNumber { get; set; }
public decimal? SanctionMoney { get; set; }
public string Remark { get; set; }


+ 6
- 7
B3ClientService/Rpcs/BillRpc/HouseAndSanctionRpc.cs View File

@ -143,7 +143,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var sanctionDetail = GetList<WeightBill_SanctionDetail>(entity.ID);
foreach (var item in entity.SanctionDetails)
{
var first = sanctionDetail.FirstOrDefault(x => x.AbnormalItem_ID == item.AbnormalItem_ID);
var first = sanctionDetail.FirstOrDefault(x => x.Sanction_ID == item.Sanction_ID);
if (first == null)
sanctionDetail.Add(item);
else
@ -154,17 +154,17 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
}
foreach (var item in sanctionDetail)
{
if (entity.SanctionDetails.Any(x => x.AbnormalItem_ID == item.AbnormalItem_ID))
if (entity.SanctionDetails.Any(x => x.Sanction_ID == item.Sanction_ID))
UpdateOrInsertSanctionDetail(session, item);
else
delete.Add(item.AbnormalItem_ID ?? 0);
delete.Add(item.Sanction_ID ?? 0);
}
if (delete.Any())
{
Delete<WeightBill_SanctionDetail>(session, entity.ID, (dom) =>
{
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("AbnormalItem_ID"), delete.Select(x => DQExpression.Value(x)).ToArray()));
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("Sanction_ID"), delete.Select(x => DQExpression.Value(x)).ToArray()));
});
}
@ -179,7 +179,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Columns.Add(new DQUpdateColumn("Inspector_ID", entity.Inspector_ID));
update.Columns.Add(new DQUpdateColumn("Inspector_Name", entity.Inspector_Name));
update.Columns.Add(new DQUpdateColumn("HouseNames", string.Join(",", houseNames)));
update.Columns.Add(new DQUpdateColumn("SanctionNumber", entity.SanctionDetails.Sum(x => x.Number ?? 0)));
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("ModifyTime", DateTime.Now));
@ -216,7 +215,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
}
var update = new DQUpdateDom(typeof(WeightBill_HouseDetail));
update.Columns.Add(new DQUpdateColumn("Index", detail.Index));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.EQ("LiveColonyHouse_ID", detail.LiveColonyHouse_ID)));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.EQ("LiveColonyHouse_ID", detail.LiveColonyHouse_ID), DQCondition.EQ("WeightBill_ID", detail.WeightBill_ID)));
session.ExecuteNonQuery(update);
}
@ -231,7 +230,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
update.Columns.Add(new DQUpdateColumn("Index", detail.Index));
update.Columns.Add(new DQUpdateColumn("Number", detail.Number));
update.Columns.Add(new DQUpdateColumn("Sanction_ID", detail.Sanction_ID));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.EQ("AbnormalItem_ID", detail.AbnormalItem_ID)));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.EQ("WeightBill_ID", detail.WeightBill_ID), DQCondition.EQ("AbnormalItem_ID", detail.AbnormalItem_ID)));
session.ExecuteNonQuery(update);
}
}


+ 16
- 4
B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs View File

@ -35,7 +35,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
query.Columns.Add(DQSelectColumn.Field("Employee_Name"));
query.Columns.Add(DQSelectColumn.Field("PurchaseType_Name"));//5
query.Columns.Add(DQSelectColumn.Field("HouseNames"));
query.Columns.Add(DQSelectColumn.Field("SanctionNumber"));
query.Columns.Add(DQSelectColumn.Field("SanctionMoney"));
query.Columns.Add(DQSelectColumn.Field("Remark"));
query.Columns.Add(DQSelectColumn.Field("Number", detail));
query.Columns.Add(DQSelectColumn.Field("Weight", detail));
@ -60,7 +60,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
entity.Employee_Name = (string)reader[4];
entity.PurchaseType_Name = (string)reader[5];
entity.HouseNames = (string)reader[6];
entity.SanctionNumber = (int?)reader[7];
entity.SanctionMoney = (decimal?)reader[7];
entity.Remark = (string)reader[8];
entity.Number = (int?)reader[9];
entity.Weight = (decimal?)reader[10];
@ -145,13 +145,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
static void FillServerUpdateFields(IDmoSession session, WeightBill dmo)
{
var min = InnerBLUtil.GetSingleDmo<WeightBill>(session, "ID", dmo.ID, "B3ID", "DeleteState", "Inspector_ID", "Inspector_Name", "HouseNames", "SanctionNumber");
var min = InnerBLUtil.GetSingleDmo<WeightBill>(session, "ID", dmo.ID, "B3ID", "DeleteState", "Inspector_ID", "Inspector_Name", "HouseNames", "SanctionMoney");
dmo.B3ID = min.B3ID;
dmo.DeleteState = min.DeleteState;
dmo.Inspector_ID = min.Inspector_ID;
dmo.Inspector_Name = min.Inspector_Name;
dmo.HouseNames = min.HouseNames;
dmo.SanctionNumber = min.SanctionNumber;
dmo.SanctionMoney = min.SanctionMoney;
dmo.Sync = false;
dmo.ModifyTime = DateTime.Now;
}
@ -242,5 +242,17 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var result = query.EExecuteList<long, long>().Select(x => new CTuple<long, long>(x.Item1, x.Item2));
return serializer.Serialize(result.ToList());
}
[Rpc]
public static string SyncBillB3IdsAndSanctionMoney(DateTime date)
{
var query = new DQueryDom(new JoinAlias(typeof(WeightBill)));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Columns.Add(DQSelectColumn.Field("B3ID"));
query.Columns.Add(DQSelectColumn.Field("SanctionMoney"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date, date + new TimeSpan(23, 59, 29))));
var result = query.EExecuteList<long, long?, decimal?>().Select(x => new CTuple<long, long?, decimal?>(x.Item1, x.Item2, x.Item3));
return serializer.Serialize(result.ToList());
}
}
}

+ 24
- 3
B3ClientService/Tasks/UpdateLoad/UpLoadWeightBill.cs View File

@ -41,10 +41,11 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
#endregion
var sync = serializer.Serialize(CreateRpcWeightBill(item));
item.B3ID = bwpClient.Call<long>("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/UpdateOrInsert", sync);
var json = bwpClient.Call<string>("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/UpdateOrInsert", sync);
var back = serializer.Deserialize<BackInfo>(json);
ClearDetails(item.ID, context.Session);
item.B3ID = back.ID;
FillSanctionMoney(context.Session, item.ID, back.SectionDetails);
SetBillAsSynced(item.ID, item.B3ID.Value, context.Session);
context.Commit();
@ -52,6 +53,19 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
}
}
static void FillSanctionMoney(IDmoSession session, long billID, List<CTuple<long, decimal?>> sanctions)
{
if (sanctions == null)
return;
foreach (var item in sanctions)
{
var update = new DQUpdateDom(typeof(WeightBill_SanctionDetail));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("WeightBill_ID", billID), DQCondition.EQ("DeleteState", false), DQCondition.EQ("Sanction_ID", item.Item1)));
update.Columns.Add(new DQUpdateColumn("Money", item.Item2));
session.ExecuteNonQuery(update);
}
}
static IEnumerable<WeightBill> GetAllNeedSyncBill()
{
var query = new DmoQuery(typeof(WeightBill));
@ -131,4 +145,11 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad
return query.EExecuteList().Cast<T>();
}
}
class BackInfo
{
public long ID { get; set; }
public List<CTuple<long, decimal?>> SectionDetails { get; set; }
}
}

Loading…
Cancel
Save