using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CmsQueryExtensions;
using CmsQueryExtensions.Entitys;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
namespace CMS.Plugin.HIAWms.Controller
{
[ApiController]
[TypeFilter(typeof(CMSLanguageFilter))]
[TypeFilter(typeof(CMSUowActionFilter))]
[TypeFilter(typeof(CMSAuditActionFilter))]
[TypeFilter(typeof(CMSExceptionFilter))]
[Route("api/v{version:apiVersion}/HIAWms/[controller]")]
public class LMesOperateController : ControllerBase
{
private readonly ILMesOperateAppService _mesOperateAppService;
private readonly IWmsMaterialStockAppService _wmsmaterialstockAppService;
public LMesOperateController(ILMesOperateAppService mesOperateAppService, IWmsMaterialStockAppService wmsmaterialstockAppService)
{
_mesOperateAppService = mesOperateAppService;
_wmsmaterialstockAppService = wmsmaterialstockAppService;
}
///
/// LMes叫料
///
///
///
[HttpPost]
[Route("LMesCallMaterial")]
public async Task>> LMesCallMaterialAsync(List input)
{
try
{
var list = await _mesOperateAppService.LMesCallMaterialAsync(input);
return new CmsApiResponse>()
{
Data = list,
Code = 200,
Message = "LMes叫料成功"
};
//*/
/*
//模拟返回数据
List list = new List();
return new CmsApiResponse>()
{
Data = list,
Code = 200,
Message = "LMes叫料成功"
};
//*/
}
catch (Exception ex)
{
//throw; //不要抛出异常,否则对方会接收失败呢
return new CmsApiResponse>()
{
Data = null,
Code = 500,
Message = ex.Message
};
}
}
///
/// LMes组盘
///
///
///
[HttpPost]
[Route("LMesPick")]
public async Task> LMesPickAsync([FromBody] WmsMaterialStockCreateDto input)
{
try
{
var list = await _wmsmaterialstockAppService.CreateAsync(input);
return new CmsApiResponse()
{
Data = list,
Code = 200,
Message = "LMes组盘成功"
};
}
catch (Exception ex)
{
//throw; //不要抛出异常,否则对方会接收失败呢
return new CmsApiResponse()
{
Data = null,
Code = 500,
Message = ex.Message
};
}
}
///
/// 根据条件获取出入库单据详情
///
/// 查询参数
///
[HttpPost]
[Route("FindListByFilter")]
public virtual async Task>> FindListByFilterAsync([FromBody] GetWmsMaterialStockInput input)
{
try
{
input.StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.XUNIKUWEI;
var list = await _wmsmaterialstockAppService.FindListByFilterAsync(input);
return new CmsApiResponse>()
{
Data = list,
Code = 200,
Message = ""
};
/*
//模拟返回数据
List list = new List();
list.Add(new WmsMaterialStockDto>()
{
ContainerNo = "TP202",
PlaceNo = "FJKW01"
});
return new CmsApiResponse>()
{
Data = list,
Code = 200,
Message = ""
};
//*/
}
catch (Exception ex)
{
//throw; //不要抛出异常,否则对方会接收失败呢
return new CmsApiResponse>()
{
Data = null,
Code = 500,
Message = ex.Message
};
}
}
///
/// 根据条件获取单个出入库单据详情
///
/// 查询参数
///
[HttpPost]
[Route("FindSingleByFilter")]
public virtual async Task> FindSingleByFilterAsync([FromBody] GetWmsMaterialStockInput input)
{
try
{
var list = await _wmsmaterialstockAppService.FindSingleByFilterAsync(input);
return new CmsApiResponse()
{
Data = list,
Code = 200,
Message = ""
};
}
catch (Exception ex)
{
//throw; //不要抛出异常,否则对方会接收失败呢
return new CmsApiResponse()
{
Data = null,
Code = 500,
Message = ex.Message
};
}
}
}
}