2025-12-04 11:51:13 +08:00
using Gatedge.K3Cloud.Utils ;
using Gatedge.K3Cloud.Utils.Model.K3Request ;
using Gatedge.ScanCode.Common ;
using Gatedge.ScanCode.Extension ;
using Gatedge.ScanCode.Models.Dto ;
2025-12-11 17:49:54 +08:00
using Gatedge.ScanCode.Models.Dto.BarRecord ;
using Gatedge.ScanCode.Services ;
using Gatedge.ScanCode.Services.IServices ;
2025-12-04 11:51:13 +08:00
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Http ;
using Microsoft.AspNetCore.Mvc ;
namespace Gatedge.ScanCode.Controllers
{
/// <summary>
/// 采购订单
/// </summary>
[Route("api/[controller] ")]
[Authorize]
[ApiController]
public class PurchaseOrderController : ControllerBase
{
private readonly string _FormName = "采购订单" ;
private readonly string _FormId = "PUR_PurchaseOrder" ;
private readonly K3CloudApiUtils _utils ;
/// <summary>
/// 构造方法
/// </summary>
public PurchaseOrderController ( 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、单据编号
2025-12-11 17:49:54 +08:00
FieldKeys = "FID,FBillNo,FDate,FSupplierId.FName" ,
2025-12-04 11:51:13 +08:00
Limit = Param . PageSize ,
StartRow = Param . PageSize * ( Param . PageIndex - 1 ) ,
} ;
//// 已审核未禁用
var loginInfo = User . GetLoginInfoByClaimsPrincipal ( ) ;
queryParam . FilterString = $"FDocumentStatus = 'C' AND FFORBIDSTATUS = 'A' AND FPurchaseOrgId.FNumber = '{loginInfo.OrgNum}' AND (FBILLNO LIKE '{Param.QueryString}%') " ;
_utils . InitCloudApi ( loginInfo ) ;
var data = _utils . QueryList ( queryParam ) ;
return AjaxResult . Success ( data ) . AddBillId ( _FormId ) ;
}
/// <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 ) ;
}
2025-12-11 17:49:54 +08:00
/// <summary>
/// 批量下推采购入库单
/// </summary>
/// <param name="barRecord"></param>
/// <returns></returns>
[HttpPost("BatchPushPurInStock")]
public AjaxResult BatchPushPurInStock ( [ FromBody ] BarRecord barRecord )
{
var loginInfo = User . GetLoginInfoByClaimsPrincipal ( ) ;
_utils . InitCloudApi ( loginInfo ) ;
IPurchaseOrderService service = new PurchaseOrderService ( _utils ) ;
2025-12-12 10:13:22 +08:00
var result = service . PushPurInStock ( barRecord . BarRecordId ) ;
if ( ! result . IsSuccess )
{
return AjaxResult . Error ( "收料错误" , result ) ;
}
return AjaxResult . Success ( result ) ;
2025-12-11 17:49:54 +08:00
}
2025-12-04 11:51:13 +08:00
}
}