diff --git a/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs b/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs index 40b9eb1..4bc637e 100644 --- a/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs +++ b/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs @@ -57,6 +57,18 @@ namespace ButcherFactory.BO.LocalBL } } + public static void InsertPackage(CarcassSaleOut_Detail detail) + { + var gInfo = GetGoodsInfo(detail.Goods_ID.Value); + detail.Goods_Name = gInfo.Item1; + detail.Goods_Code = gInfo.Item2; + using (var session = DmoSession.New()) + { + session.Insert(detail); + session.Commit(); + } + } + public static bool BarCodeUsed(string barCode) { var query = new DQueryDom(new JoinAlias(typeof(CarcassSaleOut_Detail))); @@ -184,7 +196,7 @@ namespace ButcherFactory.BO.LocalBL public static void SubmitDetails(IEnumerable details, SaleOutStore_Detail detail) { - var arr = details.Select(x => new WeightRecord { Flag = 0, ID = x.ID, WeightTime = x.Time, MainUnitNum = x.Weight, SecondNumber = x.Number, ProductBatch_ID = x.ProductBatch_ID, BarCode = x.BarCode }); + var arr = details.Select(x => new WeightRecord { Flag = x.BarCode.StartsWith("P") ? -1 : 0, ID = x.ID, WeightTime = x.Time, MainUnitNum = x.Weight, SecondNumber = x.Number, ProductBatch_ID = x.ProductBatch_ID, BarCode = x.BarCode }); var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/SaveWeightRecord", JsonConvert.SerializeObject(arr), detail.ID); var back = JsonConvert.DeserializeObject>(json); using (var session = DmoSession.New()) @@ -222,12 +234,12 @@ namespace ButcherFactory.BO.LocalBL delete.EExecute(); } - public static void AddAndUpdate(CarcassSaleOut_Detail detail) + public static void AddAndUpdate(CarcassSaleOut_Detail detail, int flag) { using (var session = DmoSession.New()) { session.Insert(detail); - var arr = new List { new WeightRecord { Flag = 0, ID = detail.ID, WeightTime = detail.Time, MainUnitNum = detail.Weight, SecondNumber = detail.Number } }; + var arr = new List { new WeightRecord { Flag = flag, ID = detail.ID, WeightTime = detail.Time, MainUnitNum = detail.Weight, SecondNumber = detail.Number } }; var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/SaveWeightRecord", JsonConvert.SerializeObject(arr), detail.DetailID); var back = JsonConvert.DeserializeObject>(json); diff --git a/ButcherFactory.BO/LocalBL/SegmentStockUpBL.cs b/ButcherFactory.BO/LocalBL/SegmentStockUpBL.cs index d45aee1..8c86f08 100644 --- a/ButcherFactory.BO/LocalBL/SegmentStockUpBL.cs +++ b/ButcherFactory.BO/LocalBL/SegmentStockUpBL.cs @@ -59,6 +59,7 @@ namespace ButcherFactory.BO.LocalBL var backInfo = JsonConvert.DeserializeObject(bkJson); detail.SaleOutStoreID = backInfo.LongExt1.Value; detail.ID = backInfo.LongExt2.Value; + return backInfo.StringExt1; } class MinStockUpDetail diff --git a/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.Designer.cs b/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.Designer.cs index 46abd4c..7bdc38b 100644 --- a/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.Designer.cs +++ b/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.Designer.cs @@ -1065,7 +1065,6 @@ this.scanCodeBtn.Location = new System.Drawing.Point(14, 8); this.scanCodeBtn.Name = "scanCodeBtn"; this.scanCodeBtn.Radius = 10; - this.scanCodeBtn.Selected = true; this.scanCodeBtn.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(21)))), ((int)(((byte)(198)))), ((int)(((byte)(58))))); this.scanCodeBtn.Size = new System.Drawing.Size(84, 35); this.scanCodeBtn.StateHold = true; diff --git a/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.cs b/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.cs index a7f4d4f..1855c9d 100644 --- a/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.cs +++ b/ButcherFactory.Form/CarcassSaleOut2_/CarcassSaleOutForm.cs @@ -44,7 +44,7 @@ namespace ButcherFactory.CarcassSaleOut2_ internal long? storeID; long? batchID; bool already = false; - bool scanCode = false; + bool scanCode = true; public CarcassSaleOutForm() { @@ -157,7 +157,7 @@ namespace ButcherFactory.CarcassSaleOut2_ void uScanPanel1_AfterScan() { var barCode = uScanPanel1.TextBox.Text.Trim(); - if (!barCode.StartsWith("G")) + if (!barCode.StartsWith("G") && !barCode.StartsWith("P")) { if (weightRecord.Any(x => x.BarCode == barCode))//未提交队列里重复码 throw new Exception("扫码重复"); @@ -171,11 +171,34 @@ namespace ButcherFactory.CarcassSaleOut2_ { if (string.IsNullOrEmpty(barCode)) throw new Exception("条码错误"); - var first = weightRecord.LastOrDefault(x => !x.Filled); - if (first == null) - return; - //throw new Exception("请先过磅"); - CarcassSaleOutBL.FillDetail(first, barCode, batchID); + if (barCode.StartsWith("P")) + { + if (orderGridView.CurrentRow == null) + throw new Exception("请选择发货明细"); + var detail = new CarcassSaleOut_Detail(); + var bind = orderGridView.CurrentRow.DataBoundItem as SaleOutStore_Detail; + detail.Weight = detail.Number = bind.Number ?? 0; + detail.BarCode = barCode; + detail.BillID = bind.SaleOutStore_ID; + detail.DetailID = bind.ID; + detail.Filled = true; + detail.Goods_ID = long.Parse(barCode.TrimStart('P')); + CarcassSaleOutBL.InsertPackage(detail); + if (weightRecord.Any()) + detail.Idx = weightRecord.First().Idx + 1; + else + detail.Idx = 1; + weightRecord.Insert(0, detail); + sendGridView.FirstDisplayedScrollingRowIndex = 0; + } + else + { + var first = weightRecord.LastOrDefault(x => !x.Filled); + if (first == null) + return; + //throw new Exception("请先过磅"); + CarcassSaleOutBL.FillDetail(first, barCode, batchID); + } WinFormControl.SoundPalyUtil.PlaySound(WinFormControl.SoundType.Click); sendGridView.Refresh(); } diff --git a/ButcherFactory.Form/Dialogs/AddWeightRecord.cs b/ButcherFactory.Form/Dialogs/AddWeightRecord.cs index 761a20d..66ea807 100644 --- a/ButcherFactory.Form/Dialogs/AddWeightRecord.cs +++ b/ButcherFactory.Form/Dialogs/AddWeightRecord.cs @@ -48,8 +48,8 @@ namespace ButcherFactory.Dialogs record.Number = number; record.Weight = weight; record.Operator = AppContext.Worker.Name; - - CarcassSaleOutBL.AddAndUpdate(record); + var flag = mDetail.Goods_ID == 7318 ? -1 : 0; //套猪袋 + CarcassSaleOutBL.AddAndUpdate(record, flag); DialogResult = DialogResult.OK; } diff --git a/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.html b/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.html index d60a336..0afdeaf 100644 --- a/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.html +++ b/ButcherFactory.Form/SegmentProduction_/SegmentProductionPrint.html @@ -1,19 +1,29 @@ - + - - - - - - - + +
+
品名:$Goods_Name
+
规格:$Goods_Spec   生产日期:$Date
+
+
$Goods_Name
规格:$Goods_Spec
产品重量:$Weight
生产日期: $Date
+ + + + +
执行标准:GB/T9959.2-2008
储存条件:-18℃以下保存
保 质 期:18个月
生产厂家:青岛万福集团股份有限公司
生产厂址:青岛莱西市珠海路五号
\ No newline at end of file