using System;
using System.Collections.Generic;
using System.Security.Claims;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Model.ModelVm.PdaVm;
using WMS.Entity.DataEntity;
using WMS.IBLL.IPdaServer;
namespace WmsApi.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize]
public class PdaCrController : ControllerBase
{
private readonly IPdaCrServer _pdaCrSvc;
public PdaCrController(IPdaCrServer pdaCrSvc)
{
_pdaCrSvc = pdaCrSvc;
}
#region 盘点
///
/// 获取盘点单据列表
///
/// PalletNo:托盘号
///
[HttpPost]
public IActionResult GetStockCheckNoList(PdaCrVm model)
{
try
{
var list = _pdaCrSvc.GetStockCheckNoList(model.PalletNo);
return Ok(new { code = 0, msg = "盘点单信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取盘点明细物料批次信息
///
/// CrNo:盘点单、PalletNo:托盘号
///
[HttpPost]
public IActionResult GetStockCheckDetailList(PdaCrVm model)
{
try
{
var list = _pdaCrSvc.GetStockCheckDetailList(model.CrNo, model.PalletNo);
return Ok(new { code = 0, msg = "盘点单明细物料批次信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取要盘点的箱码信息
///
///
///
[HttpPost]
public IActionResult GetStockCheckLogList(PdaCrVm model)
{
try
{
var list = _pdaCrSvc.GetStockCheckLogList(model.CrNo, model.LotNo, model.PalletNo, model.BoxNo);
return Ok(new { code = 0, msg = "要盘点的箱码信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 盘点库存
///
///
///
[HttpPost]
public IActionResult CrSetCheck(PdaCrVm model)
{
try
{
//获取当前登录的用户ID
var claimsIdentity = this.User.Identity as ClaimsIdentity;
if (claimsIdentity == null)
{
return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
}
var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
if (string.IsNullOrWhiteSpace(userId))
{
return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
}
_pdaCrSvc.CrSetCheck(model.CrNo, model.LotNo, model.PalletNo, model.Qty, model.SQty, int.Parse(userId));
return Ok(new { code = 0, msg = "盘点完成", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 库存查询
///
/// pda库存查询
///
/// 储位编号
/// 托盘号
/// 物料名称
///
[HttpGet]
public IActionResult GetStockQueryList(string locatNo, string palletNo, string skuName)
{
List stockList = _pdaCrSvc.GetStockQueryList(locatNo, palletNo, skuName);
return Ok(new
{
data = stockList,
code = 0,
msg = "成功"
});
}
#endregion
}
}