|
|
|
@ -5,6 +5,7 @@ using System.Text; |
|
|
|
using BWP.B3CowButcherManage.BO; |
|
|
|
using BWP.B3Frameworks.Utils; |
|
|
|
using BWP.B3Sale.BO; |
|
|
|
using BWP.B3Sale.Utils; |
|
|
|
using Forks.EnterpriseServices.DomainObjects2; |
|
|
|
using Forks.EnterpriseServices.DomainObjects2.DQuery; |
|
|
|
using Forks.EnterpriseServices.JsonRpc; |
|
|
|
@ -162,28 +163,30 @@ namespace BWP.B3CowButcherManageToSale.Rpcs |
|
|
|
session.ExecuteNonQuery(delete); |
|
|
|
} |
|
|
|
|
|
|
|
private static Tuple<Money<decimal>?, Money<decimal>?> UpdateAssignNumber(IDmoSession session, long billID, long detailID, bool isAdd = true) |
|
|
|
{ |
|
|
|
var weightingInfo = GetWeightingInfor(session, detailID); |
|
|
|
|
|
|
|
var update = new DQUpdateDom(typeof(SaleOutStore_Detail)); |
|
|
|
update.Columns.Add(new DQUpdateColumn("AssignUnitNum", DQExpression.Value(weightingInfo.Item1))); |
|
|
|
update.Columns.Add(new DQUpdateColumn("AssignMainUnitNum", DQExpression.Value(weightingInfo.Item1))); |
|
|
|
update.Columns.Add(new DQUpdateColumn("AssignSecondaryUnit1Num", DQExpression.Value(weightingInfo.Item2))); |
|
|
|
if (isAdd) |
|
|
|
update.Columns.Add(new DQUpdateColumn("PackageNum", DQExpression.Add(DQExpression.IfNull(DQExpression.Field("PackageNum"), DQExpression.Value(0)), DQExpression.Value(1)))); |
|
|
|
else |
|
|
|
update.Columns.Add(new DQUpdateColumn("PackageNum", DQExpression.Add(DQExpression.IfNull(DQExpression.Field("PackageNum"), DQExpression.Value(0)), DQExpression.Value(-1)))); |
|
|
|
update.Where.Conditions.Add(DQCondition.EQ("ID", detailID)); |
|
|
|
session.ExecuteNonQuery(update); |
|
|
|
|
|
|
|
var update2 = new DQUpdateDom(typeof(SaleOutStore)); |
|
|
|
update2.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1)))); |
|
|
|
update2.Where.Conditions.Add(DQCondition.EQ("ID", billID)); |
|
|
|
session.ExecuteNonQuery(update2); |
|
|
|
private static Tuple<Money<decimal>?, Money<decimal>?> UpdateAssignNumber(IDmoSession session, long billID, long detailID, bool isAdd = true) |
|
|
|
{ |
|
|
|
var weightingInfo = GetWeightingInfor(session, detailID); |
|
|
|
var assigning = true; |
|
|
|
if (weightingInfo.Item1 == null || weightingInfo.Item1 <= 0) |
|
|
|
assigning = false; |
|
|
|
var update = new DQUpdateDom(typeof(SaleOutStore_Detail)); |
|
|
|
update.Columns.Add(new DQUpdateColumn("AssignUnitNum", DQExpression.Value(weightingInfo.Item1))); |
|
|
|
update.Columns.Add(new DQUpdateColumn("AssignMainUnitNum", DQExpression.Value(weightingInfo.Item1))); |
|
|
|
update.Columns.Add(new DQUpdateColumn("AssignSecondaryUnit1Num", DQExpression.Value(weightingInfo.Item2))); |
|
|
|
if (isAdd) |
|
|
|
update.Columns.Add(new DQUpdateColumn("PackageNum", DQExpression.Add(DQExpression.IfNull(DQExpression.Field("PackageNum"), DQExpression.Value(0)), DQExpression.Value(1)))); |
|
|
|
else |
|
|
|
update.Columns.Add(new DQUpdateColumn("PackageNum", DQExpression.Add(DQExpression.IfNull(DQExpression.Field("PackageNum"), DQExpression.Value(0)), DQExpression.Value(-1)))); |
|
|
|
update.Where.Conditions.Add(DQCondition.EQ("ID", detailID)); |
|
|
|
session.ExecuteNonQuery(update); |
|
|
|
|
|
|
|
return weightingInfo; |
|
|
|
} |
|
|
|
var update2 = new DQUpdateDom(typeof(SaleOutStore)); |
|
|
|
update2.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1)))); |
|
|
|
update2.Columns.Add(new DQUpdateColumn("AssignState", assigning ? DQExpression.Value(配货状态.正在配货) : DQExpression.Value(配货状态.未配货))); |
|
|
|
update2.Where.Conditions.Add(DQCondition.EQ("ID", billID)); |
|
|
|
session.ExecuteNonQuery(update2); |
|
|
|
return weightingInfo; |
|
|
|
} |
|
|
|
|
|
|
|
static Tuple<Money<decimal>?, Money<decimal>?> GetWeightingInfor(IDmoSession session, long detailID) |
|
|
|
{ |
|
|
|
|