diff --git a/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmInventoryController.cs b/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmInventoryController.cs index 629f8f7..56e1668 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmInventoryController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/Material/productionMaterial/MmInventoryController.cs @@ -61,7 +61,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// [HttpPost] [ActionPermissionFilter(Permission = "mminventory:add")] - [Log(Title = "库存表", BusinessType = BusinessType.INSERT)] + [Log(Title = "添加库存表", BusinessType = BusinessType.INSERT)] public IActionResult AddMmInventory([FromBody] MmInventoryDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); @@ -77,7 +77,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// [HttpPut] [ActionPermissionFilter(Permission = "mminventory:edit")] - [Log(Title = "库存表", BusinessType = BusinessType.UPDATE)] + [Log(Title = "更新库存", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateMmInventory([FromBody] MmInventoryDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); @@ -92,7 +92,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "mminventory:delete")] - [Log(Title = "库存表", BusinessType = BusinessType.DELETE)] + [Log(Title = "删除库存", BusinessType = BusinessType.DELETE)] public IActionResult DeleteMmInventory([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); @@ -250,7 +250,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM /// /// [HttpPost("GetInOrOutRecord")] - public IActionResult GetInOrOutRecord(MmInventoryRecordDto parm) + public IActionResult GetInOrOutRecord(MmInventoryRecordQueryDto parm) { var response = _MmInventoryService.GetInOrOutRecord(parm); diff --git a/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs b/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs index 4bd548e..0480014 100644 --- a/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmInventoryDto.cs @@ -109,7 +109,7 @@ namespace DOAN.Model.BZFM.Dto /// /// 库存清单查询进出库记录对象 /// - public class MmInventoryRecordDto : PagerInfo + public class MmInventoryRecordQueryDto : PagerInfo { public string MaterialCode { get; set; } @@ -118,5 +118,99 @@ namespace DOAN.Model.BZFM.Dto public string SupplierCode { get; set; } public string BatchNo { get; set; } + + public int SearchType { get; set; } + + public DateTime? StartTime { get; set; } + public DateTime? EndTime { get; set; } + } + public class MmInventoryRecordDto : PagerInfo + { + [ExcelColumn(Name = "id")] + [SugarColumn(IsIdentity = true, IsPrimaryKey = true)] + public int Id { get; set; } + + [ExcelColumn(Name = "入库单号")] + [SugarColumn(ColumnName = "inbound_no")] + public string InboundNo { get; set; } + + [ExcelColumn(Name = "出库单号")] + [SugarColumn(ColumnName = "outbound_no")] + public string OutboundNo { get; set; } + + [ExcelColumn(Name = "物料编码")] + [SugarColumn(ColumnName = "material_code")] + public string MaterialCode { get; set; } + + [ExcelColumn(Name = "物料名称")] + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "批次号")] + [SugarColumn(ColumnName = "batch_no")] + public string BatchNo { get; set; } + + [ExcelColumn(Name = "仓库编码")] + [SugarColumn(ColumnName = "warehouse_code")] + public string WarehouseCode { get; set; } + + [ExcelColumn(Name = "仓库名称")] + [SugarColumn(ColumnName = "warehouse_name")] + public string WarehouseName { get; set; } + + [ExcelColumn(Name = "库位编码")] + [SugarColumn(ColumnName = "location_code")] + public string LocationCode { get; set; } + + [ExcelColumn(Name = "库位名称")] + [SugarColumn(ColumnName = "location_name")] + public string LocationName { get; set; } + + [ExcelColumn(Name = "供应商编码")] + [SugarColumn(ColumnName = "supplier_Code")] + public string SupplierCode { get; set; } + + [ExcelColumn(Name = "供应商名称")] + [SugarColumn(ColumnName = "supplier_Name")] + public string SupplierName { get; set; } + + [ExcelColumn(Name = "数量")] + [SugarColumn(ColumnName = "quantity")] + public decimal Quantity { get; set; } + + [ExcelColumn(Name = "操作类型")] + [SugarColumn(ColumnName = "transaction_Type")] + public string TransactionType { get; set; } + + [ExcelColumn(Name = "操作员")] + [SugarColumn(ColumnName = "operator")] + public string Operator { get; set; } + + [ExcelColumn(Name = "创建时间")] + [SugarColumn(ColumnName = "created_time")] + public DateTime? CreatedTime { get; set; } + + + /// + /// 炉号 + /// + [ExcelColumn(Name = "炉号")] + [SugarColumn(ColumnName = "stove_code")] + public string StoveCode { get; set; } + + /// + /// 关联订单号 + /// + [ExcelColumn(Name = "关联订单号")] + [SugarColumn(ColumnName = "order_no")] + public string OrderNo { get; set; } + + /// + /// 工单号(一旦确定,不可更改) + /// + [ExcelColumn(Name = "工单号")] + [SugarColumn(ColumnName = "workorder")] + public string Workorder { get; set; } + } } \ No newline at end of file diff --git a/DOAN.Service/MES/Material/IService/IMmInventoryService.cs b/DOAN.Service/MES/Material/IService/IMmInventoryService.cs index 527254c..b578b38 100644 --- a/DOAN.Service/MES/Material/IService/IMmInventoryService.cs +++ b/DOAN.Service/MES/Material/IService/IMmInventoryService.cs @@ -35,7 +35,7 @@ namespace DOAN.Service.BZFM.IBZFMService /// /// 获取出/入库记录 /// - PagedInfo GetInOrOutRecord(MmInventoryRecordDto parm); + PagedInfo GetInOrOutRecord(MmInventoryRecordQueryDto parm); /// /// 创建入库单 成功返回ok ReceiptType = 1蓝单 ReceiptType = 2 红单(逆向) diff --git a/DOAN.Service/MES/Material/MmInventoryService.cs b/DOAN.Service/MES/Material/MmInventoryService.cs index 0ea718d..1168f83 100644 --- a/DOAN.Service/MES/Material/MmInventoryService.cs +++ b/DOAN.Service/MES/Material/MmInventoryService.cs @@ -1,9 +1,11 @@ +using DOAN.Model; using DOAN.Model.BZFM; using DOAN.Model.BZFM.Dto; using DOAN.Model.Mobile.Dto; using DOAN.Repository; using DOAN.Service.BZFM.IBZFMService; using Infrastructure.Attribute; +using Infrastructure.Converter; using Infrastructure.Extensions; using Microsoft.AspNetCore.Http; using Microsoft.IdentityModel.Tokens; @@ -370,7 +372,7 @@ namespace DOAN.Service.BZFM LocationName = mmLocation.LocationName, WarehouseCode = mmLocation.WarehouseCode, WarehouseName = mmLocation.WarehouseName, - + //TODO 待调整(可能涉及记录汇总) Quantity = -delta, Unit = parm.Unit, @@ -674,15 +676,95 @@ namespace DOAN.Service.BZFM /// /// /// - public PagedInfo GetInOrOutRecord() + public PagedInfo GetInOrOutRecord(MmInventoryRecordQueryDto parm) { - var predicate = QueryExp(); + PagedInfo result = new PagedInfo(); + // 处理日期 + if (parm.StartTime != null && parm.StartTime.Value > DateTime.MinValue) + { + parm.StartTime = DOANConvertDate.ConvertLocalDate(parm.StartTime.Value); + } + if (parm.EndTime != null && parm.EndTime.Value > DateTime.MinValue) + { + parm.EndTime = DOANConvertDate.ConvertLocalDate(parm.EndTime.Value); + } + // 查询入库记录 + if (parm.SearchType == 1) + { + result = Context + .Queryable() + .WhereIF( + parm.StartTime.Value > DateTime.MinValue, + it => it.CreatedTime >= parm.StartTime + ) + .WhereIF( + parm.EndTime.Value > DateTime.MinValue, + it => it.CreatedTime <= parm.EndTime + ) + .Where(parm.MaterialCode = parm.MaterialCode) + .Where(parm.SupplierCode = parm.SupplierCode) + .Where(parm.LocationCode = parm.LocationCode) + .Where(parm.BatchNo = parm.BatchNo) + .Select(it => new MmInventoryRecordDto() + { + Id = it.Id, + InboundNo = it.InboundNo, + MaterialCode = it.MaterialCode, + MaterialName = it.MaterialName, + SupplierCode = it.SupplierCode, + SupplierName = it.SupplierName, + LocationCode = it.LocationCode, + LocationName = it.LocationName, + WarehouseCode = it.WarehouseCode, + WarehouseName = it.WarehouseName, + BatchNo = it.BatchNo, + Quantity = it.Quantity, + TransactionType = it.TransactionType, + Operator = it.Operator, + CreatedTime = it.CreatedTime, + Workorder = it.Workorder, + StoveCode = it.StoveCode + }) + .ToPage(parm); + } + // 查询出库记录 + else if (parm.SearchType == 2) + { + result = Context + .Queryable() + .WhereIF( + parm.StartTime.Value > DateTime.MinValue, + it => it.CreatedTime >= parm.StartTime + ) + .WhereIF( + parm.EndTime.Value > DateTime.MinValue, + it => it.CreatedTime <= parm.EndTime + ) + .Where(parm.MaterialCode = parm.MaterialCode) + .Where(parm.SupplierCode = parm.SupplierCode) + .Where(parm.LocationCode = parm.LocationCode) + .Where(parm.BatchNo = parm.BatchNo) + .Select(it => new MmInventoryRecordDto() + { + Id = it.Id, + OutboundNo = it.OutboundNo, + MaterialCode = it.MaterialCode, + MaterialName = it.MaterialName, + LocationCode = it.LocationCode, + LocationName = it.LocationName, + WarehouseCode = it.WarehouseCode, + WarehouseName = it.WarehouseName, + BatchNo = it.BatchNo, + Quantity = it.Quantity, + TransactionType = it.TransactionType, + Operator = it.Operator, + CreatedTime = it.CreatedTime, + Workorder = it.Workorder + }) + .ToPage(parm); + } - var response = Queryable() - .Where(predicate.ToExpression()) - .ToPage(parm); - - return response; + return result; } } }