Browse Source

怪怪的。

master
yibo 8 years ago
parent
commit
db9d89bd11
2 changed files with 56 additions and 11 deletions
  1. +4
    -4
      B3ClientService/BO/Bill/WeightBill/WeightBill.cs
  2. +52
    -7
      B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs

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

@ -76,15 +76,15 @@ namespace BWP.B3ClientService.BO
[DbColumn(DefaultValue = 0)] [DbColumn(DefaultValue = 0)]
public bool AlreadyHouse { get; set; } public bool AlreadyHouse { get; set; }
private readonly WeightBill_DetailCollection mDetails = new WeightBill_DetailCollection();
private WeightBill_DetailCollection mDetails = new WeightBill_DetailCollection();
[OneToMany(typeof(WeightBill_Detail), "ID")] [OneToMany(typeof(WeightBill_Detail), "ID")]
[Join("ID", "WeightBill_ID")] [Join("ID", "WeightBill_ID")]
public WeightBill_DetailCollection Details { get { return mDetails; } }
public WeightBill_DetailCollection Details { get { return mDetails; } set { mDetails = value; } }
private readonly WeightBill_FarmerDetailCollection mFarmerDetails = new WeightBill_FarmerDetailCollection();
private WeightBill_FarmerDetailCollection mFarmerDetails = new WeightBill_FarmerDetailCollection();
[OneToMany(typeof(WeightBill_FarmerDetail), "ID")] [OneToMany(typeof(WeightBill_FarmerDetail), "ID")]
[Join("ID", "WeightBill_ID")] [Join("ID", "WeightBill_ID")]
public WeightBill_FarmerDetailCollection FarmerDetails { get { return mFarmerDetails; } }
public WeightBill_FarmerDetailCollection FarmerDetails { get { return mFarmerDetails; } set { mFarmerDetails = value; } }
private readonly WeightBill_HouseDetailCollection mHouseDetails = new WeightBill_HouseDetailCollection(); private readonly WeightBill_HouseDetailCollection mHouseDetails = new WeightBill_HouseDetailCollection();
[OneToMany(typeof(WeightBill_HouseDetail), "ID")] [OneToMany(typeof(WeightBill_HouseDetail), "ID")]


+ 52
- 7
B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs View File

@ -24,7 +24,27 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
if (dmo.ID == 0) if (dmo.ID == 0)
session.Insert(dmo); session.Insert(dmo);
else else
{
foreach (var item in dmo.FarmerDetails)
{
if (item.ID == 0)
session.Insert(item);
else
session.Update(item);
}
foreach (var item in dmo.Details)
{
if (item.ID == 0)
session.Insert(item);
else
session.Update(item);
}
dmo.FarmerDetails = new WeightBill_FarmerDetailCollection();
dmo.Details = new WeightBill_DetailCollection();
session.Update(dmo); session.Update(dmo);
}
session.Commit(); session.Commit();
} }
var result = new BackRpcObj(); var result = new BackRpcObj();
@ -33,7 +53,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
foreach (var d in dmo.Details) foreach (var d in dmo.Details)
details.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID }); details.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID });
result.DetailBack.Add(details); result.DetailBack.Add(details);
var farmerDetails = new BackRpcObj() { Flag = "Details" };
var farmerDetails = new BackRpcObj() { Flag = "FarmerDetails" };
foreach (var d in dmo.FarmerDetails) foreach (var d in dmo.FarmerDetails)
farmerDetails.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID }); farmerDetails.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID });
result.DetailBack.Add(farmerDetails); result.DetailBack.Add(farmerDetails);
@ -66,14 +86,14 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return GetSyncBaseB3Ids<WeightBill>(ids); return GetSyncBaseB3Ids<WeightBill>(ids);
} }
[Rpc]
[Rpc]
public static List<Tuple<long, long>> SyncWeightDetailB3Ids(List<long> ids) public static List<Tuple<long, long>> SyncWeightDetailB3Ids(List<long> ids)
{ {
return GetSyncBaseB3Ids<WeightBill_Detail>(ids); return GetSyncBaseB3Ids<WeightBill_Detail>(ids);
} }
[Rpc] [Rpc]
public static List<Tuple<long, long>> SyncFarmerDetailB3Ids(List<long> ids)
public static List<Tuple<long, long>> SyncFarmerDetailB3Ids(List<long> ids)
{ {
return GetSyncBaseB3Ids<WeightBill_FarmerDetail>(ids); return GetSyncBaseB3Ids<WeightBill_FarmerDetail>(ids);
} }
@ -90,7 +110,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
[Rpc] [Rpc]
public static List<WeightBill> GetNoHouseInfoWeightBills(DateTime date)
public static List<WeightWithHouseDetail> GetNoHouseInfoWeightBills(DateTime date)
{ {
var query = new DQueryDom(new JoinAlias(typeof(WeightBill))); var query = new DQueryDom(new JoinAlias(typeof(WeightBill)));
query.Where.Conditions.Add(DQCondition.And(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date.Date, date.Date + new TimeSpan(23, 59, 29))))); query.Where.Conditions.Add(DQCondition.And(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date.Date, date.Date + new TimeSpan(23, 59, 29)))));
@ -99,19 +119,35 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); query.Columns.Add(DQSelectColumn.Field("Supplier_Name"));
query.Columns.Add(DQSelectColumn.Field("AlreadyHouse")); query.Columns.Add(DQSelectColumn.Field("AlreadyHouse"));
var result = query.EExecuteList<long, long?, string, bool>(); var result = query.EExecuteList<long, long?, string, bool>();
var list = new List<WeightBill>();
var list = new List<WeightWithHouseDetail>();
foreach (var item in result) foreach (var item in result)
{ {
var bill = new WeightWithHouseDetail();
var entity = new WeightBill(); var entity = new WeightBill();
list.Add(entity);
bill.Bill = entity;
list.Add(bill);
entity.ID = item.Item1; entity.ID = item.Item1;
entity.B3ID = item.Item2; entity.B3ID = item.Item2;
entity.Supplier_Name = item.Item3; entity.Supplier_Name = item.Item3;
entity.AlreadyHouse = item.Item4; entity.AlreadyHouse = item.Item4;
} }
var details = GetWeillHouseDetail(list.Select(x =>x.Bill.ID));
foreach (var item in list)
{
var tags = details.Where(x => x.WeightBill_ID == item.Bill.ID);
if (tags.Any())
item.Detail = tags.ToArray();
}
return list; return list;
} }
static IEnumerable<WeightBill_HouseDetail> GetWeillHouseDetail(IEnumerable<long> billIDs)
{
var query = new DmoQuery(typeof(WeightBill_HouseDetail));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.InList(DQExpression.Field("WeightBill_ID"), billIDs.Select(x => DQExpression.Value(x)).ToArray())));
return query.EExecuteList().Cast<WeightBill_HouseDetail>();
}
[Rpc] [Rpc]
public static int InsertWeightBillHouseDetail(WeightBill bo) public static int InsertWeightBillHouseDetail(WeightBill bo)
{ {
@ -153,4 +189,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return Convert.ToInt32(result); return Convert.ToInt32(result);
} }
} }
[RpcObject]
public class WeightWithHouseDetail
{
public WeightBill Bill { get; set; }
public WeightBill_HouseDetail[] Detail { get; set; }
}
} }

Loading…
Cancel
Save