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] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E7=A7=B0=E9=87=8Drp?= =?UTF-8?q?c?= 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]; + } + } +}