zhaowc
2024-08-30 9176aaed52f030ccb9e00be157f893633153d1ca
Wms/Wms/Controllers/PdaCrController.cs
@@ -10,6 +10,11 @@
using WMS.IBLL.IPdaServer;
using WMS.Entity.DataEntity;
using WMS.Entity.SysEntity;
using Utility;
using Model.ModelDto.BllCheckDto;
using Model.ModelDto.PdaDto;
using Microsoft.AspNetCore.Identity;
using System.Security.Cryptography;
namespace Wms.Controllers
{
@@ -19,10 +24,12 @@
    public class PdaCrController : ControllerBase
    {
        private readonly IPdaCrServer _pdaCrSvc;
        private readonly UserManager _userManager;
        public PdaCrController(IPdaCrServer pdaCrSvc)
        public PdaCrController(IPdaCrServer pdaCrSvc, UserManager userManager)
        {
            _pdaCrSvc = pdaCrSvc;
            _userManager = userManager;
        }
        #region 盘点
@@ -33,18 +40,10 @@
        /// <param name="model">PalletNo:托盘号</param> 
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStockCheckNoList(PdaCrVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<string>> 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 });
            }
            return await _pdaCrSvc.GetStockCheckNoList(model.PalletNo);
        }
        /// <summary>
@@ -53,18 +52,10 @@
        /// <param name="model">CrNo:盘点单、PalletNo:托盘号</param> 
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStockCheckDetailList(PdaCrVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<StockCheckDetailDto>> 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 });
            }
            return await _pdaCrSvc.GetStockCheckDetailList(model.CrNo, model.PalletNo);
        }
        /// <summary>
@@ -73,18 +64,10 @@
        /// <param name="model"></param> 
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStockCheckLogList(PdaCrVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<StockCheckLogDto>> GetStockCheckLogList(PdaCrVm model)
        {
            try
            {
                var list = _pdaCrSvc.GetStockCheckLogList(model.CrNo, model.CrDetail, model.PalletNo, model.BoxNo,model.isContinue);
                return Ok(new { code = 0, msg = "要盘点的箱码信息", data = list });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
            return await _pdaCrSvc.GetStockCheckLogList(model.CrNo, model.CrDetail, model.PalletNo, model.BoxNo, model.isContinue);
        }
        /// <summary>
@@ -93,6 +76,8 @@
        /// <param name="model"></param> 
        /// <returns></returns>
        [HttpPost]
        [UnitOfWork]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public IActionResult CrSetCheck(PdaCrVm model)
        {
            try
@@ -109,7 +94,7 @@
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _pdaCrSvc.CrSetCheck(model.CrNo, model.CrDetail, model.PalletNo, model.BoxNo, model.BoxNo3, model.Result, model.Qty,model.isContinue, int.Parse(userId));
                _pdaCrSvc.CrSetCheck(model.CrNo, model.CrDetail, model.PalletNo, model.BoxNo, model.BoxNo3, model.Result, model.Qty, model.isContinue, int.Parse(userId));
                return Ok(new { code = 0, msg = "盘点完成", data = "" });
            }
@@ -131,22 +116,10 @@
        /// <param name="skuName">物料名称</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetStockQueryList(string locatNo, string palletNo  )
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<DataStockDetail>> GetStockQueryList(string locatNo, string palletNo)
        {
            try
            {
                List<DataStockDetail> stockList = _pdaCrSvc.GetStockQueryList(locatNo, palletNo);
                if (stockList.Count==0)
                {
                    return Ok(new { data = stockList, code = 1, msg = "无数据" });
                }
                return Ok(new { data = stockList, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            return await _pdaCrSvc.GetStockQueryList(locatNo, palletNo);
        }
        #endregion
@@ -159,21 +132,10 @@
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetDataDetailList(string palletNo)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<PdaPalletNoCheckDto>> GetDataDetailList(string palletNo)
        {
            try
            {
                var list = _pdaCrSvc.GetDataDetailList(palletNo);
                if (list.Count == 0)
                {
                    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}" });
            }
            return await _pdaCrSvc.GetDataDetailList(palletNo);
        }
@@ -183,22 +145,10 @@
        /// <param name="boxNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetBoxInfoByBox(string boxNo)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<PdaPalletNoCheckDto> GetBoxInfoByBox(string boxNo)
        {
            try
            {
                var list = _pdaCrSvc.GetBoxInfoByBox(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}" });
            }
            return await _pdaCrSvc.GetBoxInfoByBox(boxNo);
        }
        /// <summary>
@@ -207,32 +157,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SaveUnbind(PdaPalletCheckVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        [UnitOfWork]
        public async Task SaveUnbind(PdaPalletCheckVm 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 = "未获取到当前操作人信息" });
                }
                var uId = int.Parse(userId);
                _pdaCrSvc.SaveUnbind(model.PalletNo, model.BoxNo, model.PalletNoNew, uId);
                return Ok(new { data = "", code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            await _pdaCrSvc.SaveUnbind(model.PalletNo, model.BoxNo, model.PalletNoNew, _userManager.UserId);
        }
        #endregion
@@ -244,19 +173,10 @@
        /// <param name="palletNo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetPalletLocatNo(string palletNo)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<string> GetPalletLocatNo(string palletNo)
        {
            try
            {
                string result = _pdaCrSvc.GetPalletLocatNo(palletNo);
                return Ok(new { data = result, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            return await _pdaCrSvc.GetPalletLocatNo(palletNo);
        }
        /// <summary>
        /// 获取托盘所在楼层所有区域
@@ -264,38 +184,20 @@
        /// <param name="palletNo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetStorageArea(string palletNo)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<SysStorageArea>> GetStorageArea(string palletNo)
        {
            try
            {
                List<SysStorageArea> result = _pdaCrSvc.GetStorageArea(palletNo);
                return Ok(new { data = result, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            return await _pdaCrSvc.GetStorageArea(palletNo);
        }
        /// <summary>
        /// 获取托盘所在楼层所有区域
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetRunSoNoticeList()
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<string>> GetRunSoNoticeList()
        {
            try
            {
                List<string> result = _pdaCrSvc.GetRunSoNoticeList();
                return Ok(new { data = result, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            return await _pdaCrSvc.GetRunSoNoticeList();
        }
        /// <summary>
        /// 根据托盘号获取托盘上物料信息
@@ -303,19 +205,10 @@
        /// <param name="palletNo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetSkuInfoByPalletNo(string palletNo)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<DataStockDetail>> GetSkuInfoByPalletNo(string palletNo)
        {
            try
            {
                List<DataStockDetail> result = _pdaCrSvc.GetSkuInfoByPalletNo(palletNo);
                return Ok(new { data = result, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            return await _pdaCrSvc.GetSkuInfoByPalletNo(palletNo);
        }
        /// <summary>
        /// 根据出库单号获取分配的托盘信息
@@ -323,19 +216,10 @@
        /// <param name="soNo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetPalletNoListBySoNo(string soNo)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<string>> GetPalletNoListBySoNo(string soNo)
        {
            try
            {
                List<string> result = _pdaCrSvc.GetPalletNoListBySoNo(soNo);
                return Ok(new { data = result, code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            return await _pdaCrSvc.GetPalletNoListBySoNo(soNo);
        }
        /// <summary>
        /// agv转运呼叫小车
@@ -343,31 +227,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult AgvTransport(PdaAgvTransportVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        [UnitOfWork]
        public async Task AgvTransport(PdaAgvTransportVm 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 = "未获取到当前操作人信息" });
                }
                var uId = int.Parse(userId);
                _pdaCrSvc.AgvTransport(model.PalletNo, model.AreaNo, model.Ruku, uId);
                return Ok(new { data = "", code = 0, msg = "成功" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = $"异常:{e.Message}" });
            }
            await _pdaCrSvc.AgvTransport(model.PalletNo, model.AreaNo, model.Ruku, _userManager.UserId);
        }
        /// <summary>
        /// agv转运呼叫小车取货
@@ -375,7 +239,23 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult AgvTransport2(PdaAgvTransportVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        [UnitOfWork]
        public async Task AgvTransport2(PdaAgvTransportVm model)
        {
            await _pdaCrSvc.AgvTransport2(model.SoNo, model.PalletNo, model.AreaNo, _userManager.UserId);
        }
        #endregion
        #region 零箱解绑
        /// <summary>
        /// 零箱解绑
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult LingxingUnbind(PdaPalletUnBindVm model)
        {
            try
            {
@@ -392,7 +272,7 @@
                }
                var uId = int.Parse(userId);
                _pdaCrSvc.AgvTransport2(model.SoNo,model.PalletNo, model.AreaNo, uId);
                _pdaCrSvc.LingxingUnbind(model.PalletNo, model.BoxNo, uId);
                return Ok(new { data = "", code = 0, msg = "成功" });
            }
@@ -402,6 +282,5 @@
            }
        }
        #endregion
    }
}