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;
}
}
}