chengsc
2024-10-30 0653b5bee559d54fe8ac519aa98115e6a8aa31b0
Wms/Wms/Controllers/DownApiController.cs
@@ -14,6 +14,8 @@
using WMS.IBLL.ILogServer;
using Wms.Tools;
using System.Collections.Generic;
using Model.ModelVm.PdaVm;
using WMS.IBLL.IPdaServer;
namespace Wms.Controllers
{
@@ -29,13 +31,16 @@
        private readonly IPalletBindServer _asnPalletBindSvc;//托盘绑定Svc 
        private readonly IStockCheckServer _crCheckSvc;//托盘绑定Svc 
        private readonly ITaskServer _taskSvc;//任务Svc 
        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc)
        private readonly IPdaSoServer _pdaSoSvc;//空托出库Svc
        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc)
        {
            _config = setting.Value;
            _exNoticeSvc = exNoticeSvc;
            _asnPalletBindSvc = asnPalletBindSvc;
            _crCheckSvc = crCheckSvc;
            _taskSvc = taskSvc;
            _pdaSoSvc = pdaSoSvc;
        }
        #region WMS接口 调用下游系统接口 
@@ -220,10 +225,10 @@
                    var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo);
                    LogFile.SaveLogToFile($"WCS申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8),
                        "申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo,
                        "申请巷道", $"申请巷道托盘号:{model.PalletNo}的成功信息", 2);
                    return Ok(new { Success = 0, Message = "申请储位成功", TaskList = list });
                    return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list });
                }
                else
                {
@@ -234,15 +239,15 @@
                    new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8),
                        "申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);
                    return Ok(new { Success = 0, Message = "申请储位成功", TaskList = list });
                    return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list });
                }
            }
            catch (Exception e)
            {
                LogFile.SaveLogToFile($"WCS申请巷道返回:( {e.Message} ),", logStr);
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8),
                    "申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的失败信息", 2);
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo,
                    "申请巷道", $"申请巷道托盘号:{model.PalletNo}的失败信息", 2);
                return Ok(new ErpModel { Success = -1, Message = e.Message });
            }
@@ -297,12 +302,12 @@
                string pallet = model.PalletNo.Substring(0, 8);
                OutCommandDto list;
                if (model.TaskModel == "1")
                {
                    list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
                {
                    list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
                }
                else
                {
                    list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
                    list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
                }
                
                if (model.PalletNo.Length == 9)
@@ -500,8 +505,93 @@
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// 自动码垛绑定信息返回巷道口
        /// </summary>
        /// <param name="model">入库单信息</param>
        /// <returns></returns>
        [AllowAnonymous]
        [HttpPost]
        public IActionResult BindRequestRoadWay(BoxPalletBindVm model)
        {
            var logStr = $@".\log\WCS\WCS托盘绑定-申请巷道" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
        //托盘箱码信息 自动码垛 (wcs提供)
            try
            {
                var jsonData = JsonConvert.SerializeObject(model);
                LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道:( {jsonData} ),", logStr);
                _asnPalletBindSvc.BindPalletStock(model, 0);
                //申请巷道
                var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01");
                LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
                return Ok(new { Success = 0, Message = "托盘绑定-申请巷道成功", TaskList = list });
            }
            catch (Exception e)
            {
                LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道返回:( {e.Message} ),", logStr);
                return Ok(new ErpModel { Success = -1, Message = e.Message });
            }
        }
        /// <summary>
        /// WCS申请空托出库
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [AllowAnonymous]
        [HttpPost]
        public IActionResult IssuePlnOutHouseWcs(OutModePalletVm model)
        {
            var logStr = $@".\log\WCS\WCS申请空托出库" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
            try
            {
                List<OutCommandDto> _list = _pdaSoSvc.IssuePlnOutHouseWcs(model,0);
                return Ok(new { Success = 0, Message = "空托盘出库成功", TaskList = _list });
            }
            catch (Exception e)
            {
                LogFile.SaveLogToFile($"WCS申请空托出库异常返回:( {e.Message} ),", logStr);
                return Ok(new ErpModel { Success = -1, Message = e.Message });
            }
        }
        ///// <summary>
        ///// 成品箱码拆垛拣货
        ///// </summary>
        ///// <param name="model">入库单信息</param>
        ///// <returns></returns>
        //[AllowAnonymous]
        //[HttpPost]
        //public IActionResult BoxUnstackd(BoxPickList model)
        //{
        //    var logStr = $@".\log\WCS\WCS成品箱码拆垛" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
        //    try
        //    {
        //        var jsonData = JsonConvert.SerializeObject(model);
        //        LogFile.SaveLogToFile($"WCS成品箱码拆垛:( {jsonData} ),", logStr);
        //        _comeSvc.BoxUnstackd(model.PalletNo, model.BoxList);
        //        var list = new { Success = 0, Message = "成品箱码拆垛" };
        //        LogFile.SaveLogToFile($"WCS成品箱码拆垛返回:( {JsonConvert.SerializeObject(list)} ),", logStr);
        //        return Ok(list);
        //    }
        //    catch (Exception e)
        //    {
        //        LogFile.SaveLogToFile($"WCS成品箱码拆垛:( {e.Message} ),", logStr);
        //        return Ok(new ErpModel { Success = -1, Message = e.Message });
        //    }
        //}
        //申请空托(自动码空托时用)