zhaowc
2024-08-30 9176aaed52f030ccb9e00be157f893633153d1ca
Wms/Wms/Controllers/PdaSoController.cs
@@ -10,7 +10,6 @@
using Model.ModelVm.PdaVm;
using WMS.IBLL.IPdaServer;
using Model.ModelDto;
using Model.ModelVm;
using Wms.Tools;
using Utility;
using System.Security.Cryptography;
@@ -20,6 +19,7 @@
    [Route("api/[controller]/[action]")]
    [ApiController]
    [Authorize]
    [ServiceFilter(typeof(ApiResponseActionFilter))]
    public class PdaSoController : ControllerBase
    {
        #region 依赖注入
@@ -42,22 +42,31 @@
        /// <param name="model">PalletNo:托盘条码</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task IsEnableOkPalletNo(PdaSoVm model)
        {
            await _pdaSoSvc.IsEnableOkPalletNo(model.PalletNo);
        }
        /// <summary>
        /// 获取单据列表
        /// 根据托盘号获取单据列表
        /// </summary>
        /// <param name="model">PalletNo:托盘号</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<string>> GetRunSoNoticeList(PdaSoVm model)
        {
            return await _pdaSoSvc.GetRunSoNoticeList(model.PalletNo, model.Type);
        }
        /// <summary>
        /// 获取PDA平库出库单据列表
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<List<string>> GetRunNoticeList(PdaSoVm model)
        {
            return await _pdaSoSvc.GetRunNoticeList(model.Type);
        }
        /// <summary>
@@ -66,10 +75,9 @@
        /// <param name="model">PalletNo:托盘码、SoNo:单据号</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task GetSoSkuLotNoListByPallet(PdaSoVm model)
        public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(PdaSoVm model)
        {
            var models = await _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
           return await _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
        }
        /// <summary>
@@ -78,7 +86,6 @@
        /// <param name="model">SoDetailId:出库单明细ID、PalletNo:托盘码</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<OutPdaInfo> GetOutlets(PdaSoVm model)
        {
            return await _pdaSoSvc.GetOutlets(model.SoDetailId, model.PalletNo);
@@ -90,22 +97,22 @@
        /// <param name="model">SoDetailId:出库单明细ID</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<OutPdaInfo> GetPlanAndFinishQty(PdaSoVm model)
        {
            return await _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
            var data = await _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
            return data;
        }
        /// <summary>
        /// 获取箱码信息(根据箱码在库存箱码明细中查询)
        /// </summary>
        /// <param name="model">BoxNo:箱码号</param>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<dynamic> GetDataComBoxInfo(PdaSoVm model)
        public async Task<List<BoxInfo>> GetDataComBoxInfo(PdaSoVm model)
        {
            return await _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3);
            var data = await _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3);
            return data;
        }
        /// <summary>
@@ -114,8 +121,7 @@
        /// <param name="model">BoxNo:箱码号</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<dynamic> GetAllotPlnInfo(PdaSoVm model)
        public async Task<List<BoxInfo>> GetAllotPlnInfo(PdaSoVm model)
        {
            return await _pdaSoSvc.GetAllotPlnInfo(model.SoDetailId, model.PalletNo);
        }
@@ -126,7 +132,6 @@
        /// <param name="model">SoDetailId:出库单明细ID、PalletNo:托盘码</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task SoSetPick(PdaSoVm model)
        {
            await _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, _userManager.UserId);
@@ -138,7 +143,6 @@
        /// <param name="model">SoDetailId:出库单明细ID、PalletNo:托盘码</param> 
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task SoSetQtyPick(PdaSoVm model)
        {
            await _pdaSoSvc.SoSetQtyPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, _userManager.UserId);
@@ -151,7 +155,6 @@
        /// <param name="model">空托盘出库</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<string> IssuePlnOutHouse(OutModePalletVm model)
        {
            return await _pdaSoSvc.IssuePlnOutHouse(model, _userManager.UserId, _config.WcsHost + _config.IssueComApiUrl);
@@ -166,8 +169,7 @@
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<dynamic> GetPingKuInfoByPallet(string soNo, string palletNo)
        public async Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo)
        {
            return await _pdaSoSvc.GetPingKuInfoByPallet(soNo, palletNo);
        }
@@ -179,7 +181,6 @@
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task PlaneExportSuccess(string soNo, string palletNo)
        {
            await _pdaSoSvc.PlaneExportSuccess(soNo, palletNo, _userManager.UserId);
@@ -192,7 +193,6 @@
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<string> GetSampleType(string palletNo)
        {
            return await _pdaSoSvc.GetSampleType(palletNo);
@@ -204,7 +204,6 @@
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<List<string>> GetAsnNoByPallet(string palletNo)
        {
            return await _pdaSoSvc.GetAsnNoByPallet(palletNo);
@@ -215,7 +214,6 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task SampleSoSetPick(PdaSoVm model)
        {
            await _pdaSoSvc.SampleSoSetPick(model.Type, model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.AsnNo, _userManager.UserId);
@@ -226,30 +224,9 @@
        /// <param name="model">SoDetailId:出库单明细ID、PalletNo:托盘码</param> 
        /// <returns></returns>
        [HttpPost]
        public IActionResult SampleSoSetQtyPick(PdaSoVm model)
        public async Task 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 });
            }
            await _pdaSoSvc.SampleSoSetQtyPick(model.Type, model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, model.AsnNo, _userManager.UserId);
        }
        #region 拣货拼托
        /// <summary>
@@ -258,29 +235,9 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SoSetPinPick(PdaSoVm model)
        public async Task 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 });
            }
            await _pdaSoSvc.SoSetPinPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.PalletNoNew, _userManager.UserId);
        }
        /// <summary>
        /// 拼托出库pda拣货-数量
@@ -288,30 +245,9 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SoSetQtyPinPick(PdaSoVm model)
        public async Task 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 });
            }
            await _pdaSoSvc.SoSetQtyPinPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, model.PalletNoNew, _userManager.UserId);
        }
        #endregion
@@ -324,19 +260,9 @@
        /// <param name="palletNo">托盘号</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetSampleType2(string palletNo)
        public async Task<string> GetSampleType2(string palletNo)
        {
            try
            {
                var type = _pdaSoSvc.GetSampleType2(palletNo);
                return Ok(new { data = type, code = 0, msg = "根据托盘号获取取样类型" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "根据托盘号获取取样类型:" + e.Message });
            }
            return await _pdaSoSvc.GetSampleType2(palletNo);
        }
        /// <summary>
@@ -344,19 +270,9 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetInspectionNo()
        public async Task<List<string>> GetInspectionNo()
        {
            try
            {
                var qcNoStr = _pdaSoSvc.GetInspectionNo();
                return Ok(new { data = qcNoStr, code = 0, msg = "获取待出库或待取样的请验单" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "获取待出库或待取样的请验单:" + e.Message });
            }
            return await _pdaSoSvc.GetInspectionNo();
        }
        /// <summary>
@@ -365,19 +281,9 @@
        /// <param name="qcNo">请验单</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetInspectionRequestInfo(string qcNo)
        public async Task<InspectionRequestDto> GetInspectionRequestInfo(string qcNo)
        {
            try
            {
                var info = _pdaSoSvc.GetInspectionRequestInfo(qcNo);
                return Ok(new { data = info, code = 0, msg = "获取请验单相关信息" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "获取请验单相关信息:" + e.Message });
            }
            return await _pdaSoSvc.GetInspectionRequestInfo(qcNo);
        }
        /// <summary>
@@ -386,31 +292,9 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SampleSetPick(SampleSoVm model)
        public async Task SampleSetPick(SampleSoVm 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.SampleSetPick(model.QcNo, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, uid);
                return Ok(new { data = "", code = 0, msg = "(标签)取样出库拣货" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "(标签)取样出库拣货错误:" + e.Message });
            }
            await _pdaSoSvc.SampleSetPick(model.QcNo, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, _userManager.UserId);
        }
        /// <summary>
@@ -419,31 +303,9 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SampleSetQtyPick(SampleSoVm model)
        public async Task SampleSetQtyPick(SampleSoVm 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.SampleSetQtyPick(model.QcNo, model.PalletNo, model.PickQty, uid);
                return Ok(new { data = "", code = 0, msg = "(数量)取样出库拣货" });
            }
            catch (Exception e)
            {
                return Ok(new { data = "", code = 1, msg = "(数量)取样出库拣货错误:" + e.Message });
            }
            await _pdaSoSvc.SampleSetQtyPick(model.QcNo, model.PalletNo, model.PickQty, _userManager.UserId);
        }
        #endregion