using Gatedge.K3Cloud.Utils;
using Gatedge.K3Cloud.Utils.Model.K3Request;
using Gatedge.ScanCode.Common;
using Gatedge.ScanCode.Extension;
using Gatedge.ScanCode.Models.Dto;
using Gatedge.ScanCode.Services;
using Gatedge.ScanCode.Services.IServices;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
namespace Gatedge.ScanCode.Controllers
{
///
/// 条码主档
///
[Route("api/[controller]")]
[Authorize]
[ApiController]
public class BarCodeMainFileController : ControllerBase
{
private readonly string _FormName = "条码主档#";
private readonly string _FormId = "UHIK_BD_BarCodeMainFile";
private readonly K3CloudApiUtils _utils;
///
/// 构造函数
///
///
public BarCodeMainFileController(K3CloudApiUtils utils)
{
_utils = utils;
}
///
/// 查看根据条码主档
///
///
///
[HttpGet("ViewByBarCode")]
public AjaxResult View([FromQuery] BarCodeParam param)
{
var barCode = param.BarCode;
if (barCode.IsNullOrEmpty())
{
string errMes = "条码编码不能为空";
return AjaxResult.Error(errMes);
}
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
IBarRecordService barRecordService = new BarRecordService(_utils);
var list = barRecordService.FindIdByCode(barCode);
IBarCodeMainFileService service = new BarCodeMainFileService(_utils);
var fid = service.GetIdByBarCode(barCode);
View viewBill = new View()
{
Id = fid
};
var data = service.View(viewBill);
if (list.List.Count > 0)
{
var scanerName = Convert.ToString(list.List.First()["FCreatorId.FName"]);
var warnInfo = string.Format("该条码已经被扫描过,扫描人:{0}", scanerName);
return AjaxResult.Warn("该条码已经被扫描过", data);
}
return AjaxResult.Success(data);
}
///
/// 查看
///
///
[HttpGet("View")]
public AjaxResult View([FromQuery] View Param)
{
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
_utils.InitCloudApi(loginInfo);
IBarCodeMainFileService service = new BarCodeMainFileService(_utils);
var data = service.View(Param);
return AjaxResult.Success(data).AddBillId(_FormId);
}
}
}