2025-11-18 17:43:12 +08:00
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
{
/// <summary>
/// 物料档案
/// </summary>
[Route("api/[controller] ")]
[Authorize]
[ApiController]
public class MaterialController : ControllerBase
{
private readonly string _FormName = "物料" ;
private readonly string _FormId = "BD_MATERIAL" ;
private readonly K3CloudApiUtils _utils ;
/// <summary>
/// 构造方法
/// </summary>
/// <param name="utils"></param>
public MaterialController ( K3CloudApiUtils utils )
{
_utils = utils ;
}
/// <summary>
/// 列表
/// </summary>
/// <param name="Param"></param>
/// <returns></returns>
[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 ) ,
} ;
2025-11-21 10:19:46 +08:00
//// 已审核未禁用
2025-11-18 17:43:12 +08:00
var loginInfo = User . GetLoginInfoByClaimsPrincipal ( ) ;
2025-12-04 11:51:13 +08:00
queryParam . FilterString = $"FDocumentStatus = 'C' AND FFORBIDSTATUS = 'A' AND FUseOrgId.FNumber = '{loginInfo.OrgNum}' AND (FNAME LIKE '{Param.QueryString}%' OR FNUMBER LIKE '{Param.QueryString}%' ) " ;
2025-11-18 17:43:12 +08:00
_utils . InitCloudApi ( loginInfo ) ;
var data = _utils . QueryList ( queryParam ) ;
2025-12-04 11:51:13 +08:00
return AjaxResult . Success ( data ) . AddBillId ( _FormId ) ;
2025-11-18 17:43:12 +08:00
}
/// <summary>
/// 查看
/// </summary>
/// <param name="Param"></param>
/// <returns></returns>
[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 ) ;
}
}
}