Browse Source

修改。

master
yibo 8 years ago
parent
commit
c6e63bd380
2 changed files with 23 additions and 76 deletions
  1. +0
    -4
      B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs
  2. +23
    -72
      B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs

+ 0
- 4
B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs View File

@ -11,10 +11,6 @@ namespace BWP.B3ClientService.RpcBO
public int Order { get; set; }
public short Technics { get; set; }
public string Technics_Name { get; set; }
public int Number { get; set; }
public int Already { get; set; }


+ 23
- 72
B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs View File

@ -19,27 +19,23 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
static JavaScriptSerializer serializer = new JavaScriptSerializer();
[Rpc]
public static string GetGradeAndWeightList(DateTime date, long? maxID)
public static string GetGradeAndWeightList(DateTime date, bool isTang)
{
var main = new JoinAlias("_S1", typeof(SecondOrder));
var order = new JoinAlias("_O1", typeof(OrderDetail));
var relate = new JoinAlias(typeof(GradeTemp));
var tech = isTang ? 0 : 1;
var main = new JoinAlias(typeof(SecondOrder));
var order = new JoinAlias(typeof(OrderDetail));
var relate = new JoinAlias(typeof(OrderGradeFinishRelate));
var query = new DQueryDom(main);
query.RegisterQueryTable(typeof(GradeTemp), new string[] { "OrdreID", "Tang", "TangAlready", "Mao", "MaoAlready" }, GradeTemp.Register(date, maxID));
query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(main, "OrderDetail_ID", order, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "OrderDetail_ID", relate, "OrdreID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.And(DQCondition.EQ(main, "OrderDetail_ID", relate, "OrderDetail_ID"), DQCondition.EQ(relate, "Technics", tech)));
query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Field("Order", order));//1
query.Columns.Add(DQSelectColumn.Field("Order", order));
query.Columns.Add(DQSelectColumn.Field("PlanNumber", order));
query.Columns.Add(DQSelectColumn.Field("HotFadeNumber"));//3
query.Columns.Add(DQSelectColumn.Field("TangAlready", relate));
query.Columns.Add(DQSelectColumn.Field("MaoAlready", relate));//5
query.Columns.Add(DQSelectColumn.Field("Tang", relate));
query.Columns.Add(DQSelectColumn.Field("Mao", relate));//7
query.Columns.Add(DQSelectColumn.Field("HotFadeNumber"));
query.Columns.Add(DQSelectColumn.Field("Already", relate));
query.Columns.Add(DQSelectColumn.Field("Finish", relate));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.Between(DQExpression.Field(order, "Date"), date, date + new TimeSpan(23, 59, 29))));
if (maxID.HasValue)
query.Where.Conditions.Add(DQCondition.GreaterThan("ID", maxID));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "Date", date)));
var list = new List<GradeAndWeight>();
using (var session = Dmo.NewSession())
{
@ -47,31 +43,20 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
{
while (reader.Read())
{
var tang = new GradeAndWeight();
tang.OrderDetail_ID = (long)reader[0];
tang.Order = (int)reader[1];
tang.Number = (int)reader[3];
tang.Finish = Convert.ToBoolean(reader[6]);
if (tang.Number != 0)
var entity = new GradeAndWeight();
entity.Number = (int)reader[3];
if (!isTang)
{
tang.Technics = 0;
tang.Technics_Name = "烫褪";
tang.Already = Convert.ToInt32(reader[4]);
list.Add(tang);
var total = (int)reader[2];
entity.Number = total - entity.Number;
}
var lastNumber = (int)reader[2] - tang.Number;
if (lastNumber == 0)
if (entity.Number == 0)
continue;
var mb = new GradeAndWeight();
list.Add(mb);
mb.OrderDetail_ID = tang.OrderDetail_ID;
mb.Order = tang.Order;
mb.Number = lastNumber;
mb.Technics = 1;
mb.Technics_Name = "毛剥";
mb.Already = Convert.ToInt32(reader[5]);
mb.Finish = Convert.ToBoolean(reader[7]);
entity.OrderDetail_ID = (long)reader[0];
entity.Order = (int)reader[1];
entity.Already = (int?)reader[4] ?? 0;
entity.Finish = (bool?)reader[5] ?? false;
list.Add(entity);
}
}
}
@ -79,40 +64,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return serializer.Serialize(list);
}
class GradeTemp
{
public long OrdreID { get; set; }
public bool Tang { get; set; }
public int TangAlready { get; set; }
public bool Mao { get; set; }
public int MaoAlready { get; set; }
public static DQueryDom Register(DateTime date, long? maxID)
{
var main = new JoinAlias("_S2", typeof(SecondOrder));
var order = new JoinAlias("_O2", typeof(OrderDetail));
var relate = new JoinAlias(typeof(OrderGradeFinishRelate));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(main, "OrderDetail_ID", order, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "OrderDetail_ID", relate, "OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 0), DQExpression.Field(relate, "Finish"), DQExpression.Value(0))), "Tang"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 0), DQExpression.Field(relate, "Already"), DQExpression.Value(0))), "TangAlready"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 1), DQExpression.Field(relate, "Finish"), DQExpression.Value(0))), "Mao"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.EQ(relate, "Technics", 1), DQExpression.Field(relate, "Already"), DQExpression.Value(0))), "MaoAlready"));
query.GroupBy.Expressions.Add(DQExpression.Field("OrderDetail_ID"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.Between(DQExpression.Field(order, "Date"), date, date + new TimeSpan(23, 59, 29))));
if (maxID.HasValue)
query.Where.Conditions.Add(DQCondition.GreaterThan("ID", maxID));
return query;
}
}
[Rpc]
public static string GetDetailsList(DateTime date, int top)
{
@ -142,7 +93,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
}
[Rpc]
public static int UpdateLivestock(long id, long liveStockID, string liveStockName,short techincs,string technicsName)
public static int UpdateLivestock(long id, long liveStockID, string liveStockName, short techincs, string technicsName)
{
using (var session = Dmo.NewSession())
{


Loading…
Cancel
Save