wxw
2025-05-09 2cf8f4a928d3479068fc51be9633db4583eba3c9
修改问题
4个文件已修改
103 ■■■■ 已修改文件
Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/DownApiController.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/DailyTaskService.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
@@ -1224,7 +1224,6 @@
                            throw new Exception($"给小车下发移库任务失败,桶号:{detailInfo.PalletNo}");
                        }
                    }
                }
                //提交事务
Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
@@ -20,6 +20,24 @@
        void jiaoCheHopper(string areaNo, string StartLocate, string plnNo, string plnStatus, decimal weight, string skuNo, string lotNo, string url, int userId);
        /// <summary>
        /// 小车走出储位回传事件
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="url"></param>
        /// <exception cref="Exception"></exception>
        void OutBinAgv(string taskNo, string url);
        /// <summary>
        /// 小车反馈任务完成
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="status"></param>
        /// <param name="comeFrom"></param>
        /// <param name="userId"></param>
        /// <exception cref="Exception"></exception>
        void RCSFinishTask(string taskNo, string status, string comeFrom, int userId = 0);
        /// <summary>
        /// 清洗机叫料状态
        /// </summary>
        /// <param name="deviceID">清洗机编号</param>
Wms/Wms/Controllers/DownApiController.cs
@@ -22,6 +22,7 @@
using ZXing.QrCode.Internal;
using Model.ModelVm.BllCheckVm;
using Model.ModelVm.SysVm;
using System.Security.Policy;
namespace Wms.Controllers
{
@@ -899,7 +900,7 @@
                LogFile.SaveLogToFile($"AGV任务执行通知-走出储位-请求报文:( {jsonData} ),", logStr);
                //具体处理方法
                _hopper.OutBinAgv(model.taskCode, _config.AgvHost + _config.GenAgvSchedulingTask);
                resultModel = new AgvResultModel { code = "0", message = "成功", reqCode = model.reqCode };
@@ -934,8 +935,7 @@
                LogFile.SaveLogToFile($"AGV任务执行通知-任务结束-请求报文:( {jsonData} ),", logStr);
                //具体处理方法
                _rcsserver.RCSFinishTask(model.taskCode, "1", "AGV");
                _hopper.RCSFinishTask(model.taskCode, "1", "AGV");
                resultModel = new AgvResultModel { code = "0", message = "成功", reqCode = model.reqCode };
                var jsonData2 = JsonConvert.SerializeObject(resultModel);
Wms/Wms/DailyTaskService.cs
@@ -8,6 +8,7 @@
using Utility.Tools;
using Wms.Tools;
using WMS.BLL.BllSoServer;
using WMS.BLL.BllTransServer;
using WMS.BLL.DataServer;
using WMS.IBLL.IDataServer;
@@ -30,28 +31,12 @@
        //创建定时任务
        public Task StartAsync(CancellationToken cancellationToken)
        {
            #region 每天0点执行
            //计算距离下一个 0 点的时间间隔
            DateTime now = DateTime.Now;
            DateTime nextZeroHour = now.AddDays(1).Date;
            TimeSpan delay = nextZeroHour - now;
            //创建定时器,并设置回调函数
            _timer = new Timer(ExecuteDailyTask, null, delay, TimeSpan.FromDays(1));
            _periodicReport = new Timer(PeriodicReport, null, delay, TimeSpan.FromDays(1));
            //TimeSpan delay2 = TimeSpan.FromMinutes(2);
            TimeSpan delay = TimeSpan.FromMinutes(2);
            // 创建定时器,并设置回调函数
            // _timer2 = new Timer(ExecuteDailyTask2, null, delay2, TimeSpan.FromMinutes(3));
            //TimeSpan delay3 = TimeSpan.FromMinutes(2);
            // 创建定时器,并设置回调函数
            //_timer3 = new Timer(ExecuteDailyTask3, null, delay3, TimeSpan.FromMinutes(3));
            _timer = new Timer(ExecuteDailyTask, null, delay, TimeSpan.FromMinutes(5));
            return Task.CompletedTask;
            #endregion
        }
        /// <summary>
@@ -64,8 +49,6 @@
        {
            // 停止定时器
            _timer?.Change(Timeout.Infinite, 0);
            _timer2?.Change(Timeout.Infinite, 0);
            _timer3?.Change(Timeout.Infinite, 0);
            _periodicReport?.Change(Timeout.Infinite, 0);
            return Task.CompletedTask;
@@ -75,9 +58,9 @@
        {
            try
            {
                StockDetailServer _stockDetail = new StockDetailServer();
                HopperTransportServer _stockDetail = new HopperTransportServer();
                //任务逻辑
                _stockDetail.StockCheck();
                _stockDetail.TransferBackTimer(_agvUrl);
            }
            catch (Exception ex)
            {
@@ -86,58 +69,7 @@
            }
        }
        //执行任务逻辑
        private void ExecuteDailyTask2(object state)
        {
            try
            {
                ExportNoticeServer _exNotice = new ExportNoticeServer();
                //任务逻辑
                var list = _exNotice.BeiLiaoIssueOutHouse(_wcsUrl);
            }
            catch (Exception ex)
            {
                var logStr = $@".\log\WMS\WMS定时备料任务" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                LogFile.SaveLogToFile($"WMS定时备料任务异常:( {ex.Message} ),", logStr);
            }
        }
        //执行任务逻辑
        private void ExecuteDailyTask3(object state)
        {
            try
            {
                ExportNoticeServer _exNotice = new ExportNoticeServer();
                //任务逻辑
                _exNotice.ProCallIssueOutHouse(_agvUrl);
            }
            catch (Exception ex)
            {
                var logStr = $@".\log\WMS\WMS定时备料任务" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                LogFile.SaveLogToFile($"WMS定时备料任务异常:( {ex.Message} ),", logStr);
            }
        }
        //定时执行周期报表
        private void PeriodicReport(object state)
        {
            try
            {
                StockInfoServer _stock = new StockInfoServer();
                var arr = _stock.ByDayInsertStock();
                var logStr = $@".\log\WMS\WMS定时任务" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                LogFile.SaveLogToFile($"WMS定时任务执行异常:{arr},", logStr);
                //释放资源
                _periodicReport?.Dispose();
            }
            catch (Exception ex)
            {
                var logStr = $@".\log\WMS\WMS定时任务" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                LogFile.SaveLogToFile($"WMS定时任务执行异常:{DateTime.Now}:( {ex.Message} ),", logStr);
            }
        }
        /// <summary>
        /// 在服务结束运行时,定时器得到正确地清理和释放