Files
wcs/WCS.WebApi/Controllers/MatDetailCurrenInfoController.cs
2025-03-03 14:14:09 +08:00

102 lines
4.0 KiB
C#

using Microsoft.AspNetCore.Mvc;
using WCS.BLL.Services.IService;
using WCS.BLL.Services.Service;
using WCS.Model;
using WCS.Model.ApiModel.StoreInfo;
using WCS.BLL.DbModels;
using WCS.Model.ApiModel.MatBaseInfo;
using WCS.Model.ApiModel.MatDetailCurrentInfo;
using WCS.DAL.DbModels;
using WCS.WebApi.Helper;
namespace WCS.WebApi.Controllers
{
/// <summary>
/// 当前库存存量的数据 当前库存数据
/// </summary>
[ApiController]
[Route("[controller]")]
public class MatDetailCurrenInfoController : ControllerBase
{
public IMatDetailCurrentInfoService _matDetailCurrentInfoService { get; set; }
public MatDetailCurrenInfoController(IMatDetailCurrentInfoService matDetailCurrentInfoService)
{
_matDetailCurrentInfoService = matDetailCurrentInfoService;
}
#region
[Route("getMatDetailCurrentInfos")]
[HttpPost(Name = "getMatDetailCurrentInfos")]
public async Task<ResponseBase> GetMatDetailCurrentInfos(GetMatDetailCurrentInfosRequest request)
{
return await _matDetailCurrentInfoService.GetMatDetailCurrentInfos(request);
}
[Route("exportMatDetailCurrentInfos")]
[HttpPost(Name = "exportMatDetailCurrentInfos")]
public async Task<IActionResult> ExportMatDetailCurrentInfos(GetMatDetailCurrentInfosRequest request)
{
var result = await _matDetailCurrentInfoService.ExportMatDetailCurrentInfos(request);
var data = result.Data?.Lists;
var columns = new[]
{
new ExportableColumn("序号","RowNumber"),
new ExportableColumn("货架类型","ShelfType"),
new ExportableColumn("货架编码","ShelfCode"),
new ExportableColumn("位置区域","LocationArea"),
new ExportableColumn("位置编号","LocationCode"),
new ExportableColumn("物料编码","MatCode"),
new ExportableColumn("物料名称","MatName"),
new ExportableColumn("物料规格","MatSpec"),
new ExportableColumn("数量", "MatQty"),
new ExportableColumn("更新人", "ModifyUser"),
new ExportableColumn("更新时间", "ModifyTime"),
};
if (data == null)
{
return NotFound();
}
else
return ExportExcelHelper.Export("导出数据", columns, data);
}
[HttpPost("updateMatDetailCurrentInfo")]
public async Task<ResponseCommon<object>> updateMatDetailCurrentInfo(AddLocaionInfoRequest<MatDetailCurrentInfo> request)
{
return await _matDetailCurrentInfoService.updateMatDetailCurrentInfo(request);
}
[HttpPost("updateMatDetailCurrentInfoById")]
public async Task<ResponseCommon<object>> updateMatDetailCurrentInfoById(UpdateMatDetailCurrentInfoByIdRequest request)
{
var transRequest = new AddLocaionInfoRequest<MatDetailCurrentInfo>()
{
UserName = request.UserName,
DeviceType = request.DeviceType,
LocationInfo = new MatDetailCurrentInfo()
{
Id = request.MatDetailCurrentInfoId,
MatQty = request.MatQty,
}
};
return await _matDetailCurrentInfoService.updateMatDetailCurrentInfo(transRequest);
}
[HttpPost("deleteMatDetailCurrentInfo")]
public async Task<ResponseCommon<object>> deleteMatDetailCurrentInfo(DeleteInfosRequest request)
{
//校验
if (request.needDeleteIds == null || request.needDeleteIds.Count == 0)
{
return new ResponseCommon<object>()
{
Code = 201,
Message = "操作失败:参数校验失败(ID)."
};
}
return await _matDetailCurrentInfoService.deleteMatDetailCurrentInfo(request);
}
#endregion
}
}