chengsc
2025-04-19 e644b249b5a3d4b3b0e72f00d60eb06ae3743d3a
Wms/Wms/Controllers/DownApiController.cs
@@ -19,6 +19,7 @@
using Utility;
using System.Threading.Tasks;
using Model.ModelVm.BllCheckVm;
using System.Collections.Generic;
namespace Wms.Controllers
{
@@ -101,7 +102,7 @@
        /// <returns></returns>
        [Authorize]
        [HttpGet]
        public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre)
        public IActionResult IssueOutHouse(string soNo, string outMode)
        {
            try
            {
@@ -121,11 +122,23 @@
                //{
                //    return Ok(new { code = 1, msg = "请选择出库口" });
                //}
                var house = _exNoticeSvc.GetHouseBySo(soNo);
                if (house == "W01")
                {
                var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
                    return Ok(new { code = 0, msg = "str" });
                }
                else if (house == "W02")
                {
                    var list = _exNoticeSvc.IssueOutHouseLk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
                return Ok(new { code = 0, msg = str, data = list });
                    return Ok(new { code = 0, msg = str, data = list });
                }
                else
                {
                    return Ok(new { code = 1, msg = "仓库信息错误,请核实单据信息"});
                }
            }
            catch (Exception e)
            {
@@ -290,6 +303,45 @@
            }
        }
        /// <summary>
        /// PDA 人工申请储位 (立体库)
        /// </summary>
        /// <param name="model">入库单信息</param>
        /// <returns></returns>
        [AllowAnonymous]
        [HttpPost]
        public IActionResult RequestLocation(RequestLocate model)
        {
            //获取当前登录的用户ID
            var claimsIdentity = this.User.Identity as ClaimsIdentity;
            if (claimsIdentity == null)
            {
                return Ok(new HttpReturnModel { Success = "1", Message = "未获取到当前操作人信息" });
            }
            var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
            if (string.IsNullOrWhiteSpace(userId))
            {
                return Ok(new HttpReturnModel { Success = "1", Message = "未获取到当前操作人信息" });
            }
            try
            {
                var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo);
                _asnPalletBindSvc.IssueAsnTask(list, _config.ErpHost+ _config.AsnFinishUrl);//agv路径
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo, "申请储位", $"申请储位托盘号:{model.PalletNo}的成功信息", int.Parse(userId));
                return Ok(new HttpReturnModel { Success = "0", Message = "申请储位成功", Data = list });
            }
            catch (Exception e)
            {
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo, "申请储位", $"申请储位托盘号:{model.PalletNo}的失败信息", int.Parse(userId));
                return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
            }
        }
        /// <summary>
        /// 申请巷道
@@ -335,7 +387,7 @@
        /// <returns></returns>
        [AllowAnonymous]
        [HttpPost]
        public IActionResult RequestLocation(RequestLocate model)
        public IActionResult RequestMiJiLocation(RequestLocate model)
        {
            //获取当前登录的用户ID
@@ -452,7 +504,7 @@
                        }
                        break;
                    case "2"://盘库完成任务
                        if (model.TaskType == "1")//0:入库 1:出库 3:移库
                        if (model.TaskType == "1")//0:入库 1:出库 2:移库
                        {
                            _crCheckSvc.CheckSuccess(model.TaskNo, 0);
                            return Ok(new WcsModel { StatusCode = 0, Msg = "盘点出库完成" });
@@ -464,7 +516,7 @@
                        }
                        break;
                    case "3"://移库完成任务、优化储位
                        if (model.TaskType == "3") //0:入库 1:出库 3:移库
                        if (model.TaskType == "3") //0:入库 1:出库 2:移库
                        {
                            //填写移库完成代码
                        }
@@ -482,6 +534,31 @@
        /// <summary>
        /// WCS反馈AGV任务取货完成
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public IActionResult AGVQuHuoSuccess(ReceiveWcsSignal model)
        {
            var logStr = $@".\log\WCS\AGV取货完成反馈" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            try
            {
                var jsonData = JsonConvert.SerializeObject(model);
                LogFile.SaveLogToFile($"AGV取货完成反馈:( {jsonData} ),", logStr);
                _exNoticeSvc.AGVQuHuoSuccess(model.TaskNo);
                var data = new HttpReturnModel { Success = "0", Message = "成功" };
                LogFile.SaveLogToFile($"AGV取货完成反馈:({JsonConvert.SerializeObject(data)}),", logStr);
                return Ok(data);
            }
            catch (Exception e)
            {
                LogFile.SaveLogToFile($"AGV取货完成反馈:( {e.Message} ),", logStr);
                return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
            }
        }
        /// <summary>
        /// 空取异常
        /// </summary>
        /// <returns></returns>