|
|
@ -19,27 +19,23 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
static JavaScriptSerializer serializer = new JavaScriptSerializer(); |
|
|
static JavaScriptSerializer serializer = new JavaScriptSerializer(); |
|
|
|
|
|
|
|
|
[Rpc] |
|
|
[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); |
|
|
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(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("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("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>(); |
|
|
var list = new List<GradeAndWeight>(); |
|
|
using (var session = Dmo.NewSession()) |
|
|
using (var session = Dmo.NewSession()) |
|
|
{ |
|
|
{ |
|
|
@ -47,31 +43,20 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
{ |
|
|
{ |
|
|
while (reader.Read()) |
|
|
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; |
|
|
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); |
|
|
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] |
|
|
[Rpc] |
|
|
public static string GetDetailsList(DateTime date, int top) |
|
|
public static string GetDetailsList(DateTime date, int top) |
|
|
{ |
|
|
{ |
|
|
@ -142,7 +93,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
[Rpc] |
|
|
[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()) |
|
|
using (var session = Dmo.NewSession()) |
|
|
{ |
|
|
{ |
|
|
|