From 4fe507b377717bb3a16de05c5efc65bb35889764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E9=BE=99=20=E6=9B=B9?= <1805857645@QQ.com> Date: Thu, 10 Jul 2025 14:14:37 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=E6=8E=92=E6=9F=A5=E6=97=A0=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E8=AE=A2=E5=8D=95=E7=9A=84=E7=89=A9=E6=96=99=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E6=8A=A5=E9=94=99=EF=BC=8C=E5=B0=86esBaseBarcodeInfo?= =?UTF-8?q?=E7=9A=84PurchaseOrderId=E5=B1=9E=E6=80=A7=E6=94=B9=E4=B8=BAlon?= =?UTF-8?q?g=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/MesBaseBarcodeInfo.cs | 6 +- .../Models/MesBaseMaterialInfo.cs | 13 +++ src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs | 100 +++++++++++------- src/Khd.Core.Wpf/appsettings.json | 4 +- 4 files changed, 78 insertions(+), 45 deletions(-) diff --git a/src/Khd.Core.Domain/Models/MesBaseBarcodeInfo.cs b/src/Khd.Core.Domain/Models/MesBaseBarcodeInfo.cs index 2be8bd4..31d38b8 100644 --- a/src/Khd.Core.Domain/Models/MesBaseBarcodeInfo.cs +++ b/src/Khd.Core.Domain/Models/MesBaseBarcodeInfo.cs @@ -20,7 +20,7 @@ namespace Khd.Core.Domain.Models [Column("complete_flag")] public string completeFlag { get; set; } [Column("purchase_order_id")] - public long PurchaseOrderId { get; set; } + public long? PurchaseOrderId { get; set; } [Key] [Column("barcode_id")] public long barcodeId { get; set; } @@ -107,7 +107,7 @@ namespace Khd.Core.Domain.Models /// 采购订单号;适合原材料入库时 /// [Column("po_no")] - public string poNo { get; set; } + public string? poNo { get; set; } /// /// 生产日期;打印时根据领料单选择输入 @@ -215,7 +215,7 @@ namespace Khd.Core.Domain.Models /// 收料通知单号 /// [Column("receive_bill_id")] - public long receiveBillId { get; set; } + public long? receiveBillId { get; set; } } } diff --git a/src/Khd.Core.Domain/Models/MesBaseMaterialInfo.cs b/src/Khd.Core.Domain/Models/MesBaseMaterialInfo.cs index 960e92b..0418660 100644 --- a/src/Khd.Core.Domain/Models/MesBaseMaterialInfo.cs +++ b/src/Khd.Core.Domain/Models/MesBaseMaterialInfo.cs @@ -10,30 +10,43 @@ namespace Khd.Core.Domain.Models [Key] [Column("material_id")] public long? MaterialId { get; set; } + [Column("erp_id")] public long? ErpId { get; set; } + [Column("material_code")] public string MaterialCode { get; set; } + [Column("old_material_code")] public string OldMaterialCode { get; set; } + [Column("material_name")] public string MaterialName { get; set; } + [Column("material_categories")] public string MaterialCategories { get; set; } + [Column("material_subclass")] public string MaterialSubclass { get; set; } + [Column("material_type_id")] public int? MaterialTypeId { get; set; } + [Column("batch_flag")] public string BatchFlag { get; set; } + [Column("batch_amount")] public decimal? BatchAmount { get; set; } + [Column("material_unit_id")] public long? MaterialUnitId { get; set; } + [Column("material_unit")] public string MaterialUnit { get; set; } + [Column("material_matkl")] public string MaterialMatkl { get; set; } + [Column("material_spec")] public string MaterialSpec { get; set; } [Column("net_weight")] diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs b/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs index 71ad3c4..affc347 100644 --- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs +++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs @@ -2264,11 +2264,15 @@ namespace Khd.Core.Wpf.Form decimal amount = decimal.Parse(txtInScan.Text); decimal orderAmount = decimal.Parse(orderNumText.Text); decimal stockAmount = decimal.Parse(stockNumText.Text); - if (amount + stockAmount > orderAmount)//输入数量与库存数之和不能大于收料通知单数量 + if (!orderNumText.Text.Equals("无收料通知单")) { - HandyControl.Controls.MessageBox.Error("入库数量不能超过收料通知单数量"); - return; + if (amount + stockAmount > orderAmount)//输入数量与此收料通知单已入库存数之和不能大于收料通知单数量 + { + HandyControl.Controls.MessageBox.Error("入库数量不能超过收料通知单数量"); + return; + } } + // 计算入库后当前总数量,仅用来提示使用 decimal? totalMessage = 0; if (amount <= 0) @@ -2327,15 +2331,15 @@ namespace Khd.Core.Wpf.Form wmsRawStock.totalAmount += amount; dbContext.WmsRawStock.Update(wmsRawStock); - var mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == txtInBarCode.Text); + //var mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == txtInBarCode.Text); WmsRawInstock wmsRawInstock = new WmsRawInstock() { taskCode = Global.SnowId.NextId().ToString(), - materialBarCode = mesBaseBarcodeInfo.barcodeInfo, - materialBatchCode = mesBaseBarcodeInfo.batchCode, + materialBarCode = material.barcodeInfo, + materialBatchCode = material.batchCode, applyBy = "WPF", applyDate = System.DateTime.Now, - purchaseOrderId = mesBaseBarcodeInfo.PurchaseOrderId, + purchaseOrderId = material.PurchaseOrderId, beginTime = System.DateTime.Now, endTime = DateTime.Now, locationCode = container.locationCode, @@ -2345,10 +2349,10 @@ namespace Khd.Core.Wpf.Form materialId = material.materialId, operationType = "1", palletInfoCode = container.containerCode, - poNo = mesBaseBarcodeInfo.poNo, + poNo = material.poNo, warehouseId = 512, tips = this.txtInStoreRemark.Text, - receiveBillId = material.receiveBillId + receiveBillId = (long)material.receiveBillId }; dbContext.Add(wmsRawInstock); @@ -2403,7 +2407,8 @@ namespace Khd.Core.Wpf.Form palletInfoCode = container.containerCode, poNo = mesBaseBarcodeInfo.poNo, warehouseId = 512, - tips = this.txtInStoreRemark.Text + tips = this.txtInStoreRemark.Text, + receiveBillId = (long)material.receiveBillId }; dbContext.Add(wmsRawInstock); dbContext.SaveChanges(); @@ -2697,17 +2702,21 @@ namespace Khd.Core.Wpf.Form if (purchaseReceiveBill != null) { // 假设 TextBlock 的名称为 orderAmountTextBlock - orderNumText.Text = purchaseReceiveBill.Act_land_amount.ToString(); + orderNumText.Text = ((int)purchaseReceiveBill.Act_land_amount).ToString(); } else { orderNumText.Text = "无收料通知单"; } - //查找现有库存 - var rawStock = dbContext.WmsRawStock.FirstOrDefault(x => x.materialId == material.materialId); - if (rawStock != null) + //查找入库记录中对应收料通知单已入库存 + var rawInstock = dbContext.WmsRawInstock.FirstOrDefault(x => x.receiveBillId == material.receiveBillId); + if (rawInstock != null) { - stockNumText.Text = rawStock.totalAmount.ToString(); + stockNumText.Text = ((int)rawInstock.instockAmount).ToString(); + } + else + { + stockNumText.Text = "0"; } //显示单位信息 @@ -2903,34 +2912,43 @@ namespace Khd.Core.Wpf.Form } else { - var mesBaseMaterialInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == wmsRawStock.instockBatch); - if (mesBaseMaterialInfo == null) + try { - scanOutMsg.Text = "未查询到该条码绑定的物料信息!"; - txtOutBarCode.Text = string.Empty; - txtOutScan.Text = string.Empty; - txtOutBarCode.Focus(); - } - else - { - var materialInfo = dbContext.MesBaseMaterialInfo.FirstOrDefault(t => t.MaterialId == wmsRawStock.materialId); - if (materialInfo != null) + Console.WriteLine(wmsRawStock.instockBatch); + var mesBaseMaterialInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == wmsRawStock.instockBatch); + if (mesBaseMaterialInfo == null) { - outMaterialNameTxt.Text = materialInfo.MaterialName; - outMaterialSpecTxt.Text = materialInfo.MaterialSpec; + scanOutMsg.Text = "未查询到该条码绑定的物料信息!"; + txtOutBarCode.Text = string.Empty; + txtOutScan.Text = string.Empty; + txtOutBarCode.Focus(); + } + else + { + var materialInfo = dbContext.MesBaseMaterialInfo.FirstOrDefault(t => t.MaterialId == wmsRawStock.materialId); + if (materialInfo != null) + { + outMaterialNameTxt.Text = materialInfo.MaterialName; + outMaterialSpecTxt.Text = materialInfo.MaterialSpec; + } + txtTotalAmount.Text = string.Format("{0:0.00}", wmsRawStock.totalAmount - wmsRawStock.frozenAmount); + txtOutScan.Focus(); + //txtOutScan.Text = string.Format("{0:0}", (mesBaseMaterialInfo.batchFlag == "1" ? (wmsRawStock.totalAmount - wmsRawStock.frozenAmount) : 1)) ; + //if (mesBaseMaterialInfo.batchFlag == "1") + //{ + // txtOutScan.IsReadOnly = false; + //} + //else + //{ + // txtOutScan.IsReadOnly = true; + //} } - txtTotalAmount.Text = string.Format("{0:0.00}", wmsRawStock.totalAmount - wmsRawStock.frozenAmount); - txtOutScan.Focus(); - //txtOutScan.Text = string.Format("{0:0}", (mesBaseMaterialInfo.batchFlag == "1" ? (wmsRawStock.totalAmount - wmsRawStock.frozenAmount) : 1)) ; - //if (mesBaseMaterialInfo.batchFlag == "1") - //{ - // txtOutScan.IsReadOnly = false; - //} - //else - //{ - // txtOutScan.IsReadOnly = true; - //} } + catch (Exception ex) + { + LogManager.Error(ex); + } + } } } @@ -2944,8 +2962,10 @@ namespace Khd.Core.Wpf.Form } } } - catch + catch(Exception ex) { + scanOutMsg.Text = "出库条码更新刷新信息异常:" + ex; + LogManager.Error(ex); } } diff --git a/src/Khd.Core.Wpf/appsettings.json b/src/Khd.Core.Wpf/appsettings.json index 1306b30..85e6d5c 100644 --- a/src/Khd.Core.Wpf/appsettings.json +++ b/src/Khd.Core.Wpf/appsettings.json @@ -3,10 +3,10 @@ //mysql 本地 //"DefaultConnection": "server=106.12.13.113;port=3306;database=khd_jyhb;uid=root;pwd=root;charset='utf8';persistsecurityinfo=True;SslMode=none;Allow User Variables=True" //khd服务器正式 - "DefaultConnection": "server=172.16.12.100;port=3306;database=hwjy-cloud;uid=root;pwd=JyhbRk@123456;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" + //"DefaultConnection": "server=172.16.12.100;port=3306;database=hwjy-cloud;uid=root;pwd=JyhbRk@123456;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" // "DefaultConnection": "server=175.27.215.92;port=3306;database=hwjy-cloud;uid=kehaida;pwd=khd2024;charset='utf8';persistsecurityinfo=True;SslMode=none;Allow User Variables=True" //测试库 - //"DefaultConnection": "server=1.13.177.47;port=3306;database=hwjy-cloud;uid=root;pwd=Haiwei123456;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" + "DefaultConnection": "server=1.13.177.47;port=3306;database=hwjy-cloud;uid=root;pwd=Haiwei123456;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" }, "PlcConfigs": [ {