Browse Source

有称重记录的撤销完毕,状态改为正配货,否则改为未配货

master
wugang 7 years ago
parent
commit
5783273046
1 changed files with 44 additions and 0 deletions
  1. +44
    -0
      B3CowButcherManageToSale/Rpcs/SaleOutStoreRpc.cs

+ 44
- 0
B3CowButcherManageToSale/Rpcs/SaleOutStoreRpc.cs View File

@ -5,8 +5,10 @@ using System.Text;
using BWP.B3CowButcherManage.BO;
using BWP.B3CowButcherManage.Rpcs;
using BWP.B3Frameworks.Utils;
using BWP.B3Sale.BL;
using BWP.B3Sale.BO;
using BWP.B3Sale.Utils;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.JsonRpc;
@ -178,6 +180,48 @@ namespace BWP.B3CowButcherManageToSale.Rpcs
return 1;
}
[Rpc]
public static int SetFinishAssignState(long id, bool finish)
{
using (var session = Dmo.NewSession())
{
var state = InnerBLUtil.GetDmoPropertyByID<NamedValue<>?>(session, typeof(SaleOutStore), "AssignState", id);
if (finish && state == .)
return 1;
if (!finish && state == .)
return 1;
var bl = BIFactory.Create<ISaleOutStoreBL>(session);
var dmo = bl.Load(id);
if (finish)
{
bl.FinishAssignGoods(dmo);
}
else
{
var query = new DQueryDom(new JoinAlias(typeof(WeightingInfor)));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("BillID", id), DQCondition.EQ("BillType", DmoTypeIDAttribute.GetID(typeof(SaleOutStore)))));
var wId = query.EExecuteScalar<long?>(session);
if (wId != null)
UpdateAssignStateByBillID(session,id);
bl.UnFinishAssignGoods(dmo);
}
session.Commit();
}
return 1;
}
private static void UpdateAssignStateByBillID(IDmoSession session, long billID)
{
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", .));
update2.Where.Conditions.Add(DQCondition.EQ("ID", billID));
session.ExecuteNonQuery(update2);
}
private static void UpdateAssignNumberByDetailID(IDmoSession session, long detailID,int packageNum)
{
var weightingInfo = GetWeightingInfor(session, detailID);


Loading…
Cancel
Save