using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Model.ModelVm; using Model.ModelVm.BllAsnVm; using Model.ModelVm.PdaVm; using System; using System.Security.Claims; using WMS.IBLL.IPdaServer; namespace Wms_09.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),model.Origin); 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">UpBindPalletNo:è§£ç»‘æ‰˜ç›˜å· </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.UpbindPalletNo,model.CreateUser); 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 }); } } /// <summary> /// æ ¹æ®æ‰˜ç›˜å·èŽ·å–入库å•å· /// </summary> /// <param name="model"></param> /// <returns></returns> [HttpPost] public IActionResult GetASNNoByPalletNo(PalletBindVm model) { try { var result = _PdaAsnSvc.GetASNNoByPalletNo(model.PalletNo); return Ok(new { code = 0, msg = "èŽ·å–æˆåŠŸ!", data = result }); } catch (Exception e) { return Ok(new { code = 1, msg = e.Message }); } } #endregion #region 零箱入库 /// <summary> /// æ ¹æ®ç®±ç 获å–ç‰©æ–™ã€æ‰¹æ¬¡ã€æ•°é‡ç‰ä¿¡æ¯ /// </summary> /// <param name="boxNo">托盘å·</param> /// <returns></returns> [HttpGet] public IActionResult GetBoxInfoByBoxNo(string boxNo) { try { var list = _PdaAsnSvc.GetBoxInfoByBoxNo(boxNo); if (list == null) { return Ok(new { data = list, code = 1, msg = "æ— æ•°æ®" }); } return Ok(new { data = list, code = 0, msg = "æˆåŠŸ" }); } catch (Exception e) { return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" }); } } /// <summary> /// 零箱入库 /// </summary> /// <param name="model"></param> /// <returns></returns> [HttpPost] public IActionResult CompleteInStockLing(PdaLingAsnVm 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.CompleteInStockLing(model, int.Parse(UserId)); return Ok(new { code = 0, msg = "入库æˆåŠŸ!" }); } catch (Exception e) { return Ok(new { code = 1, msg = e.Message }); } } #endregion } }