Browse Source

修改。

master
yibo 8 years ago
parent
commit
abefcea122
5 changed files with 73 additions and 19 deletions
  1. +1
    -0
      B3ClientService/B3ClientService.csproj
  2. +19
    -0
      B3ClientService/BO/Bill/WeightBill/WeightBillShowRelate.cs
  3. +2
    -0
      B3ClientService/RpcBO/Bill/OrderDetail/NeedOrderEntity.cs
  4. +23
    -1
      B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs
  5. +28
    -18
      B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs

+ 1
- 0
B3ClientService/B3ClientService.csproj View File

@ -82,6 +82,7 @@
<Compile Include="BO\Bill\SecondOrder\SecondOrder.cs" /> <Compile Include="BO\Bill\SecondOrder\SecondOrder.cs" />
<Compile Include="BO\Bill\SecondOrder\SecondOrder_Detail.cs" /> <Compile Include="BO\Bill\SecondOrder\SecondOrder_Detail.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBill.cs" /> <Compile Include="BO\Bill\WeightBill\WeightBill.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBillShowRelate.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBill_Detail.cs" /> <Compile Include="BO\Bill\WeightBill\WeightBill_Detail.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBill_FarmerDetail.cs" /> <Compile Include="BO\Bill\WeightBill\WeightBill_FarmerDetail.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBill_HouseDetail.cs" /> <Compile Include="BO\Bill\WeightBill\WeightBill_HouseDetail.cs" />


+ 19
- 0
B3ClientService/BO/Bill/WeightBill/WeightBillShowRelate.cs View File

@ -0,0 +1,19 @@
using Forks.EnterpriseServices.DomainObjects2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSingSoft.WebPluginFramework;
namespace BWP.B3ClientService.BO
{
[Serializable]
[BOClass]
[KeyField("WeightBill_ID", KeyGenType.assigned)]
public class WeightBillShowRelate
{
public long WeightBill_ID { get; set; }
public bool Show { get; set; }
}
}

+ 2
- 0
B3ClientService/RpcBO/Bill/OrderDetail/NeedOrderEntity.cs View File

@ -12,6 +12,8 @@ namespace BWP.B3ClientService.RpcBO
public long WeightBill_ID { get; set; } public long WeightBill_ID { get; set; }
public bool Show { get; set; }
public string Supplier_Name { get; set; } public string Supplier_Name { get; set; }
public string HouseNames { get; set; } public string HouseNames { get; set; }


+ 23
- 1
B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs View File

@ -20,10 +20,12 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
static JavaScriptSerializer serializer = new JavaScriptSerializer(); static JavaScriptSerializer serializer = new JavaScriptSerializer();
[Rpc] [Rpc]
public static string GetNeedOrderWeightBill(DateTime date)
public static string GetNeedOrderWeightBill(DateTime date, bool? showType)
{ {
var main = new JoinAlias(typeof(WeightBill)); var main = new JoinAlias(typeof(WeightBill));
var relate = new JoinAlias(typeof(WeightBillShowRelate));
var query = new DQueryDom(main); var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "ID", relate, "WeightBill_ID"));
var detail = WeightDetailTemp.Register(query, main); var detail = WeightDetailTemp.Register(query, main);
var already = OrderDetailTemp.Register(query, main); var already = OrderDetailTemp.Register(query, main);
query.Columns.Add(DQSelectColumn.Field("ID")); query.Columns.Add(DQSelectColumn.Field("ID"));
@ -33,8 +35,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
query.Columns.Add(DQSelectColumn.Field("Number", already)); query.Columns.Add(DQSelectColumn.Field("Number", already));
query.Columns.Add(DQSelectColumn.Field("WeighTime")); query.Columns.Add(DQSelectColumn.Field("WeighTime"));
query.Columns.Add(DQSelectColumn.Field("B3ID")); query.Columns.Add(DQSelectColumn.Field("B3ID"));
query.Columns.Add(DQSelectColumn.Field("Show", relate));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date.Date, date.Date + new TimeSpan(23, 59, 29)), DQCondition.InEQ("HouseNames", ""))); query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date.Date, date.Date + new TimeSpan(23, 59, 29)), DQCondition.InEQ("HouseNames", "")));
query.Where.Conditions.Add(DQCondition.InEQ(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(already, "Number"), DQExpression.Value(0)))); query.Where.Conditions.Add(DQCondition.InEQ(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(already, "Number"), DQExpression.Value(0))));
if (showType == true)
query.Where.Conditions.Add(DQCondition.Or(DQCondition.IsNull(DQExpression.Field(relate, "Show")), DQCondition.EQ(relate, "Show", true)));
else if (showType == false)
query.Where.Conditions.Add(DQCondition.EQ(relate, "Show", false));
var result = new List<NeedOrderEntity>(); var result = new List<NeedOrderEntity>();
using (var session = Dmo.NewSession()) using (var session = Dmo.NewSession())
{ {
@ -54,6 +61,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
item.AlreadyNumber = Convert.ToInt32(v); item.AlreadyNumber = Convert.ToInt32(v);
item.WeighTime = (DateTime)reader[5]; item.WeighTime = (DateTime)reader[5];
item.B3ID = (long?)reader[6]; item.B3ID = (long?)reader[6];
item.Show = ((bool?)reader[7] ?? true);
result.Add(item); result.Add(item);
} }
} }
@ -239,5 +247,19 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
} }
return 1; return 1;
} }
[Rpc]
public static int ChangeShowType(long id, bool show)
{
var entity = new WeightBillShowRelate();
entity.WeightBill_ID = id;
entity.Show = show;
using (var session = Dmo.NewSession())
{
session.AddInsertOrUpdate(entity);
session.Commit();
}
return 1;
}
} }
} }

+ 28
- 18
B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs View File

@ -25,6 +25,8 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
{ {
recordDetail = recordDetail.ESerializeDateTime(); recordDetail = recordDetail.ESerializeDateTime();
var records = serializer.Deserialize<List<WeightDetail>>(recordDetail); var records = serializer.Deserialize<List<WeightDetail>>(recordDetail);
var weightDetails = dmo.Details.ToList();
dmo.Details = new WeightBill_DetailCollection();
using (var session = Dmo.NewSession()) using (var session = Dmo.NewSession())
{ {
@ -39,33 +41,17 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
else else
session.Update(item); session.Update(item);
} }
foreach (var item in dmo.Details)
{
if (item.ID == 0)
session.Insert(item);
else
session.Update(item);
foreach (var r in records)
{
if (r.Delete)
session.Delete(r);
else
session.Insert(r);
}
}
dmo.FarmerDetails = new WeightBill_FarmerDetailCollection(); dmo.FarmerDetails = new WeightBill_FarmerDetailCollection();
dmo.Details = new WeightBill_DetailCollection();
FillServerUpdateFields(session, dmo); FillServerUpdateFields(session, dmo);
session.Update(dmo); session.Update(dmo);
} }
InsertWeightDetails(dmo.ID, weightDetails, records, session);
session.Commit(); session.Commit();
} }
var result = new BackRpcObj(); var result = new BackRpcObj();
result.ID = dmo.ID; result.ID = dmo.ID;
var details = new BackRpcObj() { Flag = "Details" }; var details = new BackRpcObj() { Flag = "Details" };
foreach (var d in dmo.Details)
foreach (var d in weightDetails)
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 = "FarmerDetails" }; var farmerDetails = new BackRpcObj() { Flag = "FarmerDetails" };
@ -75,6 +61,30 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return result; return result;
} }
static void InsertWeightDetails(long id, List<WeightBill_Detail> details, List<WeightDetail> records, IDmoSession session)
{
foreach (var item in details)
{
if (item.ID == 0)
{
item.WeightBill_ID = id;
session.Insert(item);
}
else
session.Update(item);
foreach (var r in records)
{
if (r.Delete)
session.Delete(r);
else
{
r.WeightBill_Detail_ID = item.ID;
session.Insert(r);
}
}
}
}
static void FillServerUpdateFields(IDmoSession session, WeightBill dmo) static void FillServerUpdateFields(IDmoSession session, WeightBill dmo)
{ {
var min = InnerBLUtil.GetSingleDmo<WeightBill>(session, "ID", dmo.ID, "B3ID", "DeleteState", "AlreadyHouse", "Inspector_ID", "Inspector_Name", "HouseNames"); var min = InnerBLUtil.GetSingleDmo<WeightBill>(session, "ID", dmo.ID, "B3ID", "DeleteState", "AlreadyHouse", "Inspector_ID", "Inspector_Name", "HouseNames");


Loading…
Cancel
Save