using System;
|
using System.Security.Claims;
|
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Mvc;
|
using Model.ModelVm;
|
using Model.ModelVm.BllAsnVm;
|
using WMS.IBLL.IPdaServer;
|
|
namespace WmsApi.Controllers
|
{
|
[Route("api/[controller]/[action]")]
|
[ApiController]
|
[Authorize]
|
public class PdaAsnController : ControllerBase
|
{
|
#region 依赖注入
|
private readonly IPdaAsnServer _PdaAsnSvc;
|
|
public PdaAsnController(IPdaAsnServer pdaAsnSvc)
|
{
|
_PdaAsnSvc = pdaAsnSvc;
|
}
|
#endregion
|
|
#region 公用方法
|
/// <summary>
|
/// 获取单据列表
|
/// </summary>
|
/// <param name="model">Type:单据类型</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult GetArrivalNotices(ArrivalNoticeVm model)
|
{
|
try
|
{
|
var models = _PdaAsnSvc.GetArrivalNotices(model);
|
|
return Ok(new { code = 0, msg = "入库单信息", data = models });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 判断托盘是否可用
|
/// </summary>
|
/// <param name="model">PalletNo:托盘条码</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult IsEnablePalletNo(PalletBindVm model)
|
{
|
try
|
{
|
var strMsg = _PdaAsnSvc.IsEnablePalletNo(model.PalletNo);
|
|
if (strMsg == "")
|
{
|
return Ok(new { code = 0, msg = "托盘可用!" });
|
}
|
else
|
{
|
return Ok(new { code = 1, msg = strMsg });
|
}
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 获取单据明细列表
|
/// </summary>
|
/// <param name="model">AsnNo:单据号</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult GetArrivalNoticeDetails(ArrivalNoticeVm model)
|
{
|
try
|
{
|
var models = _PdaAsnSvc.GetArrivalNoticeDetails(model);
|
|
return Ok(new { code = 0, msg = "入库单明细信息", data = models });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 根据明细ID获取物料详情
|
/// </summary>
|
/// <param name="model">Id:入库单明细ID</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult GetArrivalNoticeDetail(ArrivalNoticeDetailVm model)
|
{
|
try
|
{
|
var models = _PdaAsnSvc.GetArrivalNoticeDetail(model);
|
|
return Ok(new { code = 0, msg = "入库单明细详细信息", data = models });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 根据托盘号或箱码获取托盘上箱托信息
|
/// </summary>
|
/// <param name="model">PalletNo:托盘号 or BoxNo:箱号</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult GetBoxInfos(BoxInfoVm model)
|
{
|
try
|
{
|
var models = _PdaAsnSvc.GetBoxInfos(model);
|
|
return Ok(new { code = 0, msg = "托盘上相托信息", data = models });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 绑定托盘
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult BindPallet(PdaPalletBindVm model)
|
{
|
try
|
{
|
var claimsIdentity = this.User.Identity as ClaimsIdentity;
|
if (claimsIdentity == null)
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
|
if (string.IsNullOrWhiteSpace(UserId))
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
_PdaAsnSvc.BindPallet(model, int.Parse(UserId));
|
|
return Ok(new { code = 0, msg = "绑定成功!" });
|
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 删除箱子信息
|
/// </summary>
|
/// <param name="model">Id:箱子主键</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult DelBoxInfo(BoxInfoVm model)
|
{
|
try
|
{
|
var claimsIdentity = this.User.Identity as ClaimsIdentity;
|
if (claimsIdentity == null)
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
|
if (string.IsNullOrWhiteSpace(UserId))
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
|
model.CreateUser = int.Parse(UserId);
|
|
var strMsg = _PdaAsnSvc.DelBoxInfo(model);
|
|
if (strMsg == "")
|
{
|
return Ok(new { code = 0, msg = "删除组托成功!" });
|
}
|
else
|
{
|
return Ok(new { code = 1, msg = strMsg });
|
}
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
|
}
|
#endregion
|
|
#region 生产入库
|
|
#endregion
|
|
#region 空托入库
|
/// <summary>
|
/// 绑定空托入库信息
|
/// </summary>
|
/// <param name="model">PalletNo:托盘号 Qty: 数量</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult BindNullPallet(PalletBindVm model)
|
{
|
try
|
{
|
var claimsIdentity = this.User.Identity as ClaimsIdentity;
|
if (claimsIdentity == null)
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
|
if (string.IsNullOrWhiteSpace(UserId))
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
|
model.CreateUser = int.Parse(UserId);
|
|
var strMsg = _PdaAsnSvc.BindNullPallet(model);
|
|
if (strMsg == "")
|
{
|
return Ok(new { code = 0, msg = "空托盘组托成功!" });
|
}
|
else
|
{
|
return Ok(new { code = 1, msg = strMsg });
|
}
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
/// <summary>
|
/// 解绑空托入库信息
|
/// </summary>
|
/// <param name="model">PalletNo:托盘号 Qty: 数量</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult UnBindNullPallet(PalletUnBingVm model)
|
{
|
try
|
{
|
var claimsIdentity = this.User.Identity as ClaimsIdentity;
|
if (claimsIdentity == null)
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
|
if (string.IsNullOrWhiteSpace(UserId))
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
|
model.CreateUser = int.Parse(UserId);
|
|
var strMsg = "";//= _PdaAsnSvc.UnBindNullPallet(model);
|
|
if (strMsg == "")
|
{
|
return Ok(new { code = 0, msg = "空托盘组托成功!" });
|
}
|
else
|
{
|
return Ok(new { code = 1, msg = strMsg });
|
}
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
|
#endregion
|
|
#region 平库入库确认
|
|
/// <summary>
|
/// 平库上架确认
|
/// </summary>
|
/// <param name="model">PalletNo:托盘号 LocatNo: 储位地址</param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult CompleteInStock(PalletBindVm model)
|
{
|
try
|
{
|
var claimsIdentity = this.User.Identity as ClaimsIdentity;
|
if (claimsIdentity == null)
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
|
if (string.IsNullOrWhiteSpace(UserId))
|
{
|
throw new Exception("未获取到用户信息");
|
}
|
|
model.CreateUser = int.Parse(UserId);
|
|
var strMsg = _PdaAsnSvc.CompleteInStock(model);
|
|
if (strMsg == "")
|
{
|
return Ok(new { code = 0, msg = "上架成功!" });
|
}
|
else
|
{
|
return Ok(new { code = 1, msg = strMsg });
|
}
|
}
|
catch (Exception e)
|
{
|
return Ok(new { code = 1, msg = e.Message });
|
}
|
}
|
#endregion
|
}
|
}
|