From d353a52eb52fd237bbdc3ab5c924eff61f35a17d Mon Sep 17 00:00:00 2001 From: wugang <425674808@qq.com> Date: Thu, 8 Nov 2018 11:28:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E9=85=8D=E8=B4=A7=E7=9A=84?= =?UTF-8?q?=E6=9D=A1=E7=A0=81=E4=B8=8D=E8=83=BD=E4=BA=8C=E6=AC=A1=E9=85=8D?= =?UTF-8?q?=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Rpcs/SaleOutStoreRpc.cs | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/B3CowButcherManageToSale/Rpcs/SaleOutStoreRpc.cs b/B3CowButcherManageToSale/Rpcs/SaleOutStoreRpc.cs index 43846eb..b6d5b5e 100644 --- a/B3CowButcherManageToSale/Rpcs/SaleOutStoreRpc.cs +++ b/B3CowButcherManageToSale/Rpcs/SaleOutStoreRpc.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using BWP.B3CowButcherManage.BO; +using BWP.B3CowButcherManage.Rpcs; using BWP.B3Frameworks.Utils; using BWP.B3Sale.BO; using BWP.B3Sale.Utils; @@ -68,8 +69,7 @@ namespace BWP.B3CowButcherManageToSale.Rpcs var weightRecord = JsonConvert.DeserializeObject(json); var result = new List(); Tuple?, Money?> assignInfo; - var longListExt1 = new List(); - var longListExt2 = new List(); + var list = new List(); using (var session = Dmo.NewSession()) { var saleInfo = GetSaleOutInfo(session, detailID); @@ -80,13 +80,12 @@ namespace BWP.B3CowButcherManageToSale.Rpcs { var record = CreateWeightingInfo(detailID, saleInfo, billType, weightRecord.MainUnitNum, weightRecord.SecondNumber, weightRecord.WeightTime, weightRecord.Product_Batch, weightRecord.ID); session.Insert(record); - longListExt1.Add(record.ID); var barCodes = GetBarCodeInfo(weightRecord.BarCode); foreach (var code in barCodes) { var scan = CreateSanDetail(detailID, saleInfo, code.Weight, 1m, weightRecord.ID, record.ID, code.BarCode); session.Insert(scan); - longListExt2.Add(scan.ID); + list.Add(code.BarCode); } } else @@ -96,10 +95,9 @@ namespace BWP.B3CowButcherManageToSale.Rpcs { var wInfo = CreateWeightingInfo(detailID, saleInfo, billType, code.Weight, 1m, weightRecord.WeightTime, code.Product_Batch, weightRecord.ID); session.Insert(wInfo); - longListExt1.Add(wInfo.ID); var scan = CreateSanDetail(detailID, saleInfo, code.Weight, 1m, weightRecord.ID, wInfo.ID, code.BarCode); session.Insert(scan); - longListExt2.Add(scan.ID); + list.Add(code.BarCode); } } } @@ -107,16 +105,21 @@ namespace BWP.B3CowButcherManageToSale.Rpcs { var record = CreateWeightingInfo(detailID, saleInfo, billType, weightRecord.MainUnitNum, weightRecord.SecondNumber, weightRecord.WeightTime, weightRecord.Product_Batch, weightRecord.ID); session.Insert(record); - longListExt1.Add(record.ID); var scan = CreateSanDetail(detailID, saleInfo, weightRecord.MainUnitNum, weightRecord.SecondNumber.Value, weightRecord.ID, record.ID, weightRecord.BarCode); session.Insert(scan); - longListExt2.Add(scan.ID); + list.Add(weightRecord.BarCode); } - result.Add(new ExtObj { LongExt1 = weightRecord.ID, LongListExt1 = longListExt1, LongListExt2 = longListExt2 }); assignInfo = UpdateAssignNumber(session, saleInfo.Item1, detailID); + UpdateIsAssignGoods(session,true, saleInfo.Item1,list.ToArray()); session.Commit(); } - return JsonConvert.SerializeObject(new Tuple>(assignInfo.Item1.EToDecimal(), assignInfo.Item2.EToDecimal(), result)); + return JsonConvert.SerializeObject(new Tuple(assignInfo.Item1.EToDecimal(), assignInfo.Item2.EToDecimal())); + } + + + private static void UpdateIsAssignGoods(IDmoSession session, bool isAssignGoods,long? billID,params string[] barCodes) + { + BarCodeProductRpc.UpdateAssignGoodsInfo(session, isAssignGoods,billID, barCodes); } @@ -128,11 +131,12 @@ namespace BWP.B3CowButcherManageToSale.Rpcs var weightIDs = GetWeightingInforID(session, detailId, clientId); if(weightIDs.Count > 0) DeleteByID(session, weightIDs); - var scanIds = GetScanDetailID(session, detailId, clientId); - if (scanIds.Count > 0) - DeleteByID(session, scanIds); + var scans = GetScanDetailID(session, detailId, clientId); + if (scans.Count > 0) + DeleteByID(session, scans.Select(x=>x.Item1)); var billID = InnerBLUtil.GetDmoPropertyByID(session, typeof(SaleOutStore_Detail), "SaleOutStore_ID", detailId); UpdateAssignNumber(session, billID, detailId, false); + UpdateIsAssignGoods(session, false, null,scans.Select(x => x.Item2).ToArray()); session.Commit(); } return 1; @@ -148,12 +152,13 @@ namespace BWP.B3CowButcherManageToSale.Rpcs return query.EExecuteList(session); } - static List GetScanDetailID(IDmoSession session, long detailID, long clientId) + static List> GetScanDetailID(IDmoSession session, long detailID, long clientId) { var query = new DQueryDom(new JoinAlias(typeof(WeightingInfo_ScanDetail))); query.Columns.Add(DQSelectColumn.Field("ID")); + query.Columns.Add(DQSelectColumn.Field("BarCode")); query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("ClientID", clientId), DQCondition.EQ("Detail_ID", detailID))); - return query.EExecuteList(session); + return query.EExecuteList(session); } static void DeleteByID(IDmoSession session, IEnumerable ids)