diff --git a/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs b/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs index eba259d..de8eb36 100644 --- a/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs @@ -11,6 +11,9 @@ namespace DOAN.Model.BZFM.Dto public string WarehouseName { get; set; } public string LocationCode { get; set; } + public string SupplierCode { get; set; } + + public string SupplierName { get; set; } public string BatchNo { get; set; } } @@ -27,9 +30,9 @@ namespace DOAN.Model.BZFM.Dto public string MaterialName { get; set; } - [Required(ErrorMessage = "仓库编码不能为空")] public string WarehouseCode { get; set; } + public string WarehouseName { get; set; } [Required(ErrorMessage = "库位编码不能为空")] @@ -37,6 +40,10 @@ namespace DOAN.Model.BZFM.Dto public string LocationName { get; set; } + public string SupplierCode { get; set; } + + public string SupplierName { get; set; } + public string BatchNo { get; set; } public decimal CurrentQty { get; set; } diff --git a/DOAN.Model/MES/Material/Dto/MmMaterialDto.cs b/DOAN.Model/MES/Material/Dto/MmMaterialDto.cs index 2948f61..1fc34ab 100644 --- a/DOAN.Model/MES/Material/Dto/MmMaterialDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmMaterialDto.cs @@ -74,6 +74,9 @@ namespace DOAN.Model.BZFM.Dto public string MaterialName { get; set; } public string Specification { get; set; } public string CategoryCode { get; set; } + public string SupplierCode { get; set; } + public string SupplierName { get; set; } + public string Type { get; set; } } // diff --git a/DOAN.Model/MES/Material/MmInventory.cs b/DOAN.Model/MES/Material/MmInventory.cs index 9cf7699..40fea1e 100644 --- a/DOAN.Model/MES/Material/MmInventory.cs +++ b/DOAN.Model/MES/Material/MmInventory.cs @@ -49,6 +49,18 @@ namespace DOAN.Model.BZFM [SugarColumn(ColumnName = "location_name")] public string LocationName { get; set; } + /// + /// 供应商编码 + /// + [SugarColumn(ColumnName = "supplier_code")] + public string SupplierCode { get; set; } + + /// + /// 供应商名称 + /// + [SugarColumn(ColumnName = "supplier_name")] + public string SupplierName { get; set; } + /// /// 批次号 /// diff --git a/DOAN.Service/MES/Material/MmInventoryService.cs b/DOAN.Service/MES/Material/MmInventoryService.cs index 3435ddf..a57434a 100644 --- a/DOAN.Service/MES/Material/MmInventoryService.cs +++ b/DOAN.Service/MES/Material/MmInventoryService.cs @@ -87,6 +87,14 @@ namespace DOAN.Service.BZFM !string.IsNullOrEmpty(parm.LocationCode), m => m.LocationCode.Contains(parm.LocationCode) ) + .AndIF( + !string.IsNullOrEmpty(parm.SupplierCode), + m => m.SupplierCode.Contains(parm.SupplierCode) + ) + .AndIF( + !string.IsNullOrEmpty(parm.SupplierName), + m => m.SupplierName.Contains(parm.SupplierName) + ) .AndIF(!string.IsNullOrEmpty(parm.BatchNo), m => m.BatchNo.Contains(parm.BatchNo)); return predicate; @@ -105,6 +113,9 @@ namespace DOAN.Service.BZFM MaterialName = it.MaterialName, CategoryCode = it.CategoryCode, Specification = it.Specification, + SupplierCode = it.SupplierCode, + SupplierName = it.SupplierName, + Type = it.Type, }) .ToList(); } @@ -170,6 +181,10 @@ namespace DOAN.Service.BZFM var mmMaterial = Context .Queryable() .Where(it => it.MaterialCode == parm.MaterialCode) + .WhereIF( + !string.IsNullOrEmpty(parm.SupplierCode), + it => it.SupplierCode == parm.SupplierCode + ) .First(); if (mmMaterial == null) return "物料不存在!"; @@ -185,13 +200,14 @@ namespace DOAN.Service.BZFM // 启用事务 Context.Ado.BeginTran(); - // 获取现有库存(同物料、批次、库位) + // 获取现有库存(同物料、批次、库位、供应商) var mmInventory = Context .Queryable() .Where(it => it.MaterialCode == parm.MaterialCode) .Where(it => it.BatchNo == parm.BatchNo) .Where(it => it.WarehouseCode == parm.WarehouseCode) .Where(it => it.LocationCode == parm.LocationCode) + .Where(it => it.SupplierCode == parm.SupplierCode) .First(); // 若不存在则新增;存在则更新 @@ -201,10 +217,13 @@ namespace DOAN.Service.BZFM { MaterialCode = mmMaterial.MaterialCode, MaterialName = mmMaterial.MaterialName, + SupplierCode = mmMaterial.SupplierCode, + SupplierName = mmMaterial.SupplierName, LocationCode = mmLocation.LocationCode, LocationName = mmLocation.LocationName, WarehouseCode = mmLocation.WarehouseCode, WarehouseName = mmLocation.WarehouseName, + BatchNo = parm.BatchNo, CurrentQty = delta, Unit = parm.Unit, @@ -232,14 +251,14 @@ namespace DOAN.Service.BZFM Operator = parm.Operator, MaterialCode = mmMaterial.MaterialCode, MaterialName = mmMaterial.MaterialName, + SupplierCode = mmMaterial.SupplierCode, + SupplierName = mmMaterial.SupplierName, LocationCode = mmLocation.LocationCode, LocationName = mmLocation.LocationName, WarehouseCode = mmLocation.WarehouseCode, WarehouseName = mmLocation.WarehouseName, Quantity = parm.Quantity, Unit = parm.Unit, - SupplierCode = parm.SupplierCode, - SupplierName = parm.SupplierName, ProductionDate = parm.ProductionDate, ExpiryDate = parm.ExpiryDate, CreatedTime = nowDate,