Files
Gatedge.NewOrientLandMark.BOS/Gatedge.ScanCode/Controllers/BarRecordController.cs

156 lines
5.4 KiB
C#
Raw Normal View History

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 Gatedge.ScanCode.Models.Dto.BarRecord;
using Gatedge.ScanCode.Models.Dto.ScanRecords;
using Gatedge.ScanCode.Services;
using Gatedge.ScanCode.Services.IServices;
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 BarRecordController : ControllerBase
{
private readonly string _FormName = "条码扫描记录#";
private readonly string _FormId = "ke3a69108a53e4baba04b1bf338355b6a";
private readonly K3CloudApiUtils _utils;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="utils"></param>
public BarRecordController(K3CloudApiUtils utils)
{
_utils = utils;
}
/// <summary>
/// 单据列表
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
[HttpGet("List")]
public AjaxResult List([FromQuery] BarRecordPageParam param)
{
if (param.PageSize <= 0)
{
var errMes = string.Format("传递的参数不合法页大小需要大于0当前 PageSize 为 {0}", param.PageSize);
return AjaxResult.Error(500, errMes);
}
if (param.PageIndex <= 0)
{
var errMes = string.Format("传递的参数不合法页索引需要大于0当前 PageIndex 为 {0}", param.PageIndex);
return AjaxResult.Error(500, errMes);
}
if (param.UserId == null)
{
var errMes = string.Format("传递的参数不合法用户Id不能为空当前 UserId 为 {0}", param.UserId);
return AjaxResult.Error(500, errMes);
}
Query queryParam = new Query()
{
FormId = this._FormId,
FieldKeys = @"FID,FBillNO,FStatus,FOrgId,FCreatorId,FCreateDate,FErrorInfo,FIsPrinted,FBarCount,FBarSum,FMOInfo",
Limit = param.PageSize,
StartRow = param.PageSize * (param.PageIndex - 1),
FilterString = new List<FilterItem>(),
OrderString = "FCreateDate DESC"
};
FilterItem userItem = new FilterItem("FCreatorId", "67", param.UserId, "0");
queryParam.FilterString.Add(userItem);
if (param.IsSubmit == null)
{
if (param.Status != null)
{
queryParam.FilterString.Add(new FilterItem("FStatus", "29", param.Status, "0"));
}
}
if (param.IsSubmit == false)
{
queryParam.FilterString.Add(new FilterItem("FStatus", "29", "1", "0"));
}
if (param.IsSubmit == true)
{
queryParam.FilterString.Add(new FilterItem("FStatus", "29", "2", "1")
{
Left = "((",
Right = ")"
});
queryParam.FilterString.Add(new FilterItem("FStatus", "29", "3", "0")
{
Left = "(",
Right = "))"
});
}
queryParam.FilterString.Add(userItem);
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
IBarRecordService service = new BarRecordService(_utils);
var data = service.List(queryParam);
return AjaxResult.Success(data);
}
/// <summary>
/// 保存扫描记录
/// </summary>
/// <returns></returns>
[HttpPost("Save")]
public AjaxResult Save([FromBody] ArrayDto<BarRecordsSaveDto> param)
{
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
IBarRecordService service = new BarRecordService(_utils);
var result = service.Save(param.Data);
return AjaxResult.Success(result);
}
/// <summary>
/// 查看
/// </summary>
/// <returns></returns>
[HttpGet("View")]
public AjaxResult View([FromQuery] View Param)
{
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
IBarRecordService service = new BarRecordService(_utils);
var data = service.View(Param);
return AjaxResult.Success(data).AddBillId(_FormId);
}
/// <summary>
/// 打印成果单据
/// </summary>
/// <returns></returns>
[HttpPost("PrintResultBillNo")]
public AjaxResult PrintResultBillNo([FromBody] BarRecord barRecord)
{
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
IBarRecordService service = new BarRecordService(_utils);
service.PrintResultBillNo(barRecord);
return AjaxResult.Success("扫描记录更新成功.");
}
}
}