diff --git a/WCS.Model/ApiModel/MatDetailHistoryInfo/GetMatDetailHistoryInfosRequest.cs b/WCS.Model/ApiModel/MatDetailHistoryInfo/GetMatDetailHistoryInfosRequest.cs
new file mode 100644
index 0000000..8afa445
--- /dev/null
+++ b/WCS.Model/ApiModel/MatDetailHistoryInfo/GetMatDetailHistoryInfosRequest.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WCS.Model.ApiModel.MatDetailHistoryInfo
+{
+ public class GetMatDetailHistoryInfosRequest : PageQueryRequestBase
+ {
+ public RecordTypeEnum? RecordType { get; set; } = null;
+
+ public FunctionTypeEnum? FunctionType { get; set; } = null;
+
+ public string ShelfCode { get; set; } = string.Empty;
+
+ public string MatCode { get; set; } = string.Empty ;
+
+ public string MatName { get; set; } = string.Empty;
+ }
+}
diff --git a/WCS.WebApi/Controllers/MatDetailHistoryInfoController.cs b/WCS.WebApi/Controllers/MatDetailHistoryInfoController.cs
new file mode 100644
index 0000000..9d51e9b
--- /dev/null
+++ b/WCS.WebApi/Controllers/MatDetailHistoryInfoController.cs
@@ -0,0 +1,121 @@
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using NPOI.SS.Formula.Functions;
+using SqlSugar;
+using WCS.BLL;
+using WCS.BLL.DbModels;
+using WCS.BLL.HardWare;
+using WCS.BLL.Manager;
+using WCS.BLL.Services.IService;
+using WCS.BLL.Services.Service;
+using WCS.DAL.Db;
+using WCS.DAL.DbModels;
+using WCS.Model;
+using WCS.Model.ApiModel.AGV;
+using WCS.Model.ApiModel.Home;
+using WCS.Model.ApiModel.MatBaseInfo;
+using WCS.Model.ApiModel.MatDetailHistoryInfo;
+using WCS.Model.ApiModel.StoreInfo;
+using Mode = WCS.BLL.HardWare.Mode;
+
+namespace WCS.WebApi.Controllers
+{
+ ///
+ /// 主页面的接口
+ ///
+ [ApiController]
+ [Route("[controller]")]
+ public class MatDetailHistoryInfoController : ControllerBase
+ {
+ public MatDetailHistoryInfoController()
+ {
+
+ }
+
+ [Route("getMatDetailHistoryInfos")]
+ [HttpPost(Name = "getMatDetailHistoryInfos")]
+ public async Task> getMatDetailHistoryInfos(GetMatDetailHistoryInfosRequest request)
+ {
+ try
+ {
+ var recordsQueryable = DbHelp.db.Queryable()
+ .WhereIF(request.RecordType != null, t => t.RecordType == request.RecordType)
+ .WhereIF(request.FunctionType != null, t => t.FunctionType == request.FunctionType)
+ .WhereIF(!string.IsNullOrEmpty(request.ShelfCode), t => t.ShelfCode.Contains(request.ShelfCode))
+ .WhereIF(!string.IsNullOrEmpty(request.MatCode), t => t.MatCode.Contains(request.MatCode))
+ .WhereIF(!string.IsNullOrEmpty(request.MatName), t => t.MatName.Contains(request.MatName))
+ ;
+
+ var totalCount = await recordsQueryable.CountAsync();
+ var records = await recordsQueryable
+ .OrderByDescending(t => t.ModifyTime)
+ .Skip((request.PageNumber - 1) * request.PageSize).Take(request.PageSize)
+ .ToListAsync();
+ //生成序号
+ for (int i = 0; i < records.Count; i++)
+ {
+ records[i].RowNumber = (request.PageNumber - 1) * request.PageSize + i + 1;
+ }
+ return new PageQueryResponse()
+ {
+ Code = 200,
+ Message = $"success",
+ Data = new PageQueryResponseData()
+ {
+ TotalCount = totalCount,
+ MaxPage = request.PageSize == 0 ? 0 : (int)Math.Ceiling((decimal)totalCount / request.PageSize),
+ Count = records.Count,
+ Lists = records.ToList()
+ }
+ };
+ }
+ catch (Exception ex)
+ {
+ return new PageQueryResponse()
+ {
+ Code = 300,
+ Message = $"操作失败:{ex.Message}",
+ };
+ }
+ }
+
+ ///
+ /// 删除-假删除
+ ///
+ ///
+ ///
+ [Route("deleteMatDetailHistoryInfo")]
+ [HttpPost(Name = "deleteMatDetailHistoryInfo")]
+ public async Task deleteMatDetailHistoryInfo(DeleteInfosRequest request)
+ {
+
+ try
+ {
+ //先查询出具体的Id
+ var matDetailHistoryInfos = await DbHelp.db.Queryable()
+ .Where(t => request.needDeleteIds.Contains(t.Id))
+ .ToListAsync();
+ //执行删除
+ var deleteRows = await DbHelp.db.Deleteable(matDetailHistoryInfos).ExecuteCommandAsync();
+ return new ResponseCommon