using Gatedge.K3Cloud.Utils;
using Gatedge.K3Cloud.Utils.Common;
using Gatedge.K3Cloud.Utils.Model.K3Request;
using Gatedge.ScanCode.Common;
using Gatedge.ScanCode.Extension;
using Gatedge.ScanCode.Models.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Gatedge.ScanCode.Controllers
{
///
/// 物料档案
///
[Route("api/[controller]")]
[Authorize]
[ApiController]
public class MaterialController : ControllerBase
{
private readonly string _FormName = "物料";
private readonly string _FormId = "BD_MATERIAL";
private readonly K3CloudApiUtils _utils;
///
/// 构造方法
///
///
public MaterialController(K3CloudApiUtils utils)
{
_utils = utils;
}
///
/// 列表
///
///
///
[HttpGet("List")]
public AjaxResult List([FromQuery] PageParam Param)
{
if (Param.PageSize <= 0 || Param.PageIndex <= 0)
{
var errMes = string.Format("传递的参数不合法,请检查PageIndex:{0},PageSize:{1}", Param.PageIndex, Param.PageSize);
return AjaxResult.Error(500, errMes);
}
Query queryParam = new Query()
{
FormId = this._FormId,
// 物料ID、物料编码、物料名称
FieldKeys = "FMATERIALID,FNUMBER,FNAME",
Limit = Param.PageSize,
StartRow = Param.PageSize * (Param.PageIndex - 1),
};
//// 已审核未禁用
//FilterList filterString = new FilterList().AddAuditedItems().AddNotCancelItems("FForbidStatus");
//if (Param.QueryString != string.Empty && Param.QueryString != null)
//{
// FilterItem NamefilterItem = new FilterItem("(", "FNAME", "17", Param.QueryString, "", "1");
// FilterItem NumberfilterItem = new FilterItem("", "FNUMBER", "17", Param.QueryString, ")", "0");
// filterString.AddFilterItem(NamefilterItem).AddFilterItem(NumberfilterItem);
// queryParam.FilterString = filterString.GetFilterString();
//}
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
var data = _utils.QueryList(queryParam);
return AjaxResult.Success(data);
}
///
/// 查看
///
///
///
[HttpGet("View")]
public AjaxResult View([FromQuery] View Param)
{
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
var result = _utils.Query(_FormId, Param);
return AjaxResult.Success(result);
}
}
}