Files
Gatedge.NewOrientLandMark.BOS/Gatedge.ScanCode/Controllers/BarRecordController.cs
liqionghai d758497f93 1
2025-11-18 17:43:12 +08:00

156 lines
5.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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("扫描记录更新成功.");
}
}
}