using Microsoft.AspNetCore.Mvc;
using ZR.Model;
using ZR.Model.MES.wms.Dto;
using ZR.Service.mes.wms.IService;
//创建时间:2024-04-26
namespace ZR.Admin.WebApi.Controllers
{
///
/// 仓库批量查询综合接口
///
// [Verify]
[Route("/mes/wm/WmGoodsBatchSearch")]
public class WmGoodsBatchSearchController : BaseController
{
///
/// 仓库操作
///
private readonly IWmGoodsBatchSearchService _wmGoodsBatchSearchService;
public WmGoodsBatchSearchController(IWmGoodsBatchSearchService wmGoodsBatchSearchService)
{
_wmGoodsBatchSearchService = wmGoodsBatchSearchService;
}
///
/// 根据查询条件聚合批量查询出库数据,并生成树列表数据
///
///
[HttpPost("getBatchTreeTableData")]
// [Log(Title = "根据查询条件聚合批量查询出库数据,并生成树列表数据", BusinessType = BusinessType.QUERY)]
public IActionResult GetBatchTreeTableData([FromBody] WmGoodsBatchSearchDto parm)
{
if (parm is null)
{
throw new ArgumentNullException(nameof(parm));
}
PagedInfo result = null;
// 入库
if (parm.Category == 1)
{
// 按批次号
// 树父列表
if (parm.Model == 1 && parm.Type == 1)
{
result = _wmGoodsBatchSearchService.GetBatchNowProductionByPackageCodeShort(parm);
}
// 树子列表
else if (parm.Model == 1 && parm.Type == 2)
{
result = _wmGoodsBatchSearchService.GetBatchNowProductionTreeLazyByPackageCodeShort(parm);
}
// 按零件号
else if (parm.Model == 2 && parm.Type == 1)
{
result = _wmGoodsBatchSearchService.GetBatchNowProductionByPartnumber(parm);
}
else if (parm.Model == 2 && parm.Type == 2)
{
result = _wmGoodsBatchSearchService.GetBatchNowProductionTreeLazyByPartnumber(parm);
}
}
// 出库
else if (parm.Category == 2)
{
// 按批次号
// 树父列表
if (parm.Model == 1 && parm.Type == 1)
{
result = _wmGoodsBatchSearchService.GetBatchOutRecordByPackageCodeShort(parm);
}
// 树子列表
else if (parm.Model == 1 && parm.Type == 2)
{
result = _wmGoodsBatchSearchService.GetBatchOutRecordTreeLazyByPackageCodeShort(parm);
}
// 按零件号
else if (parm.Model == 2 && parm.Type == 1)
{
result = _wmGoodsBatchSearchService.GetBatchOutRecordByPartnumber(parm);
}
else if (parm.Model == 2 && parm.Type == 2)
{
result = _wmGoodsBatchSearchService.GetBatchOutRecordTreeLazyByPartnumber(parm);
}
// 按出库单号
else if (parm.Model == 3 && parm.Type == 1)
{
result = _wmGoodsBatchSearchService.GetBatchOutRecordByShipmentNum(parm);
}
else if (parm.Model == 3 && parm.Type == 2)
{
result = _wmGoodsBatchSearchService.GetBatchOutRecordTreeLazyByShipmentNum(parm);
}
}
if (result is null)
{
return ToResponse(new ApiResult(500, "数据获取异常", result));
}
return ToResponse(new ApiResult(200, "ok", result));
}
}
}