yyk
2024-07-18 bf1a9a818ffb721aea2709e9409fbb932b07e81d
Wms/Wms/Controllers/BllCheckController.cs
@@ -16,6 +16,8 @@
using Model.ModelVm.BllSoVm;
using Wms.Tools;
using System.Collections;
using Utility;
using SqlSugar;
namespace Wms.Controllers
{
@@ -33,6 +35,7 @@
        private readonly IWarehouseOutsidePalletsServer _stockPallet; //库外托盘
        private readonly IStockFreectSetve _freect; //解冻\冻结
        private readonly UserManager _userManager;
        /// <summary>
        /// 构造函数
@@ -43,7 +46,7 @@
        /// <param name="logSvc">库内操作日志Svc</param>
        /// <param name="stockPallet">库外托盘</param>
        /// <param name="freect">解冻\冻结</param>
        public BllCheckController(IOptions<ApiUrlConfig> setting, IStockCheckServer stockCheckSvc, IStockCheckLogServer stockCheckLogSvc, ITaskServer taskSvc, IOperationCRServer logSvc, IWarehouseOutsidePalletsServer stockPallet, IStockFreectSetve freect)
        public BllCheckController(IOptions<ApiUrlConfig> setting, IStockCheckServer stockCheckSvc, IStockCheckLogServer stockCheckLogSvc, ITaskServer taskSvc, IOperationCRServer logSvc, IWarehouseOutsidePalletsServer stockPallet, IStockFreectSetve freect, UserManager userManager)
        {
            _config = setting.Value;
            _stockCheckSvc = stockCheckSvc;
@@ -52,6 +55,7 @@
            _logSvc = logSvc;
            _stockPallet = stockPallet;
            _freect = freect;
            _userManager = userManager;
        }
        #region 盘点单据
@@ -62,18 +66,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStockCheckList(GetStockCheckVm model)
        public async Task<IActionResult> GetStockCheckList(GetStockCheckVm model)
        {
            try
            {
                var bolls = _stockCheckSvc.GetStockCheckList(model.CrNo, model.Status, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.StartTime, model.EndTime, model.Page, model.Limit, out int count);
                return Ok(new { code = 0, count, msg = "盘点单信息", data = bolls });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
            RefAsync<int> count = new RefAsync<int>();
            var bolls = await _stockCheckSvc.GetStockCheckList(model.CrNo, model.Status, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.StartTime, model.EndTime, model.Page, model.Limit, count);
            return Ok(new { code = 0, count = count.Value, msg = "盘点单信息", data = bolls });
        }
        /// <summary>
@@ -82,18 +79,12 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStockCheckDetailList(GetStockCheckVm model)
        public async Task<IActionResult> GetStockCheckDetailList(GetStockCheckVm model)
        {
            try
            {
                var bolls = _stockCheckSvc.GetStockCheckDetailList(model.CrNo, model.Page, model.Limit, out int count);
            RefAsync<int> count = new RefAsync<int>();
            var bolls = await _stockCheckSvc.GetStockCheckDetailList(model.CrNo, model.Page, model.Limit, count);
                return Ok(new { code = 0, count, msg = "盘点单明细信息", data = bolls });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
            return Ok(new { code = 0, count = count.Value, msg = "盘点单明细信息", data = bolls });
        }
        /// <summary>
        /// 获取库存明细信息(盘点选择明细数据源)
@@ -101,18 +92,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetCheckStockDetailList(GetStockDetailVm model)
        public async Task<IActionResult> GetCheckStockDetailList(GetStockDetailVm model)
        {
            try
            {
                var bolls = _stockCheckSvc.GetCheckStockDetailList(model.HouseNo, model.RoadwayNo, model.LocateNo, model.Msg, model.Page, model.Limit, out int count);
                return Ok(new { code = 0, count, msg = "获取库存明细信息", data = bolls });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
            RefAsync<int> count = new RefAsync<int>();
            var bolls = await _stockCheckSvc.GetCheckStockDetailList(model.HouseNo, model.RoadwayNo, model.LocateNo, model.Msg, model.Page, model.Limit, count);
            return Ok(new { code = 0, count = count.Value, msg = "获取库存明细信息", data = bolls });
        }
        /// <summary>
@@ -121,18 +105,10 @@
        /// <param name="soNo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetStockCheckDetailById(string crNo)
        public async Task<IActionResult> GetStockCheckDetailById(string crNo)
        {
            try
            {
                var bolls = _stockCheckSvc.GetStockCheckDetailById(crNo);
                return Ok(new { code = 0, count = 0, msg = "盘点单编辑信息", data = bolls });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
            var bolls = await _stockCheckSvc.GetStockCheckDetailById(crNo);
            return Ok(new { code = 0, count = 0, msg = "盘点单编辑信息", data = bolls });
        }
        /// <summary>
@@ -141,29 +117,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult AddEditStockCheck(AddEditStockCheckVm model)
        [UnitOfWork]
        public async Task<IActionResult> AddEditStockCheck(AddEditStockCheckVm 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 = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.AddEditStockCheck(model, int.Parse(userId));
                return Ok(new { code = 0, count = 0, msg = "盘点单操作成功", data = "" });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = "操作失败" + e.Message });
            }
            await _stockCheckSvc.AddEditStockCheck(model);
            return Ok(new { code = 0, count = 0, msg = "盘点单操作成功", data = "" });
        }
        /// <summary>
@@ -172,22 +130,12 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult DelStockCheck(IdVm model)
        [UnitOfWork]
        public async Task<IActionResult> DelStockCheck(IdVm 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 = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.DelStockCheck(model.Id, int.Parse(userId));
                await _stockCheckSvc.DelStockCheck(model.Id);
                return Ok(new { code = 0, count = 0, msg = "盘点单删除成功" });
            }
@@ -204,31 +152,11 @@
        /// <param name="demo"></param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult EditNoticeDemo(int id, string demo)
        [UnitOfWork]
        public async Task<IActionResult> EditNoticeDemo(int id, string demo)
        {
            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("未获取到用户信息");
                }
                _stockCheckSvc.EditNoticeDemo(id, demo, int.Parse(userId));
                return Ok(new { code = 0, msg = "编辑备注成功" });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
            await _stockCheckSvc.EditNoticeDemo(id, demo);
            return Ok(new { code = 0, msg = "编辑备注成功" });
        }
        #endregion
@@ -240,13 +168,14 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStockCheckLogList(GetCheckLogVm model)
        public async Task<IActionResult> GetStockCheckLogList(GetCheckLogVm model)
        {
            try
            {
                var list = _stockCheckLogSvc.GetStockCheckLogList(model.CrNo, model.Status, model.PalletNo, model.BoxNo, model.SkuNo, model.SkuName, model.LotNo, model.Page, model.Limit, out int count);
                RefAsync<int> count = new RefAsync<int>();
                var list = await _stockCheckLogSvc.GetStockCheckLogList(model.CrNo, model.Status, model.PalletNo, model.BoxNo, model.SkuNo, model.SkuName, model.LotNo, model.Page, model.Limit, count);
                return Ok(new { code = 0, count, msg = "盘点记录", data = list });
                return Ok(new { code = 0, count = count.Value, msg = "盘点记录", data = list });
            }
            catch (Exception e)
            {
@@ -264,14 +193,15 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetCrTaskList(GetTaskVm model)
        public async Task<IActionResult> GetCrTaskList(GetTaskVm model)
        {
            try
            {
                var type = new List<string>() { "2", "3", "4" };
                var bolls = _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, out int count);
                RefAsync<int> count = new RefAsync<int>();
                var bolls = await _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, count);
                return Ok(new { code = 0, count, msg = "库内任务信息", data = bolls });
                return Ok(new { code = 0, count = count.Value, msg = "库内任务信息", data = bolls });
            }
            catch (Exception e)
            {
@@ -285,13 +215,14 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetLogOperationCrList(GetOperationVm model)
        public async Task<IActionResult> GetLogOperationCrList(GetOperationVm model)
        {
            try
            {
                var bolls = _logSvc.GetLogOperationCrList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count);
                RefAsync<int> count = new RefAsync<int>();
                var bolls = await _logSvc.GetLogOperationCrList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, count);
                return Ok(new { code = 0, count, msg = "出库操作日志信息", data = bolls });
                return Ok(new { code = 0, count = count.Value, msg = "出库操作日志信息", data = bolls });
            }
            catch (Exception e)
            {
@@ -320,7 +251,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.AgainSendCheckTask(model.taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl);
                //_stockCheckSvc.AgainSendCheckTask(model.taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl);
                return Ok(new { code = 0, msg = "成功下发任务", data = "" });
            }
@@ -335,7 +266,7 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult CancelCheckTask(CheckTaskVm model)
        public async Task<IActionResult> CancelCheckTask(CheckTaskVm model)
        {
            try
            {
@@ -350,7 +281,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.CancelCheckTask(model.taskNo, int.Parse(userId));
                await _stockCheckSvc.CancelCheckTask(model.taskNo);
                return Ok(new { code = 0, msg = "成功取消任务", data = "" });
            }
@@ -365,7 +296,7 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult FinishCheckTask(CheckTaskVm model)
        public async Task<IActionResult> FinishCheckTask(CheckTaskVm model)
        {
            try
            {
@@ -380,7 +311,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.CheckSuccess(model.taskNo, int.Parse(userId));
                await _stockCheckSvc.CheckSuccess(model.taskNo, int.Parse(userId));
                return Ok(new { code = 0, msg = "成功完成任务", data = "" });
@@ -401,10 +332,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetPalletsOutside(PalletsOutVm model)
        public async Task<IActionResult> GetPalletsOutside(PalletsOutVm model)
        {
            List<MateDataStockDto> mateDataStockDtos = _stockPallet.GetPalletsOutside(model.SkuNo, model.SkuName, model.LotNo, model.PalletNo, model.Page, model.Limit, out int count);
            return Ok(new { code = 0, count, msg = "获取库外托盘信息成功", data = mateDataStockDtos });
            RefAsync<int> count = new RefAsync<int>();
            List<MateDataStockDto> mateDataStockDtos = await _stockPallet.GetPalletsOutside(model.SkuNo, model.SkuName, model.LotNo, model.PalletNo, model.Page, model.Limit, count);
            return Ok(new { code = 0, count = count.Value, msg = "获取库外托盘信息成功", data = mateDataStockDtos });
        }
        /// <summary>
@@ -413,7 +345,7 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SaveAppointSlot(SaveAppointSlotVm model)
        public async Task<IActionResult> SaveAppointSlot(SaveAppointSlotVm model)
        {
            try
            {
@@ -428,7 +360,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _stockPallet.SaveAppointSlot(model.StockDetailId,model.LocateId, int.Parse(userId));
                await _stockPallet.SaveAppointSlot(model.StockDetailId, model.LocateId);
                return Ok(new { code = 0, count = 0, msg = "指定储位成功", data = "" });
            }
@@ -448,22 +380,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult FinishMoveTask(CheckTaskVm model)
        public async Task<IActionResult> FinishMoveTask(CheckTaskVm 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 = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.MoveSuccess(model.taskNo, int.Parse(userId));
                await _stockCheckSvc.MoveSuccess(model.taskNo);
                return Ok(new { code = 0, msg = "成功完成任务", data = "" });
            }
@@ -478,7 +399,7 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult CancelMoveTask(CheckTaskVm model)
        public async Task<IActionResult> CancelMoveTask(CheckTaskVm model)
        {
            try
            {
@@ -493,7 +414,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.CancelMoveTask(model.taskNo, int.Parse(userId));
                await _stockCheckSvc.CancelMoveTask(model.taskNo);
                return Ok(new { code = 0, msg = "成功取消任务", data = "" });
            }
@@ -513,11 +434,11 @@
        /// <param name="type">0:获取可冻结库存 1:获取可解冻数据</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult ByTypeGetDataStockType(string SkuNo,int type)
        public async Task<IActionResult> ByTypeGetDataStockType(string SkuNo, int type)
        {
            try
            {
                var models = _freect.ByTypeGetDataStockType(SkuNo,type);
                var models = await _freect.ByTypeGetDataStockType(SkuNo, type);
                return Ok(new
                {
@@ -542,11 +463,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetDataFreezeList(FreezeUnfreezeInfoDto model)
        public async Task<IActionResult> GetDataFreezeList(FreezeUnfreezeInfoDto model)
        {
            try
            {
                var models = _freect.GetDataFreezeList(model);
                var models = await _freect.GetDataFreezeList(model);
                return Ok(new
                {
@@ -571,11 +492,11 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetDataUnFreezeList(FreezeUnfreezeInfoDto model)
        public async Task<IActionResult> GetDataUnFreezeList(FreezeUnfreezeInfoDto model)
        {
            try
            {
                var models = _freect.GetDataUnFreezeList(model);
                var models = await _freect.GetDataUnFreezeList(model);
                return Ok(new
                {
@@ -600,7 +521,7 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult InsertDataFreezeInfo(FreezeUnfreezeInfoDto model)
        public async Task<IActionResult> InsertDataFreezeInfo(FreezeUnfreezeInfoDto model)
        {
            try
            {
@@ -616,7 +537,7 @@
                }
                model.CreateUser = int.Parse(UserId);
                string strMesage = _freect.InsertDataFreezeInfo(model);
                string strMesage = await _freect.InsertDataFreezeInfo(model);
                //var arr = strMesage.Split(':');
                if (!strMesage.Contains("-1"))
                {