chengsc
2024-10-17 26356a0e6472be4620651adceddda0e38c78fffa
Wms/Wms/Controllers/PdaSoController.cs
@@ -373,5 +373,151 @@
        }
        /// <summary>
        /// 根据托盘号获取入库单据
        /// </summary>
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetAsnNoByPallet(string palletNo)
        {
            try
            {
                var type = _pdaSoSvc.GetAsnNoByPallet(palletNo);
                return Ok(new { data = type, 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 SampleSoSetPick(PdaSoVm 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("未获取到用户信息");
                }
                int uid = Convert.ToInt32(UserId);
                _pdaSoSvc.SampleSoSetPick(model.Type,model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.AsnNo, uid);
                return Ok(new { data = "", code = 0, msg = "(标签)取样出库拣货" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "(标签)取样出库拣货错误:" + e.Message });
            }
        }
        /// <summary>
        /// 取样出库拣货(无标签)
        /// </summary>
        /// <param name="model">SoDetailId:出库单明细ID、PalletNo:托盘码</param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SampleSoSetQtyPick(PdaSoVm 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 = "未获取到当前操作人信息" });
                }
                _pdaSoSvc.SampleSoSetQtyPick(model.Type, model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, model.AsnNo, int.Parse(userId));
                return Ok(new { data = "", code = 0, msg = "(无标签)取样出库拣货" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "(无标签)取样出库拣货错误:" + e.Message });
            }
        }
        #region 拣货拼托
        /// <summary>
        /// 拼托出库pda拣货-标签
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SoSetPinPick(PdaSoVm 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 = "未获取到当前操作人信息" });
                }
                _pdaSoSvc.SoSetPinPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.PalletNoNew, int.Parse(userId));
                return Ok(new { code = 0, msg = "拣货完成", data = "" });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        /// <summary>
        /// 拼托出库pda拣货-数量
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SoSetQtyPinPick(PdaSoVm 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 = "未获取到当前操作人信息" });
                }
                _pdaSoSvc.SoSetQtyPinPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, model.PalletNoNew, int.Parse(userId));
                return Ok(new { code = 0, msg = "拣货完成", data = "" });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        #endregion
    }
}