From 7b09609df18c0db0b281467f42ec8994ae18ec33 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Wed, 18 Oct 2017 15:47:53 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/B3ClientService.csproj | 1 + .../BO/Bill/OrderDetail/HurryRecord.cs | 14 +- .../BO/Bill/OrderDetail/OrderDetail.cs | 7 +- .../BO/Bill/SecondOrder/SecondOrder.cs | 1 + .../OrderDetail/SelectHurryList.cs | 22 ++ .../Rpcs/BillRpc/OrderConfirmRpc.cs | 6 +- .../Rpcs/BillRpc/OrderDetailRpc.cs | 212 ++++++++++++------ 7 files changed, 189 insertions(+), 74 deletions(-) create mode 100644 B3ClientService/ClientSerializerBo/OrderDetail/SelectHurryList.cs diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj index 40bffa7..9855860 100644 --- a/B3ClientService/B3ClientService.csproj +++ b/B3ClientService/B3ClientService.csproj @@ -100,6 +100,7 @@ + diff --git a/B3ClientService/BO/Bill/OrderDetail/HurryRecord.cs b/B3ClientService/BO/Bill/OrderDetail/HurryRecord.cs index 4ab0efc..edccaae 100644 --- a/B3ClientService/BO/Bill/OrderDetail/HurryRecord.cs +++ b/B3ClientService/BO/Bill/OrderDetail/HurryRecord.cs @@ -10,12 +10,20 @@ namespace BWP.B3ClientService.BO [Serializable] public class HurryRecord : Base { - public long FromOrderDetail_ID { get; set; } + public long WeightBill_ID { get; set; } - [ReferenceTo(typeof(OrderDetail), "B3WeighBill_ID")] - [Join("FromOrderDetail_ID", "ID")] + [ReferenceTo(typeof(WeightBill), "B3ID")] + [Join("WeightBill_ID", "ID")] public long? B3WeighBill_ID { get; set; } + [ReferenceTo(typeof(WeightBill), "Supplier_Name")] + [Join("WeightBill_ID", "ID")] + public string Supplier_Name { get; set; } + + [ReferenceTo(typeof(WeightBill), "HouseNames")] + [Join("WeightBill_ID", "ID")] + public string LiveColonyHouse_Name { get; set; } + public long? ToOrderDetail_ID { get; set; } [ReferenceTo(typeof(OrderDetail), "Order")] diff --git a/B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs b/B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs index cc318e9..8f60964 100644 --- a/B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs +++ b/B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs @@ -30,18 +30,15 @@ namespace BWP.B3ClientService.BO public int PlanNumber { get; set; } - //public int? HotFadeNumber { get; set; } - - //public int? PeelingNumber { get; set; } - public string LiveColonyHouse_Name { get; set; } public bool IsHurryButcher { get; set; } public bool SecondarySplit { get; set; } + //0 = 未开始; 10 = 已开始; 20 = 已完毕; [DbColumn(DefaultValue = 0)] - public bool Confirmed { get; set; } + public int OrderState { get; set; } [NonDmoProperty] public int HurryNumber { get; set; } diff --git a/B3ClientService/BO/Bill/SecondOrder/SecondOrder.cs b/B3ClientService/BO/Bill/SecondOrder/SecondOrder.cs index 43ce1ed..7dbdf44 100644 --- a/B3ClientService/BO/Bill/SecondOrder/SecondOrder.cs +++ b/B3ClientService/BO/Bill/SecondOrder/SecondOrder.cs @@ -28,6 +28,7 @@ namespace BWP.B3ClientService.BO public int HotFadeNumber { get; set; } + //是否可以上传B3 public bool IsOk { get; set; } [DbColumn(DefaultValue = 1)] diff --git a/B3ClientService/ClientSerializerBo/OrderDetail/SelectHurryList.cs b/B3ClientService/ClientSerializerBo/OrderDetail/SelectHurryList.cs new file mode 100644 index 0000000..a612f5e --- /dev/null +++ b/B3ClientService/ClientSerializerBo/OrderDetail/SelectHurryList.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BWP.B3ClientService +{ + public class SelectHurryList + { + public long WeightBill_ID { get; set; } + + public long? B3WeighBill_ID { get; set; } + + public string Supplier_Name { get; set; } + + public string LiveColonyHouse_Name { get; set; } + + public int WeightNumber { get; set; } + + public int HurryNumber { get; set; } + } +} diff --git a/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs index dfb5bfe..0e35644 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs @@ -50,10 +50,12 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static int SetOrderConfirmed(long id) + public static int SetOrderState(long id,int state) { + if (!(state == 0 || state == 10 || state == 20)) + throw new Exception(string.Format("错误的状态输入 {0}", state)); var update = new DQUpdateDom(typeof(OrderDetail)); - update.Columns.Add(new DQUpdateColumn("Confirmed", true)); + update.Columns.Add(new DQUpdateColumn("OrderState", state)); update.Where.Conditions.Add(DQCondition.EQ("ID", id)); update.EExecute(); return 1; diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 94cda1c..074cb91 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -20,20 +20,23 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { static JavaScriptSerializer serializer = new JavaScriptSerializer(); + #region 排宰 [Rpc] public static string GetNeedOrderWeightBill(DateTime date, bool? showType) { var main = new JoinAlias(typeof(WeightBill)); + var detail = new JoinAlias(typeof(WeightBill_Detail)); var relate = new JoinAlias(typeof(WeightBillShowRelate)); var query = new DQueryDom(main); + query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.And(DQCondition.EQ(main, "ID", detail, "WeightBill_ID"), DQCondition.EQ(detail, "DeleteState", false))); query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.EQ(main, "ID", relate, "WeightBill_ID")); - var detail = WeightDetailTemp.Register(query, main); var already = OrderDetailTemp.Register(query, main); + var hurry = HurryOrderTemp.Register(query, main, true); query.Columns.Add(DQSelectColumn.Field("ID")); query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); query.Columns.Add(DQSelectColumn.Field("HouseNames")); query.Columns.Add(DQSelectColumn.Field("Number", detail)); - query.Columns.Add(DQSelectColumn.Field("Number", already)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Add(DQExpression.IfNull(DQExpression.Field(already, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(hurry, "Number"), DQExpression.Value(0))), "Already")); query.Columns.Add(DQSelectColumn.Field("WeighTime")); query.Columns.Add(DQSelectColumn.Field("B3ID")); query.Columns.Add(DQSelectColumn.Field("Show", relate)); @@ -70,7 +73,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return serializer.Serialize(result); } - class WeightDetailTemp + class OrderDetailTemp { public long WeightBill_ID { get; set; } @@ -78,35 +81,35 @@ namespace BWP.B3ClientService.Rpcs.BillRpc public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias) { - var query = new DQueryDom(new JoinAlias(typeof(WeightBill_Detail))); + var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); query.Columns.Add(DQSelectColumn.Field("WeightBill_ID")); - query.Columns.Add(DQSelectColumn.Sum("Number")); + query.Columns.Add(DQSelectColumn.Sum("PlanNumber")); query.GroupBy.Expressions.Add(DQExpression.Field("WeightBill_ID")); query.Where.Conditions.Add(DQCondition.EQ("DeleteState", false)); - rootQuery.RegisterQueryTable(typeof(WeightDetailTemp), new string[] { "WeightBill_ID", "Number" }, query); - - var alias = new JoinAlias(typeof(WeightDetailTemp)); + rootQuery.RegisterQueryTable(typeof(OrderDetailTemp), new string[] { "WeightBill_ID", "Number" }, query); + var alias = new JoinAlias(typeof(OrderDetailTemp)); rootQuery.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(rootAlias, "ID", alias, "WeightBill_ID")); return alias; } } - class OrderDetailTemp + class HurryOrderTemp { public long WeightBill_ID { get; set; } public int? Number { get; set; } - public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias) + public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias, bool unOrder, string joinField = "ID") { - var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); + var query = new DQueryDom(new JoinAlias(typeof(HurryRecord))); query.Columns.Add(DQSelectColumn.Field("WeightBill_ID")); - query.Columns.Add(DQSelectColumn.Sum("PlanNumber")); + query.Columns.Add(DQSelectColumn.Sum("HurryNumber")); query.GroupBy.Expressions.Add(DQExpression.Field("WeightBill_ID")); - query.Where.Conditions.Add(DQCondition.EQ("DeleteState", false)); - rootQuery.RegisterQueryTable(typeof(OrderDetailTemp), new string[] { "WeightBill_ID", "Number" }, query); - var alias = new JoinAlias(typeof(OrderDetailTemp)); - rootQuery.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(rootAlias, "ID", alias, "WeightBill_ID")); + if (unOrder) + query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("ToOrderDetail_ID"))); + rootQuery.RegisterQueryTable(typeof(HurryOrderTemp), new string[] { "WeightBill_ID", "Number" }, query); + var alias = new JoinAlias(typeof(HurryOrderTemp)); + rootQuery.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(rootAlias, joinField, alias, "WeightBill_ID")); return alias; } } @@ -117,7 +120,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc var totalNumber = GetWeightNumber(weightID); var alreadyNumber = GetAlreadyNumberWithoutBack(weightID, backId); - return totalNumber - alreadyNumber; + return totalNumber - alreadyNumber - HurryRecordUnOrderNumber(weightID); } static int GetWeightNumber(long wid) @@ -142,14 +145,25 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return 0; } + static int HurryRecordUnOrderNumber(long wid) + { + var query = new DQueryDom(new JoinAlias(typeof(HurryRecord))); + query.Columns.Add(DQSelectColumn.Sum("HurryNumber")); + query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("ToOrderDetail_ID"))); + var rst = query.EExecuteScalar(); + if (rst != null) + return Convert.ToInt32(rst); + return 0; + } + [Rpc] - public static string GetOrderDetail(DateTime date, bool onlyNormal) + public static string GetOrderDetail(DateTime date) { var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); query.Columns.Add(DQSelectColumn.Field("ID")); query.Columns.Add(DQSelectColumn.Field("WeightBill_ID")); query.Columns.Add(DQSelectColumn.Field("Order")); - query.Columns.Add(DQSelectColumn.Field("PlanNumber")); + query.Columns.Add(DQSelectColumn.Field("PlanNumber")); query.Columns.Add(DQSelectColumn.Field("LiveColonyHouse_Name")); query.Columns.Add(DQSelectColumn.Field("IsHurryButcher")); query.Columns.Add(DQSelectColumn.Field("B3WeighBill_ID")); @@ -157,12 +171,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false))); - if (onlyNormal) - { - var record = HurryRecordTemp.Register(query, query.From.RootSource.Alias); - query.Columns.Add(DQSelectColumn.Field("Number", record)); - query.Where.Conditions.Add(DQCondition.EQ("IsHurryButcher", false)); - } var list = new List(); using (var session = Dmo.NewSession()) { @@ -180,11 +188,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc entity.B3WeighBill_ID = (long?)reader[6]; entity.SecondarySplit = (bool)reader[7]; entity.Supplier_Name = (string)reader[8]; - if (onlyNormal) - { - entity.HurryNumber = Convert.ToInt32(reader[9] ?? 0); - entity.PlanNumber += entity.HurryNumber; - } list.Add(entity); } } @@ -192,26 +195,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return serializer.Serialize(list); } - class HurryRecordTemp - { - public long OrderDetail_ID { get; set; } - - public int? Number { get; set; } - - public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias) - { - var query = new DQueryDom(new JoinAlias(typeof(HurryRecord))); - query.Columns.Add(DQSelectColumn.Field("FromOrderDetail_ID")); - query.Columns.Add(DQSelectColumn.Sum("HurryNumber")); - query.GroupBy.Expressions.Add(DQExpression.Field("FromOrderDetail_ID")); - rootQuery.RegisterQueryTable(typeof(HurryRecordTemp), new string[] { "OrderDetail_ID", "Number" }, query); - - var alias = new JoinAlias(typeof(HurryRecordTemp)); - rootQuery.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(rootAlias, "ID", alias, "OrderDetail_ID")); - return alias; - } - } - [Rpc] public static int GetMaxOrder(DateTime date) { @@ -319,46 +302,59 @@ namespace BWP.B3ClientService.Rpcs.BillRpc session.ExecuteNonQuery(update); } + #endregion + + #region hurryButcher [Rpc] - public static string GetHurryRecords(long orderId) + public static string GetHurryRecords(long weightId) { var query = new DmoQuery(typeof(HurryRecord)); - query.Where.Conditions.Add(DQCondition.EQ("FromOrderDetail_ID", orderId)); + query.Where.Conditions.Add(DQCondition.EQ("WeightBill_ID", weightId)); return serializer.Serialize(query.EExecuteList().Cast().ToList()); } [Rpc] - public static int DeleteHurryRecord(long id) + public static long? DeleteHurryRecord(long id) { + long? orderID; using (var session = Dmo.NewSession()) { - var hurryNumber = InnerBLUtil.GetDmoPropertyByID(session, typeof(HurryRecord), "HurryNumber", id); + var entity = InnerBLUtil.GetSingleDmo(session, "ID", id, "HurryNumber", "WeightBill_ID"); + orderID = GetOrderID(entity.WeightBill_ID); var delete = new DQDeleteDom(typeof(HurryRecord)); delete.Where.Conditions.Add(DQCondition.EQ("ID", id)); session.ExecuteNonQuery(delete); - AddOrderNumber(session, id, hurryNumber); + if (orderID > 0) + AddOrderNumber(session, orderID.Value, entity.HurryNumber); session.Commit(); } - return 1; + return orderID; } [Rpc] - public static int InsertHurryRecord(string detail) + public static string InsertHurryRecord(string detail) { detail = detail.ESerializeDateTime(); var entity = serializer.Deserialize(detail); + long? orderID = null; using (var session = Dmo.NewSession()) { session.Insert(entity); - AddOrderNumber(session, entity.ID, -entity.HurryNumber); - - var query = new DQueryDom(new JoinAlias(typeof(HurryRecord))); - query.Columns.Add(DQSelectColumn.Sum("HurryNumber")); - query.Where.Conditions.Add(DQCondition.EQ("FromOrderDetail_ID", entity.FromOrderDetail_ID)); - var r= Convert.ToInt32(query.EExecuteScalar(session) ?? 0); + orderID = GetOrderID(entity.WeightBill_ID); + if (orderID > 0) + AddOrderNumber(session, orderID.Value, -entity.HurryNumber); session.Commit(); - return r; } + return string.Format("{0}|{1}", orderID, entity.ID); + } + + [Rpc] + public static int GetHurryRecordNumber(long weightId) + { + var query = new DQueryDom(new JoinAlias(typeof(HurryRecord))); + query.Columns.Add(DQSelectColumn.Sum("HurryNumber")); + query.Where.Conditions.Add(DQCondition.EQ("WeightBill_ID", weightId)); + return Convert.ToInt32(query.EExecuteScalar() ?? 0); } static void AddOrderNumber(IDmoSession session, long ID, int subNumber) @@ -369,5 +365,93 @@ namespace BWP.B3ClientService.Rpcs.BillRpc update.Columns.Add(new DQUpdateColumn("PlanNumber", DQExpression.Add(DQExpression.Field("PlanNumber"), DQExpression.Value(subNumber)))); session.ExecuteNonQuery(update); } + + static long? GetOrderID(long weightBillId) + { + var detail = new JoinAlias(typeof(WeightBill_Detail)); + var order = new JoinAlias(typeof(OrderDetail)); + var query = new DQueryDom(detail); + query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(detail, "WeightBill_ID", order, "WeightBill_ID")); + var hurry = HurryOrderTemp.Register(query, detail, false, "WeightBill_ID"); + query.Columns.Add(DQSelectColumn.Field("ID", order)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(order, "PlanNumber"), DQExpression.Value(0))), DQExpression.IfNull(DQExpression.Field(hurry, "Number"), DQExpression.Value(0))), "last")); + query.Columns.Add(DQSelectColumn.Field("PlanNumber", order)); + query.Columns.Add(DQSelectColumn.Field("Number", hurry)); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "DeleteState", false), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "IsHurryButcher", false))); + long? id = null; + using (var session = Dmo.NewSession()) + { + using (var reader = session.ExecuteReader(query)) + { + while (reader.Read()) + { + if (id.HasValue || Convert.ToInt32(reader[1]) != 0) + return -1; + id = (long)reader[0]; + } + } + } + return id; + } + + [Rpc] + public static string GetSelectHurryList() + { + var bill = new JoinAlias(typeof(WeightBill)); + var detail = new JoinAlias(typeof(WeightBill_Detail)); + var query = new DQueryDom(bill); + query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.And(DQCondition.EQ(bill, "ID", detail, "WeightBill_ID"), DQCondition.EQ(detail, "DeleteState", false))); + var hurry = HurryOrderTemp.Register(query, bill, false); + var start = StartOrderTemp.Register(query, bill); + query.Columns.Add(DQSelectColumn.Field("ID")); + query.Columns.Add(DQSelectColumn.Field("B3ID")); + query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); + query.Columns.Add(DQSelectColumn.Field("HouseNames")); + query.Columns.Add(DQSelectColumn.Field("Number", detail)); + query.Columns.Add(DQSelectColumn.Field("Number", hurry)); + + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.InEQ("HouseNames", ""), DQCondition.IsNull(DQExpression.Field(start, "WeightBill_ID")))); + + var list = new List(); + using (var session = Dmo.NewSession()) + { + using (var reader = session.ExecuteReader(query)) + { + while (reader.Read()) + { + var entity = new SelectHurryList(); + entity.WeightBill_ID = (long)reader[0]; + entity.B3WeighBill_ID = (long?)reader[1]; + entity.Supplier_Name = (string)reader[2]; + entity.LiveColonyHouse_Name = (string)reader[3]; + entity.WeightNumber = (int?)reader[4] ?? 0; + entity.HurryNumber = Convert.ToInt32(reader[5] ?? 0); + list.Add(entity); + } + } + } + + return serializer.Serialize(list); + } + + class StartOrderTemp + { + public long WeightBill_ID { get; set; } + + public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias) + { + var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); + query.Columns.Add(DQSelectColumn.Field("WeightBill_ID")); + query.GroupBy.Expressions.Add(DQExpression.Field("WeightBill_ID")); + query.Where.Conditions.Add(DQCondition.EQ("DeleteState", false)); + query.Having.Conditions.Add(DQCondition.GreaterThanOrEqual(DQExpression.Min(DQExpression.Field("OrderState")), DQExpression.Value(10))); + + rootQuery.RegisterQueryTable(typeof(StartOrderTemp), new string[] { "WeightBill_ID" }, query); + var alias = new JoinAlias(typeof(StartOrderTemp)); + rootQuery.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(rootAlias, "ID", alias, "WeightBill_ID")); + return alias; + } + } + #endregion } } From 530cfe0ab6519b6e703b0d00804e88eff4cb0575 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Wed, 18 Oct 2017 18:28:32 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 074cb91..c320c22 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -336,11 +336,10 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { detail = detail.ESerializeDateTime(); var entity = serializer.Deserialize(detail); - long? orderID = null; + long? orderID = GetOrderID(entity.WeightBill_ID); using (var session = Dmo.NewSession()) { session.Insert(entity); - orderID = GetOrderID(entity.WeightBill_ID); if (orderID > 0) AddOrderNumber(session, orderID.Value, -entity.HurryNumber); session.Commit(); @@ -371,13 +370,11 @@ namespace BWP.B3ClientService.Rpcs.BillRpc var detail = new JoinAlias(typeof(WeightBill_Detail)); var order = new JoinAlias(typeof(OrderDetail)); var query = new DQueryDom(detail); - query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(detail, "WeightBill_ID", order, "WeightBill_ID")); - var hurry = HurryOrderTemp.Register(query, detail, false, "WeightBill_ID"); + query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(order, "WeightBill_ID", weightBillId)); + var hurry = GetHurryRecordNumber(weightBillId); query.Columns.Add(DQSelectColumn.Field("ID", order)); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(order, "PlanNumber"), DQExpression.Value(0))), DQExpression.IfNull(DQExpression.Field(hurry, "Number"), DQExpression.Value(0))), "last")); - query.Columns.Add(DQSelectColumn.Field("PlanNumber", order)); - query.Columns.Add(DQSelectColumn.Field("Number", hurry)); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "DeleteState", false), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "IsHurryButcher", false))); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field(detail, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(order, "PlanNumber"), DQExpression.Value(0))), "last")); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "DeleteState", false), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "IsHurryButcher", false), DQCondition.EQ(detail, "WeightBill_ID", weightBillId))); long? id = null; using (var session = Dmo.NewSession()) { @@ -385,7 +382,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { while (reader.Read()) { - if (id.HasValue || Convert.ToInt32(reader[1]) != 0) + if (id.HasValue || Convert.ToInt32(reader[1]) - hurry != 0) return -1; id = (long)reader[0]; } @@ -394,6 +391,8 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return id; } + + [Rpc] public static string GetSelectHurryList() { From 17bbc3cce5bb84c29c59a83c2f3d337be82476e2 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Wed, 18 Oct 2017 21:11:29 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/B3ClientService.csproj | 2 - .../OrderDetail/ConfirmOrder.cs | 22 ------- .../Rpcs/BillRpc/OrderConfirmRpc.cs | 64 ------------------- .../Rpcs/BillRpc/OrderDetailRpc.cs | 16 +++++ 4 files changed, 16 insertions(+), 88 deletions(-) delete mode 100644 B3ClientService/ClientSerializerBo/OrderDetail/ConfirmOrder.cs delete mode 100644 B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj index 9855860..ad119e9 100644 --- a/B3ClientService/B3ClientService.csproj +++ b/B3ClientService/B3ClientService.csproj @@ -99,7 +99,6 @@ - @@ -121,7 +120,6 @@ - diff --git a/B3ClientService/ClientSerializerBo/OrderDetail/ConfirmOrder.cs b/B3ClientService/ClientSerializerBo/OrderDetail/ConfirmOrder.cs deleted file mode 100644 index 2d36dfb..0000000 --- a/B3ClientService/ClientSerializerBo/OrderDetail/ConfirmOrder.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace BWP.B3ClientService -{ - public class ConfirmOrder - { - public long ID { get; set; } - - public int Order { get; set; } - - public long? B3WeighBill_ID { get; set; } - - public string LiveColonyHouse_Name { get; set; } - - public int Number { get; set; } - - public bool Confirmed { get; set; } - } -} diff --git a/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs deleted file mode 100644 index 0e35644..0000000 --- a/B3ClientService/Rpcs/BillRpc/OrderConfirmRpc.cs +++ /dev/null @@ -1,64 +0,0 @@ -using BWP.B3ClientService.BO; -using Forks.EnterpriseServices.DomainObjects2; -using Forks.EnterpriseServices.DomainObjects2.DQuery; -using Forks.EnterpriseServices.JsonRpc; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Web.Script.Serialization; -using TSingSoft.WebPluginFramework; - -namespace BWP.B3ClientService.Rpcs.BillRpc -{ - [Rpc] - public static class OrderConfirmRpc - { - static JavaScriptSerializer serializer = new JavaScriptSerializer(); - - [Rpc] - public static string GetConfirmOrder(DateTime date) - { - var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); - query.Columns.Add(DQSelectColumn.Field("ID")); - query.Columns.Add(DQSelectColumn.Field("Order")); - query.Columns.Add(DQSelectColumn.Field("B3WeighBill_ID")); - query.Columns.Add(DQSelectColumn.Field("LiveColonyHouse_Name")); - query.Columns.Add(DQSelectColumn.Field("PlanNumber")); - query.Columns.Add(DQSelectColumn.Field("Confirmed")); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false))); - var list = new List(); - using (var session = Dmo.NewSession()) - { - using (var reader = session.ExecuteReader(query)) - { - while (reader.Read()) - { - var entity = new ConfirmOrder(); - entity.ID = (long)reader[0]; - entity.Order = (int)reader[1]; - entity.B3WeighBill_ID = (long?)reader[2]; - entity.LiveColonyHouse_Name = (string)reader[3]; - entity.Number = (int)reader[4]; - entity.Confirmed = (bool)reader[5]; - list.Add(entity); - } - } - } - - return serializer.Serialize(list); - } - - [Rpc] - public static int SetOrderState(long id,int state) - { - if (!(state == 0 || state == 10 || state == 20)) - throw new Exception(string.Format("错误的状态输入 {0}", state)); - var update = new DQUpdateDom(typeof(OrderDetail)); - update.Columns.Add(new DQUpdateColumn("OrderState", state)); - update.Where.Conditions.Add(DQCondition.EQ("ID", id)); - update.EExecute(); - return 1; - } - } -} diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index c320c22..9afca32 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -169,6 +169,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("B3WeighBill_ID")); query.Columns.Add(DQSelectColumn.Field("SecondarySplit")); query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); + query.Columns.Add(DQSelectColumn.Field("OrderState")); query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false))); var list = new List(); @@ -188,6 +189,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc entity.B3WeighBill_ID = (long?)reader[6]; entity.SecondarySplit = (bool)reader[7]; entity.Supplier_Name = (string)reader[8]; + entity.OrderState = (int)reader[9]; list.Add(entity); } } @@ -452,5 +454,19 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } } #endregion + + #region orderConfirm + [Rpc] + public static int SetOrderState(long id, int state) + { + if (!(state == 0 || state == 10 || state == 20)) + throw new Exception(string.Format("错误的状态输入 {0}", state)); + var update = new DQUpdateDom(typeof(OrderDetail)); + update.Columns.Add(new DQUpdateColumn("OrderState", state)); + update.Where.Conditions.Add(DQCondition.EQ("ID", id)); + update.EExecute(); + return 1; + } + #endregion } } From ba2be18b4e2c7d39ecad322f26b1b5edf069b161 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 10:07:24 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Rpcs/BillRpc/OrderDetailRpc.cs | 58 ++++++++++++++++--- .../Rpcs/BillRpc/SecondOrderRpc.cs | 1 + 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 9afca32..5b87410 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -190,6 +190,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc entity.SecondarySplit = (bool)reader[7]; entity.Supplier_Name = (string)reader[8]; entity.OrderState = (int)reader[9]; + entity.Date = date; list.Add(entity); } } @@ -222,7 +223,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc var entity = serializer.Deserialize(insert); using (var session = Dmo.NewSession()) { - //CheckCanInsert(session, entity.Order, entity.Date.Value); + CheckCanInsert(session, entity.Order, entity.Date.Value); entity.ModifyTime = DateTime.Now; UpdateOrder(session, entity.Order - 1, 1, entity.Date); session.Insert(entity); @@ -236,7 +237,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); query.Range = SelectRange.Top(1); query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c")); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false), DQCondition.EQ("SecondarySplit", true), DQCondition.GreaterThanOrEqual("Order", order))); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false), DQCondition.GreaterThanOrEqual("OrderState", 10), DQCondition.GreaterThanOrEqual("Order", order))); if (query.EExecuteScalar(session) != null) throw new Exception("不允许插入到已进行烫毛计数顺序之前"); } @@ -270,11 +271,12 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { using (var session = Dmo.NewSession()) { - var entity = InnerBLUtil.GetSingleDmo(session, "ID", id, "Order", "Date", "SecondarySplit"); - //if (entity.SecondarySplit) - // throw new Exception("已进行烫毛计数,不能修改"); + var entity = InnerBLUtil.GetSingleDmo(session, "ID", id, "Order", "Date", "OrderState"); + if (entity.OrderState != 0) + throw new Exception("已开始宰杀,不能修改"); UpdateOrder(session, entity.Order, -1, entity.Date); UpdateOrderDetailPartial(session, id, "DeleteState", true); + ClearHurryRecordToOrderID(session, id); session.Commit(); } return 1; @@ -308,7 +310,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc #region hurryButcher [Rpc] - public static string GetHurryRecords(long weightId) + public static string GetHurryRecordList(long weightId) { var query = new DmoQuery(typeof(HurryRecord)); query.Where.Conditions.Add(DQCondition.EQ("WeightBill_ID", weightId)); @@ -393,7 +395,16 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return id; } - + [Rpc] + public static string GetHurryRecord(long id) + { + var query = new DmoQuery(typeof(HurryRecord)); + query.Where.Conditions.Add(DQCondition.EQ("ID", id)); + var entity = query.EExecuteScalar(); + if (entity == null) + throw new Exception(string.Format("急宰单No.{0} 已被删除", id)); + return serializer.Serialize(entity); + } [Rpc] public static string GetSelectHurryList() @@ -467,6 +478,39 @@ namespace BWP.B3ClientService.Rpcs.BillRpc update.EExecute(); return 1; } + + [Rpc] + public static long InsertByHurryRecord(string insert,long hurryID) + { + insert = insert.ESerializeDateTime(); + var entity = serializer.Deserialize(insert); + using (var session = Dmo.NewSession()) + { + CheckCanInsert(session, entity.Order, entity.Date.Value); + entity.ModifyTime = DateTime.Now; + UpdateOrder(session, entity.Order - 1, 1, entity.Date); + session.Insert(entity); + SetHurryRecordToOrderID(session, entity.ID, hurryID); + session.Commit(); + } + return entity.ID; + } + + static void SetHurryRecordToOrderID(IDmoSession session, long orderID, long hurryID) + { + var update = new DQUpdateDom(typeof(HurryRecord)); + update.Where.Conditions.Add(DQCondition.EQ("ID",hurryID)); + update.Columns.Add(new DQUpdateColumn("ToOrderDetail_ID", orderID)); + session.ExecuteNonQuery(update); + } + + static void ClearHurryRecordToOrderID(IDmoSession session, long orderID) + { + var update = new DQUpdateDom(typeof(HurryRecord)); + update.Where.Conditions.Add(DQCondition.EQ("ToOrderDetail_ID", orderID)); + update.Columns.Add(new DQUpdateColumn("ToOrderDetail_ID", DQExpression.NULL)); + session.ExecuteNonQuery(update); + } #endregion } } diff --git a/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs b/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs index 8ad5b39..5f81562 100644 --- a/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs @@ -35,6 +35,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("HotFadeNumber", detail)); query.Columns.Add(DQSelectColumn.Field("IsOk", detail)); query.Columns.Add(DQSelectColumn.Field("Finish", detail)); + query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("OrderState", 10)); var list = new List(); using (var session = Dmo.NewSession()) { From c6e63bd380d45122c877825d75ee4a32a69b84e7 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 14:56:45 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bill/GradeAndWeight/GradeAndWeight.cs | 4 - .../Rpcs/BillRpc/GradeAndWeightRpc.cs | 95 +++++-------------- 2 files changed, 23 insertions(+), 76 deletions(-) diff --git a/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs b/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs index 77d79ce..9a5f507 100644 --- a/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs +++ b/B3ClientService/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs @@ -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; } diff --git a/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs b/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs index 453a9a7..d03b6da 100644 --- a/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs @@ -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(); 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()) { From 6098036886d2ca46e01594408e5c46b583f60ee5 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 21:11:04 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E5=8A=A0=20=E8=BF=87=E7=A3=85=E5=8D=95?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/B3ClientService.csproj | 1 + .../BO/Bill/WeightBill/WeightBillCheck.cs | 59 +++++++++++++++++++ B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs | 6 ++ .../Tasks/UpdateLoad/DoCheckBills.cs | 35 +++++++++++ .../Tasks/UpdateLoad/UploadTest.cs | 2 + 5 files changed, 103 insertions(+) create mode 100644 B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs create mode 100644 B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj index ad119e9..d0c90ed 100644 --- a/B3ClientService/B3ClientService.csproj +++ b/B3ClientService/B3ClientService.csproj @@ -88,6 +88,7 @@ + diff --git a/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs b/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs new file mode 100644 index 0000000..94d1ee3 --- /dev/null +++ b/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs @@ -0,0 +1,59 @@ +using Forks.EnterpriseServices.DomainObjects2; +using Forks.EnterpriseServices.DomainObjects2.DQuery; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using TSingSoft.WebPluginFramework; + +namespace BWP.B3ClientService.BO +{ + [Serializable] + [BOClass] + public class WeightBillCheck + { + public long B3ID { get; set; } + + /// + /// 单据创建人用户名 + /// + public string Creator { get; set; } + + /// + /// 同步状态 + /// + public bool Sync { get; set; } + + public DateTime ModifyTime { get; set; } + + public static void Insert(long id, string creator) + { + if (Exist(id)) + return; + var entity = new WeightBillCheck(); + entity.B3ID = id; + entity.Creator = creator; + entity.ModifyTime = DateTime.Now; + using (var session = Dmo.NewSession()) + { + session.Insert(entity); + session.Commit(); + } + } + + static bool Exist(long id) + { + var query = new DQueryDom(new JoinAlias(typeof(WeightBillCheck))); + query.Where.Conditions.Add(DQCondition.EQ("B3ID", id)); + return query.EExists(); + } + + public static void SetSynced(long id) + { + var update = new DQUpdateDom(typeof(WeightBillCheck)); + update.Columns.Add(new DQUpdateColumn("Sync", true)); + update.Where.Conditions.Add(DQCondition.EQ("B3ID", id)); + update.EExecute(); + } + } +} diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs index f3441ed..aab118e 100644 --- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs @@ -301,5 +301,11 @@ namespace BWP.B3ClientService.Rpcs.BillRpc entity.Details = s.Select(x => new PWeightBill_SanctionDetail { AbnormalItem_Name = x.Item1, Number = x.Item2, Money = x.Item3 }).ToList(); return serializer.Serialize(entity); } + + [Rpc] + public static void DoCheck(long b3ID, string creator) + { + WeightBillCheck.Insert(b3ID, creator); + } } } diff --git a/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs b/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs new file mode 100644 index 0000000..78857ba --- /dev/null +++ b/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs @@ -0,0 +1,35 @@ +using BWP.B3ClientService.BO; +using Forks.EnterpriseServices.DomainObjects2; +using Forks.EnterpriseServices.DomainObjects2.DQuery; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using TSingSoft.WebPluginFramework.BWPClients; +using TSingSoft.WebPluginFramework; + +namespace BWP.B3ClientService.Tasks.UpdateLoad +{ + public static class DoCheckBills + { + public static void Execute(string uri) + { + var weightBills = GetWeightBillCheck(); + foreach (var item in weightBills) + { + var bwpClient = new BWPClient(uri, item.Item2); + bwpClient.Call("/MainSystem/B3ButcherManage/Rpcs/WeighBillRpc/DoCheck", item.Item1); + WeightBillCheck.SetSynced(item.Item1); + } + } + + static List> GetWeightBillCheck() + { + var query = new DQueryDom(new JoinAlias(typeof(WeightBillCheck))); + query.Columns.Add(DQSelectColumn.Field("B3ID")); + query.Columns.Add(DQSelectColumn.Field("Creator")); + query.Where.Conditions.Add(DQCondition.EQ("Sync", false)); + return query.EExecuteList(); + } + } +} diff --git a/B3ClientService/Tasks/UpdateLoad/UploadTest.cs b/B3ClientService/Tasks/UpdateLoad/UploadTest.cs index 82e9010..0a455fd 100644 --- a/B3ClientService/Tasks/UpdateLoad/UploadTest.cs +++ b/B3ClientService/Tasks/UpdateLoad/UploadTest.cs @@ -25,6 +25,8 @@ namespace BWP.B3ClientService.Tasks UpLoadWeightBill.Execute(serverUri); UploadOrderDetail.Execute(serverUri); UploadSecondOrder.Execute(serverUri); + + DoCheckBills.Execute(serverUri); } public string Name From 473b39c611782bd44e40cd6e680f0d05790dda6b Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 21:11:25 +0800 Subject: [PATCH 07/18] . --- B3ClientService/B3ClientService.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj index d0c90ed..5d8e28d 100644 --- a/B3ClientService/B3ClientService.csproj +++ b/B3ClientService/B3ClientService.csproj @@ -127,6 +127,7 @@ + From 07f919a9a028fa307487d43a22a2a98c5d0fbf38 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 21:12:36 +0800 Subject: [PATCH 08/18] . --- B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs index aab118e..82b2d97 100644 --- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs @@ -303,9 +303,10 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static void DoCheck(long b3ID, string creator) + public static int DoCheck(long b3ID, string creator) { WeightBillCheck.Insert(b3ID, creator); + return 1; } } } From 8086e98f03d6ab4cafdf362473cc1155549807b2 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Thu, 19 Oct 2017 21:19:45 +0800 Subject: [PATCH 09/18] =?UTF-8?q?=E6=9C=AA=E4=B8=8A=E4=BC=A0=E5=88=B0B3=20?= =?UTF-8?q?=E4=B9=9F=E6=94=AF=E6=8C=81=E5=AE=A1=E6=A0=B8=EF=BC=8C=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8D=95=E6=8D=AE=EF=BC=8C=E7=9B=B8=E5=BA=94=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=AE=A1=E6=A0=B8=E8=AE=B0=E5=BD=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BO/Bill/WeightBill/WeightBillCheck.cs | 14 +++++++++----- B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs | 8 ++++++-- B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs b/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs index 94d1ee3..86c4909 100644 --- a/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs +++ b/B3ClientService/BO/Bill/WeightBill/WeightBillCheck.cs @@ -12,7 +12,11 @@ namespace BWP.B3ClientService.BO [BOClass] public class WeightBillCheck { - public long B3ID { get; set; } + public long ID { get; set; } + + [ReferenceTo(typeof(WeightBill), "B3ID")] + [Join("ID", "ID")] + public long? B3ID { get; set; } /// /// 单据创建人用户名 @@ -31,7 +35,7 @@ namespace BWP.B3ClientService.BO if (Exist(id)) return; var entity = new WeightBillCheck(); - entity.B3ID = id; + entity.ID = id; entity.Creator = creator; entity.ModifyTime = DateTime.Now; using (var session = Dmo.NewSession()) @@ -44,15 +48,15 @@ namespace BWP.B3ClientService.BO static bool Exist(long id) { var query = new DQueryDom(new JoinAlias(typeof(WeightBillCheck))); - query.Where.Conditions.Add(DQCondition.EQ("B3ID", id)); + query.Where.Conditions.Add(DQCondition.EQ("ID", id)); return query.EExists(); } - public static void SetSynced(long id) + public static void SetSynced(long b3ID) { var update = new DQUpdateDom(typeof(WeightBillCheck)); update.Columns.Add(new DQUpdateColumn("Sync", true)); - update.Where.Conditions.Add(DQCondition.EQ("B3ID", id)); + update.Where.Conditions.Add(DQCondition.EQ("B3ID", b3ID)); update.EExecute(); } } diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs index 82b2d97..ea9bcb6 100644 --- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs @@ -226,6 +226,10 @@ namespace BWP.B3ClientService.Rpcs.BillRpc update.Columns.Add(new DQUpdateColumn("Sync", false)); update.Where.Conditions.Add(DQCondition.EQ("ID", id)); session.ExecuteNonQuery(update); + + var delete = new DQDeleteDom(typeof(WeightBillCheck)); + delete.Where.Conditions.Add(DQCondition.EQ("ID", id)); + session.ExecuteNonQuery(delete); session.Commit(); } @@ -303,9 +307,9 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static int DoCheck(long b3ID, string creator) + public static int DoCheck(long id, string creator) { - WeightBillCheck.Insert(b3ID, creator); + WeightBillCheck.Insert(id, creator); return 1; } } diff --git a/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs b/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs index 78857ba..77080d1 100644 --- a/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs +++ b/B3ClientService/Tasks/UpdateLoad/DoCheckBills.cs @@ -28,7 +28,7 @@ namespace BWP.B3ClientService.Tasks.UpdateLoad var query = new DQueryDom(new JoinAlias(typeof(WeightBillCheck))); query.Columns.Add(DQSelectColumn.Field("B3ID")); query.Columns.Add(DQSelectColumn.Field("Creator")); - query.Where.Conditions.Add(DQCondition.EQ("Sync", false)); + query.Where.Conditions.Add(DQCondition.And(DQCondition.IsNotNull(DQExpression.Field("B3ID")), DQCondition.EQ("Sync", false))); return query.EExecuteList(); } } From e752c5a6c8e9d0d0e0a5f4d5d3535e8da34c299f Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Fri, 20 Oct 2017 20:22:26 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E5=8A=A0=E6=89=93=E5=8D=B0=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/BO/Bill/WeightBill/WeightBill.cs | 2 ++ .../ClientSerializerBo/WeightBill/WeightBillList.cs | 2 ++ B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs | 10 +++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/B3ClientService/BO/Bill/WeightBill/WeightBill.cs b/B3ClientService/BO/Bill/WeightBill/WeightBill.cs index a66159d..a50025c 100644 --- a/B3ClientService/BO/Bill/WeightBill/WeightBill.cs +++ b/B3ClientService/BO/Bill/WeightBill/WeightBill.cs @@ -15,6 +15,8 @@ namespace BWP.B3ClientService.BO public int RowVersion { get; set; } #region BasicFile + public int PrintNumber { get; set; } + public long? AccountingUnit_ID { get; set; } public long? Department_ID { get; set; } diff --git a/B3ClientService/ClientSerializerBo/WeightBill/WeightBillList.cs b/B3ClientService/ClientSerializerBo/WeightBill/WeightBillList.cs index d920f62..d52148b 100644 --- a/B3ClientService/ClientSerializerBo/WeightBill/WeightBillList.cs +++ b/B3ClientService/ClientSerializerBo/WeightBill/WeightBillList.cs @@ -30,5 +30,7 @@ namespace BWP.B3ClientService public string Remark { get; set; } public bool FinishWeight { get; set; } + + public int PrintNumber { get; set; } } } diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs index ea9bcb6..5936a4f 100644 --- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs @@ -40,6 +40,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("Number", detail)); query.Columns.Add(DQSelectColumn.Field("Weight", detail)); query.Columns.Add(DQSelectColumn.Create(DQExpression.LogicCase(DQCondition.And(DQCondition.IsNotNull(DQExpression.Field(detail, "PiWeight")), DQCondition.IsNotNull(DQExpression.Field(detail, "MaoWeight"))), DQExpression.Value(1), DQExpression.Value(0)), "FinishWeight")); + query.Columns.Add(DQSelectColumn.Field("PrintNumber")); query.Where.Conditions.Add(DQCondition.And(DQCondition.Between("WeighTime", date, date + new TimeSpan(23, 59, 29)), DQCondition.EQ("DeleteState", false))); if (carID.HasValue) query.Where.Conditions.Add(DQCondition.EQ("Car_ID", carID)); @@ -65,6 +66,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc entity.Number = (int?)reader[9]; entity.Weight = (decimal?)reader[10]; entity.FinishWeight = Convert.ToBoolean(reader[11]); + entity.PrintNumber = (int)reader[12]; list.Add(entity); } } @@ -145,13 +147,14 @@ namespace BWP.B3ClientService.Rpcs.BillRpc static void FillServerUpdateFields(IDmoSession session, WeightBill dmo) { - var min = InnerBLUtil.GetSingleDmo(session, "ID", dmo.ID, "B3ID", "DeleteState", "Inspector_ID", "Inspector_Name", "HouseNames", "SanctionMoney"); + var min = InnerBLUtil.GetSingleDmo(session, "ID", dmo.ID, "B3ID", "DeleteState", "Inspector_ID", "Inspector_Name", "HouseNames", "SanctionMoney", "PrintNumber"); dmo.B3ID = min.B3ID; dmo.DeleteState = min.DeleteState; dmo.Inspector_ID = min.Inspector_ID; dmo.Inspector_Name = min.Inspector_Name; dmo.HouseNames = min.HouseNames; dmo.SanctionMoney = min.SanctionMoney; + dmo.PrintNumber = min.PrintNumber; dmo.Sync = false; dmo.ModifyTime = DateTime.Now; } @@ -309,6 +312,11 @@ namespace BWP.B3ClientService.Rpcs.BillRpc [Rpc] public static int DoCheck(long id, string creator) { + var update = new DQUpdateDom(typeof(WeightBill)); + update.Where.Conditions.Add(DQCondition.EQ("ID", id)); + update.Columns.Add(new DQUpdateColumn("PrintNumber", DQExpression.Add(DQExpression.Field("PrintNumber"), DQExpression.Value(1)))); + update.EExecute(); + WeightBillCheck.Insert(id, creator); return 1; } From 73a4587b788019dcb1ac5bf3020fd87b2b33b23f Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Sat, 21 Oct 2017 22:34:23 +0800 Subject: [PATCH 11/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/BO/Bill/WeightBill/WeightBill.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/B3ClientService/BO/Bill/WeightBill/WeightBill.cs b/B3ClientService/BO/Bill/WeightBill/WeightBill.cs index a50025c..9c1fbfc 100644 --- a/B3ClientService/BO/Bill/WeightBill/WeightBill.cs +++ b/B3ClientService/BO/Bill/WeightBill/WeightBill.cs @@ -15,6 +15,7 @@ namespace BWP.B3ClientService.BO public int RowVersion { get; set; } #region BasicFile + [DbColumn(DefaultValue = 0)] public int PrintNumber { get; set; } public long? AccountingUnit_ID { get; set; } From 62a6ccc66f5dbb2134b00a0ef469e15f990b7c62 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Sun, 22 Oct 2017 22:08:49 +0800 Subject: [PATCH 12/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Rpcs/BillRpc/GradeAndWeightRpc.cs | 49 ++----------------- 1 file changed, 5 insertions(+), 44 deletions(-) diff --git a/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs b/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs index d03b6da..7da64c6 100644 --- a/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs @@ -65,50 +65,25 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static string GetDetailsList(DateTime date, int top) - { - var query = new DmoQuery(typeof(GradeAndWeight_Detail)); - query.Where.Conditions.Add(DQCondition.EQ("Date", date)); - query.OrderBy.Expressions.Add(DQOrderByExpression.Create("Index", true)); - query.Range = SelectRange.Top(top); - return serializer.Serialize(query.EExecuteList()); - } - - [Rpc] - public static long UpdateOrInsertDetail(string json, bool fillTechnics) + public static long UpdateOrInsertDetail(string json) { json = json.ESerializeDateTime(); var entity = serializer.Deserialize(json); using (var session = Dmo.NewSession()) { if (entity.ID == 0) + { session.Insert(entity); + if (entity.OrderDetail_ID.HasValue) + AddAlready(session, entity.OrderDetail_ID.Value, entity.Technics); + } else session.Update(entity); - if (fillTechnics && entity.OrderDetail_ID.HasValue) - AddAlready(session, entity.OrderDetail_ID.Value, entity.Technics); session.Commit(); return entity.ID; } } - [Rpc] - public static int UpdateLivestock(long id, long liveStockID, string liveStockName, short techincs, string technicsName) - { - using (var session = Dmo.NewSession()) - { - var update = new DQUpdateDom(typeof(GradeAndWeight_Detail)); - update.Where.Conditions.Add(DQCondition.EQ("ID", id)); - update.Columns.Add(new DQUpdateColumn("Livestock_ID", liveStockID)); - update.Columns.Add(new DQUpdateColumn("Livestock_Name", liveStockName)); - update.Columns.Add(new DQUpdateColumn("Technics", techincs)); - update.Columns.Add(new DQUpdateColumn("Technics_Name", technicsName)); - session.ExecuteNonQuery(update); - session.Commit(); - } - return 1; - } - [Rpc] public static int SetGradeFinish(long orderDetailID, short technics) { @@ -184,19 +159,5 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } return 1; } - - [Rpc] - public static int UpdateWeight(long id, decimal? weight) - { - using (var session = Dmo.NewSession()) - { - var update = new DQUpdateDom(typeof(GradeAndWeight_Detail)); - update.Where.Conditions.Add(DQCondition.EQ("ID", id)); - update.Columns.Add(new DQUpdateColumn("Weight", weight)); - session.ExecuteNonQuery(update); - session.Commit(); - } - return 1; - } } } From b1271542af9ff4aac0073c7482d2c6736530d887 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Tue, 24 Oct 2017 11:29:09 +0800 Subject: [PATCH 13/18] error --- B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 5b87410..1f5a00b 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -36,12 +36,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); query.Columns.Add(DQSelectColumn.Field("HouseNames")); query.Columns.Add(DQSelectColumn.Field("Number", detail)); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Add(DQExpression.IfNull(DQExpression.Field(already, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(hurry, "Number"), DQExpression.Value(0))), "Already")); + var alreadyNumber = DQExpression.Add(DQExpression.IfNull(DQExpression.Field(already, "Number"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field(hurry, "Number"), DQExpression.Value(0))); + query.Columns.Add(DQSelectColumn.Create(alreadyNumber, "Already")); query.Columns.Add(DQSelectColumn.Field("WeighTime")); 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.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)), alreadyNumber)); if (showType == true) query.Where.Conditions.Add(DQCondition.Or(DQCondition.IsNull(DQExpression.Field(relate, "Show")), DQCondition.EQ(relate, "Show", true))); else if (showType == false) From d2419d83aa740e63cc3cc730c4f7e2a57777a170 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Tue, 24 Oct 2017 16:44:04 +0800 Subject: [PATCH 14/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 1f5a00b..7c4185c 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -150,7 +150,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { var query = new DQueryDom(new JoinAlias(typeof(HurryRecord))); query.Columns.Add(DQSelectColumn.Sum("HurryNumber")); - query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("ToOrderDetail_ID"))); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("WeightBill_ID", wid), DQCondition.IsNull(DQExpression.Field("ToOrderDetail_ID")))); var rst = query.EExecuteScalar(); if (rst != null) return Convert.ToInt32(rst); @@ -210,11 +210,22 @@ namespace BWP.B3ClientService.Rpcs.BillRpc [Rpc] public static int GetCurrentOrder(long id) + { + return GetOrderDetailProperty(id, "Order"); + } + + [Rpc] + public static int GetCurrentOrderPlanNumber(long id) + { + return GetOrderDetailProperty(id, "PlanNumber"); + } + + static T GetOrderDetailProperty(long id,string property) { var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); - query.Columns.Add(DQSelectColumn.Field("Order")); + query.Columns.Add(DQSelectColumn.Field(property)); query.Where.Conditions.Add(DQCondition.EQ("ID", id)); - return query.EExecuteScalar(); + return (T)query.EExecuteScalar(); } [Rpc] From 757429e2a0770393c277c2498bcad7be75238330 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Mon, 30 Oct 2017 23:12:46 +0800 Subject: [PATCH 15/18] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Rpcs/BillRpc/OrderDetailRpc.cs | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 7c4185c..257ddd1 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -220,7 +220,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc return GetOrderDetailProperty(id, "PlanNumber"); } - static T GetOrderDetailProperty(long id,string property) + static T GetOrderDetailProperty(long id, string property) { var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); query.Columns.Add(DQSelectColumn.Field(property)); @@ -419,14 +419,14 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static string GetSelectHurryList() + public static string GetSelectHurryList(DateTime butcherDate) { var bill = new JoinAlias(typeof(WeightBill)); var detail = new JoinAlias(typeof(WeightBill_Detail)); var query = new DQueryDom(bill); query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.And(DQCondition.EQ(bill, "ID", detail, "WeightBill_ID"), DQCondition.EQ(detail, "DeleteState", false))); var hurry = HurryOrderTemp.Register(query, bill, false); - var start = StartOrderTemp.Register(query, bill); + var start = StartOrderTemp.Register(query, bill, butcherDate); query.Columns.Add(DQSelectColumn.Field("ID")); query.Columns.Add(DQSelectColumn.Field("B3ID")); query.Columns.Add(DQSelectColumn.Field("Supplier_Name")); @@ -434,7 +434,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("Number", detail)); query.Columns.Add(DQSelectColumn.Field("Number", hurry)); - query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.InEQ("HouseNames", ""), DQCondition.IsNull(DQExpression.Field(start, "WeightBill_ID")))); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.InEQ("HouseNames", ""))); var list = new List(); using (var session = Dmo.NewSession()) @@ -462,17 +462,19 @@ namespace BWP.B3ClientService.Rpcs.BillRpc { public long WeightBill_ID { get; set; } - public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias) + public static JoinAlias Register(DQueryDom rootQuery, JoinAlias rootAlias, DateTime date) { - var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); - query.Columns.Add(DQSelectColumn.Field("WeightBill_ID")); - query.GroupBy.Expressions.Add(DQExpression.Field("WeightBill_ID")); - query.Where.Conditions.Add(DQCondition.EQ("DeleteState", false)); - query.Having.Conditions.Add(DQCondition.GreaterThanOrEqual(DQExpression.Min(DQExpression.Field("OrderState")), DQExpression.Value(10))); + var detail = new JoinAlias(typeof(WeightBill_Detail)); + var order = new JoinAlias(typeof(OrderDetail)); + var query = new DQueryDom(detail); + query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.And(DQCondition.EQ(detail, "WeightBill_ID", order, "WeightBill_ID"), DQCondition.EQ(order, "DeleteState", false))); + query.Columns.Add(DQSelectColumn.Field("WeightBill_ID", detail)); + query.GroupBy.Expressions.Add(DQExpression.Field(detail, "WeightBill_ID")); + query.Where.Conditions.Add(DQCondition.And(DQCondition.Or(DQCondition.IsNull(DQExpression.Field(order, "ID")), DQCondition.EQ(order, "Date", date)), DQCondition.EQ(detail, "DeleteState", false))); rootQuery.RegisterQueryTable(typeof(StartOrderTemp), new string[] { "WeightBill_ID" }, query); var alias = new JoinAlias(typeof(StartOrderTemp)); - rootQuery.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(rootAlias, "ID", alias, "WeightBill_ID")); + rootQuery.From.AddJoin(JoinType.Inner, new DQDmoSource(alias), DQCondition.EQ(rootAlias, "ID", alias, "WeightBill_ID")); return alias; } } @@ -492,7 +494,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc } [Rpc] - public static long InsertByHurryRecord(string insert,long hurryID) + public static long InsertByHurryRecord(string insert, long hurryID) { insert = insert.ESerializeDateTime(); var entity = serializer.Deserialize(insert); @@ -511,7 +513,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc static void SetHurryRecordToOrderID(IDmoSession session, long orderID, long hurryID) { var update = new DQUpdateDom(typeof(HurryRecord)); - update.Where.Conditions.Add(DQCondition.EQ("ID",hurryID)); + update.Where.Conditions.Add(DQCondition.EQ("ID", hurryID)); update.Columns.Add(new DQUpdateColumn("ToOrderDetail_ID", orderID)); session.ExecuteNonQuery(update); } @@ -521,7 +523,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc var update = new DQUpdateDom(typeof(HurryRecord)); update.Where.Conditions.Add(DQCondition.EQ("ToOrderDetail_ID", orderID)); update.Columns.Add(new DQUpdateColumn("ToOrderDetail_ID", DQExpression.NULL)); - session.ExecuteNonQuery(update); + session.ExecuteNonQuery(update); } #endregion } From 509e88ed3070829a0cc112c92fcae718483085ab Mon Sep 17 00:00:00 2001 From: luanhui <1029149336@qq.com> Date: Tue, 31 Oct 2017 16:11:06 +0800 Subject: [PATCH 16/18] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E7=A7=B0?= =?UTF-8?q?=E9=87=8Drpc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/B3ClientService.csproj | 1 + .../CarcassStateWeight/CarcassStateWeight.cs | 5 + .../Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs | 129 ++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 B3ClientService/Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj index 5d8e28d..d573c43 100644 --- a/B3ClientService/B3ClientService.csproj +++ b/B3ClientService/B3ClientService.csproj @@ -124,6 +124,7 @@ + diff --git a/B3ClientService/BO/Bill/CarcassStateWeight/CarcassStateWeight.cs b/B3ClientService/BO/Bill/CarcassStateWeight/CarcassStateWeight.cs index 6c360de..0db5051 100644 --- a/B3ClientService/BO/Bill/CarcassStateWeight/CarcassStateWeight.cs +++ b/B3ClientService/BO/Bill/CarcassStateWeight/CarcassStateWeight.cs @@ -19,14 +19,19 @@ namespace BWP.B3ClientService.BO public string Code { get; set; } public decimal? State1Weight { get; set; } + public DateTime? State1WeightTime { get; set; } public decimal? State2Weight { get; set; } + public DateTime? State2WeightTime { get; set; } public decimal? State3Weight { get; set; } + public DateTime? State3WeightTime { get; set; } public decimal? State4Weight { get; set; } + public DateTime? State4WeightTime { get; set; } public decimal? State5Weight { get; set; } + public DateTime? State5WeightTime { get; set; } public NamedValue<胴体状态> CurrentState { get; set; } diff --git a/B3ClientService/Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs b/B3ClientService/Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs new file mode 100644 index 0000000..503959a --- /dev/null +++ b/B3ClientService/Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.Script.Serialization; +using BWP.B3ClientService.BO; +using BWP.B3ClientService.NamedValueTemplate; +using Forks.EnterpriseServices.DomainObjects2; +using Forks.EnterpriseServices.DomainObjects2.DQuery; +using Forks.EnterpriseServices.JsonRpc; + +namespace BWP.B3ClientService.Rpcs.BillRpc +{ + [Rpc] + public static class TrunksIousOutInStoreRpc + { + + [Rpc] + public static void UpdateCarcassStateWeight1(string code,decimal weight) + { + using (var session=Dmo.NewSession()) + { + var id = GetCarcassStateWeightId(session, code); + var updateDom=new DQUpdateDom(typeof(CarcassStateWeight)); + updateDom.Where.Conditions.Add(DQCondition.EQ("ID",id)); + updateDom.Columns.Add(new DQUpdateColumn("State1Weight",weight)); + updateDom.Columns.Add(new DQUpdateColumn("State1WeightTime", DateTime.Now)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentState", 胴体状态.胴体称重)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight)); + + session.ExecuteNonQuery(updateDom); + session.Commit(); + } + } + [Rpc] + public static void UpdateCarcassStateWeight2(string code, decimal weight) + { + using (var session = Dmo.NewSession()) + { + var id = GetCarcassStateWeightId(session, code); + var updateDom = new DQUpdateDom(typeof(CarcassStateWeight)); + updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id)); + updateDom.Columns.Add(new DQUpdateColumn("State2Weight", weight)); + updateDom.Columns.Add(new DQUpdateColumn("State2WeightTime", DateTime.Now)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentState", 胴体状态.入预冷库)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight)); + + session.ExecuteNonQuery(updateDom); + session.Commit(); + } + } + [Rpc] + public static void UpdateCarcassStateWeight3(string code, decimal weight) + { + using (var session = Dmo.NewSession()) + { + var id = GetCarcassStateWeightId(session, code); + var updateDom = new DQUpdateDom(typeof(CarcassStateWeight)); + updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id)); + updateDom.Columns.Add(new DQUpdateColumn("State3Weight", weight)); + updateDom.Columns.Add(new DQUpdateColumn("State3WeightTime", DateTime.Now)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentState", 胴体状态.分割领用)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight)); + + session.ExecuteNonQuery(updateDom); + session.Commit(); + } + } + [Rpc] + public static void UpdateCarcassStateWeight4(string code, decimal weight) + { + using (var session = Dmo.NewSession()) + { + var id = GetCarcassStateWeightId(session, code); + var updateDom = new DQUpdateDom(typeof(CarcassStateWeight)); + updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id)); + updateDom.Columns.Add(new DQUpdateColumn("State4Weight", weight)); + updateDom.Columns.Add(new DQUpdateColumn("State4WeightTime", DateTime.Now)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentState", 胴体状态.入销售库)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight)); + + session.ExecuteNonQuery(updateDom); + session.Commit(); + } + } + [Rpc] + public static void UpdateCarcassStateWeight5(string code, decimal weight) + { + using (var session = Dmo.NewSession()) + { + var id = GetCarcassStateWeightId(session, code); + var updateDom = new DQUpdateDom(typeof(CarcassStateWeight)); + updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id)); + updateDom.Columns.Add(new DQUpdateColumn("State5Weight", weight)); + updateDom.Columns.Add(new DQUpdateColumn("State5WeightTime", DateTime.Now)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentState", 胴体状态.销售出库)); + updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight)); + + session.ExecuteNonQuery(updateDom); + session.Commit(); + } + } + + static long? GetCarcassStateWeightId(IDmoSession session, string code) + { + var list=new List(); + var query = new DQueryDom(new JoinAlias(typeof(CarcassStateWeight))); + query.Where.Conditions.Add(DQCondition.EQ("Code", code)); + query.Columns.Add(DQSelectColumn.Field("ID")); + using (var reader=session.ExecuteReader(query)) + { + while (reader.Read()) + { + var id = (long) reader[0]; + list.Add(id); + } + } + if (list.Count == 0) + { + throw new Exception("没有找到条码:"+code+" 对应的记录"); + } + if(list.Count>1) + { + throw new Exception("找到条码:" + code + " 对应的多条记录"); + } + return list[0]; + } + } +} From 962393016c005a708ad901297d7b5590e72997df Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Tue, 31 Oct 2017 22:30:47 +0800 Subject: [PATCH 17/18] . --- B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs index 5936a4f..6cdd418 100644 --- a/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs @@ -257,8 +257,9 @@ namespace BWP.B3ClientService.Rpcs.BillRpc query.Columns.Add(DQSelectColumn.Field("ID")); query.Columns.Add(DQSelectColumn.Field("B3ID")); query.Columns.Add(DQSelectColumn.Field("SanctionMoney")); + query.Columns.Add(DQSelectColumn.Field("HouseNames")); query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.Between("WeighTime", date, date + new TimeSpan(23, 59, 29)))); - var result = query.EExecuteList().Select(x => new CTuple(x.Item1, x.Item2, x.Item3)); + var result = query.EExecuteList().Select(x => new CTuple(x.Item1, x.Item2, x.Item3, x.Item4)); return serializer.Serialize(result.ToList()); } From 07098f205367cb2adca571edcb4f1af498eacd3f Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Wed, 1 Nov 2017 22:58:27 +0800 Subject: [PATCH 18/18] =?UTF-8?q?=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=B7=B2?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=80=BB=E5=A4=B4=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs index 257ddd1..647fdbe 100644 --- a/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs +++ b/B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs @@ -525,6 +525,15 @@ namespace BWP.B3ClientService.Rpcs.BillRpc update.Columns.Add(new DQUpdateColumn("ToOrderDetail_ID", DQExpression.NULL)); session.ExecuteNonQuery(update); } + + [Rpc] + public static int GetFinishNumbers(DateTime date) + { + var query = new DQueryDom(new JoinAlias(typeof(OrderDetail))); + query.Columns.Add(DQSelectColumn.Sum("PlanNumber")); + query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.EQ("Date", date), DQCondition.EQ("OrderState", 20))); + return query.EExecuteScalar() ?? 0; + } #endregion } }