|
|
|
@ -24,7 +24,27 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
|
if (dmo.ID == 0) |
|
|
|
session.Insert(dmo); |
|
|
|
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.Commit(); |
|
|
|
} |
|
|
|
var result = new BackRpcObj(); |
|
|
|
@ -33,7 +53,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
|
foreach (var d in dmo.Details) |
|
|
|
details.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID }); |
|
|
|
result.DetailBack.Add(details); |
|
|
|
var farmerDetails = new BackRpcObj() { Flag = "Details" }; |
|
|
|
var farmerDetails = new BackRpcObj() { Flag = "FarmerDetails" }; |
|
|
|
foreach (var d in dmo.FarmerDetails) |
|
|
|
farmerDetails.DetailBack.Add(new BackRpcObj() { Flag = d.Index.ToString(), ID = d.ID }); |
|
|
|
result.DetailBack.Add(farmerDetails); |
|
|
|
@ -66,14 +86,14 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
|
return GetSyncBaseB3Ids<WeightBill>(ids); |
|
|
|
} |
|
|
|
|
|
|
|
[Rpc] |
|
|
|
[Rpc] |
|
|
|
public static List<Tuple<long, long>> SyncWeightDetailB3Ids(List<long> ids) |
|
|
|
{ |
|
|
|
return GetSyncBaseB3Ids<WeightBill_Detail>(ids); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[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); |
|
|
|
} |
|
|
|
@ -90,7 +110,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
|
|
|
|
|
|
|
|
|
[Rpc] |
|
|
|
public static List<WeightBill> GetNoHouseInfoWeightBills(DateTime date) |
|
|
|
public static List<WeightWithHouseDetail> GetNoHouseInfoWeightBills(DateTime date) |
|
|
|
{ |
|
|
|
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))))); |
|
|
|
@ -99,19 +119,35 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
|
query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); |
|
|
|
query.Columns.Add(DQSelectColumn.Field("AlreadyHouse")); |
|
|
|
var result = query.EExecuteList<long, long?, string, bool>(); |
|
|
|
var list = new List<WeightBill>(); |
|
|
|
var list = new List<WeightWithHouseDetail>(); |
|
|
|
foreach (var item in result) |
|
|
|
{ |
|
|
|
var bill = new WeightWithHouseDetail(); |
|
|
|
var entity = new WeightBill(); |
|
|
|
list.Add(entity); |
|
|
|
bill.Bill = entity; |
|
|
|
list.Add(bill); |
|
|
|
entity.ID = item.Item1; |
|
|
|
entity.B3ID = item.Item2; |
|
|
|
entity.Supplier_Name = item.Item3; |
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
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] |
|
|
|
public static int InsertWeightBillHouseDetail(WeightBill bo) |
|
|
|
{ |
|
|
|
@ -153,4 +189,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
|
return Convert.ToInt32(result); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[RpcObject] |
|
|
|
public class WeightWithHouseDetail |
|
|
|
{ |
|
|
|
public WeightBill Bill { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public WeightBill_HouseDetail[] Detail { get; set; } |
|
|
|
} |
|
|
|
} |