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 { /// /// 条码扫描记录列表 /// [Route("api/[controller]")] [Authorize] [ApiController] public class BarRecordController : ControllerBase { private readonly string _FormName = "条码扫描记录#"; private readonly string _FormId = "ke3a69108a53e4baba04b1bf338355b6a"; private readonly K3CloudApiUtils _utils; /// /// 构造函数 /// /// public BarRecordController(K3CloudApiUtils utils) { _utils = utils; } /// /// 单据列表 /// /// /// [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(), 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); } /// /// 保存扫描记录 /// /// [HttpPost("Save")] public AjaxResult Save([FromBody] ArrayDto param) { var loginInfo = User.GetLoginInfoByClaimsPrincipal(); _utils.InitCloudApi(loginInfo); IBarRecordService service = new BarRecordService(_utils); var result = service.Save(param.Data); return AjaxResult.Success(result); } /// /// 查看 /// /// [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); } /// /// 打印成果单据 /// /// [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("扫描记录更新成功."); } } }